New event tag classes (P.Christakoglou)
[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 #include "TClonesArray.h"
18
19 //______________________________________________________________________________
20 class AliEventTag : public TObject
21 {
22  private:
23   Int_t    fAliceEventId;                      //The event id
24   Int_t    fGUID;                              //The unique identifier of the file
25   Int_t    fNumberOfParticipants;              //Number of participants
26   Float_t  fImpactParameter;                   //The impact parameter
27  
28   Int_t    fPrimaryVertexFlag;                 //Primary vertex flag: 0->not found, 1->found
29
30   Float_t  fPrimaryVertexX;                    //Primary vertex - X coordinate
31   Float_t  fPrimaryVertexY;                    //Primary vertex - Y coordinate
32   Float_t  fPrimaryVertexZ;                    //Primary vertex - Z coordinate
33
34   Float_t  fPrimaryVertexZError;               //Primary vertex - Z coordinate - error
35
36   Int_t    fTriggerInfo;                       //Information from trigger
37   Float_t  fZDCNeutronEnergy;                  //ZDC info - neutron
38   Float_t  fZDCProtonEnergy;                   //ZDC info - proton
39   Float_t  fZDCEMEnergy;                       //ZDC info - em
40   Float_t  fT0VertexZ;                         //T0 info
41   Int_t    fNumberOfTracks;                    //Multiplicity
42   Int_t    fNumberOfPositiveTracks;            //Multiplicity of positive tracks
43   Int_t    fNumberOfNegativeTracks;            //Multiplicity of negative tracks
44   Int_t    fNumberOfNeutralTracks;             //Multiplicity of neutral tracks
45   Int_t    fNumberOfV0s;                       //Number of V0s
46   Int_t    fNumberOfCascades;                  //Number of cascades
47   Int_t    fNumberOfKinks;                     //Number of kinks
48   Int_t    fNumberOfPMDTracks;                 //PMD tracks
49   Int_t    fNumberOfPHOSTracks;                //PHOS tracks
50   Int_t    fNumberOfEMCALTracks;               //EMCAL tracks
51   Int_t    fNumberOfFMDTracks;                 //FMD tracks
52   Int_t    fNumberOfJetCandidates;             //Jet candidates
53
54   Float_t  fMaxJetEnergy;                      //jet energy info
55
56   Int_t    fNumberOfHardPhotonsCandidates;     //Hard photons candidates
57
58   Float_t  fMaxNeutralEnergy;                   //neutral energy info
59   Int_t    fNumberOfChargedAbovePtRange;
60   Int_t    fNumberOfMuonsAbovePtRange;
61   Int_t    fNumberOfElectronsAbovePtRange;
62
63
64
65   Int_t    fNumberOfElectrons;                 //Number of electrons
66   Int_t    fNumberOfMuons;                     //Number of muons
67   Int_t    fNumberOfPions;                     //Number of pions
68   Int_t    fNumberOfKaons;                     //Number of kaons
69   Int_t    fNumberOfProtons;                   //Number of protons
70   Int_t    fNumberOfLambdas;                   //Number of lambdas
71
72   Int_t    fNumberOfPhotons;
73   Int_t    fNumberOfPi0s;
74   Int_t    fNumberOfNeutrons;
75   Int_t    fNumberOfKaon0s;
76
77
78   Int_t    fNumberOfJPsiCandidates;            //JPsi candidates
79   Int_t    fNumberOfPsiPrimeCandidates;        //Psi prime candidates
80   Int_t    fNumberOfUpsilonCandidates;         //Upsilon candidates
81   Int_t    fNumberOfUpsilonPrimeCandidates;    //Upsilon prime candidates
82   Int_t    fNumberOfUpsilonDoublePrimeCandidates;
83   Int_t    fNumberOfCharmParticleCandidates;
84   Int_t    fNumberOfBeautyParticleCandidates;
85  
86   Float_t  fTotalP;                            //Sum of the momentum per event
87   Float_t  fMeanPt;                            //Mean Pt per event
88   Float_t  fMaxPt;                             //Max Pt for each event
89
90   Float_t  fTotalNeutralP;                     //Sum of the momentum per event for neutral
91   Float_t  fMeanNeutralPt;                     //Mean Pt per event for neutral
92   Float_t  fMaxNeutralPt;                      //Max Pt for each event for neutral
93
94   Float_t  fEventPlaneAngle;                   //event plane info
95   Float_t  fHBTRadii;                          //HBT info
96
97  public:
98   AliEventTag();
99   AliEventTag(AliEventTag *t);
100   virtual ~AliEventTag();
101   
102   void   SetEventId(Int_t Pid) {fAliceEventId = Pid;}
103   void   SetGUID(Int_t Pid) {fGUID = Pid;}
104
105   void   SetNumOfParticipants(Int_t P) {fNumberOfParticipants = P;}
106   void   SetImpactParameter(Float_t Pimpact) {fImpactParameter = Pimpact;}
107
108   void   SetVertexX(Float_t Pvx) {fPrimaryVertexX = Pvx;}
109   void   SetVertexY(Float_t Pvy) {fPrimaryVertexY = Pvy;}
110   void   SetVertexZ(Float_t Pvz) {fPrimaryVertexZ = Pvz;}
111
112   void SetVertexFlag(Int_t i) {fPrimaryVertexFlag = i;}
113   void SetVertexZError(Float_t f) { fPrimaryVertexZError = f;}
114
115   void   SetTrigger(Int_t Ptr) {fTriggerInfo = Ptr;}
116
117   void   SetZDCNeutronEnergy(Float_t Pen) {fZDCNeutronEnergy = Pen;}
118   void   SetZDCProtonEnergy(Float_t Pen) {fZDCProtonEnergy = Pen;}
119   void   SetZDCEMEnergy(Float_t Pen) {fZDCEMEnergy = Pen;}
120
121   void   SetT0VertexZ(Float_t Pvz) {fT0VertexZ = Pvz;}
122
123   void   SetNumOfTracks(Int_t Ptr) {fNumberOfTracks = Ptr;}
124   void   SetNumOfPosTracks(Int_t Ptr) {fNumberOfPositiveTracks = Ptr;}
125   void   SetNumOfNegTracks(Int_t Ptr) {fNumberOfNegativeTracks = Ptr;}
126   void   SetNumOfNeutrTracks(Int_t Ptr) {fNumberOfNeutralTracks = Ptr;}
127
128   void   SetNumOfV0s(Int_t Ptr) {fNumberOfV0s = Ptr;}
129   void   SetNumOfCascades(Int_t Ptr) {fNumberOfCascades = Ptr;}
130   void   SetNumOfKinks(Int_t Ptr) {fNumberOfKinks = Ptr;}
131
132   void   SetNumOfPMDTracks(Int_t Ptr) {fNumberOfPMDTracks = Ptr;}
133   void   SetNumOfPHOSTracks(Int_t Ptr) {fNumberOfPHOSTracks = Ptr;}
134   void   SetNumOfEMCALTracks(Int_t Ptr) {fNumberOfEMCALTracks = Ptr;}
135   void   SetNumOfFMDTracks(Int_t Ptr) {fNumberOfFMDTracks = Ptr;}
136
137   void   SetNumOfJetCandidates(Int_t Ptr) {fNumberOfJetCandidates = Ptr;}
138   void   SetNumOfHardPhotonsCandidates(Int_t Ptr) {fNumberOfHardPhotonsCandidates = Ptr;}
139
140
141   void   SetMaxJetEnergy(Float_t f) {fMaxJetEnergy = f;}
142   void   SetMaxNeutralEnergy(Float_t f) {fMaxNeutralEnergy = f;}
143   void   SetNumOfChargedAbovePtRange(Int_t i) {fNumberOfChargedAbovePtRange = i;}
144   void   SetNumOfMuonsAbovePtRange(Int_t i) {fNumberOfMuonsAbovePtRange = i;}
145   void   SetNumOfElectronsAbovePtRange(Int_t i) {fNumberOfElectronsAbovePtRange = i;}
146
147   void   SetNumOfJPsiCandidates(Int_t Ptr) {fNumberOfJPsiCandidates = Ptr;}
148   void   SetNumOfPsiPrimeCandidates(Int_t Ptr) {fNumberOfPsiPrimeCandidates = Ptr;}
149   void   SetNumOfUpsilonCandidates(Int_t Ptr) {fNumberOfUpsilonCandidates = Ptr;}
150   void   SetNumOfUpsilonPrimeCandidates(Int_t Ptr) {fNumberOfUpsilonPrimeCandidates = Ptr;}
151   void   SetNumOfUpsilonDoublePrimeCandidates(Int_t Ptr) {fNumberOfUpsilonDoublePrimeCandidates = Ptr;}
152   void   SetNumOfCharmCandidates(Int_t Ptr) {fNumberOfCharmParticleCandidates = Ptr;}
153   void   SetNumOfBeautyCandidates(Int_t Ptr) {fNumberOfBeautyParticleCandidates = Ptr;}
154
155   void   SetNumOfElectrons(Int_t Ptr) {fNumberOfElectrons = Ptr;}
156   void   SetNumOfMuons(Int_t Ptr) {fNumberOfMuons = Ptr;}
157   void   SetNumOfPions(Int_t Ptr) {fNumberOfPions = Ptr;}
158   void   SetNumOfKaons(Int_t Ptr) {fNumberOfKaons = Ptr;}
159   void   SetNumOfProtons(Int_t Ptr) {fNumberOfProtons = Ptr;}
160   void   SetNumOfLambdas(Int_t Ptr) {fNumberOfLambdas = Ptr;}
161
162
163   void   SetNumOfPhotons(Int_t Ptr) {fNumberOfPhotons = Ptr;}
164   void   SetNumOfPi0s(Int_t Ptr) {fNumberOfPi0s = Ptr;}
165   void   SetNumOfNeutrons(Int_t Ptr) {fNumberOfNeutrons = Ptr;}
166   void   SetNumOfKaon0s(Int_t Ptr) {fNumberOfKaon0s = Ptr;}
167
168   void   SetTotalMomentum(Float_t P) {fTotalP = P;}
169   void   SetMeanPt(Float_t Pt) {fMeanPt = Pt;}
170   void   SetMaxPt(Float_t Pt) {fMaxPt = Pt;}
171
172   void SetNeutralTotalMomentum(Float_t f) {fTotalNeutralP = f;}
173   void SetNeutralMeanPt(Float_t f) {fMeanNeutralPt = f;}
174   void SetNeutralMaxPt(Float_t f) {fMaxNeutralPt = f;}
175
176   void SetEventPlaneAngle(Float_t f) {fEventPlaneAngle = f;}
177   void SetHBTRadii(Float_t f) {fHBTRadii = f;}
178
179
180
181   Int_t   GetEventId() {return fAliceEventId;}
182   Int_t   GetGUID() {return fGUID;}
183
184   Int_t   GetNumOfParticipants() {return fNumberOfParticipants;}
185   Float_t GetImpactParameter() {return fImpactParameter;}
186
187   Float_t GetVertexX() {return fPrimaryVertexX;}
188   Float_t GetVertexY() {return fPrimaryVertexY;}
189   Float_t GetVertexZ() {return fPrimaryVertexZ;}
190
191   Int_t GetVertexFlag() {return fPrimaryVertexFlag;}
192   Float_t GetVertexZError() {return fPrimaryVertexZError;}
193
194
195
196   Int_t   GetTrigger() {return fTriggerInfo;}
197
198   Float_t GetZDCNeutronEnergy() {return fZDCNeutronEnergy;}
199   Float_t GetZDCProtonEnergy() {return fZDCProtonEnergy;}
200   Float_t GetZDCEMEnergy() {return fZDCEMEnergy;}
201
202   Float_t GetT0VertexZ() {return fT0VertexZ;}
203
204   Int_t   GetNumOfTracks() {return fNumberOfTracks;}
205   Int_t   GetNumOfPosTracks() {return fNumberOfPositiveTracks;}
206   Int_t   GetNumOfNegTracks() {return fNumberOfNegativeTracks;}
207   Int_t   GetNumOfNeutrTracks() {return fNumberOfNeutralTracks;}
208
209   Int_t   GetNumOfV0s() {return fNumberOfV0s;}
210   Int_t   GetNumOfCascades() {return fNumberOfCascades;}
211   Int_t   GetNumOfKinks() {return fNumberOfKinks;}
212
213   Int_t   GetNumOfPMDTracks() {return fNumberOfPMDTracks;}
214   Int_t   GetNumOfPHOSTracks() {return fNumberOfPHOSTracks;}
215   Int_t   GetNumOfEMCALTracks() {return fNumberOfEMCALTracks;}
216   Int_t   GetNumOfFMDTracks() {return fNumberOfFMDTracks;}
217
218   Int_t   GetNumOfJetCandidates() {return fNumberOfJetCandidates;}
219   Int_t   GetNumOfHardPhotonsCandidates() {return fNumberOfHardPhotonsCandidates;}
220
221   Float_t GetMaxJetEnergy() {return fMaxJetEnergy;}
222   Float_t GetMaxNeutralEnergy() {return fMaxNeutralEnergy;}
223   Int_t   GetNumOfChargedAbovePtRange() {return fNumberOfChargedAbovePtRange;}
224   Int_t   GetNumOfMuonsAbovePtRange() {return fNumberOfMuonsAbovePtRange;}
225   Int_t   GetNumOfElectronsAbovePtRange() {return fNumberOfElectronsAbovePtRange;}
226
227
228   Int_t   GetNumOfJPsiCandidates() {return fNumberOfJPsiCandidates;}
229   Int_t   GetNumOfPsiPrimeCandidates() {return fNumberOfPsiPrimeCandidates;}
230   Int_t   GetNumOfUpsilonCandidates() {return fNumberOfUpsilonCandidates;}
231   Int_t   GetNumOfUpsilonPrimeCandidates() {return fNumberOfUpsilonPrimeCandidates;}
232   Int_t   GetNumOfUpsilonDoublePrimeCandidates() {return fNumberOfUpsilonDoublePrimeCandidates;}
233   Int_t   GetNumOfCharmCandidates() {return fNumberOfCharmParticleCandidates;}
234   Int_t   GetNumOfBeautyCandidates() {return fNumberOfBeautyParticleCandidates;}
235
236   Int_t   GetNumOfElectrons() {return fNumberOfElectrons;}
237   Int_t   GetNumOfMuons() {return fNumberOfMuons;}
238   Int_t   GetNumOfPions() {return fNumberOfPions;}
239   Int_t   GetNumOfKaons() {return fNumberOfKaons;}
240   Int_t   GetNumOfProtons() {return fNumberOfProtons;}
241   Int_t   GetNumOfLambdas() {return fNumberOfLambdas;}
242
243
244   Int_t   GetNumOfPhotons() {return fNumberOfPhotons;}
245   Int_t   GetNumOfPi0s() {return fNumberOfPi0s;}
246   Int_t   GetNumOfNeutrons() {return fNumberOfNeutrons;}
247   Int_t   GetNumOfKaon0s() {return fNumberOfKaon0s;}
248
249
250   Float_t GetTotalMomentum() {return fTotalP;}
251   Float_t GetMeanPt() {return fMeanPt;}
252   Float_t GetMaxPt() {return fMaxPt;}
253
254   Float_t GetNeutralTotalMomentum() {return fTotalNeutralP;}
255   Float_t GetNeutralMeanPt() {return fMeanNeutralPt;}
256   Float_t GetNeutralMaxPt() {return fMaxNeutralPt;}
257
258   Float_t GetEventPlaneAngle() {return fEventPlaneAngle;}
259   Float_t GetHBTRadii() {return fHBTRadii;}
260
261   ClassDef(AliEventTag,1)  //(ClassName, ClassVersion)
262     };
263 //______________________________________________________________________________
264
265
266 #endif