df4966ae6b11e90e8e04e10b0d9c2ae909efbc97
[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   const char     *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   
60
61   Int_t    fNumberOfChargedAbove1GeV;
62   Int_t    fNumberOfChargedAbove3GeV;
63   Int_t    fNumberOfChargedAbove10GeV;
64   Int_t    fNumberOfMuonsAbove1GeV;
65   Int_t    fNumberOfMuonsAbove3GeV;
66   Int_t    fNumberOfMuonsAbove10GeV; 
67   Int_t    fNumberOfElectronsAbove1GeV;
68   Int_t    fNumberOfElectronsAbove3GeV;
69   Int_t    fNumberOfElectronsAbove10GeV;
70
71
72
73   Int_t    fNumberOfElectrons;                 //Number of electrons
74   Int_t    fNumberOfMuons;                     //Number of muons
75   Int_t    fNumberOfPions;                     //Number of pions
76   Int_t    fNumberOfKaons;                     //Number of kaons
77   Int_t    fNumberOfProtons;                   //Number of protons
78   Int_t    fNumberOfLambdas;                   //Number of lambdas
79
80   Int_t    fNumberOfPhotons;
81   Int_t    fNumberOfPi0s;
82   Int_t    fNumberOfNeutrons;
83   Int_t    fNumberOfKaon0s;
84
85
86  
87   Float_t  fTotalP;                            //Sum of the momentum per event
88   Float_t  fMeanPt;                            //Mean Pt per event
89   Float_t  fMaxPt;                             //Max Pt for each event
90
91   Float_t  fTotalNeutralP;                     //Sum of the momentum per event for neutral
92   Float_t  fMeanNeutralPt;                     //Mean Pt per event for neutral
93   Float_t  fMaxNeutralPt;                      //Max Pt for each event for neutral
94
95   Float_t  fEventPlaneAngle;                   //event plane info
96   Float_t  fHBTRadii;                          //HBT info
97
98  public:
99   AliEventTag();
100   AliEventTag(AliEventTag *t);
101   virtual ~AliEventTag();
102   
103   void   SetEventId(Int_t Pid) {fAliceEventId = Pid;}
104   void   SetGUID(const char *Pid) {fGUID = Pid;}
105
106   void   SetNumOfParticipants(Int_t P) {fNumberOfParticipants = P;}
107   void   SetImpactParameter(Float_t Pimpact) {fImpactParameter = Pimpact;}
108
109   void   SetVertexX(Float_t Pvx) {fPrimaryVertexX = Pvx;}
110   void   SetVertexY(Float_t Pvy) {fPrimaryVertexY = Pvy;}
111   void   SetVertexZ(Float_t Pvz) {fPrimaryVertexZ = Pvz;}
112
113   void   SetVertexFlag(Int_t i) {fPrimaryVertexFlag = i;}
114   void   SetVertexZError(Float_t f) { fPrimaryVertexZError = f;}
115
116   void   SetTrigger(Int_t Ptr) {fTriggerInfo = Ptr;}
117
118   void   SetZDCNeutronEnergy(Float_t Pen) {fZDCNeutronEnergy = Pen;}
119   void   SetZDCProtonEnergy(Float_t Pen) {fZDCProtonEnergy = Pen;}
120   void   SetZDCEMEnergy(Float_t Pen) {fZDCEMEnergy = Pen;}
121
122   void   SetT0VertexZ(Float_t Pvz) {fT0VertexZ = Pvz;}
123
124   void   SetNumOfTracks(Int_t Ptr) {fNumberOfTracks = Ptr;}
125   void   SetNumOfPosTracks(Int_t Ptr) {fNumberOfPositiveTracks = Ptr;}
126   void   SetNumOfNegTracks(Int_t Ptr) {fNumberOfNegativeTracks = Ptr;}
127   void   SetNumOfNeutrTracks(Int_t Ptr) {fNumberOfNeutralTracks = Ptr;}
128
129   void   SetNumOfV0s(Int_t Ptr) {fNumberOfV0s = Ptr;}
130   void   SetNumOfCascades(Int_t Ptr) {fNumberOfCascades = Ptr;}
131   void   SetNumOfKinks(Int_t Ptr) {fNumberOfKinks = Ptr;}
132
133   void   SetNumOfPMDTracks(Int_t Ptr) {fNumberOfPMDTracks = Ptr;}
134   void   SetNumOfPHOSTracks(Int_t Ptr) {fNumberOfPHOSTracks = Ptr;}
135   void   SetNumOfEMCALTracks(Int_t Ptr) {fNumberOfEMCALTracks = Ptr;}
136   void   SetNumOfFMDTracks(Int_t Ptr) {fNumberOfFMDTracks = Ptr;}
137
138   void   SetNumOfJetCandidates(Int_t Ptr) {fNumberOfJetCandidates = Ptr;}
139   void   SetNumOfHardPhotonsCandidates(Int_t Ptr) {fNumberOfHardPhotonsCandidates = Ptr;}
140
141
142   void   SetMaxJetEnergy(Float_t f) {fMaxJetEnergy = f;}
143   void   SetMaxNeutralEnergy(Float_t f) {fMaxNeutralEnergy = f;}
144   
145   void   SetNumOfChargedAbove1GeV(Int_t i) {fNumberOfChargedAbove1GeV = i;}
146   void   SetNumOfChargedAbove3GeV(Int_t i) {fNumberOfChargedAbove3GeV = i;}
147   void   SetNumOfChargedAbove10GeV(Int_t i) {fNumberOfChargedAbove10GeV = i;}
148   void   SetNumOfMuonsAbove1GeV(Int_t i) {fNumberOfMuonsAbove1GeV = i;}
149   void   SetNumOfMuonsAbove3GeV(Int_t i) {fNumberOfMuonsAbove3GeV = i;}
150   void   SetNumOfMuonsAbove10GeV(Int_t i) {fNumberOfMuonsAbove10GeV = i;}
151   void   SetNumOfElectronsAbove1GeV(Int_t i) {fNumberOfElectronsAbove1GeV = i;}
152   void   SetNumOfElectronsAbove3GeV(Int_t i) {fNumberOfElectronsAbove3GeV = i;}
153   void   SetNumOfElectronsAbove10GeV(Int_t i) {fNumberOfElectronsAbove10GeV = i;}
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   const char   *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   
224   Int_t   GetNumOfChargedAbove1GeV() {return fNumberOfChargedAbove1GeV;}
225   Int_t   GetNumOfChargedAbove3GeV() {return fNumberOfChargedAbove3GeV;}
226   Int_t   GetNumOfChargedAbove10GeV() {return fNumberOfChargedAbove10GeV;}
227   Int_t   GetNumOfMuonsAbove1GeV() {return fNumberOfMuonsAbove1GeV;}
228   Int_t   GetNumOfMuonsAbove3GeV() {return fNumberOfMuonsAbove3GeV;}
229   Int_t   GetNumOfMuonsAbove10GeV() {return fNumberOfMuonsAbove10GeV;}
230   Int_t   GetNumOfElectronsAbove1GeV() {return fNumberOfElectronsAbove1GeV;}
231   Int_t   GetNumOfElectronsAbove3GeV() {return fNumberOfElectronsAbove3GeV;}
232   Int_t   GetNumOfElectronsAbove10GeV() {return fNumberOfElectronsAbove10GeV;}
233  
234   Int_t   GetNumOfElectrons() {return fNumberOfElectrons;}
235   Int_t   GetNumOfMuons() {return fNumberOfMuons;}
236   Int_t   GetNumOfPions() {return fNumberOfPions;}
237   Int_t   GetNumOfKaons() {return fNumberOfKaons;}
238   Int_t   GetNumOfProtons() {return fNumberOfProtons;}
239   Int_t   GetNumOfLambdas() {return fNumberOfLambdas;}
240
241
242   Int_t   GetNumOfPhotons() {return fNumberOfPhotons;}
243   Int_t   GetNumOfPi0s() {return fNumberOfPi0s;}
244   Int_t   GetNumOfNeutrons() {return fNumberOfNeutrons;}
245   Int_t   GetNumOfKaon0s() {return fNumberOfKaon0s;}
246
247
248   Float_t GetTotalMomentum() {return fTotalP;}
249   Float_t GetMeanPt() {return fMeanPt;}
250   Float_t GetMaxPt() {return fMaxPt;}
251
252   Float_t GetNeutralTotalMomentum() {return fTotalNeutralP;}
253   Float_t GetNeutralMeanPt() {return fMeanNeutralPt;}
254   Float_t GetNeutralMaxPt() {return fMaxNeutralPt;}
255
256   Float_t GetEventPlaneAngle() {return fEventPlaneAngle;}
257   Float_t GetHBTRadii() {return fHBTRadii;}
258
259   ClassDef(AliEventTag,3)  //(ClassName, ClassVersion)
260     };
261 //______________________________________________________________________________
262
263
264 #endif