]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliEventTag.h
correction for a potential problem, says Cvetan
[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 "TString.h"
18
19 //___________________________________________________________________________
20 class AliEventTag : public TObject {
21  public:
22   AliEventTag();
23   AliEventTag(const AliEventTag & t);
24   virtual ~AliEventTag();
25
26   AliEventTag &operator=(const AliEventTag &rhs);
27   
28   //____________________________________________________//
29   void SetPeriodNumber(UInt_t n) {fPeriodNumber = n;}
30   void SetOrbitNumber(UInt_t n) {fOrbitNumber = n;}
31   void SetBunchCrossNumber(UShort_t n) {fBunchCrossNumber = n;}
32
33   void SetFiredTriggerClasses(TString names) {fFiredTriggerClasses = names;}
34   void SetEventType(UInt_t ntype) {fEventType = ntype;}
35
36   void SetGUID(TString Pid) {fGUID = Pid;}
37   void SetPath(TString Pid) {fPath = Pid;}
38   void SetMD5(TString Pid) {fmd5 = Pid;}
39   void SetTURL(TString Pid) {fturl = Pid;}
40   void SetSize(Long64_t i) {fsize = i;}
41   void SetNumOfParticipants(Int_t P) {fNumberOfParticipants = P;}
42   void SetNumOfParticipants2(Int_t P2) {fNumberOfParticipants = P2;}
43   void SetImpactParameter(Float_t Pimpact) {fImpactParameter = Pimpact;}
44   void SetVertexX(Float_t Pvx) {fPrimaryVertexX = Pvx;}
45   void SetVertexY(Float_t Pvy) {fPrimaryVertexY = Pvy;}
46   void SetVertexZ(Float_t Pvz) {fPrimaryVertexZ = Pvz;}
47   void SetVertexFlag(Int_t i) {fPrimaryVertexFlag = i;}
48   void SetVertexZError(Float_t f) { fPrimaryVertexZError = f;}
49   void SetTriggerMask(ULong64_t Ptr) {fTriggerMask = Ptr;}
50   void SetTriggerCluster(UChar_t n) {fTriggerCluster = n;}
51   void SetZDCNeutron1Energy(Float_t Pen) {fZDCNeutron1Energy = Pen;}
52   void SetZDCProton1Energy(Float_t Pen) {fZDCProton1Energy = Pen;}
53   void SetZDCNeutron2Energy(Float_t Pen) {fZDCNeutron2Energy = Pen;}
54   void SetZDCProton2Energy(Float_t Pen) {fZDCProton2Energy = Pen;}
55   void SetZDCEMEnergy(Float_t Pen1, Float_t Pen2) 
56        {fZDCEMEnergy[0]=Pen1; fZDCEMEnergy[1]=Pen2;}
57   void SetT0VertexZ(Float_t Pvz) {fT0VertexZ = Pvz;}
58   void SetNumOfTracks(Int_t Ptr) {fNumberOfTracks = Ptr;}
59   void SetNumOfPosTracks(Int_t Ptr) {fNumberOfPositiveTracks = Ptr;}
60   void SetNumOfNegTracks(Int_t Ptr) {fNumberOfNegativeTracks = Ptr;}
61   void SetNumOfNeutrTracks(Int_t Ptr) {fNumberOfNeutralTracks = Ptr;}
62   void SetNumOfV0s(Int_t Ptr) {fNumberOfV0s = Ptr;}
63   void SetNumOfCascades(Int_t Ptr) {fNumberOfCascades = Ptr;}
64   void SetNumOfKinks(Int_t Ptr) {fNumberOfKinks = Ptr;}
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   void SetNumOfJetCandidates(Int_t Ptr) {fNumberOfJetCandidates = Ptr;}
70   void SetNumOfHardPhotonsCandidates(Int_t Ptr) {fNumberOfHardPhotonsCandidates = Ptr;}
71   void SetMaxJetEnergy(Float_t f) {fMaxJetEnergy = f;}
72   void SetMaxNeutralEnergy(Float_t f) {fMaxNeutralEnergy = f;}
73   void SetNumOfChargedAbove1GeV(Int_t i) {fNumberOfChargedAbove1GeV = i;}
74   void SetNumOfChargedAbove3GeV(Int_t i) {fNumberOfChargedAbove3GeV = i;}
75   void SetNumOfChargedAbove10GeV(Int_t i) {fNumberOfChargedAbove10GeV = i;}
76   void SetNumOfMuonsAbove1GeV(Int_t i) {fNumberOfMuonsAbove1GeV = i;}
77   void SetNumOfMuonsAbove3GeV(Int_t i) {fNumberOfMuonsAbove3GeV = i;}
78   void SetNumOfMuonsAbove10GeV(Int_t i) {fNumberOfMuonsAbove10GeV = i;}
79   void SetNumOfElectronsAbove1GeV(Int_t i) {fNumberOfElectronsAbove1GeV = i;}
80   void SetNumOfElectronsAbove3GeV(Int_t i) {fNumberOfElectronsAbove3GeV = i;}
81   void SetNumOfElectronsAbove10GeV(Int_t i) {fNumberOfElectronsAbove10GeV = i;}
82   void SetNumOfElectrons(Int_t Ptr) {fNumberOfElectrons = Ptr;}
83   void SetNumOfFWMuons(Int_t Ptr) {fNumberOfFWMuons = Ptr;}
84   void SetNumOfMuons(Int_t Ptr) {fNumberOfMuons = Ptr;}
85   void SetNumOfPions(Int_t Ptr) {fNumberOfPions = Ptr;}
86   void SetNumOfKaons(Int_t Ptr) {fNumberOfKaons = Ptr;}
87   void SetNumOfProtons(Int_t Ptr) {fNumberOfProtons = Ptr;}
88   void SetNumOfLambdas(Int_t Ptr) {fNumberOfLambdas = Ptr;}
89   void SetNumOfPhotons(Int_t Ptr) {fNumberOfPhotons = Ptr;}
90   void SetNumOfPi0s(Int_t Ptr) {fNumberOfPi0s = Ptr;}
91   void SetNumOfNeutrons(Int_t Ptr) {fNumberOfNeutrons = Ptr;}
92   void SetNumOfKaon0s(Int_t Ptr) {fNumberOfKaon0s = Ptr;}
93   void SetTotalMomentum(Float_t P) {fTotalP = P;}
94   void SetMeanPt(Float_t Pt) {fMeanPt = Pt;}
95   void SetMaxPt(Float_t Pt) {fMaxPt = Pt;}
96   void SetEtaMaxPt(Float_t eta) {fEtaMaxPt = eta;}
97   void SetPhiMaxPt(Float_t phi) {fPhiMaxPt = phi;}
98   void SetNeutralTotalMomentum(Float_t f) {fTotalNeutralP = f;}
99   void SetNeutralMeanPt(Float_t f) {fMeanNeutralPt = f;}
100   void SetNeutralMaxPt(Float_t f) {fMaxNeutralPt = f;}
101   void SetEventPlaneAngle(Float_t f) {fEventPlaneAngle = f;}
102   void SetHBTRadii(Float_t f) {fHBTRadii = f;}
103
104   //First physics
105   void SetNumberOfFiredChipsLayer1(Int_t n) {fNumberOfFiredChipsLayer1 = n;}
106   void SetNumberOfFiredChipsLayer2(Int_t n) {fNumberOfFiredChipsLayer2 = n;}
107   void SetNumberOfSPDTracklets(Int_t n) {fNumberOfSPDTracklets = n;}
108
109   void SetMTotV0A(Float_t mult) {fMTotV0A = mult;}
110   void SetMTotV0C(Float_t mult) {fMTotV0C = mult;}
111   void SetNbPMV0A(Short_t npmt) {fNbPMV0A = npmt;}
112   void SetNbPMV0C(Short_t npmt) {fNbPMV0C = npmt;}
113   void SetEventId(Int_t /*id*/) {;}
114   //____________________________________________________//
115   UInt_t GetPeriodNumber() const {return fPeriodNumber;}
116   UInt_t GetOrbitNumber() const {return fOrbitNumber;}
117   UShort_t GetBunchCrossNumber() const {return fBunchCrossNumber;}
118
119   TString GetFiredTriggerClasses() const {return fFiredTriggerClasses;}
120   UInt_t GetEventType() const {return fEventType;}
121
122   const char *GetGUID() const {return fGUID.Data();}
123   const char *GetPath() const {return fPath.Data();}
124   const char *GetMD5() const {return fmd5.Data();}
125   const char *GetTURL() const {return fturl.Data();}
126   Long64_t    GetSize() const {return fsize;}
127   Int_t       GetNumOfParticipants() const {return fNumberOfParticipants;}
128   Int_t       GetNumOfParticipants2() const {return fNumberOfParticipants2;}
129   Float_t     GetImpactParameter() const {return fImpactParameter;}
130   Float_t     GetVertexX() const {return fPrimaryVertexX;}
131   Float_t     GetVertexY() const {return fPrimaryVertexY;}
132   Float_t     GetVertexZ() const {return fPrimaryVertexZ;}
133   Int_t       GetVertexFlag() const {return fPrimaryVertexFlag;}
134   Float_t     GetVertexZError() const {return fPrimaryVertexZError;}
135   ULong64_t   GetTriggerMask() const {return fTriggerMask;}
136   UChar_t     GetTriggerCluster() const {return fTriggerCluster;}
137   Float_t     GetZDCNeutron1Energy() const {return fZDCNeutron1Energy;}
138   Float_t     GetZDCProton1Energy() const {return fZDCProton1Energy;}
139   Float_t     GetZDCNeutron2Energy() const {return fZDCNeutron2Energy;}
140   Float_t     GetZDCProton2Energy() const {return fZDCProton2Energy;}
141   Float_t     GetZDCEMEnergy(Int_t i) const {return fZDCEMEnergy[i];}
142   Float_t     GetT0VertexZ() const {return fT0VertexZ;}
143   Int_t       GetNumOfTracks() const {return fNumberOfTracks;}
144   Int_t       GetNumOfPosTracks() const {return fNumberOfPositiveTracks;}
145   Int_t       GetNumOfNegTracks() const {return fNumberOfNegativeTracks;}
146   Int_t       GetNumOfNeutrTracks() const {return fNumberOfNeutralTracks;}
147   Int_t       GetNumOfV0s() const {return fNumberOfV0s;}
148   Int_t       GetNumOfCascades() const {return fNumberOfCascades;}
149   Int_t       GetNumOfKinks() const {return fNumberOfKinks;}
150   Int_t       GetNumOfPMDTracks() const {return fNumberOfPMDTracks;}
151   Int_t       GetNumOfFMDTracks() const {return fNumberOfFMDTracks;}
152   Int_t       GetNumOfPHOSClusters() const {return fNumberOfPHOSClusters;}
153   Int_t       GetNumOfEMCALClusters() const {return fNumberOfEMCALClusters;}
154   Int_t       GetNumOfJetCandidates() const {return fNumberOfJetCandidates;}
155   Int_t       GetNumOfHardPhotonsCandidates() const {return fNumberOfHardPhotonsCandidates;}
156   Float_t     GetMaxJetEnergy() const {return fMaxJetEnergy;}
157   Float_t     GetMaxNeutralEnergy() const {return fMaxNeutralEnergy;}
158   Int_t       GetNumOfChargedAbove1GeV() const {return fNumberOfChargedAbove1GeV;}
159   Int_t       GetNumOfChargedAbove3GeV() const {return fNumberOfChargedAbove3GeV;}
160   Int_t       GetNumOfChargedAbove10GeV() const {return fNumberOfChargedAbove10GeV;}
161   Int_t       GetNumOfMuonsAbove1GeV() const {return fNumberOfMuonsAbove1GeV;}
162   Int_t       GetNumOfMuonsAbove3GeV() const {return fNumberOfMuonsAbove3GeV;}
163   Int_t       GetNumOfMuonsAbove10GeV() const {return fNumberOfMuonsAbove10GeV;}
164   Int_t       GetNumOfElectronsAbove1GeV() const {return fNumberOfElectronsAbove1GeV;}
165   Int_t       GetNumOfElectronsAbove3GeV() const {return fNumberOfElectronsAbove3GeV;}
166   Int_t       GetNumOfElectronsAbove10GeV() const {return fNumberOfElectronsAbove10GeV;}
167   Int_t       GetNumOfElectrons() const {return fNumberOfElectrons;}
168   Int_t       GetNumOfFWMuons() const {return fNumberOfFWMuons;}
169   Int_t       GetNumOfMuons() const {return fNumberOfMuons;}
170   Int_t       GetNumOfPions() const {return fNumberOfPions;}
171   Int_t       GetNumOfKaons() const {return fNumberOfKaons;}
172   Int_t       GetNumOfProtons() const {return fNumberOfProtons;}
173   Int_t       GetNumOfLambdas() const {return fNumberOfLambdas;}
174   Int_t       GetNumOfPhotons() const {return fNumberOfPhotons;}
175   Int_t       GetNumOfPi0s() const {return fNumberOfPi0s;}
176   Int_t       GetNumOfNeutrons() const {return fNumberOfNeutrons;}
177   Int_t       GetNumOfKaon0s() const {return fNumberOfKaon0s;}
178   Float_t     GetTotalMomentum() const {return fTotalP;}
179   Float_t     GetMeanPt() const {return fMeanPt;}
180   Float_t     GetMaxPt() const {return fMaxPt;}
181   Float_t     GetEtaMaxPt() const {return fEtaMaxPt;}
182   Float_t     GetPhiMaxPt() const {return fPhiMaxPt;}
183   Float_t     GetNeutralTotalMomentum() const {return fTotalNeutralP;}
184   Float_t     GetNeutralMeanPt() const {return fMeanNeutralPt;}
185   Float_t     GetNeutralMaxPt() const {return fMaxNeutralPt;}
186   Float_t     GetEventPlaneAngle() const {return fEventPlaneAngle;}
187   Float_t     GetHBTRadii() const {return fHBTRadii;}
188
189   //First physics
190   Int_t GetNumberOfFiredChipsLayer1() const {return fNumberOfFiredChipsLayer1;}
191   Int_t GetNumberOfFiredChipsLayer2() const {return fNumberOfFiredChipsLayer2;}
192   Int_t GetNumberOfSPDTracklets() const {return fNumberOfSPDTracklets;}
193
194   Float_t GetMTotV0A() const {return fMTotV0A;}
195   Float_t GetMTotV0C() const {return fMTotV0C;}
196   Short_t GetNbPMV0A() const {return fNbPMV0A;}
197   Short_t GetNbPMV0C() const {return fNbPMV0C;}
198
199   //____________________________________________________//
200  private:
201   UInt_t    fPeriodNumber;                  //The period number
202   UInt_t    fOrbitNumber;                   //The orbit number
203   UShort_t  fBunchCrossNumber;              //The BC number
204   TString   fFiredTriggerClasses;           //List of the fired trigger class names
205   UInt_t    fEventType;                     //event type == 7 ==> PHYSICS_EVENT
206
207   TString   fGUID;                          //The unique identifier of the file
208   TString   fPath;                          //The file's path (local storage)
209   Long64_t  fsize;                          //the size of the file
210   TString   fmd5;                           //another file identifier
211   TString   fturl;                          //the file's url
212   Int_t     fNumberOfParticipants;          //Number of participants - side C
213   Int_t     fNumberOfParticipants2;         //Number of participants - side A
214   Float_t   fImpactParameter;               //The impact parameter
215   Int_t     fPrimaryVertexFlag;             //Primary vertex flag: 0->not found, 1->found
216   Float_t   fPrimaryVertexX;                //Primary vertex - X coordinate
217   Float_t   fPrimaryVertexY;                //Primary vertex - Y coordinate
218   Float_t   fPrimaryVertexZ;                //Primary vertex - Z coordinate
219   Float_t   fPrimaryVertexZError;           //Primary vertex - Z coordinate - error
220   ULong64_t fTriggerMask;                   //Information from trigger (trigger mask)
221   UChar_t   fTriggerCluster;                // Trigger cluster (mask)
222   Float_t   fZDCNeutron1Energy;             //ZDC info - neutron
223   Float_t   fZDCProton1Energy;              //ZDC info - proton
224   Float_t   fZDCNeutron2Energy;             //ZDC info - neutron
225   Float_t   fZDCProton2Energy;              //ZDC info - proton
226   Float_t   fZDCEMEnergy[2];                //ZDC info - em
227   Float_t   fT0VertexZ;                     //T0 info
228   Int_t     fNumberOfTracks;                //Multiplicity
229   Int_t     fNumberOfPositiveTracks;        //Multiplicity of positive tracks
230   Int_t     fNumberOfNegativeTracks;        //Multiplicity of negative tracks
231   Int_t     fNumberOfNeutralTracks;         //Multiplicity of neutral tracks
232   Int_t     fNumberOfV0s;                   //Number of V0s
233   Int_t     fNumberOfCascades;              //Number of cascades
234   Int_t     fNumberOfKinks;                 //Number of kinks
235   Int_t     fNumberOfPMDTracks;             //PMD tracks
236   Int_t     fNumberOfFMDTracks;             //FMD tracks
237   Int_t     fNumberOfPHOSClusters;          //PHOS clusters
238   Int_t     fNumberOfEMCALClusters;         //EMCAL clusters
239   Int_t     fNumberOfJetCandidates;         //Jet candidates
240   Float_t   fMaxJetEnergy;                  //jet energy info
241   Int_t     fNumberOfHardPhotonsCandidates; //Hard photons candidates
242   Float_t   fMaxNeutralEnergy;              //neutral energy info
243   Int_t     fNumberOfChargedAbove1GeV;      //Number of charged above 1 GeV/c
244   Int_t     fNumberOfChargedAbove3GeV;      //Number of charged above 3 GeV/c
245   Int_t     fNumberOfChargedAbove10GeV;     //Number of charged above 10 GeV/c
246   Int_t     fNumberOfMuonsAbove1GeV;        //Number of muons above 1 GeV/c
247   Int_t     fNumberOfMuonsAbove3GeV;        //Number of muons above 3 GeV/c
248   Int_t     fNumberOfMuonsAbove10GeV;       //Number of muons above 10 GeV/c
249   Int_t     fNumberOfElectronsAbove1GeV;    //Number of electrons above 1 GeV/c
250   Int_t     fNumberOfElectronsAbove3GeV;    //Number of electrons above 3 GeV/c
251   Int_t     fNumberOfElectronsAbove10GeV;   //Number of electrons above 10 GeV/c
252   Int_t     fNumberOfElectrons;             //Number of electrons
253   Int_t     fNumberOfFWMuons;               //Number of forward muons
254   Int_t     fNumberOfMuons;                 //Number of muons
255   Int_t     fNumberOfPions;                 //Number of pions
256   Int_t     fNumberOfKaons;                 //Number of kaons
257   Int_t     fNumberOfProtons;               //Number of protons
258   Int_t     fNumberOfLambdas;               //Number of lambdas
259   Int_t     fNumberOfPhotons;               //Number of photons
260   Int_t     fNumberOfPi0s;                  //Number of pi0
261   Int_t     fNumberOfNeutrons;              //Number of neutrons
262   Int_t     fNumberOfKaon0s;                //Number of Ks
263   Float_t   fTotalP;                        //Sum of the momentum per event
264   Float_t   fMeanPt;                        //Mean Pt per event
265   Float_t   fMaxPt;                         //Max Pt for each event
266   Float_t   fEtaMaxPt;                      //Eta of the particle with max pt (leading particle)
267   Float_t   fPhiMaxPt;                      //Phi of the particle with max pt (leading particle)  
268   Float_t   fTotalNeutralP;                 //Sum of the momentum per event for neutral
269   Float_t   fMeanNeutralPt;                 //Mean Pt per event for neutral
270   Float_t   fMaxNeutralPt;                  //Max Pt for each event for neutral
271   Float_t   fEventPlaneAngle;               //event plane info
272   Float_t   fHBTRadii;                      //HBT info
273   
274   //First physics
275   Int_t     fNumberOfFiredChipsLayer1;      //number of fired chips - layer 1
276   Int_t     fNumberOfFiredChipsLayer2;      //number of fired chips - layer 2
277   Int_t     fNumberOfSPDTracklets;          //number of SPD tracklets
278
279   Float_t     fMTotV0A;                     //Total multiplicity in V0 A side
280   Float_t     fMTotV0C;                     //Total multiplicity in V0 C side
281   Short_t   fNbPMV0A;                       //Total number of fired channels in V0 A side
282   Short_t   fNbPMV0C;                       //Total number of fired channels in V0 C side
283
284   ClassDef(AliEventTag,14)  //(ClassName, ClassVersion)
285       };
286 //___________________________________________________________________________
287
288
289 #endif