]>
Commit | Line | Data |
---|---|---|
c7e89ea3 | 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 | ||
7e73fbbd | 19 | //___________________________________________________________________________ |
20 | class AliEventTagCuts : public TObject { | |
c7e89ea3 | 21 | public: |
22 | AliEventTagCuts(); | |
c7e89ea3 | 23 | ~AliEventTagCuts(); |
c7e89ea3 | 24 | void Reset(); |
25 | ||
7e3c2e04 | 26 | //____________________________________________________// |
27 | void SetPeriodNumberRange(UInt_t n1, UInt_t n2); | |
28 | void SetOrbitNumberRange(UInt_t n1, UInt_t n2); | |
29 | void SetBunchCrossNumberRange(UShort_t n1, UShort_t n2); | |
30 | ||
31 | void SetEventType(UInt_t ntype); | |
32 | ||
915d9c13 | 33 | void SetNParticipantsRange(Int_t low, Int_t high); |
34 | void SetImpactParamRange(Float_t low, Float_t high); | |
c7e89ea3 | 35 | |
a01e4203 | 36 | void SetEtaLeadingParticleRange(Float_t low, Float_t high); |
37 | void SetPhiLeadingParticleRange(Float_t low, Float_t high); | |
915d9c13 | 38 | void SetPrimaryVertexXRange(Float_t low, Float_t high); |
39 | void SetPrimaryVertexYRange(Float_t low, Float_t high); | |
40 | void SetPrimaryVertexZRange(Float_t low, Float_t high); | |
41 | void SetPrimaryVertexFlag(Int_t flag); | |
42 | void SetPrimaryVertexZErrorRange(Float_t low, Float_t high); | |
7e73fbbd | 43 | |
915d9c13 | 44 | void SetTriggerMask(ULong64_t trmask); |
45 | void SetTriggerCluster(UChar_t trcluster); | |
46 | ||
47 | void SetZDCNeutron1Range(Float_t low, Float_t high); | |
48 | void SetZDCProton1Range(Float_t low, Float_t high); | |
49 | void SetZDCEMRange(Float_t low, Float_t high); | |
50 | void SetZDCNeutron2Range(Float_t low, Float_t high); | |
51 | void SetZDCProton2Range(Float_t low, Float_t high); | |
52 | void SetT0VertexZRange(Float_t low, Float_t high); | |
53 | ||
54 | void SetMultiplicityRange(Int_t low, Int_t high); | |
55 | void SetPosMultiplicityRange(Int_t low, Int_t high); | |
56 | void SetNegMultiplicityRange(Int_t low, Int_t high); | |
57 | void SetNeutrMultiplicityRange(Int_t low, Int_t high); | |
58 | void SetNV0sRange(Int_t low, Int_t high); | |
59 | void SetNCascadesRange(Int_t low, Int_t high); | |
60 | void SetNKinksRange(Int_t low, Int_t high); | |
c7e89ea3 | 61 | |
915d9c13 | 62 | void SetNPMDTracksRange(Int_t low, Int_t high); |
63 | void SetNFMDTracksRange(Int_t low, Int_t high); | |
64 | void SetNPHOSClustersRange(Int_t low, Int_t high); | |
65 | void SetNEMCALClustersRange(Int_t low, Int_t high); | |
66 | void SetNJetCandidatesRange(Int_t low, Int_t high); | |
7e73fbbd | 67 | |
915d9c13 | 68 | void SetTopJetEnergyMin(Float_t low); |
69 | void SetTopNeutralEnergyMin(Float_t low); | |
70 | void SetNHardPhotonsRange(Int_t low, Int_t high); | |
71 | void SetNChargedAbove1GeVRange(Int_t low, Int_t high); | |
72 | void SetNChargedAbove3GeVRange(Int_t low, Int_t high); | |
73 | void SetNChargedAbove10GeVRange(Int_t low, Int_t high); | |
74 | void SetNMuonsAbove1GeVRange(Int_t low, Int_t high); | |
75 | void SetNMuonsAbove3GeVRange(Int_t low, Int_t high); | |
76 | void SetNMuonsAbove10GeVRange(Int_t low, Int_t high); | |
77 | void SetNElectronsAbove1GeVRange(Int_t low, Int_t high); | |
78 | void SetNElectronsAbove3GeVRange(Int_t low, Int_t high); | |
79 | void SetNElectronsAbove10GeVRange(Int_t low, Int_t high); | |
80 | void SetNElectronRange(Int_t low, Int_t high); | |
d3893274 | 81 | void SetNFWMuonRange(Int_t low, Int_t high); |
e21df713 | 82 | void SetNFWMatchedMuonRange(Int_t low, Int_t high); |
915d9c13 | 83 | void SetNMuonRange(Int_t low, Int_t high); |
84 | void SetNPionRange(Int_t low, Int_t high); | |
85 | void SetNKaonRange(Int_t low, Int_t high); | |
86 | void SetNProtonRange(Int_t low, Int_t high); | |
87 | void SetNLambdaRange(Int_t low, Int_t high); | |
88 | void SetNPhotonRange(Int_t low, Int_t high); | |
89 | void SetNPi0Range(Int_t low, Int_t high); | |
90 | void SetNNeutronRange(Int_t low, Int_t high); | |
91 | void SetNKaon0Range(Int_t low, Int_t high); | |
92 | void SetTotalPRange(Float_t low, Float_t high); | |
93 | void SetMeanPtRange(Float_t low, Float_t high); | |
94 | void SetTopPtMin(Float_t low); | |
95 | void SetTotalNeutralPRange(Float_t low, Float_t high); | |
96 | void SetMeanNeutralPtPRange(Float_t low, Float_t high); | |
97 | void SetTopNeutralPtMin(Float_t low); | |
63fafb59 | 98 | void SetEventPlaneAngleRange(Float_t low, Float_t high); |
915d9c13 | 99 | void SetHBTRadiiRange(Float_t low, Float_t high); |
c7e89ea3 | 100 | |
7e3c2e04 | 101 | //First physics |
102 | void SetNumberOfFiredChipsLayer1Range(Int_t low, Int_t high); | |
103 | void SetNumberOfFiredChipsLayer2Range(Int_t low, Int_t high); | |
104 | void SetNumberOfSPDTrackletsRange(Int_t low, Int_t high); | |
105 | ||
850d5792 | 106 | // Trigger |
04cb11d4 | 107 | void ResetTriggerClasses(); |
108 | void AddRequiredFiredTriggerClass(TString aclass); | |
109 | void InitializeTriggerClasses(TString aclass); | |
850d5792 | 110 | |
c7e89ea3 | 111 | Bool_t IsAccepted(AliEventTag *EvTag) const; |
04cb11d4 | 112 | Bool_t IsAccepted(const AliEventTag *EvTag) const; |
c7e89ea3 | 113 | |
7e73fbbd | 114 | //____________________________________________________// |
c7e89ea3 | 115 | private: |
7e3c2e04 | 116 | UInt_t fPeriodNumberMin, fPeriodNumberMax; //min/max value of the period number |
117 | Bool_t fPeriodNumberFlag; // Shows whether this cut is used or not | |
118 | ||
119 | UInt_t fOrbitNumberMin, fOrbitNumberMax; //min/max value of the orbit number | |
120 | Bool_t fOrbitNumberFlag; // Shows whether this cut is used or not | |
121 | ||
122 | UShort_t fBunchCrossNumberMin, fBunchCrossNumberMax; //min/max value of the bunch crossing number | |
123 | Bool_t fBunchCrossNumberFlag; // Shows whether this cut is used or not | |
124 | ||
125 | UInt_t fEventType; //event type == 7 ==> PHYSICS_EVENT | |
126 | Bool_t fEventTypeFlag; // Shows whether this cut is used or not | |
127 | ||
63fafb59 | 128 | Int_t fNParticipantsMin, fNParticipantsMax; // # participants range |
129 | Bool_t fNParticipantsFlag; // Shows whether this cut is used or not | |
130 | Float_t fImpactParamMin, fImpactParamMax; // Impact parameter range | |
131 | Bool_t fImpactParamFlag; // Shows whether this cut is used or not | |
132 | ||
a01e4203 | 133 | Float_t fEtaMin, fEtaMax; // Definition of the range of the eta leading |
134 | Bool_t fEtaFlag; // Shows whether this cut is used or not | |
135 | Float_t fPhiMin, fPhiMax; // Definition of the range of the phi leading | |
136 | Bool_t fPhiFlag; // Shows whether this cut is used or not | |
137 | ||
63fafb59 | 138 | Float_t fVxMin, fVxMax; // Definition of the range of the Vx |
139 | Bool_t fVxFlag; // Shows whether this cut is used or not | |
140 | Float_t fVyMin, fVyMax; // Definition of the range of the Vy | |
141 | Bool_t fVyFlag; // Shows whether this cut is used or not | |
142 | Float_t fVzMin, fVzMax; // Definition of the range of the Vz | |
143 | Bool_t fVzFlag; // Shows whether this cut is used or not | |
144 | Int_t fPrimaryVertexFlag; // Primary vertex flag: 0->not found, 1->found | |
145 | Bool_t fPVFlag; // Shows whether this cut is used or not | |
146 | Float_t fPrimaryVertexZErrorMin, fPrimaryVertexZErrorMax; // Range of the primary vertex z error | |
147 | Bool_t fPVzErrorFlag; // Shows whether this cut is used or not | |
148 | ||
149 | ULong64_t fTriggerMask; // trigger mask definition | |
150 | Bool_t fTriggerMaskFlag; // Shows whether this cut is used or not | |
151 | UChar_t fTriggerCluster; // trigger cluster definition | |
152 | Bool_t fTriggerClusterFlag; // Shows whether this cut is used or not | |
c7e89ea3 | 153 | |
63fafb59 | 154 | Float_t fZDCNeutron1EnergyMin, fZDCNeutron1EnergyMax; // ZDC min,max - neutron |
155 | Bool_t fZDCNeutron1EnergyFlag; // Shows whether this cut is used or not | |
156 | Float_t fZDCProton1EnergyMin, fZDCProton1EnergyMax; // ZDC min,max - proton | |
157 | Bool_t fZDCProton1EnergyFlag; // Shows whether this cut is used or not | |
158 | Float_t fZDCNeutron2EnergyMin, fZDCNeutron2EnergyMax; // ZDC min,max - neutron | |
159 | Bool_t fZDCNeutron2EnergyFlag; // Shows whether this cut is used or not | |
160 | Float_t fZDCProton2EnergyMin, fZDCProton2EnergyMax; // ZDC min,max - proton | |
161 | Bool_t fZDCProton2EnergyFlag; // Shows whether this cut is used or not | |
162 | Float_t fZDCEMEnergyMin, fZDCEMEnergyMax; // ZDC min,max - em | |
163 | Bool_t fZDCEMEnergyFlag; // Shows whether this cut is used or not | |
164 | Float_t fT0VertexZMin, fT0VertexZMax; // T0 min, max | |
165 | Bool_t fT0VertexZFlag; // Shows whether this cut is used or not | |
166 | ||
167 | Int_t fMultMin, fMultMax; // Definition of the range of the multiplicity | |
168 | Bool_t fMultFlag; // Shows whether this cut is used or not | |
169 | Int_t fPosMultMin, fPosMultMax; // Positive tracks multiplicity range | |
170 | Bool_t fPosMultFlag; // Shows whether this cut is used or not | |
171 | Int_t fNegMultMin, fNegMultMax; // Negative tracks multiplicity range | |
172 | Bool_t fNegMultFlag; // Shows whether this cut is used or not | |
173 | Int_t fNeutrMultMin, fNeutrMultMax; // Neutral tracks multiplicity range | |
174 | Bool_t fNeutrMultFlag; // Shows whether this cut is used or not | |
175 | Int_t fNV0sMin, fNV0sMax; // Range of # of V0s | |
176 | Bool_t fNV0sFlag; // Shows whether this cut is used or not | |
177 | Int_t fNCascadesMin, fNCascadesMax; // Range of # of cascades | |
178 | Bool_t fNCascadesFlag; // Shows whether this cut is used or not | |
179 | Int_t fNKinksMin, fNKinksMax; // Range of # of kinks | |
180 | Bool_t fNKinksFlag; // Shows whether this cut is used or not | |
c7e89ea3 | 181 | |
63fafb59 | 182 | Int_t fNPMDTracksMin, fNPMDTracksMax; // Range of # of PMD tracks |
183 | Bool_t fNPMDTracksFlag; // Shows whether this cut is used or not | |
184 | Int_t fNFMDTracksMin, fNFMDTracksMax; // Range of # of FMD tracks | |
185 | Bool_t fNFMDTracksFlag; // Shows whether this cut is used or not | |
186 | Int_t fNPHOSClustersMin, fNPHOSClustersMax; // Range of # of PHOS clusters | |
187 | Bool_t fNPHOSClustersFlag; // Shows whether this cut is used or not | |
188 | Int_t fNEMCALClustersMin, fNEMCALClustersMax; // Range of # of EMCAL clusters | |
189 | Bool_t fNEMCALClustersFlag; // Shows whether this cut is used or not | |
190 | Int_t fNJetCandidatesMin, fNJetCandidatesMax; // Range of # of jet candidates | |
191 | Bool_t fNJetCandidatesFlag; // Shows whether this cut is used or not | |
192 | ||
193 | Float_t fTopJetEnergyMin; // top jet energy minimum value | |
194 | Bool_t fTopJetEnergyMinFlag; // Shows whether this cut is used or not | |
195 | Float_t fTopNeutralEnergyMin; // top neutral energy minimum value | |
196 | Bool_t fTopNeutralEnergyMinFlag; // Shows whether this cut is used or not | |
c7e89ea3 | 197 | |
63fafb59 | 198 | Int_t fNHardPhotonCandidatesMin, fNHardPhotonCandidatesMax; // # of hard photons candidates |
199 | Bool_t fNHardPhotonCandidatesFlag; // Shows whether this cut is used or not | |
200 | Int_t fNChargedAbove1GeVMin, fNChargedAbove1GeVMax; // Definition of the range of the # of charged above 1GeV | |
201 | Bool_t fNChargedAbove1GeVFlag; // Shows whether this cut is used or not | |
202 | Int_t fNChargedAbove3GeVMin, fNChargedAbove3GeVMax; // Definition of the range of the # of charged above 3GeV | |
203 | Bool_t fNChargedAbove3GeVFlag; // Shows whether this cut is used or not | |
204 | Int_t fNChargedAbove10GeVMin, fNChargedAbove10GeVMax; // Definition of the range of the # of charged above 10GeV | |
205 | Bool_t fNChargedAbove10GeVFlag; // Shows whether this cut is used or not | |
206 | Int_t fNMuonsAbove1GeVMin, fNMuonsAbove1GeVMax; // Definition of the range of the # of muons above 1GeV | |
207 | Bool_t fNMuonsAbove1GeVFlag; // Shows whether this cut is used or not | |
208 | Int_t fNMuonsAbove3GeVMin, fNMuonsAbove3GeVMax; // Definition of the range of the # of muons above 3GeV | |
209 | Bool_t fNMuonsAbove3GeVFlag; // Shows whether this cut is used or not | |
210 | Int_t fNMuonsAbove10GeVMin, fNMuonsAbove10GeVMax; // Definition of the range of the # of muons above 10GeV | |
211 | Bool_t fNMuonsAbove10GeVFlag; // Shows whether this cut is used or not | |
212 | Int_t fNElectronsAbove1GeVMin, fNElectronsAbove1GeVMax; // Definition of the range of the # of electorns above 1GeV | |
213 | Bool_t fNElectronsAbove1GeVFlag; // Shows whether this cut is used or not | |
214 | Int_t fNElectronsAbove3GeVMin, fNElectronsAbove3GeVMax; // Definition of the range of the # of electorns above 3GeV | |
215 | Bool_t fNElectronsAbove3GeVFlag; // Shows whether this cut is used or not | |
216 | Int_t fNElectronsAbove10GeVMin,fNElectronsAbove10GeVMax; // Definition of the range of the # of electorns above 10GeV | |
217 | Bool_t fNElectronsAbove10GeVFlag; // Shows whether this cut is used or not | |
218 | Int_t fNElectronsMin, fNElectronsMax; // # of electrons range | |
219 | Bool_t fNElectronsFlag; // Shows whether this cut is used or not | |
d3893274 | 220 | Int_t fNFWMuonsMin, fNFWMuonsMax; // # of forward muons range |
221 | Bool_t fNFWMuonsFlag; // Shows whether this cut is used or not | |
e21df713 | 222 | Int_t fNFWMatchedMuonsMin, fNFWMatchedMuonsMax; // # of forward matched muons range |
223 | Bool_t fNFWMatchedMuonsFlag; // Shows whether this cut is used or not | |
63fafb59 | 224 | Int_t fNMuonsMin, fNMuonsMax; // # of muons range |
225 | Bool_t fNMuonsFlag; // Shows whether this cut is used or not | |
226 | Int_t fNPionsMin, fNPionsMax; // # of pions range | |
227 | Bool_t fNPionsFlag; // Shows whether this cut is used or not | |
228 | Int_t fNKaonsMin, fNKaonsMax; // # of kaons range | |
229 | Bool_t fNKaonsFlag; // Shows whether this cut is used or not | |
230 | Int_t fNProtonsMin, fNProtonsMax; // # of protons range | |
231 | Bool_t fNProtonsFlag; // Shows whether this cut is used or not | |
232 | Int_t fNLambdasMin, fNLambdasMax; // # of lambdas range | |
233 | Bool_t fNLambdasFlag; // Shows whether this cut is used or not | |
234 | Int_t fNPhotonsMin, fNPhotonsMax; // # of photons range | |
235 | Bool_t fNPhotonFlag; // Shows whether this cut is used or not | |
236 | Int_t fNPi0sMin, fNPi0sMax; // # of Pi0s range | |
237 | Bool_t fNPi0sFlag; // Shows whether this cut is used or not | |
238 | Int_t fNNeutronsMin, fNNeutronsMax; // # of neutrons range | |
239 | Bool_t fNNeutronsFlag; // Shows whether this cut is used or not | |
240 | Int_t fNKaon0sMin, fNKaon0sMax; // # of K0s range | |
241 | Bool_t fNKaon0sFlag; // Shows whether this cut is used or not | |
242 | Float_t fTotalPMin, fTotalPMax; // Range of the sum of the momentum per event | |
243 | Bool_t fTotalPFlag; // Shows whether this cut is used or not | |
244 | Float_t fMeanPtMin, fMeanPtMax; // Range of mean Pt per event | |
245 | Bool_t fMeanPtFlag; // Shows whether this cut is used or not | |
246 | Float_t fTopPtMin; // Max Pt for each event | |
247 | Bool_t fTopPtMinFlag; // Shows whether this cut is used or not | |
248 | Float_t fTotalNeutralPMin, fTotalNeutralPMax; // Sum of the momentum per event for neutral | |
249 | Bool_t fTotalNeutralPFlag; // Shows whether this cut is used or not | |
250 | Float_t fMeanNeutralPtMin, fMeanNeutralPtMax; // Mean Pt per event for neutral | |
251 | Bool_t fMeanNeutralPtFlag; // Shows whether this cut is used or not | |
252 | Float_t fTopNeutralPtMin; // Minimum value for highest Pt for the event for neutral | |
253 | Bool_t fTopNeutralPtMinFlag; // Shows whether this cut is used or not | |
254 | Float_t fEventPlaneAngleMin, fEventPlaneAngleMax; // event plane info | |
255 | Bool_t fEventPlaneAngleFlag; // Shows whether this cut is used or not | |
256 | Float_t fHBTRadiiMin, fHBTRadiiMax; // HBT info | |
257 | Bool_t fHBTRadiiFlag; // Shows whether this cut is used or not | |
c7e89ea3 | 258 | |
7e3c2e04 | 259 | Int_t fNumberOfFiredChipsLayer1Min, fNumberOfFiredChipsLayer1Max; //min/max number of fired chips - layer 1 |
260 | Bool_t fNumberOfFiredChipsLayer1Flag; // Shows whether this cut is used or not | |
261 | Int_t fNumberOfFiredChipsLayer2Min, fNumberOfFiredChipsLayer2Max; //min/max number of fired chips - layer 2 | |
262 | Bool_t fNumberOfFiredChipsLayer2Flag; // Shows whether this cut is used or not | |
263 | Int_t fNumberOfSPDTrackletsMin, fNumberOfSPDTrackletsMax; //min/max number of SPD tracklets | |
264 | Bool_t fNumberOfSPDTrackletsFlag; // Shows whether this cut is used or not | |
265 | ||
04cb11d4 | 266 | Bool_t fFiredTriggerClassFlag; // Shows whether this cut is used or not |
267 | TString fFiredTriggerClass; // Triger class must be present to accept event | |
7e3c2e04 | 268 | |
04cb11d4 | 269 | TString fActiveTriggerClasses; // Trigger classes active for this run |
270 | ||
271 | ClassDef(AliEventTagCuts, 4) | |
7e73fbbd | 272 | }; |
c7e89ea3 | 273 | |
274 | #endif |