]>
Commit | Line | Data |
---|---|---|
af7ba10c | 1 | #ifndef ALIESD_H |
2 | #define ALIESD_H | |
8a8d023f | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
88cb7938 | 6 | |
7 | /* $Id$ */ | |
8 | ||
ae982df3 | 9 | //------------------------------------------------------------------------- |
10 | // Class AliESD | |
11 | // This is the class to deal with during the physical analysis of data | |
12 | // | |
13 | // Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch | |
14 | //------------------------------------------------------------------------- | |
8a8d023f | 15 | |
af7ba10c | 16 | #include <TClonesArray.h> |
17 | #include <TObject.h> | |
18 | ||
af7ba10c | 19 | #include "AliESDMuonTrack.h" |
20 | #include "AliESDPmdTrack.h" | |
21 | #include "AliESDVertex.h" | |
22 | #include "AliESDcascade.h" | |
23 | #include "AliESDtrack.h" | |
482070f2 | 24 | #include "AliESDHLTtrack.h" |
af7ba10c | 25 | #include "AliESDv0.h" |
8a8d023f | 26 | |
ae982df3 | 27 | class AliESD : public TObject { |
8a8d023f | 28 | public: |
ae982df3 | 29 | AliESD(); |
af7ba10c | 30 | virtual ~AliESD(); |
8a8d023f | 31 | |
ae982df3 | 32 | void SetEventNumber(Int_t n) {fEventNumber=n;} |
5121f0b3 | 33 | void SetRunNumber(Int_t n) {fRunNumber=n;} |
2257f27e | 34 | void SetTrigger(Long_t n) {fTrigger=n;} |
a866ac60 | 35 | void SetMagneticField(Float_t mf){fMagneticField = mf;} |
36 | Float_t GetMagneticField() const {return fMagneticField;} | |
37 | ||
873f1f73 | 38 | AliESDtrack *GetTrack(Int_t i) const { |
ae982df3 | 39 | return (AliESDtrack *)fTracks.UncheckedAt(i); |
40 | } | |
482070f2 | 41 | AliESDHLTtrack *GetHLTConfMapTrack(Int_t i) const { |
42 | return (AliESDHLTtrack *)fHLTConfMapTracks.UncheckedAt(i); | |
43 | } | |
44 | AliESDHLTtrack *GetHLTHoughTrack(Int_t i) const { | |
45 | return (AliESDHLTtrack *)fHLTHoughTracks.UncheckedAt(i); | |
46 | } | |
873f1f73 | 47 | AliESDMuonTrack *GetMuonTrack(Int_t i) const { |
672b5f43 | 48 | return (AliESDMuonTrack *)fMuonTracks.UncheckedAt(i); |
49 | } | |
561b7b31 | 50 | AliESDPmdTrack *GetPmdTrack(Int_t i) const { |
51 | return (AliESDPmdTrack *)fPmdTracks.UncheckedAt(i); | |
52 | } | |
672b5f43 | 53 | |
ae982df3 | 54 | void AddTrack(const AliESDtrack *t) { |
55 | new(fTracks[fTracks.GetEntriesFast()]) AliESDtrack(*t); | |
56 | } | |
482070f2 | 57 | void AddHLTConfMapTrack(const AliESDHLTtrack *t) { |
58 | new(fHLTConfMapTracks[fHLTConfMapTracks.GetEntriesFast()]) AliESDHLTtrack(*t); | |
59 | } | |
60 | void AddHLTHoughTrack(const AliESDHLTtrack *t) { | |
61 | new(fHLTHoughTracks[fHLTHoughTracks.GetEntriesFast()]) AliESDHLTtrack(*t); | |
62 | } | |
672b5f43 | 63 | void AddMuonTrack(const AliESDMuonTrack *t) { |
64 | new(fMuonTracks[fMuonTracks.GetEntriesFast()]) AliESDMuonTrack(*t); | |
65 | } | |
561b7b31 | 66 | void AddPmdTrack(const AliESDPmdTrack *t) { |
67 | new(fPmdTracks[fPmdTracks.GetEntriesFast()]) AliESDPmdTrack(*t); | |
68 | } | |
8a8d023f | 69 | |
873f1f73 | 70 | AliESDv0 *GetV0(Int_t i) const { |
e23730c7 | 71 | return (AliESDv0 *)fV0s.UncheckedAt(i); |
72 | } | |
73 | void AddV0(const AliESDv0 *v) { | |
74 | new(fV0s[fV0s.GetEntriesFast()]) AliESDv0(*v); | |
75 | } | |
76 | ||
873f1f73 | 77 | AliESDcascade *GetCascade(Int_t i) const { |
e23730c7 | 78 | return (AliESDcascade *)fCascades.UncheckedAt(i); |
79 | } | |
80 | void AddCascade(const AliESDcascade *c) { | |
81 | new(fCascades[fCascades.GetEntriesFast()]) AliESDcascade(*c); | |
82 | } | |
83 | ||
2257f27e | 84 | void SetVertex(AliESDVertex* vertex) { |
85 | new(&fPrimaryVertex) AliESDVertex(*vertex); | |
86 | } | |
87 | const AliESDVertex* GetVertex() const {return &fPrimaryVertex;}; | |
873f1f73 | 88 | |
ae982df3 | 89 | Int_t GetEventNumber() const {return fEventNumber;} |
90 | Int_t GetRunNumber() const {return fRunNumber;} | |
91 | Long_t GetTrigger() const {return fTrigger;} | |
8a8d023f | 92 | |
672b5f43 | 93 | Int_t GetNumberOfTracks() const {return fTracks.GetEntriesFast();} |
482070f2 | 94 | Int_t GetNumberOfHLTConfMapTracks() const {return fHLTConfMapTracks.GetEntriesFast();} |
95 | Int_t GetNumberOfHLTHoughTracks() const {return fHLTHoughTracks.GetEntriesFast();} | |
672b5f43 | 96 | Int_t GetNumberOfMuonTracks() const {return fMuonTracks.GetEntriesFast();} |
561b7b31 | 97 | Int_t GetNumberOfPmdTracks() const {return fPmdTracks.GetEntriesFast();} |
e23730c7 | 98 | Int_t GetNumberOfV0s() const {return fV0s.GetEntriesFast();} |
99 | Int_t GetNumberOfCascades() const {return fCascades.GetEntriesFast();} | |
a2882fb4 | 100 | Int_t GetNumberOfPHOSParticles() const {return fPHOSParticles;} |
101 | void SetNumberOfPHOSParticles(Int_t part) { fPHOSParticles = part ; } | |
102 | void SetFirstPHOSParticle(Int_t index) { fFirstPHOSParticle = index ; } | |
704be597 | 103 | Int_t GetNumberOfEMCALParticles() const {return fEMCALParticles;} |
104 | void SetNumberOfEMCALParticles(Int_t part) { fEMCALParticles = part ; } | |
105 | void SetFirstEMCALParticle(Int_t index) { fFirstEMCALParticle = index ; } | |
106 | ||
a2882fb4 | 107 | |
4a78b8c5 | 108 | Float_t GetT0zVertex() const {return fT0zVertex;} |
109 | void SetT0zVertex(Float_t z) {fT0zVertex=z;} | |
ef278eae | 110 | |
111 | void Print(Option_t *option="") const; | |
112 | ||
8a8d023f | 113 | protected: |
114 | ||
115 | // Event Identification | |
ae982df3 | 116 | Int_t fEventNumber; // Event Number |
117 | Int_t fRunNumber; // Run Number | |
118 | Long_t fTrigger; // Trigger Type | |
119 | Int_t fRecoVersion; // Version of reconstruction | |
a866ac60 | 120 | Float_t fMagneticField; // Solenoid Magnetic Field in kG : for compatibility with AliMagF |
8a8d023f | 121 | |
4a78b8c5 | 122 | Float_t fT0zVertex; // vertex z position estimated by the START |
8bbc564d | 123 | AliESDVertex fPrimaryVertex; // Primary vertex estimated by the ITS |
124 | ||
125 | TClonesArray fTracks; // ESD tracks | |
126 | TClonesArray fHLTConfMapTracks;// HLT ESD tracks from Conformal Mapper method | |
127 | TClonesArray fHLTHoughTracks; // HLT ESD tracks from Hough Transform method | |
128 | TClonesArray fMuonTracks; // MUON ESD tracks | |
129 | TClonesArray fPmdTracks; // PMD ESD tracks | |
130 | TClonesArray fV0s; // V0 vertices | |
131 | TClonesArray fCascades; // Cascade vertices | |
132 | Int_t fPHOSParticles; // Number of PHOS particles (stored as fTracks) | |
133 | Int_t fEMCALParticles; // Number of EMCAL particles (stored as fTracks) | |
134 | Int_t fFirstPHOSParticle; // First PHOS particle in the fTracks list | |
135 | Int_t fFirstEMCALParticle;// First EMCAL particle in the fTracks list | |
704be597 | 136 | |
482070f2 | 137 | ClassDef(AliESD,7) //ESD class |
8a8d023f | 138 | }; |
8a8d023f | 139 | #endif |
140 |