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