diff --git a/macro/mpd_scheduler b/macro/mpd_scheduler index 11b65750e23c7de6c36c6444f39370da2f1d1a13..57e05451cd317fa51fe66b48c78575d4654f3bb3 160000 --- a/macro/mpd_scheduler +++ b/macro/mpd_scheduler @@ -1 +1 @@ -Subproject commit 11b65750e23c7de6c36c6444f39370da2f1d1a13 +Subproject commit 57e05451cd317fa51fe66b48c78575d4654f3bb3 diff --git a/macro/profiling/Makefile b/macro/profiling/Makefile index 24bcbd47f27c17728fa49cc556058ba77c65abae..3f09f057fd9822cd7bf023b8df1f5c90f7e4a13d 100644 --- a/macro/profiling/Makefile +++ b/macro/profiling/Makefile @@ -1,5 +1,5 @@ runReco: - g++ -g -O0 -o $@ runRecoCpc30.C -I`root-config --incdir` -I/opt/fairsoft/install/include -I$(VMCWORKDIR)/base/event -I$(VMCWORKDIR)/base/field -I$(VMCWORKDIR)/base/sim -I$(VMCWORKDIR)/base/source -I$(VMCWORKDIR)/base/steer -I$(VMCWORKDIR)/geobase -I$(VMCWORKDIR)/parbase -I$(VMCWORKDIR)/mcstack -I$(VMCWORKDIR)/mpdfield -I$(VMCWORKDIR)/generators -I$(VMCWORKDIR)/passive -I$(VMCWORKDIR)/trackbase -I$(VMCWORKDIR)/clustering -I$(VMCWORKDIR)/mpdbase -I$(VMCWORKDIR)/mpddata -I$(VMCWORKDIR)/cpc -I$(VMCWORKDIR)/ffd -I$(VMCWORKDIR)/kalman -I$(VMCWORKDIR)/lhetrack -I$(VMCWORKDIR)/geane -I$(VMCWORKDIR)/strawendcap -I$(VMCWORKDIR)/sts -I$(VMCWORKDIR)/ndet -I$(VMCWORKDIR)/etof -I$(VMCWORKDIR)/emc -I$(VMCWORKDIR)/tpc -I$(VMCWORKDIR)/tof -I$(VMCWORKDIR)/zdc -I$(VMCWORKDIR)/fairtools -L`root-config --libdir` -L"/usr/lib64" -L/opt/fairsoft/install/lib -L$(VMCWORKDIR)/build/lib -lMpdData -lCpc -lEmc -lCluster -lEtof -lFfd -lLHETrack -lStrawendcap -lSts -ltpc -lZdc -lTof -lPassive -lKalman -lGen -lMpdBase -lBase -lMpdBase -lFairTools -lMpdField -lMCStack -lTrkBase -lParBase -lGeoBase -lGeane -lGen -lXMLIO -lMinuit -lGeom -lGeomPainter -lVMC -lEG `root-config --glibs` -lpthread + g++ -g -O0 -o $@ runRecoCpc30.cxx -I`root-config --incdir` -I/opt/fairsoft/install/include -I$(VMCWORKDIR)/base/event -I$(VMCWORKDIR)/base/field -I$(VMCWORKDIR)/base/sim -I$(VMCWORKDIR)/base/source -I$(VMCWORKDIR)/base/steer -I$(VMCWORKDIR)/geobase -I$(VMCWORKDIR)/parbase -I$(VMCWORKDIR)/mcstack -I$(VMCWORKDIR)/mpdfield -I$(VMCWORKDIR)/generators -I$(VMCWORKDIR)/passive -I$(VMCWORKDIR)/trackbase -I$(VMCWORKDIR)/clustering -I$(VMCWORKDIR)/mpdbase -I$(VMCWORKDIR)/mpddata -I$(VMCWORKDIR)/cpc -I$(VMCWORKDIR)/ffd -I$(VMCWORKDIR)/kalman -I$(VMCWORKDIR)/lhetrack -I$(VMCWORKDIR)/geane -I$(VMCWORKDIR)/strawendcap -I$(VMCWORKDIR)/sts -I$(VMCWORKDIR)/ndet -I$(VMCWORKDIR)/etof -I$(VMCWORKDIR)/emc -I$(VMCWORKDIR)/tpc -I$(VMCWORKDIR)/tof -I$(VMCWORKDIR)/zdc -I$(VMCWORKDIR)/fairtools -L`root-config --libdir` -L"/usr/lib64" -L/opt/fairsoft/install/lib -L$(VMCWORKDIR)/build/lib -lMpdData -lCpc -lEmc -lCluster -lEtof -lFfd -lLHETrack -lStrawendcap -lSts -ltpc -lZdc -lTof -lPassive -lKalman -lGen -lMpdBase -lBase -lMpdBase -lFairTools -lMpdField -lMCStack -lTrkBase -lParBase -lGeoBase -lGeane -lGen -lXMLIO -lMinuit -lGeom -lGeomPainter -lVMC -lEG `root-config --glibs` -lpthread #librunMC.a: $(patsubst %.cxx,%.o,$(wildcard *.cxx)) diff --git a/macro/profiling/runRecoCpc30.C b/macro/profiling/runRecoCpc30.cxx similarity index 100% rename from macro/profiling/runRecoCpc30.C rename to macro/profiling/runRecoCpc30.cxx diff --git a/mpddata/MpdEvent.cxx b/mpddata/MpdEvent.cxx index daa797ce2f01904bc5a836eb4c1834cd282837db..7e80f28ce90313d17578f3ec5cc56abcaa2d3b22 100644 --- a/mpddata/MpdEvent.cxx +++ b/mpddata/MpdEvent.cxx @@ -42,4 +42,53 @@ MpdTrack *MpdEvent::AddGlobalTrack() return new((*fGlobalTracks)[fEventInfoNofGlobalTracks++]) MpdTrack(); } // ------------------------------------------------------------------- + +MpdEvent& MpdEvent::operator =(const MpdEvent& event) { + if(&event==this){ + return *this; + } + fRunInfoRunId = event.fRunInfoRunId; + fRunInfo_ProductionVersion = event.fRunInfo_ProductionVersion; + fRunInfo_CenterOfMassEnergy = event.fRunInfo_CenterOfMassEnergy; + fRunInfo_BeamMassNumber[0] = event.fRunInfo_BeamMassNumber[0]; + fRunInfo_BeamMassNumber[1] = event.fRunInfo_BeamMassNumber[1]; + fRunInfoMagneticFieldZ = event.fRunInfoMagneticFieldZ; + fEventInfo_TriggerMask = event.fEventInfo_TriggerMask; + fEventInfoNofGlobalTracks = event.fEventInfoNofGlobalTracks; + fEventInfoNofPrimaryTracks = event.fEventInfoNofPrimaryTracks; + fEventInfo_NofPositiveTracks = event.fEventInfo_NofPositiveTracks; + fEventInfo_NofNegativeTracks = event.fEventInfo_NofNegativeTracks; + + // PrimaryVertices + + PrimaryVerticesX = event.PrimaryVerticesX; + PrimaryVerticesY = event.PrimaryVerticesY; + PrimaryVerticesZ = event.PrimaryVerticesZ; + PrimaryVerticesXerr = event.PrimaryVerticesXerr; + PrimaryVerticesYerr = event.PrimaryVerticesYerr; + PrimaryVerticesZerr = event.PrimaryVerticesZerr; + PrimaryVertices_SumTrackPt = event.PrimaryVertices_SumTrackPt; + PrimaryVertices_MeanDip = event.PrimaryVertices_MeanDip; + PrimaryVerticesChi2 = event.PrimaryVerticesChi2; + PrimaryVertices_RefMultNeg = event.PrimaryVertices_RefMultNeg; + PrimaryVertices_RefMultPos = event.PrimaryVertices_RefMultPos; + fPrimaryTracks->Clear(); + fGlobalTracks->Clear(); + for(int i=0;i<event.fPrimaryTracks->GetEntriesFast();i++){ + MpdTrack *from = (MpdTrack*)event.fPrimaryTracks->UncheckedAt(i); + MpdTrack *to = (MpdTrack*)fPrimaryTracks->ConstructedAt(i); + *to = *from; + } + for(int i=0;i<event.fGlobalTracks->GetEntriesFast();i++){ + MpdTrack *from = (MpdTrack*)event.fGlobalTracks->UncheckedAt(i); + MpdTrack *to = (MpdTrack*)fGlobalTracks->ConstructedAt(i); + *to = *from; + } + return *this; +} + +// ------------------------------------------------------------------- + ClassImp(MpdEvent); + + diff --git a/mpddata/MpdEvent.h b/mpddata/MpdEvent.h index 94a96f5ca9ffc0ac7ef07ccce7b80938555a0df4..8cbf9240df7669aa23f27cac7a52e0768604cde2 100644 --- a/mpddata/MpdEvent.h +++ b/mpddata/MpdEvent.h @@ -48,6 +48,7 @@ class MpdEvent : public TNamed { public: MpdEvent(); // Default constructor + MpdEvent& operator=(const MpdEvent &event); virtual ~MpdEvent(); // Destructor void Reset();