X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliESDEvent.h;h=65259b3fa40fe5df649db143e89028beb6ec6ef6;hb=381a4a0100d53bff5f6bf04d15903dcb547f41a0;hp=188779da872c0e0c5402df0c796fa9fb419f0563;hpb=1bd10080256f63566bc42e036540e77caef4dd45;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliESDEvent.h b/STEER/AliESDEvent.h index 188779da872..65259b3fa40 100644 --- a/STEER/AliESDEvent.h +++ b/STEER/AliESDEvent.h @@ -29,10 +29,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; @@ -42,6 +45,7 @@ class AliESDPmdTrack; class AliESDFMD; class AliESDkink; class AliESDCaloCluster; +class AliESDCaloCells; class AliESDv0; class AliMultiplicity; class AliRawDataErrorLog; @@ -51,6 +55,7 @@ class AliESDMuonTrack; class AliESD; class AliESDcascade; class TRefArray; +class AliESDACORDE; class AliESDEvent : public AliVEvent { public: @@ -62,11 +67,14 @@ public: kESDFMD, kESDVZERO, kESDTZERO, + kTPCVertex, kSPDVertex, kPrimaryVertex, kSPDMult, kPHOSTrigger, kEMCALTrigger, + kSPDPileupVertices, + kTrkPileupVertices, kTracks, kMuonTracks, kPmdTracks, @@ -75,13 +83,17 @@ public: kCascades, kKinks, kCaloClusters, + 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!!! @@ -100,6 +112,9 @@ public: 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 SetTriggerClass(const char*name, Int_t index) {fESDRun->SetTriggerClass(name,index);} + void SetPHOSMatrix(TGeoHMatrix*matrix, Int_t i) {fESDRun->SetPHOSMatrix(matrix,i);} + const TGeoHMatrix* GetPHOSMatrix(Int_t i) const {return fESDRun->GetPHOSMatrix(i);} // HEADER @@ -111,11 +126,16 @@ public: 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 SetRunNumber(Int_t n) {fHeader->SetRunNumber(n);} void SetBunchCrossNumber(UShort_t n) {fHeader->SetBunchCrossNumber(n);} void SetTriggerCluster(UChar_t n) {fHeader->SetTriggerCluster(n);} ULong64_t GetTriggerMask() const {return fHeader->GetTriggerMask();} + TString GetFiredTriggerClasses() const {return fESDRun->GetFiredTriggerClasses(fHeader->GetTriggerMask());} + Bool_t IsTriggerClassFired(const char *name) const {return fESDRun->IsTriggerClassFired(fHeader->GetTriggerMask(),name);} + TObject* GetHLTTriggerDecision() const; + TString GetHLTTriggerDescription() const; + Bool_t IsHLTTriggerFired(const char* name=NULL) const; UInt_t GetOrbitNumber() const {return fHeader->GetOrbitNumber();} UInt_t GetTimeStamp() const { return fHeader->GetTimeStamp();} UInt_t GetEventType() const { return fHeader->GetEventType();} @@ -124,18 +144,20 @@ public: UChar_t GetTriggerCluster() const {return fHeader->GetTriggerCluster();} // ZDC CKB: put this in the header? - const AliESDZDC* GetESDZDC() const {return fESDZDC;} + 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() const {return fESDZDC->GetZDCEMEnergy();} + 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 emEnergy, - Float_t n2Energy, Float_t p2Energy, Int_t participants) - {fESDZDC->SetZDC(n1Energy, p1Energy, emEnergy, n2Energy, p2Energy, participants);} + 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) + {fESDZDC->SetZDC(n1Energy, p1Energy, em1Energy, em2Energy, n2Energy, p2Energy, + participants, nPartA, nPartC, b, bA, bC, recoflag);} // FMD @@ -151,6 +173,8 @@ public: void SetT0zVertex(Float_t z) {fESDTZERO->SetT0zVertex(z);} Double_t GetT0() const {return fESDTZERO->GetT0();} void SetT0(Float_t timeStart) {fESDTZERO->SetT0(timeStart);} + Float_t GetT0clock() const {return fESDTZERO->GetT0clock();} + void SetT0clock(Float_t timeStart) {fESDTZERO->SetT0clock(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();} @@ -160,17 +184,30 @@ public: 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); @@ -178,9 +215,19 @@ 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->UncheckedAt(i); + } + Char_t AddPileupVertexSPD(const AliESDVertex *vtx); + + const AliESDVertex *GetPileupVertexTracks(Int_t i) const { + return (const AliESDVertex *)fTrkPileupVertices->UncheckedAt(i); + } + Char_t AddPileupVertexTracks(const AliESDVertex *vtx); AliESDtrack *GetTrack(Int_t i) const { return (AliESDtrack *)fTracks->UncheckedAt(i); @@ -248,12 +295,16 @@ public: AliESDCaloCluster *GetCaloCluster(Int_t i) const { return (AliESDCaloCluster *)fCaloClusters->UncheckedAt(i); } + Int_t AddCaloCluster(const AliESDCaloCluster *c); + AliESDCaloCells *GetEMCALCells() const {return fEMCALCells; } + AliESDCaloCells *GetPHOSCells() const {return fPHOSCells; } + AliRawDataErrorLog *GetErrorLog(Int_t i) const { return (AliRawDataErrorLog *)fErrorLogs->UncheckedAt(i); } - void AddRawDataErrorLog(const AliRawDataErrorLog *log); + void AddRawDataErrorLog(const AliRawDataErrorLog *log) const; Int_t GetNumberOfErrorLogs() const {return fErrorLogs->GetEntriesFast();} @@ -263,6 +314,12 @@ public: void AddEMCALTriggerPosition(TArrayF array) { fEMCALTrigger->AddTriggerPosition(array); } void AddEMCALTriggerAmplitudes(TArrayF array){ fEMCALTrigger->AddTriggerAmplitudes(array); } + Int_t GetNumberOfPileupVerticesSPD() const { + return (fSPDPileupVertices?fSPDPileupVertices->GetEntriesFast():0); + } + Int_t GetNumberOfPileupVerticesTracks() const { + return (fTrkPileupVertices?fTrkPileupVertices->GetEntriesFast():0); + } Int_t GetNumberOfTracks() const {return fTracks->GetEntriesFast();} Int_t GetNumberOfHLTConfMapTracks() const {return 0;} // fHLTConfMapTracks->GetEntriesFast();} @@ -275,21 +332,29 @@ public: Int_t GetNumberOfV0s() const {return fV0s->GetEntriesFast();} Int_t GetNumberOfCascades() const {return fCascades->GetEntriesFast();} Int_t GetNumberOfKinks() const {return fKinks->GetEntriesFast();} + Int_t GetEMCALClusters(TRefArray *clusters) const; Int_t GetPHOSClusters(TRefArray *clusters) const; Int_t GetNumberOfCaloClusters() const {return fCaloClusters->GetEntriesFast();} + void SetUseOwnList(Bool_t b){fUseOwnList = b;} + Bool_t GetUseOwnList(){return fUseOwnList;} + + // 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;} - TArrayF *GetEMCALTriggerPosition() const {return fEMCALTrigger->GetTriggerPosition();} - TArrayF *GetEMCALTriggerAmplitudes() const {return fEMCALTrigger->GetTriggerAmplitudes();} - + 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();} @@ -300,21 +365,21 @@ public: void Print(Option_t *option="") const; void AddObject(TObject* obj); - void ReadFromTree(TTree *tree); + void ReadFromTree(TTree *tree, Option_t* opt = ""); TObject* FindListObject(const char *name); 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 @@ -324,12 +389,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 @@ -338,6 +407,8 @@ protected: TClonesArray *fCascades; //! Cascade vertices TClonesArray *fKinks; //! Kinks TClonesArray *fCaloClusters; //! Calorimeter clusters for PHOS/EMCAL + AliESDCaloCells *fEMCALCells; //! EMCAL cell info + AliESDCaloCells *fPHOSCells; //! PHOS cell info TClonesArray *fErrorLogs; //! Raw-data reading error messages @@ -345,6 +416,7 @@ 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]; //! @@ -355,7 +427,7 @@ protected: 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,10) //ESDEvent class }; #endif