c5fcc2588b9d683af9b2ef24a749c8475c2f9f64
[u/mrichter/AliRoot.git] / STEER / AliEventTag.h
1 #ifndef ALIEVENTTAG_H
2 #define ALIEVENTTAG_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 /* $Id$ */
8
9 //-------------------------------------------------------------------------
10 //                          Class AliEventTag
11 //   This is the class to deal with the tags for the event level
12 //
13 //    Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
14 //-------------------------------------------------------------------------
15
16 #include "TObject.h"
17
18 //______________________________________________________________________________
19 class AliEventTag : public TObject
20 {
21  public:
22   AliEventTag();
23   AliEventTag(const AliEventTag & t);
24   virtual ~AliEventTag();
25
26   AliEventTag &operator=(const AliEventTag &rhs);
27   
28   
29   void   SetEventId(Int_t Pid) {fAliceEventId = Pid;}
30   void   SetGUID(const char *Pid) {fGUID = Pid;}
31
32   void   SetMD5(const char *Pid) {fmd5 = Pid;}
33   void   SetTURL(const char *Pid) {fturl = Pid;}
34   void   SetSize(Long64_t i) {fsize = i;}
35
36   void   SetNumOfParticipants(Int_t P) {fNumberOfParticipants = P;}
37   void   SetImpactParameter(Float_t Pimpact) {fImpactParameter = Pimpact;}
38
39   void   SetVertexX(Float_t Pvx) {fPrimaryVertexX = Pvx;}
40   void   SetVertexY(Float_t Pvy) {fPrimaryVertexY = Pvy;}
41   void   SetVertexZ(Float_t Pvz) {fPrimaryVertexZ = Pvz;}
42
43   void   SetVertexFlag(Int_t i) {fPrimaryVertexFlag = i;}
44   void   SetVertexZError(Float_t f) { fPrimaryVertexZError = f;}
45
46   void   SetTrigger(ULong64_t Ptr) {fTriggerInfo = Ptr;}
47
48   void   SetZDCNeutron1Energy(Float_t Pen) {fZDCNeutron1Energy = Pen;}
49   void   SetZDCProton1Energy(Float_t Pen) {fZDCProton1Energy = Pen;}
50   void   SetZDCNeutron2Energy(Float_t Pen) {fZDCNeutron2Energy = Pen;}
51   void   SetZDCProton2Energy(Float_t Pen) {fZDCProton2Energy = Pen;}
52   void   SetZDCEMEnergy(Float_t Pen) {fZDCEMEnergy = Pen;}
53
54   void   SetT0VertexZ(Float_t Pvz) {fT0VertexZ = Pvz;}
55
56   void   SetNumOfTracks(Int_t Ptr) {fNumberOfTracks = Ptr;}
57   void   SetNumOfPosTracks(Int_t Ptr) {fNumberOfPositiveTracks = Ptr;}
58   void   SetNumOfNegTracks(Int_t Ptr) {fNumberOfNegativeTracks = Ptr;}
59   void   SetNumOfNeutrTracks(Int_t Ptr) {fNumberOfNeutralTracks = Ptr;}
60
61   void   SetNumOfV0s(Int_t Ptr) {fNumberOfV0s = Ptr;}
62   void   SetNumOfCascades(Int_t Ptr) {fNumberOfCascades = Ptr;}
63   void   SetNumOfKinks(Int_t Ptr) {fNumberOfKinks = Ptr;}
64
65   void   SetNumOfPMDTracks(Int_t Ptr) {fNumberOfPMDTracks = Ptr;}
66   void   SetNumOfFMDTracks(Int_t Ptr) {fNumberOfFMDTracks = Ptr;}
67   void   SetNumOfPHOSClusters(Int_t Ptr) {fNumberOfPHOSClusters = Ptr;}
68   void   SetNumOfEMCALClusters(Int_t Ptr) {fNumberOfEMCALClusters = Ptr;}
69
70   void   SetNumOfJetCandidates(Int_t Ptr) {fNumberOfJetCandidates = Ptr;}
71   void   SetNumOfHardPhotonsCandidates(Int_t Ptr) {fNumberOfHardPhotonsCandidates = Ptr;}
72
73   void   SetMaxJetEnergy(Float_t f) {fMaxJetEnergy = f;}
74   void   SetMaxNeutralEnergy(Float_t f) {fMaxNeutralEnergy = f;}
75   
76   void   SetNumOfChargedAbove1GeV(Int_t i) {fNumberOfChargedAbove1GeV = i;}
77   void   SetNumOfChargedAbove3GeV(Int_t i) {fNumberOfChargedAbove3GeV = i;}
78   void   SetNumOfChargedAbove10GeV(Int_t i) {fNumberOfChargedAbove10GeV = i;}
79   void   SetNumOfMuonsAbove1GeV(Int_t i) {fNumberOfMuonsAbove1GeV = i;}
80   void   SetNumOfMuonsAbove3GeV(Int_t i) {fNumberOfMuonsAbove3GeV = i;}
81   void   SetNumOfMuonsAbove10GeV(Int_t i) {fNumberOfMuonsAbove10GeV = i;}
82   void   SetNumOfElectronsAbove1GeV(Int_t i) {fNumberOfElectronsAbove1GeV = i;}
83   void   SetNumOfElectronsAbove3GeV(Int_t i) {fNumberOfElectronsAbove3GeV = i;}
84   void   SetNumOfElectronsAbove10GeV(Int_t i) {fNumberOfElectronsAbove10GeV = i;}
85
86   void   SetNumOfElectrons(Int_t Ptr) {fNumberOfElectrons = Ptr;}
87   void   SetNumOfMuons(Int_t Ptr) {fNumberOfMuons = Ptr;}
88   void   SetNumOfPions(Int_t Ptr) {fNumberOfPions = Ptr;}
89   void   SetNumOfKaons(Int_t Ptr) {fNumberOfKaons = Ptr;}
90   void   SetNumOfProtons(Int_t Ptr) {fNumberOfProtons = Ptr;}
91   void   SetNumOfLambdas(Int_t Ptr) {fNumberOfLambdas = Ptr;}
92
93
94   void   SetNumOfPhotons(Int_t Ptr) {fNumberOfPhotons = Ptr;}
95   void   SetNumOfPi0s(Int_t Ptr) {fNumberOfPi0s = Ptr;}
96   void   SetNumOfNeutrons(Int_t Ptr) {fNumberOfNeutrons = Ptr;}
97   void   SetNumOfKaon0s(Int_t Ptr) {fNumberOfKaon0s = Ptr;}
98
99   void   SetTotalMomentum(Float_t P) {fTotalP = P;}
100   void   SetMeanPt(Float_t Pt) {fMeanPt = Pt;}
101   void   SetMaxPt(Float_t Pt) {fMaxPt = Pt;}
102
103   void   SetNeutralTotalMomentum(Float_t f) {fTotalNeutralP = f;}
104   void   SetNeutralMeanPt(Float_t f) {fMeanNeutralPt = f;}
105   void   SetNeutralMaxPt(Float_t f) {fMaxNeutralPt = f;}
106
107   void   SetEventPlaneAngle(Float_t f) {fEventPlaneAngle = f;}
108   void   SetHBTRadii(Float_t f) {fHBTRadii = f;}
109
110
111
112   Int_t  GetEventId() const {return fAliceEventId;}
113   const char   *GetGUID() const {return fGUID;}
114  
115   const char   *GetMD5() const {return fmd5;}
116   const char   *GetTURL() const {return fturl;}
117   Long64_t   GetSize() const {return fsize;}
118
119   Int_t   GetNumOfParticipants() const {return fNumberOfParticipants;}
120   Float_t GetImpactParameter() const {return fImpactParameter;}
121
122   Float_t GetVertexX() const {return fPrimaryVertexX;}
123   Float_t GetVertexY() const {return fPrimaryVertexY;}
124   Float_t GetVertexZ() const {return fPrimaryVertexZ;}
125
126   Int_t GetVertexFlag() const {return fPrimaryVertexFlag;}
127   Float_t GetVertexZError() const {return fPrimaryVertexZError;}
128
129   ULong64_t   GetTrigger() const {return fTriggerInfo;}
130
131   Float_t GetZDCNeutron1Energy() const {return fZDCNeutron1Energy;}
132   Float_t GetZDCProton1Energy() const {return fZDCProton1Energy;}
133   Float_t GetZDCNeutron2Energy() const {return fZDCNeutron2Energy;}
134   Float_t GetZDCProton2Energy() const {return fZDCProton2Energy;}
135   Float_t GetZDCEMEnergy() const {return fZDCEMEnergy;}
136
137   Float_t GetT0VertexZ() const {return fT0VertexZ;}
138
139   Int_t   GetNumOfTracks() const {return fNumberOfTracks;}
140   Int_t   GetNumOfPosTracks() const {return fNumberOfPositiveTracks;}
141   Int_t   GetNumOfNegTracks() const {return fNumberOfNegativeTracks;}
142   Int_t   GetNumOfNeutrTracks() const {return fNumberOfNeutralTracks;}
143
144   Int_t   GetNumOfV0s() const {return fNumberOfV0s;}
145   Int_t   GetNumOfCascades() const {return fNumberOfCascades;}
146   Int_t   GetNumOfKinks() const {return fNumberOfKinks;}
147
148   Int_t   GetNumOfPMDTracks() const {return fNumberOfPMDTracks;}
149   Int_t   GetNumOfFMDTracks() const {return fNumberOfFMDTracks;}
150   Int_t   GetNumOfPHOSClusters() const {return fNumberOfPHOSClusters;}
151   Int_t   GetNumOfEMCALClusters() const {return fNumberOfEMCALClusters;}
152
153   Int_t   GetNumOfJetCandidates() const {return fNumberOfJetCandidates;}
154   Int_t   GetNumOfHardPhotonsCandidates() const {return fNumberOfHardPhotonsCandidates;}
155
156   Float_t GetMaxJetEnergy() const {return fMaxJetEnergy;}
157   Float_t GetMaxNeutralEnergy() const {return fMaxNeutralEnergy;}
158   
159   Int_t   GetNumOfChargedAbove1GeV() const {return fNumberOfChargedAbove1GeV;}
160   Int_t   GetNumOfChargedAbove3GeV() const {return fNumberOfChargedAbove3GeV;}
161   Int_t   GetNumOfChargedAbove10GeV() const {return fNumberOfChargedAbove10GeV;}
162   Int_t   GetNumOfMuonsAbove1GeV() const {return fNumberOfMuonsAbove1GeV;}
163   Int_t   GetNumOfMuonsAbove3GeV() const {return fNumberOfMuonsAbove3GeV;}
164   Int_t   GetNumOfMuonsAbove10GeV() const {return fNumberOfMuonsAbove10GeV;}
165   Int_t   GetNumOfElectronsAbove1GeV() const {return fNumberOfElectronsAbove1GeV;}
166   Int_t   GetNumOfElectronsAbove3GeV() const {return fNumberOfElectronsAbove3GeV;}
167   Int_t   GetNumOfElectronsAbove10GeV() const {return fNumberOfElectronsAbove10GeV;}
168  
169   Int_t   GetNumOfElectrons() const {return fNumberOfElectrons;}
170   Int_t   GetNumOfMuons() const {return fNumberOfMuons;}
171   Int_t   GetNumOfPions() const {return fNumberOfPions;}
172   Int_t   GetNumOfKaons() const {return fNumberOfKaons;}
173   Int_t   GetNumOfProtons() const {return fNumberOfProtons;}
174   Int_t   GetNumOfLambdas() const {return fNumberOfLambdas;}
175
176   Int_t   GetNumOfPhotons() const {return fNumberOfPhotons;}
177   Int_t   GetNumOfPi0s() const {return fNumberOfPi0s;}
178   Int_t   GetNumOfNeutrons() const {return fNumberOfNeutrons;}
179   Int_t   GetNumOfKaon0s() const {return fNumberOfKaon0s;}
180
181
182   Float_t GetTotalMomentum() const {return fTotalP;}
183   Float_t GetMeanPt() const {return fMeanPt;}
184   Float_t GetMaxPt() const {return fMaxPt;}
185
186   Float_t GetNeutralTotalMomentum() const {return fTotalNeutralP;}
187   Float_t GetNeutralMeanPt() const {return fMeanNeutralPt;}
188   Float_t GetNeutralMaxPt() const {return fMaxNeutralPt;}
189
190   Float_t GetEventPlaneAngle() const {return fEventPlaneAngle;}
191   Float_t GetHBTRadii() const {return fHBTRadii;}
192
193  private:
194   Int_t    fAliceEventId;                      //The event id
195   const char     *fGUID;                       //The unique identifier of the file
196   
197   Long64_t fsize;                             //the size of the file
198   const char* fmd5;                           //another file identifier
199   const char* fturl;                           //the file's url
200   
201   Int_t    fNumberOfParticipants;              //Number of participants
202   Float_t  fImpactParameter;                   //The impact parameter
203  
204   Int_t    fPrimaryVertexFlag;                 //Primary vertex flag: 0->not found, 1->found
205
206   Float_t  fPrimaryVertexX;                    //Primary vertex - X coordinate
207   Float_t  fPrimaryVertexY;                    //Primary vertex - Y coordinate
208   Float_t  fPrimaryVertexZ;                    //Primary vertex - Z coordinate
209
210   Float_t  fPrimaryVertexZError;               //Primary vertex - Z coordinate - error
211
212   ULong64_t    fTriggerInfo;                   //Information from trigger
213   Float_t  fZDCNeutron1Energy;                 //ZDC info - neutron
214   Float_t  fZDCProton1Energy;                  //ZDC info - proton
215   Float_t  fZDCNeutron2Energy;                 //ZDC info - neutron
216   Float_t  fZDCProton2Energy;                  //ZDC info - proton
217   Float_t  fZDCEMEnergy;                       //ZDC info - em
218   Float_t  fT0VertexZ;                         //T0 info
219   Int_t    fNumberOfTracks;                    //Multiplicity
220   Int_t    fNumberOfPositiveTracks;            //Multiplicity of positive tracks
221   Int_t    fNumberOfNegativeTracks;            //Multiplicity of negative tracks
222   Int_t    fNumberOfNeutralTracks;             //Multiplicity of neutral tracks
223   Int_t    fNumberOfV0s;                       //Number of V0s
224   Int_t    fNumberOfCascades;                  //Number of cascades
225   Int_t    fNumberOfKinks;                     //Number of kinks
226   Int_t    fNumberOfPMDTracks;                 //PMD tracks
227   Int_t    fNumberOfFMDTracks;                 //FMD tracks
228   Int_t    fNumberOfPHOSClusters;              //PHOS clusters
229   Int_t    fNumberOfEMCALClusters;             //EMCAL clusters
230   Int_t    fNumberOfJetCandidates;             //Jet candidates
231
232   Float_t  fMaxJetEnergy;                      //jet energy info
233
234   Int_t    fNumberOfHardPhotonsCandidates;     //Hard photons candidates
235
236   Float_t  fMaxNeutralEnergy;                   //neutral energy info
237   
238
239   Int_t    fNumberOfChargedAbove1GeV;      //Number of charged above 1 GeV/c
240   Int_t    fNumberOfChargedAbove3GeV;      //Number of charged above 3 GeV/c
241   Int_t    fNumberOfChargedAbove10GeV;     //Number of charged above 10 GeV/c
242   Int_t    fNumberOfMuonsAbove1GeV;        //Number of muons above 1 GeV/c
243   Int_t    fNumberOfMuonsAbove3GeV;        //Number of muons above 3 GeV/c
244   Int_t    fNumberOfMuonsAbove10GeV;       //Number of muons above 10 GeV/c
245   Int_t    fNumberOfElectronsAbove1GeV;    //Number of electrons above 1 GeV/c
246   Int_t    fNumberOfElectronsAbove3GeV;    //Number of electrons above 3 GeV/c
247   Int_t    fNumberOfElectronsAbove10GeV;   //Number of electrons above 10 GeV/c
248
249
250
251   Int_t    fNumberOfElectrons;                 //Number of electrons
252   Int_t    fNumberOfMuons;                     //Number of muons
253   Int_t    fNumberOfPions;                     //Number of pions
254   Int_t    fNumberOfKaons;                     //Number of kaons
255   Int_t    fNumberOfProtons;                   //Number of protons
256   Int_t    fNumberOfLambdas;                   //Number of lambdas
257
258   Int_t    fNumberOfPhotons;               //Number of photons
259   Int_t    fNumberOfPi0s;                  //Number of pi0
260   Int_t    fNumberOfNeutrons;              //Number of neutrons
261   Int_t    fNumberOfKaon0s;                //Number of Ks
262
263
264  
265   Float_t  fTotalP;                            //Sum of the momentum per event
266   Float_t  fMeanPt;                            //Mean Pt per event
267   Float_t  fMaxPt;                             //Max Pt for each event
268
269   Float_t  fTotalNeutralP;                     //Sum of the momentum per event for neutral
270   Float_t  fMeanNeutralPt;                     //Mean Pt per event for neutral
271   Float_t  fMaxNeutralPt;                      //Max Pt for each event for neutral
272
273   Float_t  fEventPlaneAngle;                   //event plane info
274   Float_t  fHBTRadii;                          //HBT info
275
276   ClassDef(AliEventTag,6)  //(ClassName, ClassVersion)
277     };
278 //______________________________________________________________________________
279
280
281 #endif