X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliESDEvent.h;h=34c29bb0e4c3bae6fb47c2a7d8b3f3b1d24c78ba;hb=8f7b1226e6156cef90cac09edaf8b085c8e6f503;hp=44aa833a0ea6bfae2f86dc1c41c0098fae6b48fb;hpb=e649177a7ba040c8e27382914e7378178e56de12;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliESDEvent.h b/STEER/AliESDEvent.h index 44aa833a0ea..34c29bb0e4c 100644 --- a/STEER/AliESDEvent.h +++ b/STEER/AliESDEvent.h @@ -20,7 +20,6 @@ #include #include -class TList; #include "AliVEvent.h" // some includes for delegated methods @@ -29,10 +28,13 @@ class TList; #include "AliESDHeader.h" #include "AliESDTZERO.h" #include "AliESDZDC.h" +#include "AliESDACORDE.h" // AliESDtrack has to be included so that the compiler // knows its inheritance tree (= that it is a AliVParticle). #include "AliESDtrack.h" +// same for AliESDVertex (which is a AliVVertex) +#include "AliESDVertex.h" class AliESDfriend; class AliESDVZERO; @@ -52,6 +54,12 @@ class AliESDMuonTrack; class AliESD; class AliESDcascade; class TRefArray; +class AliESDACORDE; +class AliESDHLTDecision; + +class TList; +class TString; + class AliESDEvent : public AliVEvent { public: @@ -63,11 +71,14 @@ public: kESDFMD, kESDVZERO, kESDTZERO, + kTPCVertex, kSPDVertex, kPrimaryVertex, kSPDMult, kPHOSTrigger, kEMCALTrigger, + kSPDPileupVertices, + kTrkPileupVertices, kTracks, kMuonTracks, kPmdTracks, @@ -79,101 +90,152 @@ public: kEMCALCells, kPHOSCells, kErrorLogs, + kESDACORDE, kESDListN }; AliESDEvent(); - virtual ~AliESDEvent(); - + virtual ~AliESDEvent(); + AliESDEvent &operator=(const AliESDEvent& source); // or make private and use only copy? + virtual void Copy(TObject& obj) const; // RUN // move this to the UserData!!! const AliESDRun* GetESDRun() const {return fESDRun;} // Delegated methods for fESDRun - void SetRunNumber(Int_t n) {fESDRun->SetRunNumber(n);} - Int_t GetRunNumber() const {return fESDRun->GetRunNumber();} - void SetPeriodNumber(UInt_t n){fESDRun->SetPeriodNumber(n);} - UInt_t GetPeriodNumber() const {return fESDRun->GetPeriodNumber();} - void SetMagneticField(Double_t mf){fESDRun->SetMagneticField(mf);} - Double_t GetMagneticField() const {return fESDRun->GetMagneticField();} - void SetDiamond(const AliESDVertex *vertex) { fESDRun->SetDiamond(vertex);} - Double_t GetDiamondX() const {return fESDRun->GetDiamondX();} - Double_t GetDiamondY() const {return fESDRun->GetDiamondY();} - Double_t GetSigma2DiamondX() const {return fESDRun->GetSigma2DiamondX();} - Double_t GetSigma2DiamondY() const {return fESDRun->GetSigma2DiamondY();} - void GetDiamondCovXY(Float_t cov[3]) const {fESDRun->GetDiamondCovXY(cov);} - - + void SetRunNumber(Int_t n) {if(fESDRun) fESDRun->SetRunNumber(n);} + Int_t GetRunNumber() const {return fESDRun?fESDRun->GetRunNumber():-1;} + void SetPeriodNumber(UInt_t n){if(fESDRun) fESDRun->SetPeriodNumber(n);} + UInt_t GetPeriodNumber() const {return fESDRun?fESDRun->GetPeriodNumber():0;} + void SetMagneticField(Double_t mf){if(fESDRun) fESDRun->SetMagneticField(mf);} + Double_t GetMagneticField() const {return fESDRun?fESDRun->GetMagneticField():0;} + void SetDiamond(const AliESDVertex *vertex) { if(fESDRun) fESDRun->SetDiamond(vertex);} + Double_t GetDiamondX() const {return fESDRun?fESDRun->GetDiamondX():0;} + Double_t GetDiamondY() const {return fESDRun?fESDRun->GetDiamondY():0;} + Double_t GetSigma2DiamondX() const {return fESDRun?fESDRun->GetSigma2DiamondX():0;} + Double_t GetSigma2DiamondY() const {return fESDRun?fESDRun->GetSigma2DiamondY():0;} + void GetDiamondCovXY(Float_t cov[3]) const {if(fESDRun) fESDRun->GetDiamondCovXY(cov);} + void SetTriggerClass(const char*name, Int_t index) {if(fESDRun) fESDRun->SetTriggerClass(name,index);} + void SetPHOSMatrix(TGeoHMatrix*matrix, Int_t i) {if(fESDRun) fESDRun->SetPHOSMatrix(matrix,i);} + const TGeoHMatrix* GetPHOSMatrix(Int_t i) const {return fESDRun?fESDRun->GetPHOSMatrix(i):0x0;} + void SetEMCALMatrix(TGeoHMatrix*matrix, Int_t i) {if(fESDRun) fESDRun->SetEMCALMatrix(matrix,i);} + const TGeoHMatrix* GetEMCALMatrix(Int_t i) const {return fESDRun?fESDRun->GetEMCALMatrix(i):0x0;} + // + void SetCurrentL3(Float_t cur) const {if(fESDRun) fESDRun->SetCurrentL3(cur);} + void SetCurrentDip(Float_t cur) const {if(fESDRun) fESDRun->SetCurrentDip(cur);} + void SetBeamEnergy(Float_t be) const {if(fESDRun) fESDRun->SetBeamEnergy(be);} + void SetBeamType(const char* bt) const {if(fESDRun) fESDRun->SetBeamType(bt);} + void SetUniformBMap(Bool_t val=kTRUE) const {if(fESDRun) fESDRun->SetBit(AliESDRun::kUniformBMap,val);} + void SetBInfoStored(Bool_t val=kTRUE) const {if(fESDRun) fESDRun->SetBit(AliESDRun::kBInfoStored,val);} + // + Float_t GetCurrentL3() const {return fESDRun?fESDRun->GetCurrentL3():0;} + Float_t GetCurrentDip() const {return fESDRun?fESDRun->GetCurrentDip():0;} + Float_t GetBeamEnergy() const {return fESDRun?fESDRun->GetBeamEnergy():0;} + const char* GetBeamType() const {return fESDRun?fESDRun->GetBeamType():0;} + Bool_t IsUniformBMap() const {return fESDRun?fESDRun->TestBit(AliESDRun::kUniformBMap):kFALSE;} + // + Bool_t InitMagneticField() const {return fESDRun?fESDRun->InitMagneticField():kFALSE;} // HEADER AliESDHeader* GetHeader() const {return fHeader;} // Delegated methods for fHeader - void SetTriggerMask(ULong64_t n) {fHeader->SetTriggerMask(n);} - void SetOrbitNumber(UInt_t n) {fHeader->SetOrbitNumber(n);} - void SetTimeStamp(UInt_t timeStamp){fHeader->SetTimeStamp(timeStamp);} - void SetEventType(UInt_t eventType){fHeader->SetEventType(eventType);} - void SetEventNumberInFile(Int_t n) {fHeader->SetEventNumberInFile(n);} - // void SetRunNumber(Int_t n) {fHeader->SetRunNumber(n);} - void SetBunchCrossNumber(UShort_t n) {fHeader->SetBunchCrossNumber(n);} - void SetTriggerCluster(UChar_t n) {fHeader->SetTriggerCluster(n);} + void SetTriggerMask(ULong64_t n) {if(fHeader) fHeader->SetTriggerMask(n);} + void SetOrbitNumber(UInt_t n) {if(fHeader) fHeader->SetOrbitNumber(n);} + void SetTimeStamp(UInt_t timeStamp){if(fHeader) fHeader->SetTimeStamp(timeStamp);} + void SetEventType(UInt_t eventType){if(fHeader) fHeader->SetEventType(eventType);} + void SetEventSpecie(UInt_t eventSpecie){if(fHeader) fHeader->SetEventSpecie(eventSpecie);} + void SetEventNumberInFile(Int_t n) {if(fHeader) fHeader->SetEventNumberInFile(n);} + // void SetRunNumber(Int_t n) {if(fHeader) fHeader->SetRunNumber(n);} + void SetBunchCrossNumber(UShort_t n) {if(fHeader) fHeader->SetBunchCrossNumber(n);} + void SetTriggerCluster(UChar_t n) {if(fHeader) fHeader->SetTriggerCluster(n);} - ULong64_t GetTriggerMask() const {return fHeader->GetTriggerMask();} - UInt_t GetOrbitNumber() const {return fHeader->GetOrbitNumber();} - UInt_t GetTimeStamp() const { return fHeader->GetTimeStamp();} - UInt_t GetEventType() const { return fHeader->GetEventType();} - Int_t GetEventNumberInFile() const {return fHeader->GetEventNumberInFile();} - UShort_t GetBunchCrossNumber() const {return fHeader->GetBunchCrossNumber();} - UChar_t GetTriggerCluster() const {return fHeader->GetTriggerCluster();} + ULong64_t GetTriggerMask() const {return fHeader?fHeader->GetTriggerMask():0;} + TString GetFiredTriggerClasses() const {return (fESDRun&&fHeader)?fESDRun->GetFiredTriggerClasses(fHeader->GetTriggerMask()):"";} + Bool_t IsTriggerClassFired(const char *name) const {return (fESDRun&&fHeader)?fESDRun->IsTriggerClassFired(fHeader->GetTriggerMask(),name):kFALSE;} + Bool_t IsEventSelected(const char *trigExpr) const; + TObject* GetHLTTriggerDecision() const; + TString GetHLTTriggerDescription() const; + Bool_t IsHLTTriggerFired(const char* name=NULL) const; + UInt_t GetOrbitNumber() const {return fHeader?fHeader->GetOrbitNumber():0;} + UInt_t GetTimeStamp() const { return fHeader?fHeader->GetTimeStamp():0;} + UInt_t GetEventType() const { return fHeader?fHeader->GetEventType():0;} + UInt_t GetEventSpecie() const { return fHeader?fHeader->GetEventSpecie():0;} + Int_t GetEventNumberInFile() const {return fHeader?fHeader->GetEventNumberInFile():-1;} + UShort_t GetBunchCrossNumber() const {return fHeader?fHeader->GetBunchCrossNumber():0;} + UChar_t GetTriggerCluster() const {return fHeader?fHeader->GetTriggerCluster():0;} // ZDC CKB: put this in the header? AliESDZDC* GetESDZDC() const {return fESDZDC;} // Delegated methods for fESDZDC - Double_t GetZDCN1Energy() const {return fESDZDC->GetZDCN1Energy();} - Double_t GetZDCP1Energy() const {return fESDZDC->GetZDCP1Energy();} - Double_t GetZDCN2Energy() const {return fESDZDC->GetZDCN2Energy();} - Double_t GetZDCP2Energy() const {return fESDZDC->GetZDCP2Energy();} - Double_t GetZDCEMEnergy(Int_t i=0) const {return fESDZDC->GetZDCEMEnergy(i);} - Int_t GetZDCParticipants() const {return fESDZDC->GetZDCParticipants();} - void SetZDC(Float_t n1Energy, Float_t p1Energy, Float_t em1Energy, Float_t em2Energy, - Float_t n2Energy, Float_t p2Energy, Int_t participants) - {fESDZDC->SetZDC(n1Energy, p1Energy, em1Energy, em2Energy, n2Energy, p2Energy, participants);} + Double_t GetZDCN1Energy() const {return fESDZDC?fESDZDC->GetZDCN1Energy():0;} + Double_t GetZDCP1Energy() const {return fESDZDC?fESDZDC->GetZDCP1Energy():0;} + Double_t GetZDCN2Energy() const {return fESDZDC?fESDZDC->GetZDCN2Energy():0;} + Double_t GetZDCP2Energy() const {return fESDZDC?fESDZDC->GetZDCP2Energy():0;} + Double_t GetZDCEMEnergy(Int_t i=0) const {return fESDZDC?fESDZDC->GetZDCEMEnergy(i):0;} + Int_t GetZDCParticipants() const {return fESDZDC?fESDZDC->GetZDCParticipants():0;} + void SetZDC(Float_t n1Energy, Float_t p1Energy, Float_t em1Energy, Float_t em2Energy, + Float_t n2Energy, Float_t p2Energy, Int_t participants, Int_t nPartA, + Int_t nPartC, Double_t b, Double_t bA, Double_t bC, UInt_t recoflag) + {if(fESDZDC) fESDZDC->SetZDC(n1Energy, p1Energy, em1Energy, em2Energy, n2Energy, p2Energy, + participants, nPartA, nPartC, b, bA, bC, recoflag);} + void SetZDCScaler(UInt_t *counts) {if(fESDZDC) fESDZDC->SetZDCScaler(counts);} // FMD void SetFMDData(AliESDFMD * obj); - AliESDFMD *GetFMDData(){ return fESDFMD; } + AliESDFMD *GetFMDData() const { return fESDFMD; } // TZERO CKB: put this in the header? const AliESDTZERO* GetESDTZERO() const {return fESDTZERO;} // delegetated methods for fESDTZERO - Double_t GetT0zVertex() const {return fESDTZERO->GetT0zVertex();} - void SetT0zVertex(Float_t z) {fESDTZERO->SetT0zVertex(z);} - Double_t GetT0() const {return fESDTZERO->GetT0();} - void SetT0(Float_t timeStart) {fESDTZERO->SetT0(timeStart);} - const Double_t * GetT0time() const {return fESDTZERO->GetT0time();} - void SetT0time(Float_t time[24]) {fESDTZERO->SetT0time(time);} - const Double_t * GetT0amplitude() const {return fESDTZERO->GetT0amplitude();} - void SetT0amplitude(Float_t amp[24]){fESDTZERO->SetT0amplitude(amp);} + Double32_t GetT0zVertex() const {return fESDTZERO?fESDTZERO->GetT0zVertex():0;} + void SetT0zVertex(Double32_t z) {if(fESDTZERO) fESDTZERO->SetT0zVertex(z);} + Double32_t GetT0() const {return fESDTZERO?fESDTZERO->GetT0():0;} + void SetT0(Double32_t timeStart) {if(fESDTZERO) fESDTZERO->SetT0(timeStart);} + Double32_t GetT0clock() const {return fESDTZERO?fESDTZERO->GetT0clock():0;} + void SetT0clock(Double32_t timeStart) {if(fESDTZERO) fESDTZERO->SetT0clock(timeStart);} + Double32_t GetT0TOF(Int_t icase) const {return fESDTZERO?fESDTZERO->GetT0TOF(icase):0;} + const Double32_t * GetT0TOF() const {return fESDTZERO?fESDTZERO->GetT0TOF():0x0;} + void SetT0TOF(Int_t icase,Double32_t timeStart) {if(fESDTZERO) fESDTZERO->SetT0TOF(icase,timeStart);} + const Double32_t * GetT0time() const {return fESDTZERO?fESDTZERO->GetT0time():0x0;} + void SetT0time(Double32_t time[24]) {if(fESDTZERO) fESDTZERO->SetT0time(time);} + const Double32_t * GetT0amplitude() const {return fESDTZERO?fESDTZERO->GetT0amplitude():0x0;} + void SetT0amplitude(Double32_t amp[24]){if(fESDTZERO) fESDTZERO->SetT0amplitude(amp);} + Int_t GetT0Trig() const { return fESDTZERO?fESDTZERO->GetT0Trig():0;} + void SetT0Trig(Int_t tvdc) {if(fESDTZERO) fESDTZERO->SetT0Trig(tvdc);} // VZERO AliESDVZERO *GetVZEROData() const { return fESDVZERO; } void SetVZEROData(AliESDVZERO * obj); + // ACORDE + AliESDACORDE *GetACORDEData() const { return fESDACORDE;} + void SetACORDEData(AliESDACORDE * obj); - void SetESDfriend(const AliESDfriend *f); + void SetESDfriend(const AliESDfriend *f) const; void GetESDfriend(AliESDfriend *f) const; - void SetVertex(const AliESDVertex *vertex); - const AliESDVertex *GetVertex() const {return fSPDVertex;} + void SetPrimaryVertexTPC(const AliESDVertex *vertex); + const AliESDVertex *GetPrimaryVertexTPC() const {return fTPCVertex;} + + void SetPrimaryVertexSPD(const AliESDVertex *vertex); + const AliESDVertex *GetPrimaryVertexSPD() const {return fSPDVertex;} + const AliESDVertex *GetVertex() const { + //For the backward compatibily only + return GetPrimaryVertexSPD(); + } + + void SetPrimaryVertexTracks(const AliESDVertex *vertex); + const AliESDVertex *GetPrimaryVertexTracks() const {return fPrimaryVertex;} + AliESDVertex *PrimaryVertexTracksUnconstrained() const; - void SetPrimaryVertex(const AliESDVertex *vertex); - const AliESDVertex *GetPrimaryVertex() const {return fPrimaryVertex;} + const AliESDVertex *GetPrimaryVertex() const; void SetMultiplicity(const AliMultiplicity *mul); @@ -181,12 +243,23 @@ public: Bool_t Clean(Float_t *cleanPars); - Bool_t RemoveKink(Int_t i); - Bool_t RemoveV0(Int_t i); - Bool_t RemoveTrack(Int_t i); + Bool_t RemoveKink(Int_t i) const; + Bool_t RemoveV0(Int_t i) const; + Bool_t RemoveTrack(Int_t i) const; + + const AliESDVertex *GetPileupVertexSPD(Int_t i) const { + return (const AliESDVertex *)(fSPDPileupVertices?fSPDPileupVertices->UncheckedAt(i):0x0); + } + Char_t AddPileupVertexSPD(const AliESDVertex *vtx); + Bool_t IsPileupFromSPD(Int_t ncont=2, Double_t distz=1., Double_t nSigmaDeltaZ=3., Double_t nSigmaXY=2., Int_t option=0) const; + + const AliESDVertex *GetPileupVertexTracks(Int_t i) const { + return (const AliESDVertex *)(fTrkPileupVertices?fTrkPileupVertices->UncheckedAt(i):0x0); + } + Char_t AddPileupVertexTracks(const AliESDVertex *vtx); AliESDtrack *GetTrack(Int_t i) const { - return (AliESDtrack *)fTracks->UncheckedAt(i); + return (AliESDtrack *)(fTracks?fTracks->UncheckedAt(i):0x0); } Int_t AddTrack(const AliESDtrack *t); @@ -213,43 +286,43 @@ public: } AliESDMuonTrack *GetMuonTrack(Int_t i) const { - return (AliESDMuonTrack *)fMuonTracks->UncheckedAt(i); + return (AliESDMuonTrack *)(fMuonTracks?fMuonTracks->UncheckedAt(i):0x0); } void AddMuonTrack(const AliESDMuonTrack *t); AliESDPmdTrack *GetPmdTrack(Int_t i) const { - return (AliESDPmdTrack *)fPmdTracks->UncheckedAt(i); + return (AliESDPmdTrack *)(fPmdTracks?fPmdTracks->UncheckedAt(i):0x0); } void AddPmdTrack(const AliESDPmdTrack *t); AliESDTrdTrack *GetTrdTrack(Int_t i) const { - return (AliESDTrdTrack *)fTrdTracks->UncheckedAt(i); + return (AliESDTrdTrack *)(fTrdTracks?fTrdTracks->UncheckedAt(i):0x0); } void AddTrdTrack(const AliESDTrdTrack *t); AliESDv0 *GetV0(Int_t i) const { - return (AliESDv0*)fV0s->UncheckedAt(i); + return (AliESDv0*)(fV0s?fV0s->UncheckedAt(i):0x0); } Int_t AddV0(const AliESDv0 *v); AliESDcascade *GetCascade(Int_t i) const { - return (AliESDcascade *)fCascades->UncheckedAt(i); + return (AliESDcascade *)(fCascades?fCascades->UncheckedAt(i):0x0); } void AddCascade(const AliESDcascade *c); AliESDkink *GetKink(Int_t i) const { - return (AliESDkink *)fKinks->UncheckedAt(i); + return (AliESDkink *)(fKinks?fKinks->UncheckedAt(i):0x0); } Int_t AddKink(const AliESDkink *c); AliESDCaloCluster *GetCaloCluster(Int_t i) const { - return (AliESDCaloCluster *)fCaloClusters->UncheckedAt(i); + return (AliESDCaloCluster *)(fCaloClusters?fCaloClusters->UncheckedAt(i):0x0); } Int_t AddCaloCluster(const AliESDCaloCluster *c); @@ -258,76 +331,71 @@ public: AliESDCaloCells *GetPHOSCells() const {return fPHOSCells; } AliRawDataErrorLog *GetErrorLog(Int_t i) const { - return (AliRawDataErrorLog *)fErrorLogs->UncheckedAt(i); + return (AliRawDataErrorLog *)(fErrorLogs?fErrorLogs->UncheckedAt(i):0x0); } - void AddRawDataErrorLog(const AliRawDataErrorLog *log); + void AddRawDataErrorLog(const AliRawDataErrorLog *log) const; - Int_t GetNumberOfErrorLogs() const {return fErrorLogs->GetEntriesFast();} + Int_t GetNumberOfErrorLogs() const {return fErrorLogs?fErrorLogs->GetEntriesFast():0;} - void AddPHOSTriggerPosition(TArrayF array) { fPHOSTrigger->AddTriggerPosition(array); } - void AddPHOSTriggerAmplitudes(TArrayF array) { fPHOSTrigger->AddTriggerAmplitudes(array);} - void AddEMCALTriggerPosition(TArrayF array) { fEMCALTrigger->AddTriggerPosition(array); } - void AddEMCALTriggerAmplitudes(TArrayF array){ fEMCALTrigger->AddTriggerAmplitudes(array); } + void AddPHOSTriggerPosition(TArrayF array) { if(fPHOSTrigger) fPHOSTrigger->AddTriggerPosition(array); } + void AddPHOSTriggerAmplitudes(TArrayF array) { if(fPHOSTrigger) fPHOSTrigger->AddTriggerAmplitudes(array);} + void AddEMCALTriggerPosition(TArrayF array) { if(fEMCALTrigger) fEMCALTrigger->AddTriggerPosition(array); } + void AddEMCALTriggerAmplitudes(TArrayF array){ if(fEMCALTrigger) fEMCALTrigger->AddTriggerAmplitudes(array); } - Int_t GetNumberOfTracks() const {return fTracks->GetEntriesFast();} + Int_t GetNumberOfPileupVerticesSPD() const { + return (fSPDPileupVertices?fSPDPileupVertices->GetEntriesFast():0); + } + Int_t GetNumberOfPileupVerticesTracks() const { + return (fTrkPileupVertices?fTrkPileupVertices->GetEntriesFast():0); + } + Int_t GetNumberOfTracks() const {return fTracks?fTracks->GetEntriesFast():0;} Int_t GetNumberOfHLTConfMapTracks() const {return 0;} // fHLTConfMapTracks->GetEntriesFast();} Int_t GetNumberOfHLTHoughTracks() const {return 0; } // fHLTHoughTracks->GetEntriesFast(); } - Int_t GetNumberOfMuonTracks() const {return fMuonTracks->GetEntriesFast();} - Int_t GetNumberOfPmdTracks() const {return fPmdTracks->GetEntriesFast();} - Int_t GetNumberOfTrdTracks() const {return fTrdTracks->GetEntriesFast();} - Int_t GetNumberOfV0s() const {return fV0s->GetEntriesFast();} - Int_t GetNumberOfCascades() const {return fCascades->GetEntriesFast();} - Int_t GetNumberOfKinks() const {return fKinks->GetEntriesFast();} + Int_t GetNumberOfMuonTracks() const {return fMuonTracks?fMuonTracks->GetEntriesFast():0;} + Int_t GetNumberOfPmdTracks() const {return fPmdTracks?fPmdTracks->GetEntriesFast():0;} + Int_t GetNumberOfTrdTracks() const {return fTrdTracks?fTrdTracks->GetEntriesFast():0;} + Int_t GetNumberOfV0s() const {return fV0s?fV0s->GetEntriesFast():0;} + Int_t GetNumberOfCascades() const {return fCascades?fCascades->GetEntriesFast():0;} + Int_t GetNumberOfKinks() const {return fKinks?fKinks->GetEntriesFast():0;} Int_t GetEMCALClusters(TRefArray *clusters) const; Int_t GetPHOSClusters(TRefArray *clusters) const; - Int_t GetNumberOfCaloClusters() const {return fCaloClusters->GetEntriesFast();} + Int_t GetNumberOfCaloClusters() const {return fCaloClusters?fCaloClusters->GetEntriesFast():0;} - - // Remove this stuff CKB? - //--------------------------------------------------- - Int_t GetNumberOfEMCALClusters() const {return fEMCALClusters;} - void SetNumberOfEMCALClusters(Int_t clus) {fEMCALClusters = clus;} - Int_t GetFirstEMCALCluster() const {return fFirstEMCALCluster;} - void SetFirstEMCALCluster(Int_t index) {fFirstEMCALCluster = index;} - - Int_t GetNumberOfPHOSClusters() const {return fPHOSClusters;} - void SetNumberOfPHOSClusters(Int_t part) { fPHOSClusters = part ; } - void SetFirstPHOSCluster(Int_t index) { fFirstPHOSCluster = index ; } - Int_t GetFirstPHOSCluster() const { return fFirstPHOSCluster ; } - //------------------------------------------------------- - - TArrayF *GetEMCALTriggerPosition() const {return fEMCALTrigger->GetTriggerPosition();} - TArrayF *GetEMCALTriggerAmplitudes() const {return fEMCALTrigger->GetTriggerAmplitudes();} - TArrayF *GetPHOSTriggerPosition() const {return fPHOSTrigger->GetTriggerPosition();} - TArrayF *GetPHOSTriggerAmplitudes() const {return fPHOSTrigger->GetTriggerAmplitudes();} - - void ResetV0s() { fV0s->Clear(); } - void ResetCascades() { fCascades->Clear(); } + void SetUseOwnList(Bool_t b){fUseOwnList = b;} + Bool_t GetUseOwnList() const {return fUseOwnList;} + + TArrayF *GetEMCALTriggerPosition() const {return fEMCALTrigger?fEMCALTrigger->GetTriggerPosition():0x0;} + TArrayF *GetEMCALTriggerAmplitudes() const {return fEMCALTrigger?fEMCALTrigger->GetTriggerAmplitudes():0x0;} + TArrayF *GetPHOSTriggerPosition() const {return fPHOSTrigger?fPHOSTrigger->GetTriggerPosition():0x0;} + TArrayF *GetPHOSTriggerAmplitudes() const {return fPHOSTrigger?fPHOSTrigger->GetTriggerAmplitudes():0x0;} + + void ResetV0s() { if(fV0s) fV0s->Clear(); } + void ResetCascades() { if(fCascades) fCascades->Clear(); } void Reset(); void Print(Option_t *option="") const; void AddObject(TObject* obj); - void ReadFromTree(TTree *tree); - TObject* FindListObject(const char *name); + void ReadFromTree(TTree *tree, Option_t* opt = ""); + TObject* FindListObject(const char *name) const; AliESD *GetAliESDOld(){return fESDOld;} - const void WriteToTree(TTree* tree) const {tree->Branch(fESDObjects);} + void WriteToTree(TTree* tree) const; void GetStdContent(); void ResetStdContent(); void CreateStdContent(); + void CreateStdContent(Bool_t bUseThisList); void SetStdNames(); void CopyFromOldESD(); TList* GetList() const {return fESDObjects;} protected: AliESDEvent(const AliESDEvent&); - AliESDEvent &operator=(const AliESDEvent& source); - + static Bool_t ResetWithPlacementNew(TObject *pObject); TList *fESDObjects; // List of esd Objects @@ -337,12 +405,16 @@ protected: AliESDFMD *fESDFMD; //! FMD object containing rough multiplicity AliESDVZERO *fESDVZERO; //! VZERO object containing rough multiplicity AliESDTZERO *fESDTZERO; //! TZEROObject + AliESDVertex *fTPCVertex; //! Primary vertex estimated by the TPC AliESDVertex *fSPDVertex; //! Primary vertex estimated by the SPD AliESDVertex *fPrimaryVertex; //! Primary vertex estimated using ESD tracks AliMultiplicity *fSPDMult; //! SPD tracklet multiplicity AliESDCaloTrigger* fPHOSTrigger; //! PHOS Trigger information AliESDCaloTrigger* fEMCALTrigger; //! PHOS Trigger information + AliESDACORDE *fESDACORDE; //! ACORDE ESD object caontaining bit pattern + TClonesArray *fSPDPileupVertices;//! Pileup primary vertices reconstructed by SPD + TClonesArray *fTrkPileupVertices;//! Pileup primary vertices reconstructed using the tracks TClonesArray *fTracks; //! ESD tracks TClonesArray *fMuonTracks; //! MUON ESD tracks TClonesArray *fPmdTracks; //! PMD ESD tracks @@ -360,17 +432,11 @@ protected: AliESD *fESDOld; //! Old esd Structure AliESDfriend *fESDFriendOld; //! Old friend esd Structure Bool_t fConnected; //! flag if leaves are alreday connected + Bool_t fUseOwnList; //! Do not use the list from the esdTree but use the one created by this class static const char* fgkESDListName[kESDListN]; //! - // Remove this stuff CKB - Int_t fEMCALClusters; // Number of EMCAL clusters (subset of caloclusters) - Int_t fFirstEMCALCluster; // First EMCAL cluster in the fCaloClusters list - - Int_t fPHOSClusters; // Number of PHOS clusters (subset of caloclusters) - Int_t fFirstPHOSCluster; // First PHOS cluster in the fCaloClusters list - - ClassDef(AliESDEvent,5) //ESDEvent class + ClassDef(AliESDEvent,11) //ESDEvent class }; #endif