]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliEventTagCuts.h
Update rawdata format for trigger (Christian)
[u/mrichter/AliRoot.git] / STEER / AliEventTagCuts.h
1 #ifndef ALIEVENTTAGCUTS_H
2 #define ALIEVENTTAGCUTS_H
3 /*  See cxx source for full Copyright notice */
4
5
6 /* $Id$ */
7
8 //-------------------------------------------------------------------------
9 //                       Class AliEventTagCuts
10 //   This is the class for the cuts in event tags
11 //
12 //    Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
13 //-------------------------------------------------------------------------
14
15 #include <TObject.h>
16
17 class AliEventTag;
18
19 class AliEventTagCuts : public TObject
20 {
21  public:
22   AliEventTagCuts();
23   
24   ~AliEventTagCuts();
25
26   void Reset();
27   
28   void SetParticipantsRange(Int_t i1, Int_t i2);
29   void SetImpactParamRange(Float_t r1, Float_t r2);
30
31   void SetPrimaryVertexXRange(Float_t r1, Float_t r2);
32   void SetPrimaryVertexYRange(Float_t r1, Float_t r2);
33   void SetPrimaryVertexZRange(Float_t r1, Float_t r2);
34
35   void SetPrimaryVertexFlag(Int_t i);
36
37   void SetZDCNeutr1Range(Float_t r1, Float_t r2);
38   void SetZDCProt1Range(Float_t r1, Float_t r2);
39   void SetZDCEMRange(Float_t r1, Float_t r2);
40   void SetZDCNeutr2Range(Float_t r1, Float_t r2);
41   void SetZDCProt2Range(Float_t r1, Float_t r2);
42   void SetT0VertexZRange(Float_t r1, Float_t r2);
43
44   void SetMultiplicityRange(Int_t n1, Int_t n2);
45   void SetPosMultiplicityRange(Int_t n1, Int_t n2);
46   void SetNegMultiplicityRange(Int_t n1, Int_t n2);
47   void SetNeutrMultiplicityRange(Int_t n1, Int_t n2);
48   void SetV0sRange(Int_t n1, Int_t n2);
49   void SetCascadesRange(Int_t n1, Int_t n2);
50   void SetKinksRange(Int_t n1, Int_t n2);
51  
52   void SetMaxJetEnergy(Float_t r1);
53   void SetMaxNeutralEnergy(Float_t r1);
54   void SetHardPhotonsRange(Int_t i1, Int_t i2);
55  
56   void SetNChargedAbove1GeVRange(Int_t i1, Int_t i2);
57   void SetNChargedAbove3GeVRange(Int_t i1, Int_t i2);
58   void SetNChargedAbove10GeVRange(Int_t i1, Int_t i2);
59   void SetNMuonsAbove1GeVRange(Int_t i1, Int_t i2);
60   void SetNMuonsAbove3GeVRange(Int_t i1, Int_t i2);
61   void SetNMuonsAbove10GeVRange(Int_t i1, Int_t i2);
62   void SetNElectronsAbove1GeVRange(Int_t i1, Int_t i2);
63   void SetNElectronsAbove3GeVRange(Int_t i1, Int_t i2);
64   void SetNElectronsAbove10GeVRange(Int_t i1, Int_t i2);
65  
66   void SetNElectronRange(Int_t n1, Int_t n2);
67   void SetNMuonRange(Int_t n1, Int_t n2);
68   void SetNPionRange(Int_t n1, Int_t n2);
69   void SetNKaonRange(Int_t n1, Int_t n2);
70   void SetNProtonRange(Int_t n1, Int_t n2);
71   void SetNLambdaRange(Int_t n1, Int_t n2);
72   void SetNPhotonRange(Int_t n1, Int_t n2);
73   void SetNPi0Range(Int_t n1, Int_t n2);
74   void SetNNeutronRange(Int_t n1, Int_t n2);
75   void SetNKaon0Range(Int_t n1, Int_t n2);
76  
77   void SetTotalPRange(Float_t r1, Float_t r2);
78   void SetMeanPtRange(Float_t r1, Float_t r2);
79   void SetMaxPt(Float_t r1);
80   void SetTotalNeutralPRange(Float_t r1, Float_t r2);
81   void SetMeanNeutralPtPRange(Float_t r1, Float_t r2);
82   void SetMaxNeutralPt(Float_t r1);
83   void SetEvPlaneAngleRange(Float_t r1, Float_t r2);
84   void SetHBTRadiiRange(Float_t r1, Float_t r2);
85  
86   Bool_t IsAccepted(AliEventTag *EvTag) const;
87
88  private:
89   Float_t fVxMin, fVxMax;  //Definition of the range of the Vx
90   Bool_t fVxFlag;          //Shows whether this cut is used or not
91   Float_t fVyMin, fVyMax;  //Definition of the range of the Vy
92   Bool_t fVyFlag;          //Shows whether this cut is used or not
93   Float_t fVzMin, fVzMax;  //Definition of the range of the Vz
94   Bool_t fVzFlag;          //Shows whether this cut is used or not
95   Int_t fParticipantsMin, fParticipantMax; //# participants range
96   Bool_t fParticipantsFlag;//Shows whether this cut is used or not
97   Float_t fImpactParamMin, fImpactParamMax; //Impact parameter range
98   Bool_t fImpactParamFlag; //Shows whether this cut is used or not
99   Int_t fPrimaryVertexFlag; //Primary vertex flag: 0->not found, 1->found
100   Bool_t fPVFlag;          //Shows whether this cut is used or not
101   
102   Float_t fZDCNeutron1EnergyMin, fZDCNeutron1EnergyMax; //ZDC min,max - neutron
103   Bool_t fZDCNeutron1EnergyFlag;//Shows whether this cut is used or not
104   Float_t fZDCProton1EnergyMin, fZDCProton1EnergyMax; //ZDC min,max - proton
105   Bool_t fZDCProton1EnergyFlag;//Shows whether this cut is used or not
106   Float_t fZDCNeutron2EnergyMin, fZDCNeutron2EnergyMax; //ZDC min,max - neutron
107   Bool_t fZDCNeutron2EnergyFlag;//Shows whether this cut is used or not
108   Float_t fZDCProton2EnergyMin, fZDCProton2EnergyMax; //ZDC min,max - proton
109   Bool_t fZDCProton2EnergyFlag;//Shows whether this cut is used or not
110   Float_t fZDCEMEnergyMin, fZDCEMEnergyMax; //ZDC min,max - em
111   Bool_t fZDCEMEnergyFlag;//Shows whether this cut is used or not
112   Float_t fT0VertexZMin, fT0VertexZMax; //T0 min, max
113   Bool_t fT0VertexZFlag;//Shows whether this cut is used or not
114   
115   Int_t fMultMin, fMultMax;  //Definition of the range of the multiplicity
116   Bool_t fMultFlag;//Shows whether this cut is used or not
117   Int_t fMultPosMin, fMultPosMax; //Positive tracks multiplicity range
118   Bool_t fMultPosFlag;//Shows whether this cut is used or not
119   Int_t fMultNegMin, fMultNegMax; //Negative tracks multiplicity range
120   Bool_t fMultNegFlag;//Shows whether this cut is used or not
121   Int_t fMultNeutrMin, fMultNeutrMax; //Neutral tracks multiplicity range
122   Bool_t fMultNeutrFlag;//Shows whether this cut is used or not
123   Int_t fV0sMin, fV0sMax; //Range of V0s
124   Bool_t fV0sFlag;//Shows whether this cut is used or not
125   Int_t fCascadesMin, fCascadesMax; //Range of cascades
126   Bool_t fCascadesFlag;//Shows whether this cut is used or not
127   Int_t fkinksMin, fkinksMax; //Range of kinks
128   Bool_t fkinksFlag;//Shows whether this cut is used or not
129   
130   Float_t fMaxJetEnergy; //max jet energy info
131   Bool_t fMaxJetEnergyFlag;//Shows whether this cut is used or not
132   
133   Int_t fNHardPhotonsCandidatesMin, fNHardPhotonsCandidatesMax; //Hard photons candidates
134   Bool_t fNHardPhotonsCandidatesFlag;//Shows whether this cut is used or not
135   Float_t fMaxNeutralEnergy; //max neutral energy info
136   Bool_t fMaxNeutralFlag;//Shows whether this cut is used or not
137   
138   Int_t fChargedAbove1GeVMin, fChargedAbove1GeVMax;//Definition of the range of the number of charged above 1GeV
139   Bool_t fChargedAbove1GeVFlag;//Shows whether this cut is used or not
140   Int_t fChargedAbove3GeVMin, fChargedAbove3GeVMax;//Definition of the range of the number of charged above 3GeV
141   Bool_t fChargedAbove3GeVFlag;//Shows whether this cut is used or not
142   Int_t fChargedAbove10GeVMin, fChargedAbove10GeVMax;//Definition of the range of the number of charged above 10GeV
143   Bool_t fChargedAbove10GeVFlag;//Shows whether this cut is used or not
144   Int_t fMuonsAbove1GeVMin, fMuonsAbove1GeVMax;//Definition of the range of the number of muons above 1GeV
145   Bool_t fMuonsAbove1GeVFlag;//Shows whether this cut is used or not
146   Int_t fMuonsAbove3GeVMin, fMuonsAbove3GeVMax;//Definition of the range of the number of muons above 3GeV
147   Bool_t fMuonsAbove3GeVFlag;//Shows whether this cut is used or not
148   Int_t fMuonsAbove10GeVMin, fMuonsAbove10GeVMax; //Definition of the range of the number of muons above 10GeV
149   Bool_t fMuonsAbove10GeVFlag;//Shows whether this cut is used or not
150   Int_t fElectronsAbove1GeVMin, fElectronsAbove1GeVMax;//Definition of the range of the number of electorns above 1GeV
151   Bool_t fElectronsAbove1GeVFlag;//Shows whether this cut is used or not
152   Int_t fElectronsAbove3GeVMin, fElectronsAbove3GeVMax;//Definition of the range of the number of electorns above 3GeV
153   Bool_t fElectronsAbove3GeVFlag;//Shows whether this cut is used or not
154   Int_t fElectronsAbove10GeVMin,fElectronsAbove10GeVMax;//Definition of the range of the number of electorns above 10GeV
155   Bool_t fElectronsAbove10GeVFlag;//Shows whether this cut is used or not
156   
157   Int_t fElectronsMin, fElectronsMax; //Number of electrons range
158   Bool_t fElectronsFlag;//Shows whether this cut is used or not
159   Int_t fMuonsMin, fMuonsMax;  //Number of muons range
160   Bool_t fMuonsFlag;//Shows whether this cut is used or not
161   Int_t fPionsMin, fPionsMax; //Number of pions range
162   Bool_t fPionsFlag;//Shows whether this cut is used or not
163   Int_t fKaonsMin, fKaonsMax; //Number of kaons range
164   Bool_t fKaonsFlag;//Shows whether this cut is used or not
165   Int_t fProtonsMin, fProtonsMax; //Number of protons range
166   Bool_t fProtonsFlag;//Shows whether this cut is used or not
167   Int_t fLambdasMin, fLambdasMax; //Number of lambdas range
168   Bool_t fLambdasFlag;//Shows whether this cut is used or not
169   Int_t fPhotonsMin, fPhotonsMax; //Number of photons range
170   Bool_t fPhotonFlag;//Shows whether this cut is used or not
171   Int_t fPi0sMin, fPi0sMax; //Number of Pi0s range
172   Bool_t fPi0sFlag;//Shows whether this cut is used or not
173   Int_t fNeutronsMin, fNeutronsMax; //Number of neutrons range
174   Bool_t fNeutronsFlag;//Shows whether this cut is used or not
175   Int_t fKaon0sMin, fKaon0sMax; //Number of K0s range
176   Bool_t fKaon0sFlag;//Shows whether this cut is used or not
177   
178   Float_t fTotalPMin, fTotalPMax; //Range of the sum of the momentum per event
179   Bool_t fTotalPFlag;//Shows whether this cut is used or not
180   Float_t fMeanPtMin, fMeanPtMax; //Range of mean Pt per event
181   Bool_t fMeanPtFlag;//Shows whether this cut is used or not
182   Float_t fMaxPt; //Max Pt for each event
183   Bool_t fMaxPtFlag;//Shows whether this cut is used or not
184   Float_t fTotalNeutralPMin, fTotalNeutralPMax; //Sum of the momentum per event for neutral
185   Bool_t fTotalNeutralPFlag;//Shows whether this cut is used or not
186   Float_t fMeanNeutralPtMin, fMeanNeutralPtMax; //Mean Pt per event for neutral
187   Bool_t fMeanNeutralPtFlag;//Shows whether this cut is used or not
188   Float_t fMaxNeutralPt; //Max Pt for each event for neutral
189   Bool_t fMaxNeutralPtFlag;//Shows whether this cut is used or not
190   Float_t fEventPlaneAngleMin, fEventPlaneAngleMax; //event plane info
191   Bool_t fEventPlaneAngleFlag;//Shows whether this cut is used or not
192   Float_t fHBTRadiiMin, fHBTRadiiMax; //HBT info
193   Bool_t fHBTRadiiFlag;//Shows whether this cut is used or not
194
195   ClassDef(AliEventTagCuts, 1)
196 } ;
197
198 #endif