X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliESD.h;h=18a87d526a4bf7ebf7717f0efb848f91cc91a2ba;hb=40389866548fc06fcc5655701a58bb65f61e09a6;hp=85fa211ab850b52205a1a0602328194bd40ebcfd;hpb=b545009a882afc6bf9c6be4e1524bfabaa17aa16;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliESD.h b/STEER/AliESD.h index 85fa211ab85..18a87d526a4 100644 --- a/STEER/AliESD.h +++ b/STEER/AliESD.h @@ -16,12 +16,8 @@ #include #include -#include #include -class TList; - - #include "AliESDMuonTrack.h" #include "AliESDPmdTrack.h" #include "AliESDTrdTrack.h" @@ -29,329 +25,280 @@ class TList; #include "AliESDcascade.h" #include "AliESDkink.h" #include "AliESDtrack.h" +#include "AliESDHLTtrack.h" #include "AliESDCaloCluster.h" #include "AliESDv0.h" #include "AliESDFMD.h" #include "AliESDVZERO.h" #include "AliMultiplicity.h" #include "AliRawDataErrorLog.h" -#include "AliESDRun.h" -#include "AliESDHeader.h" -#include "AliESDZDC.h" -#include "AliESDTZERO.h" -#include "AliESDCaloTrigger.h" class AliESDfriend; -class AliESDVZERO; -class AliESDHLTtrack; -class AliESDFMD; class AliESD : public TObject { public: - - - enum ESDListIndex_t {kESDRun, - kHeader, - kESDZDC, - kESDFMD, - kESDVZERO, - kESDTZERO, - kSPDVertex, - kPrimaryVertex, - kSPDMult, - kPHOSTrigger, - kEMCALTrigger, - kTracks, - kMuonTracks, - kPmdTracks, - kTrdTracks, - kV0s, - kCascades, - kKinks, - kCaloClusters, - kErrorLogs, - kESDListN - }; - AliESD(); + AliESD(const AliESD&); virtual ~AliESD(); - - // 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(Int_t n){fESDRun->SetPeriodNumber(n);} - Int_t GetPeriodNumber() const {return fESDRun->GetPeriodNumber();} - void SetMagneticField(Float_t mf){fESDRun->SetMagneticField(mf);} - Float_t GetMagneticField() const {return fESDRun->GetMagneticField();} - void SetDiamond(const AliESDVertex *vertex) { fESDRun->SetDiamond(vertex);} - Float_t GetDiamondX() const {return fESDRun->GetDiamondX();} - Float_t GetDiamondY() const {return fESDRun->GetDiamondY();} - Float_t GetSigma2DiamondX() const {return fESDRun->GetSigma2DiamondX();} - Float_t GetSigma2DiamondY() const {return fESDRun->GetSigma2DiamondY();} - void GetDiamondCovXY(Float_t cov[3]) const {fESDRun->GetDiamondCovXY(cov);} - - - // HEADER - const 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);} - 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();} - - // ZDC CKB: put this in the header? - const AliESDZDC* GetESDZDC() const {return fESDZDC;} - - // Delegated methods for fESDZDC - Float_t GetZDCN1Energy() const {return fESDZDC->GetZDCN1Energy();} - Float_t GetZDCP1Energy() const {return fESDZDC->GetZDCP1Energy();} - Float_t GetZDCN2Energy() const {return fESDZDC->GetZDCN2Energy();} - Float_t GetZDCP2Energy() const {return fESDZDC->GetZDCP2Energy();} - Float_t GetZDCEMEnergy() const {return fESDZDC->GetZDCEMEnergy();} - 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);} - - - // FMD - void SetFMDData(AliESDFMD * obj); - AliESDFMD *GetFMDData(){ return fESDFMD; } - - - // TZERO CKB: put this in the header? - const AliESDTZERO* GetESDTZERO() const {return fESDTZERO;} - // delegetated methods for fESDTZERO - - Float_t GetT0zVertex() const {return fESDTZERO->GetT0zVertex();} - void SetT0zVertex(Float_t z) {fESDTZERO->SetT0zVertex(z);} - Float_t GetT0() const {return fESDTZERO->GetT0();} - void SetT0(Float_t timeStart) {fESDTZERO->SetT0(timeStart);} - const Float_t * GetT0time() const {return fESDTZERO->GetT0time();} - void SetT0time(Float_t time[24]) {fESDTZERO->SetT0time(time);} - const Float_t * GetT0amplitude() const {return fESDTZERO->GetT0amplitude();} - void SetT0amplitude(Float_t amp[24]){fESDTZERO->SetT0amplitude(amp);} - - // VZERO - AliESDVZERO *GetVZEROData() const { return fESDVZERO; } - void SetVZEROData(AliESDVZERO * obj); - - void SetESDfriend(const AliESDfriend *f); void GetESDfriend(AliESDfriend *f) const; - - - void SetVertex(const AliESDVertex *vertex) { - *fSPDVertex = *vertex; - fSPDVertex->SetName("fSPDVertex");// error prone use class wide names? - //CKB or new with placement + void SetEventNumberInFile(Int_t n) {fEventNumberInFile=n;} + void SetBunchCrossNumber(UShort_t n) {fBunchCrossNumber=n;} + void SetOrbitNumber(UInt_t n) {fOrbitNumber=n;} + void SetPeriodNumber(UInt_t n) {fPeriodNumber=n;} + void SetRunNumber(Int_t n) {fRunNumber=n;} + void SetTimeStamp(UInt_t timeStamp){fTimeStamp = timeStamp;} + void SetEventType(UInt_t eventType){fEventType = eventType;} + void SetTriggerMask(ULong64_t n) {fTriggerMask=n;} + void SetTriggerCluster(UChar_t n) {fTriggerCluster = n;} + void SetMagneticField(Float_t mf){fMagneticField = mf;} + Float_t GetMagneticField() const {return fMagneticField;} + + AliESDtrack *GetTrack(Int_t i) const { + return (AliESDtrack *)fTracks.UncheckedAt(i); } - const AliESDVertex *GetVertex() const {return fSPDVertex;} - - void SetPrimaryVertex(const AliESDVertex *vertex) { - *fPrimaryVertex = *vertex; - fPrimaryVertex->SetName("fPrimaryVertex");// error prone use class wide names? + AliESDHLTtrack *GetHLTConfMapTrack(Int_t i) const { + return (AliESDHLTtrack *)fHLTConfMapTracks.UncheckedAt(i); } - const AliESDVertex *GetPrimaryVertex() const {return fPrimaryVertex;} - - void SetMultiplicity(const AliMultiplicity *mul) { - *fSPDMult = *mul; - // CKB - // new (&fSPDMult) AliMultiplicity(*mul); + AliESDHLTtrack *GetHLTHoughTrack(Int_t i) const { + return (AliESDHLTtrack *)fHLTHoughTracks.UncheckedAt(i); } - const AliMultiplicity *GetMultiplicity() const {return fSPDMult;} - - AliESDtrack *GetTrack(Int_t i) const { - return (AliESDtrack *)fTracks->UncheckedAt(i); + AliESDMuonTrack *GetMuonTrack(Int_t i) const { + return (AliESDMuonTrack *)fMuonTracks.UncheckedAt(i); } - Int_t AddTrack(const AliESDtrack *t); - - - AliESDHLTtrack *GetHLTConfMapTrack(Int_t /*i*/) const { - // return (AliESDHLTtrack *)fHLTConfMapTracks->UncheckedAt(i); - return 0; + AliESDPmdTrack *GetPmdTrack(Int_t i) const { + return (AliESDPmdTrack *)fPmdTracks.UncheckedAt(i); } - void AddHLTConfMapTrack(const AliESDHLTtrack */*t*/) { - printf("ESD:: AddHLTConfMapTrack do nothing \n"); - // TClonesArray &fhlt = *fHLTConfMapTracks; - // new(fhlt[fHLTConfMapTracks->GetEntriesFast()]) AliESDHLTtrack(*t); + AliESDTrdTrack *GetTrdTrack(Int_t i) const { + return (AliESDTrdTrack *)fTrdTracks.UncheckedAt(i); } - - AliESDHLTtrack *GetHLTHoughTrack(Int_t /*i*/) const { - // return (AliESDHLTtrack *)fHLTHoughTracks->UncheckedAt(i); - return 0; + Bool_t Clean(Float_t *cleanPars); + Bool_t RemoveKink(Int_t i); + Bool_t RemoveV0(Int_t i); + Bool_t RemoveTrack(Int_t i); + + Int_t AddTrack(const AliESDtrack *t) { + AliESDtrack * track = new(fTracks[fTracks.GetEntriesFast()]) AliESDtrack(*t);track->SetID(fTracks.GetEntriesFast()-1);return track->GetID(); } - void AddHLTHoughTrack(const AliESDHLTtrack */*t*/) { - printf("ESD:: AddHLTHoughTrack do nothing \n"); - // TClonesArray &fhlt = *fHLTHoughTracks; - // new(fhlt[fHLTHoughTracks->GetEntriesFast()]) AliESDHLTtrack(*t); + void AddHLTConfMapTrack(const AliESDHLTtrack *t) { + new(fHLTConfMapTracks[fHLTConfMapTracks.GetEntriesFast()]) AliESDHLTtrack(*t); } - - AliESDMuonTrack *GetMuonTrack(Int_t i) const { - return (AliESDMuonTrack *)fMuonTracks->UncheckedAt(i); + void AddHLTHoughTrack(const AliESDHLTtrack *t) { + new(fHLTHoughTracks[fHLTHoughTracks.GetEntriesFast()]) AliESDHLTtrack(*t); } void AddMuonTrack(const AliESDMuonTrack *t) { - TClonesArray &fmu = *fMuonTracks; - new(fmu[fMuonTracks->GetEntriesFast()]) AliESDMuonTrack(*t); - } - - AliESDPmdTrack *GetPmdTrack(Int_t i) const { - return (AliESDPmdTrack *)fPmdTracks->UncheckedAt(i); + new(fMuonTracks[fMuonTracks.GetEntriesFast()]) AliESDMuonTrack(*t); } void AddPmdTrack(const AliESDPmdTrack *t) { - TClonesArray &fpmd = *fPmdTracks; - new(fpmd[fPmdTracks->GetEntriesFast()]) AliESDPmdTrack(*t); - } - - AliESDTrdTrack *GetTrdTrack(Int_t i) const { - return (AliESDTrdTrack *)fTrdTracks->UncheckedAt(i); + new(fPmdTracks[fPmdTracks.GetEntriesFast()]) AliESDPmdTrack(*t); } void AddTrdTrack(const AliESDTrdTrack *t) { - TClonesArray &ftrd = *fTrdTracks; - new(ftrd[fTrdTracks->GetEntriesFast()]) AliESDTrdTrack(*t); + new(fTrdTracks[fTrdTracks.GetEntriesFast()]) AliESDTrdTrack(*t); } AliESDv0 *GetV0(Int_t i) const { - return (AliESDv0*)fV0s->UncheckedAt(i); + return (AliESDv0 *)fV0s.UncheckedAt(i); } Int_t AddV0(const AliESDv0 *v); AliESDcascade *GetCascade(Int_t i) const { - return (AliESDcascade *)fCascades->UncheckedAt(i); + return (AliESDcascade *)fCascades.UncheckedAt(i); } void AddCascade(const AliESDcascade *c) { - TClonesArray &fc = *fCascades; - new(fc[fCascades->GetEntriesFast()]) AliESDcascade(*c); + new(fCascades[fCascades.GetEntriesFast()]) AliESDcascade(*c); } AliESDkink *GetKink(Int_t i) const { - return (AliESDkink *)fKinks->UncheckedAt(i); + return (AliESDkink *)fKinks.UncheckedAt(i); + } + Int_t AddKink(const AliESDkink *c) { + AliESDkink * kink = new(fKinks[fKinks.GetEntriesFast()]) AliESDkink(*c); + kink->SetID(fKinks.GetEntriesFast()); + return fKinks.GetEntriesFast()-1; } - Int_t AddKink(const AliESDkink *c); AliESDCaloCluster *GetCaloCluster(Int_t i) const { - return (AliESDCaloCluster *)fCaloClusters->UncheckedAt(i); + return (AliESDCaloCluster *)fCaloClusters.UncheckedAt(i); + } + Int_t AddCaloCluster(const AliESDCaloCluster *c) { + AliESDCaloCluster *clus = new(fCaloClusters[fCaloClusters.GetEntriesFast()]) AliESDCaloCluster(*c); + clus->SetID(fCaloClusters.GetEntriesFast()-1); + return fCaloClusters.GetEntriesFast()-1; } - Int_t AddCaloCluster(const AliESDCaloCluster *c); + + void AddPHOSTriggerPosition(TArrayF array) { fPHOSTriggerPosition = new TArrayF(array) ; } + void AddPHOSTriggerAmplitudes(TArrayF array) { fPHOSTriggerAmplitudes = new TArrayF(array) ; } + void AddEMCALTriggerPosition(TArrayF array) { fEMCALTriggerPosition = new TArrayF(array) ; } + void AddEMCALTriggerAmplitudes(TArrayF array){ fEMCALTriggerAmplitudes = new TArrayF(array) ; } - AliRawDataErrorLog *GetErrorLog(Int_t i) const { - return (AliRawDataErrorLog *)fErrorLogs->UncheckedAt(i); + void SetVertex(const AliESDVertex *vertex) { + new (&fSPDVertex) AliESDVertex(*vertex); } - void AddRawDataErrorLog(const AliRawDataErrorLog *log) { - // CKB inline this?? - TClonesArray &errlogs = *fErrorLogs; - new(errlogs[errlogs.GetEntriesFast()]) AliRawDataErrorLog(*log); + const AliESDVertex *GetVertex() const {return &fSPDVertex;} + + void SetMultiplicity(const AliMultiplicity *mul) { + new (&fSPDMult) AliMultiplicity(*mul); } - Int_t GetNumberOfErrorLogs() const {return fErrorLogs->GetEntriesFast();} + const AliMultiplicity *GetMultiplicity() const {return &fSPDMult;} - - 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); } - - - Int_t GetNumberOfTracks() const {return fTracks->GetEntriesFast();} - 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 GetNumberOfCaloClusters() const {return fCaloClusters->GetEntriesFast();} + void SetPrimaryVertex(const AliESDVertex *vertex) { + new (&fPrimaryVertex) AliESDVertex(*vertex); + } + const AliESDVertex *GetPrimaryVertex() const {return &fPrimaryVertex;} + + void SetDiamond(const AliESDVertex *vertex); + Float_t GetDiamondX() const {return fDiamondXY[0];} + Float_t GetDiamondY() const {return fDiamondXY[1];} + Float_t GetSigma2DiamondX() const {return fDiamondCovXY[0];} + Float_t GetSigma2DiamondY() const {return fDiamondCovXY[2];} + void GetDiamondCovXY(Float_t cov[3]) const { + for(Int_t i=0;i<3;i++) cov[i]=fDiamondCovXY[i]; return; + } + + Int_t GetEventNumberInFile() const {return fEventNumberInFile;} + UShort_t GetBunchCrossNumber() const {return fBunchCrossNumber;} + UInt_t GetOrbitNumber() const {return fOrbitNumber;} + UInt_t GetPeriodNumber() const {return fPeriodNumber;} + Int_t GetRunNumber() const {return fRunNumber;} + UInt_t GetTimeStamp() const { return fTimeStamp;} + UInt_t GetEventType() const { return fEventType;} + ULong64_t GetTriggerMask() const {return fTriggerMask;} + UChar_t GetTriggerCluster() const {return fTriggerCluster;} + + Int_t GetNumberOfTracks() const {return fTracks.GetEntriesFast();} + Int_t GetNumberOfHLTConfMapTracks() const {return fHLTConfMapTracks.GetEntriesFast();} + Int_t GetNumberOfHLTHoughTracks() const {return 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 GetNumberOfCaloClusters() const {return fCaloClusters.GetEntriesFast();} 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();} + TArrayF *GetEMCALTriggerPosition() const {return fEMCALTriggerPosition;} + TArrayF *GetEMCALTriggerAmplitudes() const {return fEMCALTriggerAmplitudes;} 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 *GetPHOSTriggerPosition() const {return fPHOSTrigger->GetTriggerPosition();} - TArrayF *GetPHOSTriggerAmplitudes() const {return fPHOSTrigger->GetTriggerAmplitudes();} + TArrayF *GetPHOSTriggerPosition() const {return fPHOSTriggerPosition;} + TArrayF *GetPHOSTriggerAmplitudes() const {return fPHOSTriggerAmplitudes;} + + + Float_t GetT0zVertex() const {return fT0zVertex;} + void SetT0zVertex(Float_t z) {fT0zVertex=z;} + Float_t GetT0() const {return fT0timeStart;} + void SetT0(Float_t timeStart) {fT0timeStart = timeStart;} + const Float_t * GetT0time() const {return fT0time;} + void SetT0time(Float_t time[24]) { + for (Int_t i=0; i<24; i++) fT0time[i] = time[i]; + } + const Float_t * GetT0amplitude() const {return fT0amplitude;} + void SetT0amplitude(Float_t amp[24]) { + for (Int_t i=0; i<24; i++) fT0amplitude[i] = amp[i]; + } + + Float_t GetZDCN1Energy() const {return fZDCN1Energy;} + Float_t GetZDCP1Energy() const {return fZDCP1Energy;} + Float_t GetZDCN2Energy() const {return fZDCN2Energy;} + Float_t GetZDCP2Energy() const {return fZDCP2Energy;} + Float_t GetZDCEMEnergy() const {return fZDCEMEnergy;} + Int_t GetZDCParticipants() const {return fZDCParticipants;} + void SetZDC(Float_t n1Energy, Float_t p1Energy, Float_t emEnergy, + Float_t n2Energy, Float_t p2Energy, Int_t participants) + {fZDCN1Energy=n1Energy; fZDCP1Energy=p1Energy; fZDCEMEnergy=emEnergy; + fZDCN2Energy=n2Energy; fZDCP2Energy=p2Energy; fZDCParticipants=participants;} - void ResetV0s() { fV0s->Clear(); } - void ResetCascades() { fCascades->Clear(); } + void ResetV0s() { fV0s.Clear(); } + void ResetCascades() { fCascades.Clear(); } void Reset(); void Print(Option_t *option="") const; - void AddObject(TObject* obj); - void ReadFromTree(TTree *tree); - const void WriteToTree(TTree* tree) const {tree->Branch(fESDObjects);} - void GetStdContent(); - void CreateStdContent(); - void SetStdNames(); - TList* GetList(){return fESDObjects;} + void SetFMDData(AliESDFMD * obj) { fESDFMD = new AliESDFMD(*obj); } + AliESDFMD *GetFMDData(){ return fESDFMD; } + + void SetVZEROData(AliESDVZERO * obj) { fESDVZERO = new AliESDVZERO(*obj); } + AliESDVZERO *GetVZEROData(){ return fESDVZERO; } + + AliRawDataErrorLog *GetErrorLog(Int_t i) const { + return (AliRawDataErrorLog *)fErrorLogs.UncheckedAt(i); + } + void AddRawDataErrorLog(const AliRawDataErrorLog *log) { + new(fErrorLogs[fErrorLogs.GetEntriesFast()]) AliRawDataErrorLog(*log); + } + Int_t GetNumberOfErrorLogs() const {return fErrorLogs.GetEntriesFast();} protected: - AliESD(const AliESD&); AliESD &operator=(const AliESD& source); - - TList *fESDObjects; // List of esd Objects - - AliESDRun *fESDRun; //! Run information tmp put in the Userdata - AliESDHeader *fHeader; //! ESD Event Header - AliESDZDC *fESDZDC; //! ZDC information - AliESDFMD *fESDFMD; //! FMD object containing rough multiplicity - AliESDVZERO *fESDVZERO; //! VZERO object containing rough multiplicity - AliESDTZERO *fESDTZERO; //! TZEROObject - 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 - - TClonesArray *fTracks; //! ESD tracks - // TClonesArray *fHLTConfMapTracks; //! HLT ESD tracks from Conformal Mapper method - // TClonesArray *fHLTHoughTracks; //! HLT ESD tracks from Hough Transform method - TClonesArray *fMuonTracks; //! MUON ESD tracks - TClonesArray *fPmdTracks; //! PMD ESD tracks - TClonesArray *fTrdTracks; //! TRD ESD tracks (triggered) - TClonesArray *fV0s; //! V0 vertices - TClonesArray *fCascades; //! Cascade vertices - TClonesArray *fKinks; //! Kinks - TClonesArray *fCaloClusters; //! Calorimeter clusters for PHOS/EMCAL - TClonesArray *fErrorLogs; //! Raw-data reading error messages - - - // Remove this stuff CKB + // Event Identification + + Int_t fEventNumberInFile;// running Event count in the file + UShort_t fBunchCrossNumber;// Bunch Crossing Number + UInt_t fOrbitNumber; // Orbit Number + UInt_t fPeriodNumber; // Period Number + Int_t fRunNumber; // Run Number + UInt_t fTimeStamp; // Time stamp + UInt_t fEventType; // Type of Event + ULong64_t fTriggerMask; // Trigger Type (mask) + UChar_t fTriggerCluster; // Trigger cluster (mask) + Int_t fRecoVersion; // Version of reconstruction + Float_t fMagneticField; // Solenoid Magnetic Field in kG : for compatibility with AliMagF + + Float_t fZDCN1Energy; // reconstructed energy in the neutron ZDC + Float_t fZDCP1Energy; // reconstructed energy in the proton ZDC + Float_t fZDCN2Energy; // reconstructed energy in the neutron ZDC + Float_t fZDCP2Energy; // reconstructed energy in the proton ZDC + Float_t fZDCEMEnergy; // reconstructed energy in the electromagnetic ZDC + Int_t fZDCParticipants; // number of participants estimated by the ZDC + + Float_t fT0zVertex; // vertex z position estimated by the T0 + AliESDVertex fSPDVertex; // Primary vertex estimated by the SPD + AliESDVertex fPrimaryVertex; // Primary vertex estimated using ESD tracks + Float_t fDiamondXY[2]; // Interaction diamond (x,y) in RUN + Float_t fDiamondCovXY[3]; // Interaction diamond covariance (x,y) in RUN + AliMultiplicity fSPDMult; // SPD tracklet multiplicity + + Float_t fT0timeStart; // interaction time estimated by the T0 + Float_t fT0time[24]; // best TOF on each T0 PMT + Float_t fT0amplitude[24]; // number of particles(MIPs) on each T0 PMT + + TClonesArray fTracks; // ESD tracks + TClonesArray fHLTConfMapTracks;// HLT ESD tracks from Conformal Mapper method + TClonesArray fHLTHoughTracks; // HLT ESD tracks from Hough Transform method + TClonesArray fMuonTracks; // MUON ESD tracks + TClonesArray fPmdTracks; // PMD ESD tracks + TClonesArray fTrdTracks; // TRD ESD tracks (triggered) + TClonesArray fV0s; // V0 vertices + TClonesArray fCascades; // Cascade vertices + TClonesArray fKinks; // Kinks + TClonesArray fCaloClusters; // Calorimeter clusters for PHOS/EMCAL Int_t fEMCALClusters; // Number of EMCAL clusters (subset of caloclusters) Int_t fFirstEMCALCluster; // First EMCAL cluster in the fCaloClusters list + TArrayF *fEMCALTriggerPosition; ///(x,y,z of 2x2 and x,y,z of nxn) not position of centroid but of patch corner + TArrayF *fEMCALTriggerAmplitudes; //(2x2 max ampl, 2x2 amp out of patch, nxn max ampl, nxn amp out of patch) Int_t fPHOSClusters; // Number of PHOS clusters (subset of caloclusters) Int_t fFirstPHOSCluster; // First PHOS cluster in the fCaloClusters list + TArrayF *fPHOSTriggerPosition; //(x,y,z of 2x2 and x,y,z of nxn), not position of centroid but of patch corner + TArrayF *fPHOSTriggerAmplitudes; //(2x2 max ampl, 2x2 amp out of patch, nxn max ampl, nxn amp out of patch) + + AliESDFMD *fESDFMD; // FMD object containing rough multiplicity + AliESDVZERO *fESDVZERO; // VZERO object containing rough multiplicity + + TClonesArray fErrorLogs; // Raw-data reading error messages - ClassDef(AliESD,23) //ESD class + ClassDef(AliESD,21) //ESD class }; #endif