Line data Source code
1 : /**************************************************************************
2 : * Author: Panos Christakoglou. *
3 : * Contributors are mentioned in the code where appropriate. *
4 : * *
5 : * Permission to use, copy, modify and distribute this software and its *
6 : * documentation strictly for non-commercial purposes is hereby granted *
7 : * without fee, provided that the above copyright notice appears in all *
8 : * copies and that both the copyright notice and this permission notice *
9 : * appear in the supporting documentation. The authors make no claims *
10 : * about the suitability of this software for any purpose. It is *
11 : * provided "as is" without express or implied warranty. *
12 : **************************************************************************/
13 :
14 : /* $Id$ */
15 :
16 : //-----------------------------------------------------------------
17 : // AliEventTagCuts class
18 : // This is the class to deal with the event tag level cuts
19 : // Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
20 : //-----------------------------------------------------------------
21 :
22 : #include <AliLog.h>
23 : class AliESD;
24 :
25 : #include <TMath.h>
26 : #include "AliEventTag.h"
27 : #include "AliEventTagCuts.h"
28 : #include <TObjArray.h>
29 : #include <TObjString.h>
30 :
31 176 : ClassImp(AliEventTagCuts)
32 :
33 :
34 : //___________________________________________________________________________
35 : AliEventTagCuts::AliEventTagCuts() :
36 0 : TObject(),
37 0 : fPeriodNumberMin(0), fPeriodNumberMax(0xFFFFFFFF), fPeriodNumberFlag(kFALSE),
38 0 : fOrbitNumberMin(0), fOrbitNumberMax(0xFFFFFFFF), fOrbitNumberFlag(kFALSE),
39 0 : fBunchCrossNumberMin(0), fBunchCrossNumberMax(0xFFFF),
40 0 : fBunchCrossNumberFlag(kFALSE),
41 0 : fEventType(7), fEventTypeFlag(kFALSE),
42 0 : fNParticipantsMin(-1), fNParticipantsMax(10000),
43 0 : fNParticipantsFlag(kFALSE),
44 0 : fImpactParamMin(-1.0), fImpactParamMax(1000.0),
45 0 : fImpactParamFlag(kFALSE),
46 0 : fEtaMin(-13.0), fEtaMax(13.0),
47 0 : fEtaFlag(kFALSE),
48 0 : fPhiMin(0.), fPhiMax(2*(TMath::Pi())),
49 0 : fPhiFlag(kFALSE),
50 0 : fVxMin(-1000.0), fVxMax(1000.0),
51 0 : fVxFlag(kFALSE),
52 0 : fVyMin(-1000.0), fVyMax(1000.0),
53 0 : fVyFlag(kFALSE),
54 0 : fVzMin(-1000.0), fVzMax(1000.0),
55 0 : fVzFlag(kFALSE),
56 0 : fPrimaryVertexFlag(1),
57 0 : fPVFlag(kFALSE),
58 :
59 0 : fPrimaryVertexZErrorMin(-10000.), fPrimaryVertexZErrorMax(10000.),
60 0 : fPVzErrorFlag(kFALSE),
61 0 : fTriggerMask(0),
62 0 : fTriggerMaskFlag(kFALSE),
63 0 : fTriggerCluster(0),
64 0 : fTriggerClusterFlag(kFALSE),
65 :
66 0 : fZDCNeutron1EnergyMin(-1.0), fZDCNeutron1EnergyMax(100000.0),
67 0 : fZDCNeutron1EnergyFlag(kFALSE),
68 0 : fZDCProton1EnergyMin(-1.0), fZDCProton1EnergyMax(100000.0),
69 0 : fZDCProton1EnergyFlag(kFALSE),
70 0 : fZDCNeutron2EnergyMin(-1.0), fZDCNeutron2EnergyMax(100000.0),
71 0 : fZDCNeutron2EnergyFlag(kFALSE),
72 0 : fZDCProton2EnergyMin(-1.0), fZDCProton2EnergyMax(100000.0),
73 0 : fZDCProton2EnergyFlag(kFALSE),
74 0 : fZDCEMEnergyMin(-1.0), fZDCEMEnergyMax(100000.0),
75 0 : fZDCEMEnergyFlag(kFALSE),
76 0 : fT0VertexZMin(-10000.0), fT0VertexZMax(10000.0),
77 0 : fT0VertexZFlag(kFALSE),
78 0 : fMultMin(0), fMultMax(100000),
79 0 : fMultFlag(kFALSE),
80 0 : fPosMultMin(-1), fPosMultMax(100000),
81 0 : fPosMultFlag(kFALSE),
82 0 : fNegMultMin(-1), fNegMultMax(100000),
83 0 : fNegMultFlag(kFALSE),
84 0 : fNeutrMultMin(-1), fNeutrMultMax(100000),
85 0 : fNeutrMultFlag(kFALSE),
86 0 : fNV0sMin(-1), fNV0sMax(1000000),
87 0 : fNV0sFlag(kFALSE),
88 0 : fNCascadesMin(-1), fNCascadesMax(100000),
89 0 : fNCascadesFlag(kFALSE),
90 0 : fNKinksMin(-1), fNKinksMax(1000000),
91 0 : fNKinksFlag(kFALSE),
92 :
93 0 : fNPMDTracksMin(-1), fNPMDTracksMax(100000),
94 0 : fNPMDTracksFlag(kFALSE),
95 0 : fNFMDTracksMin(-1), fNFMDTracksMax(100000),
96 0 : fNFMDTracksFlag(kFALSE),
97 0 : fNPHOSClustersMin(-1), fNPHOSClustersMax(100000),
98 0 : fNPHOSClustersFlag(kFALSE),
99 0 : fNEMCALClustersMin(-1), fNEMCALClustersMax(100000),
100 0 : fNEMCALClustersFlag(kFALSE),
101 0 : fNJetCandidatesMin(-1), fNJetCandidatesMax(100000),
102 0 : fNJetCandidatesFlag(kFALSE),
103 :
104 0 : fTopJetEnergyMin(-1.0),
105 0 : fTopJetEnergyMinFlag(kFALSE),
106 0 : fTopNeutralEnergyMin(-1.0),
107 0 : fTopNeutralEnergyMinFlag(kFALSE),
108 0 : fNHardPhotonCandidatesMin(-1), fNHardPhotonCandidatesMax(100000),
109 0 : fNHardPhotonCandidatesFlag(kFALSE),
110 0 : fNChargedAbove1GeVMin(-1), fNChargedAbove1GeVMax(100000),
111 0 : fNChargedAbove1GeVFlag(kFALSE),
112 0 : fNChargedAbove3GeVMin(-1), fNChargedAbove3GeVMax(100000),
113 0 : fNChargedAbove3GeVFlag(kFALSE),
114 0 : fNChargedAbove10GeVMin(-1), fNChargedAbove10GeVMax(100000),
115 0 : fNChargedAbove10GeVFlag(kFALSE),
116 0 : fNMuonsAbove1GeVMin(-1), fNMuonsAbove1GeVMax(100000),
117 0 : fNMuonsAbove1GeVFlag(kFALSE),
118 0 : fNMuonsAbove3GeVMin(-1), fNMuonsAbove3GeVMax(100000),
119 0 : fNMuonsAbove3GeVFlag(kFALSE),
120 0 : fNMuonsAbove10GeVMin(-1), fNMuonsAbove10GeVMax(100000),
121 0 : fNMuonsAbove10GeVFlag(kFALSE),
122 0 : fNElectronsAbove1GeVMin(-1), fNElectronsAbove1GeVMax(100000),
123 0 : fNElectronsAbove1GeVFlag(kFALSE),
124 0 : fNElectronsAbove3GeVMin(-1), fNElectronsAbove3GeVMax(100000),
125 0 : fNElectronsAbove3GeVFlag(kFALSE),
126 0 : fNElectronsAbove10GeVMin(-1), fNElectronsAbove10GeVMax(100000),
127 0 : fNElectronsAbove10GeVFlag(kFALSE),
128 0 : fNElectronsMin(-1), fNElectronsMax(100000),
129 0 : fNElectronsFlag(kFALSE),
130 0 : fNFWMuonsMin(-1), fNFWMuonsMax(100000),
131 0 : fNFWMuonsFlag(kFALSE),
132 0 : fNFWMatchedMuonsMin(-1), fNFWMatchedMuonsMax(100000),
133 0 : fNFWMatchedMuonsFlag(kFALSE),
134 0 : fNMuonsMin(-1), fNMuonsMax(100000),
135 0 : fNMuonsFlag(kFALSE),
136 0 : fNPionsMin(-1), fNPionsMax(100000),
137 0 : fNPionsFlag(kFALSE),
138 0 : fNKaonsMin(-1), fNKaonsMax(100000),
139 0 : fNKaonsFlag(kFALSE),
140 0 : fNProtonsMin(-1), fNProtonsMax(100000),
141 0 : fNProtonsFlag(kFALSE),
142 0 : fNLambdasMin(-1), fNLambdasMax(100000),
143 0 : fNLambdasFlag(kFALSE),
144 0 : fNPhotonsMin(-1), fNPhotonsMax(100000),
145 0 : fNPhotonFlag(kFALSE),
146 0 : fNPi0sMin(-1), fNPi0sMax(100000),
147 0 : fNPi0sFlag(kFALSE),
148 0 : fNNeutronsMin(-1), fNNeutronsMax(100000),
149 0 : fNNeutronsFlag(kFALSE),
150 0 : fNKaon0sMin(-1), fNKaon0sMax(100000),
151 0 : fNKaon0sFlag(kFALSE),
152 0 : fTotalPMin(-1.0), fTotalPMax(1000000.0),
153 0 : fTotalPFlag(kFALSE),
154 0 : fMeanPtMin(-1.0), fMeanPtMax(100000.0),
155 0 : fMeanPtFlag(kFALSE),
156 0 : fTopPtMin(-1.0),
157 0 : fTopPtMinFlag(kFALSE),
158 0 : fTotalNeutralPMin(-1.0), fTotalNeutralPMax(1000000.0),
159 0 : fTotalNeutralPFlag(kFALSE),
160 0 : fMeanNeutralPtMin(-1.0), fMeanNeutralPtMax(1000000.0),
161 0 : fMeanNeutralPtFlag(kFALSE),
162 0 : fTopNeutralPtMin(-1.0),
163 0 : fTopNeutralPtMinFlag(kFALSE),
164 0 : fEventPlaneAngleMin(-10000000.0), fEventPlaneAngleMax(10000000.0),
165 0 : fEventPlaneAngleFlag(kFALSE),
166 0 : fHBTRadiiMin(-1.0), fHBTRadiiMax(100000.0),
167 0 : fHBTRadiiFlag(kFALSE),
168 :
169 0 : fNumberOfFiredChipsLayer1Min(0), fNumberOfFiredChipsLayer1Max(100000),
170 0 : fNumberOfFiredChipsLayer1Flag(kFALSE),
171 0 : fNumberOfFiredChipsLayer2Min(0), fNumberOfFiredChipsLayer2Max(100000),
172 0 : fNumberOfFiredChipsLayer2Flag(kFALSE),
173 0 : fNumberOfSPDTrackletsMin(0), fNumberOfSPDTrackletsMax(100000),
174 0 : fNumberOfSPDTrackletsFlag(kFALSE),
175 :
176 0 : fFiredTriggerClassFlag(kFALSE), fFiredTriggerClass(""),
177 0 : fActiveTriggerClasses("")
178 0 : {
179 : //Default constructor which calls the Reset method.
180 0 : Reset();
181 0 : }
182 :
183 : //___________________________________________________________________________
184 0 : AliEventTagCuts::~AliEventTagCuts() {
185 : //Defaut destructor.
186 0 : }
187 :
188 : //___________________________________________________________________________
189 : void AliEventTagCuts::Reset() {
190 : //Sets dummy values to every private member.
191 0 : fPeriodNumberFlag = kFALSE;
192 0 : fOrbitNumberFlag = kFALSE;
193 0 : fBunchCrossNumberFlag = kFALSE;
194 :
195 0 : fEventTypeFlag = kFALSE;
196 :
197 0 : fNParticipantsFlag = kFALSE;
198 0 : fImpactParamFlag = kFALSE;
199 :
200 0 : fEtaFlag = kFALSE;
201 0 : fPhiFlag = kFALSE;
202 0 : fVxFlag = kFALSE;
203 0 : fVyFlag = kFALSE;
204 0 : fVzFlag = kFALSE;
205 0 : fPVFlag = kFALSE;
206 0 : fPVzErrorFlag = kFALSE;
207 :
208 0 : fTriggerMaskFlag = kFALSE;
209 0 : fTriggerClusterFlag = kFALSE;
210 :
211 0 : fZDCNeutron1EnergyFlag = kFALSE;
212 0 : fZDCProton1EnergyFlag = kFALSE;
213 0 : fZDCNeutron2EnergyFlag = kFALSE;
214 0 : fZDCProton2EnergyFlag = kFALSE;
215 0 : fZDCEMEnergyFlag = kFALSE;
216 0 : fT0VertexZFlag = kFALSE;
217 0 : fMultFlag = kFALSE;
218 0 : fPosMultFlag = kFALSE;
219 0 : fNegMultFlag = kFALSE;
220 0 : fNeutrMultFlag = kFALSE;
221 0 : fNV0sFlag = kFALSE;
222 0 : fNCascadesFlag = kFALSE;
223 0 : fNKinksFlag = kFALSE;
224 :
225 0 : fNPMDTracksFlag = kFALSE;
226 0 : fNFMDTracksFlag = kFALSE;
227 0 : fNPHOSClustersFlag = kFALSE;
228 0 : fNEMCALClustersFlag = kFALSE;
229 0 : fNJetCandidatesFlag = kFALSE;
230 :
231 0 : fTopJetEnergyMinFlag = kFALSE;
232 0 : fNHardPhotonCandidatesFlag = kFALSE;
233 0 : fTopNeutralEnergyMinFlag = kFALSE;
234 0 : fNChargedAbove1GeVFlag = kFALSE;
235 0 : fNChargedAbove3GeVFlag = kFALSE;
236 0 : fNChargedAbove10GeVFlag = kFALSE;
237 0 : fNMuonsAbove1GeVFlag = kFALSE;
238 0 : fNMuonsAbove3GeVFlag = kFALSE;
239 0 : fNMuonsAbove10GeVFlag = kFALSE;
240 0 : fNElectronsAbove1GeVFlag = kFALSE;
241 0 : fNElectronsAbove3GeVFlag = kFALSE;
242 0 : fNElectronsAbove10GeVFlag = kFALSE;
243 0 : fNElectronsFlag = kFALSE;
244 0 : fNFWMuonsFlag = kFALSE;
245 0 : fNFWMatchedMuonsFlag = kFALSE;
246 0 : fNMuonsFlag = kFALSE;
247 0 : fNPionsFlag = kFALSE;
248 0 : fNKaonsFlag = kFALSE;
249 0 : fNProtonsFlag = kFALSE;
250 0 : fNLambdasFlag = kFALSE;
251 0 : fNPhotonFlag = kFALSE;
252 0 : fNPi0sFlag = kFALSE;
253 0 : fNNeutronsFlag = kFALSE;
254 0 : fNKaon0sFlag = kFALSE;
255 0 : fTotalPFlag = kFALSE;
256 0 : fMeanPtFlag = kFALSE;
257 0 : fTopPtMinFlag = kFALSE;
258 0 : fTotalNeutralPFlag = kFALSE;
259 0 : fMeanNeutralPtFlag = kFALSE;
260 0 : fTopNeutralPtMinFlag = kFALSE;
261 0 : fEventPlaneAngleFlag = kFALSE;
262 0 : fHBTRadiiFlag = kFALSE;
263 :
264 0 : fNumberOfFiredChipsLayer1Flag = kFALSE;
265 0 : fNumberOfFiredChipsLayer2Flag = kFALSE;
266 0 : fNumberOfSPDTrackletsFlag = kFALSE;
267 :
268 0 : fPeriodNumberMin = 0, fPeriodNumberMax = 0xFFFFFFFF;
269 0 : fOrbitNumberMin = 0, fOrbitNumberMax = 0xFFFFFFFF;
270 0 : fBunchCrossNumberMin = 0, fBunchCrossNumberMax = 0xFFFF;
271 :
272 0 : fEventType = 7;
273 :
274 0 : fEtaMin = -13.0; fEtaMax = 13.0;
275 0 : fPhiMin = 0.; fPhiMax = 2*(TMath::Pi());
276 0 : fVxMin = -1000.0; fVxMax = 1000.0;
277 0 : fVyMin = -1000.0; fVyMax = 1000.0;
278 0 : fVzMin = -1000.0; fVzMax = 1000.0;
279 0 : fNParticipantsMin = -1; fNParticipantsMax = 10000;
280 0 : fImpactParamMin = -1.0; fImpactParamMax = 1000.0;
281 0 : fPrimaryVertexFlag = 1;
282 :
283 0 : fPrimaryVertexZErrorMin = -10000.; fPrimaryVertexZErrorMax = 10000.;
284 0 : fTriggerMask = 0;
285 0 : fTriggerCluster = 0;
286 :
287 0 : fZDCNeutron1EnergyMin = -1.0; fZDCNeutron1EnergyMax = 100000.0;
288 0 : fZDCProton1EnergyMin = -1.0; fZDCProton1EnergyMax = 100000.0;
289 0 : fZDCNeutron2EnergyMin = -1.0; fZDCNeutron2EnergyMax = 100000.0;
290 0 : fZDCProton2EnergyMin = -1.0; fZDCProton2EnergyMax = 100000.0;
291 0 : fZDCEMEnergyMin = -1.0; fZDCEMEnergyMax = 100000.0;
292 0 : fT0VertexZMin = -10000.0; fT0VertexZMax = 10000.0;
293 0 : fMultMin = 0; fMultMax = 100000;
294 0 : fPosMultMin = -1; fPosMultMax = 100000;
295 0 : fNegMultMin = -1; fNegMultMax = 100000;
296 0 : fNeutrMultMin = -1; fNeutrMultMax = 100000;
297 0 : fNV0sMin = -1; fNV0sMax = 1000000;
298 0 : fNCascadesMin = -1; fNCascadesMax = 100000;
299 0 : fNKinksMin = -1; fNKinksMax = 1000000;
300 :
301 0 : fNPMDTracksMin = -1, fNPMDTracksMax = 100000;
302 0 : fNFMDTracksMin = -1, fNFMDTracksMax = 100000;
303 0 : fNPHOSClustersMin = -1, fNPHOSClustersMax = 100000;
304 0 : fNEMCALClustersMin = -1, fNEMCALClustersMax = 100000;
305 0 : fNJetCandidatesMin = -1, fNJetCandidatesMax = 100000;
306 :
307 0 : fTopJetEnergyMin = -1.0;
308 0 : fNHardPhotonCandidatesMin = -1; fNHardPhotonCandidatesMax = 100000;
309 0 : fTopNeutralEnergyMin = -1.0;
310 0 : fNChargedAbove1GeVMin = -1; fNChargedAbove1GeVMax = 100000;
311 0 : fNChargedAbove3GeVMin = -1; fNChargedAbove3GeVMax = 100000;
312 0 : fNChargedAbove10GeVMin = -1; fNChargedAbove10GeVMax = 100000;
313 0 : fNMuonsAbove1GeVMin = -1; fNMuonsAbove1GeVMax = 100000;
314 0 : fNMuonsAbove3GeVMin = -1; fNMuonsAbove3GeVMax = 100000;
315 0 : fNMuonsAbove10GeVMin = -1; fNMuonsAbove10GeVMax = 100000;
316 0 : fNElectronsAbove1GeVMin = -1; fNElectronsAbove1GeVMax = 100000;
317 0 : fNElectronsAbove3GeVMin = -1; fNElectronsAbove3GeVMax = 100000;
318 0 : fNElectronsAbove10GeVMin = -1; fNElectronsAbove10GeVMax = 100000;
319 0 : fNElectronsMin = -1; fNElectronsMax = 100000;
320 0 : fNFWMuonsMin = -1; fNFWMuonsMax = 100000;
321 0 : fNFWMatchedMuonsMin = -1; fNFWMatchedMuonsMax = 100000;
322 0 : fNMuonsMin = -1; fNMuonsMax = 100000;
323 0 : fNPionsMin = -1; fNPionsMax = 100000;
324 0 : fNKaonsMin = -1; fNKaonsMax = 100000;
325 0 : fNProtonsMin = -1; fNProtonsMax = 100000;
326 0 : fNLambdasMin = -1; fNLambdasMax = 100000;
327 0 : fNPhotonsMin = -1; fNPhotonsMax = 100000;
328 0 : fNPi0sMin = -1; fNPi0sMax = 100000;
329 0 : fNNeutronsMin = -1; fNNeutronsMax = 100000;
330 0 : fNKaon0sMin = -1; fNKaon0sMax = 100000;
331 0 : fTotalPMin = -1.0; fTotalPMax = 1000000.0;
332 0 : fMeanPtMin = -1.0; fMeanPtMax = 100000.0;
333 0 : fTopPtMin = -1.0; fTotalNeutralPMin = -1.0;
334 0 : fTotalNeutralPMax = 1000000.0;
335 0 : fMeanNeutralPtMin = -1.0; fMeanNeutralPtMax = 1000000.0;
336 0 : fTopNeutralPtMin = -1.0;
337 0 : fEventPlaneAngleMin = -10000000.0; fEventPlaneAngleMax = 10000000.0;
338 0 : fHBTRadiiMin = -1.0; fHBTRadiiMax = 100000.0;
339 :
340 0 : fNumberOfFiredChipsLayer1Min = 0, fNumberOfFiredChipsLayer1Max = 100000;
341 0 : fNumberOfFiredChipsLayer2Min = 0, fNumberOfFiredChipsLayer2Max = 100000;
342 0 : fNumberOfSPDTrackletsMin = 0, fNumberOfSPDTrackletsMax = 100000;
343 :
344 0 : fFiredTriggerClass = "";
345 0 : fFiredTriggerClassFlag = kFALSE;
346 0 : }
347 :
348 : //___________________________________________________________________________
349 : void AliEventTagCuts::SetEventType(UInt_t ntype) {
350 : //Sets the event type
351 : //and the corresponding flag to kTRUE if the cut is used.
352 0 : fEventType = ntype;
353 0 : fEventTypeFlag = kTRUE;
354 0 : }
355 :
356 : //___________________________________________________________________________
357 : void AliEventTagCuts::SetNumberOfFiredChipsLayer1Range(Int_t low, Int_t high) {
358 : //Sets the range for the number of fired chips of layer 1
359 : //and the corresponding flag to kTRUE if the cut is used.
360 0 : fNumberOfFiredChipsLayer1Min = low;
361 0 : fNumberOfFiredChipsLayer1Max = high;
362 0 : fNumberOfFiredChipsLayer1Flag = kTRUE;
363 0 : }
364 :
365 : //___________________________________________________________________________
366 : void AliEventTagCuts::SetNumberOfFiredChipsLayer2Range(Int_t low, Int_t high) {
367 : //Sets the range for the number of fired chips of layer 2
368 : //and the corresponding flag to kTRUE if the cut is used.
369 0 : fNumberOfFiredChipsLayer2Min = low;
370 0 : fNumberOfFiredChipsLayer2Max = high;
371 0 : fNumberOfFiredChipsLayer2Flag = kTRUE;
372 0 : }
373 :
374 : //___________________________________________________________________________
375 : void AliEventTagCuts::SetNumberOfSPDTrackletsRange(Int_t low, Int_t high) {
376 : //Sets the range for the number of fired chips of layer 1
377 : //and the corresponding flag to kTRUE if the cut is used.
378 0 : fNumberOfSPDTrackletsMin = low;
379 0 : fNumberOfSPDTrackletsMax = high;
380 0 : fNumberOfSPDTrackletsFlag = kTRUE;
381 0 : }
382 :
383 : //___________________________________________________________________________
384 : void AliEventTagCuts::SetPeriodNumberRange(UInt_t low, UInt_t high) {
385 : //Sets the period number range
386 : //and the corresponding flag to kTRUE if the cut is used.
387 0 : fPeriodNumberMin = low;
388 0 : fPeriodNumberMax = high;
389 0 : fPeriodNumberFlag = kTRUE;
390 0 : }
391 :
392 : //___________________________________________________________________________
393 : void AliEventTagCuts::SetOrbitNumberRange(UInt_t low, UInt_t high) {
394 : //Sets the orbit number range
395 : //and the corresponding flag to kTRUE if the cut is used.
396 0 : fOrbitNumberMin = low;
397 0 : fOrbitNumberMax = high;
398 0 : fOrbitNumberFlag = kTRUE;
399 0 : }
400 :
401 : //___________________________________________________________________________
402 : void AliEventTagCuts::SetBunchCrossNumberRange(UShort_t low, UShort_t high) {
403 : //Sets the BC number range
404 : //and the corresponding flag to kTRUE if the cut is used.
405 0 : fBunchCrossNumberMin = low;
406 0 : fBunchCrossNumberMax = high;
407 0 : fBunchCrossNumberFlag = kTRUE;
408 0 : }
409 :
410 : //___________________________________________________________________________
411 : void AliEventTagCuts::SetPrimaryVertexXRange(Float_t low, Float_t high) {
412 : //Sets the primary vertex x range
413 : //and the corresponding flag to kTRUE if the cut is used.
414 0 : fVxMin = low;
415 0 : fVxMax = high;
416 0 : fVxFlag = kTRUE;
417 0 : }
418 :
419 : //___________________________________________________________________________
420 : void AliEventTagCuts::SetPrimaryVertexYRange(Float_t low, Float_t high) {
421 : //Sets the primary vertex y range
422 : //and the corresponding flag to kTRUE if the cut is used.
423 0 : fVyMin = low;
424 0 : fVyMax = high;
425 0 : fVyFlag = kTRUE;
426 0 : }
427 :
428 : //___________________________________________________________________________
429 : void AliEventTagCuts::SetPrimaryVertexZRange(Float_t low, Float_t high) {
430 : //Sets the primary vertex z range
431 : //and the corresponding flag to kTRUE if the cut is used.
432 0 : fVzMin = low;
433 0 : fVzMax = high;
434 0 : fVzFlag = kTRUE;
435 0 : }
436 :
437 : //___________________________________________________________________________
438 : void AliEventTagCuts::SetEtaLeadingParticleRange(Float_t low, Float_t high) {
439 : //Sets the eta range of LP
440 : //and the corresponding flag to kTRUE if the cut is used.
441 0 : fEtaMin = low;
442 0 : fEtaMax = high;
443 0 : fEtaFlag = kTRUE;
444 0 : }
445 : //__________________________________________________________________________
446 : void AliEventTagCuts::SetPhiLeadingParticleRange(Float_t low, Float_t high) {
447 : //Sets the eta range of LP
448 : //and the corresponding flag to kTRUE if the cut is used.
449 0 : fPhiMin = low;
450 0 : fPhiMax = high;
451 0 : fPhiFlag = kTRUE;
452 0 : }
453 :
454 : //___________________________________________________________________________
455 : void AliEventTagCuts::SetPrimaryVertexZErrorRange(Float_t low, Float_t high) {
456 : //Sets the primary vertex z error range
457 : //and the corresponding flag to kTRUE if the cut is used.
458 0 : fPrimaryVertexZErrorMin = low;
459 0 : fPrimaryVertexZErrorMax = high;
460 0 : fPVzErrorFlag = kTRUE;
461 0 : }
462 :
463 : //___________________________________________________________________________
464 : void AliEventTagCuts::SetTriggerMask(ULong64_t trmask) {
465 : //Sets the trigger mask
466 : //and the corresponding flag to kTRUE if the cut is used.
467 0 : fTriggerMask = trmask;
468 0 : fTriggerMaskFlag = kTRUE;
469 0 : }
470 :
471 : //___________________________________________________________________________
472 : void AliEventTagCuts::SetTriggerCluster(UChar_t trcluster) {
473 : //Sets the trigger cluster
474 : //and the corresponding flag to kTRUE if the cut is used.
475 0 : fTriggerCluster = trcluster;
476 0 : fTriggerClusterFlag = kTRUE;
477 0 : }
478 :
479 : //___________________________________________________________________________
480 : void AliEventTagCuts::SetMultiplicityRange(Int_t low, Int_t high) {
481 : //Sets the primary multiplicity range
482 : //and the corresponding flag to kTRUE if the cut is used.
483 0 : fMultMin = low;
484 0 : fMultMax = high;
485 0 : fMultFlag = kTRUE;
486 0 : }
487 :
488 : //___________________________________________________________________________
489 : void AliEventTagCuts::SetNParticipantsRange(Int_t low, Int_t high) {
490 : //Sets the number of participants range
491 : //and the corresponding flag to kTRUE if the cut is used.
492 0 : fNParticipantsMin = low;
493 0 : fNParticipantsMax = high;
494 0 : fNParticipantsFlag = kTRUE;
495 0 : }
496 :
497 : //___________________________________________________________________________
498 : void AliEventTagCuts::SetImpactParamRange(Float_t low, Float_t high) {
499 : //Sets the impact parameter range
500 : //and the corresponding flag to kTRUE if the cut is used.
501 0 : fImpactParamMin = low;
502 0 : fImpactParamMax = high;
503 0 : fImpactParamFlag = kTRUE;
504 0 : }
505 :
506 :
507 : //___________________________________________________________________________
508 : void AliEventTagCuts::SetPrimaryVertexFlag(Int_t flag) {
509 : //Sets the primary vertex flag cut
510 : //and the corresponding flag to kTRUE if the cut is used.
511 0 : fPrimaryVertexFlag = flag;
512 0 : fPVFlag = kTRUE;
513 0 : }
514 :
515 : //___________________________________________________________________________
516 : void AliEventTagCuts::SetZDCNeutron1Range(Float_t low, Float_t high) {
517 : //Sets the ZDC's neutron energy range
518 : //and the corresponding flag to kTRUE if the cut is used.
519 0 : fZDCNeutron1EnergyMin = low;
520 0 : fZDCNeutron1EnergyMax = high;
521 0 : fZDCNeutron1EnergyFlag = kTRUE;
522 0 : }
523 :
524 : //___________________________________________________________________________
525 : void AliEventTagCuts::SetZDCProton1Range(Float_t low, Float_t high) {
526 : //Sets the ZDC's proton energy range
527 : //and the corresponding flag to kTRUE if the cut is used.
528 0 : fZDCProton1EnergyMin = low;
529 0 : fZDCProton1EnergyMax = high;
530 0 : fZDCProton1EnergyFlag = kTRUE;
531 0 : }
532 : //___________________________________________________________________________
533 : void AliEventTagCuts::SetZDCNeutron2Range(Float_t low, Float_t high) {
534 : //Sets the ZDC's neutron energy range
535 : //and the corresponding flag to kTRUE if the cut is used.
536 0 : fZDCNeutron2EnergyMin = low;
537 0 : fZDCNeutron2EnergyMax = high;
538 0 : fZDCNeutron2EnergyFlag = kTRUE;
539 0 : }
540 : //___________________________________________________________________________
541 : void AliEventTagCuts::SetZDCProton2Range(Float_t low, Float_t high) {
542 : //Sets the ZDC's proton energy range
543 : //and the corresponding flag to kTRUE if the cut is used.
544 0 : fZDCProton2EnergyMin = low;
545 0 : fZDCProton2EnergyMax = high;
546 0 : fZDCProton2EnergyFlag = kTRUE;
547 0 : }
548 : //___________________________________________________________________________
549 : void AliEventTagCuts::SetZDCEMRange(Float_t low, Float_t high) {
550 : //Sets the ZDC's em energy range
551 : //and the corresponding flag to kTRUE if the cut is used.
552 0 : fZDCEMEnergyMin = low;
553 0 : fZDCEMEnergyMax = high;
554 0 : fZDCEMEnergyFlag = kTRUE;
555 0 : }
556 :
557 : //___________________________________________________________________________
558 : void AliEventTagCuts::SetT0VertexZRange(Float_t low, Float_t high) {
559 : //Sets the T0's Vz range
560 : //and the corresponding flag to kTRUE if the cut is used.
561 0 : fT0VertexZMin = low;
562 0 : fT0VertexZMax = high;
563 0 : fT0VertexZFlag = kTRUE;
564 0 : }
565 :
566 : //___________________________________________________________________________
567 : void AliEventTagCuts::SetPosMultiplicityRange(Int_t low, Int_t high) {
568 : //Sets the positive multiplicity range
569 : //and the corresponding flag to kTRUE if the cut is used.
570 0 : fPosMultMin = low;
571 0 : fPosMultMax = high;
572 0 : fPosMultFlag = kTRUE;
573 0 : }
574 :
575 :
576 : //___________________________________________________________________________
577 : void AliEventTagCuts::SetNegMultiplicityRange(Int_t low, Int_t high) {
578 : //Sets the negative multiplicity range
579 : //and the corresponding flag to kTRUE if the cut is used.
580 0 : fNegMultMin = low;
581 0 : fNegMultMax = high;
582 0 : fNegMultFlag = kTRUE;
583 0 : }
584 :
585 :
586 : //___________________________________________________________________________
587 : void AliEventTagCuts::SetNeutrMultiplicityRange(Int_t low, Int_t high) {
588 : //Sets the neutral particle multiplicity range
589 : //and the corresponding flag to kTRUE if the cut is used.
590 0 : fNeutrMultMin = low;
591 0 : fNeutrMultMax = high;
592 0 : fNeutrMultFlag = kTRUE;
593 0 : }
594 :
595 : //___________________________________________________________________________
596 : void AliEventTagCuts::SetNV0sRange(Int_t low, Int_t high) {
597 : //Sets the v0s multiplicity range
598 : //and the corresponding flag to kTRUE if the cut is used.
599 0 : fNV0sMin = low;
600 0 : fNV0sMax = high;
601 0 : fNV0sFlag = kTRUE;
602 0 : }
603 :
604 : //___________________________________________________________________________
605 : void AliEventTagCuts::SetNCascadesRange(Int_t low, Int_t high) {
606 : //Sets the cascades multiplicity range
607 : //and the corresponding flag to kTRUE if the cut is used.
608 0 : fNCascadesMin = low;
609 0 : fNCascadesMax = high;
610 0 : fNCascadesFlag = kTRUE;
611 0 : }
612 :
613 : //___________________________________________________________________________
614 : void AliEventTagCuts::SetNKinksRange(Int_t low, Int_t high) {
615 : //Sets the kinks multiplicity range
616 : //and the corresponding flag to kTRUE if the cut is used.
617 0 : fNKinksMin = low;
618 0 : fNKinksMax = high;
619 0 : fNKinksFlag = kTRUE;
620 0 : }
621 :
622 : //___________________________________________________________________________
623 : void AliEventTagCuts::SetNPMDTracksRange(Int_t low, Int_t high) {
624 : //Sets the number of PMD tracks range
625 : //and the corresponding flag to kTRUE if the cut is used.
626 0 : fNPMDTracksMin = low;
627 0 : fNPMDTracksMax = high;
628 0 : fNPMDTracksFlag = kTRUE;
629 0 : }
630 :
631 : //___________________________________________________________________________
632 : void AliEventTagCuts::SetNFMDTracksRange(Int_t low, Int_t high) {
633 : //Sets the number of FMD tracks range
634 : //and the corresponding flag to kTRUE if the cut is used.
635 0 : fNFMDTracksMin = low;
636 0 : fNFMDTracksMax = high;
637 0 : fNFMDTracksFlag = kTRUE;
638 0 : }
639 :
640 : //___________________________________________________________________________
641 : void AliEventTagCuts::SetNPHOSClustersRange(Int_t low, Int_t high) {
642 : //Sets the number of PHOS clusters range
643 : //and the corresponding flag to kTRUE if the cut is used.
644 0 : fNPHOSClustersMin = low;
645 0 : fNPHOSClustersMax = high;
646 0 : fNPHOSClustersFlag = kTRUE;
647 0 : }
648 :
649 : //___________________________________________________________________________
650 : void AliEventTagCuts::SetNEMCALClustersRange(Int_t low, Int_t high) {
651 : //Sets the number of EMCAL clusters range
652 : //and the corresponding flag to kTRUE if the cut is used.
653 0 : fNEMCALClustersMin = low;
654 0 : fNEMCALClustersMax = high;
655 0 : fNEMCALClustersFlag = kTRUE;
656 0 : }
657 :
658 : //___________________________________________________________________________
659 : void AliEventTagCuts::SetNJetCandidatesRange(Int_t low, Int_t high) {
660 : //Sets the number of jet candidates range
661 : //and the corresponding flag to kTRUE if the cut is used.
662 0 : fNJetCandidatesMin = low;
663 0 : fNJetCandidatesMax = high;
664 0 : fNJetCandidatesFlag = kTRUE;
665 0 : }
666 :
667 : //___________________________________________________________________________
668 : void AliEventTagCuts::SetTopJetEnergyMin(Float_t low) {
669 : //Sets the lower limit of the maximum jet energy
670 : //and the corresponding flag to kTRUE if the cut is used.
671 0 : fTopJetEnergyMin = low;
672 0 : fTopJetEnergyMinFlag = kTRUE;
673 0 : }
674 : //___________________________________________________________________________
675 : void AliEventTagCuts::SetTopNeutralEnergyMin(Float_t low) {
676 : //Sets the lower limit of the maximum neutral jet energy
677 : //and the corresponding flag to kTRUE if the cut is used.
678 0 : fTopNeutralEnergyMin = low;
679 0 : fTopNeutralEnergyMinFlag = kTRUE;
680 0 : }
681 : //___________________________________________________________________________
682 : void AliEventTagCuts::SetNHardPhotonsRange(Int_t low, Int_t high) {
683 : //Sets the hard photons multiplicity range
684 : //and the corresponding flag to kTRUE if the cut is used.
685 0 : fNHardPhotonCandidatesMin = low;
686 0 : fNHardPhotonCandidatesMax = high;
687 0 : fNHardPhotonCandidatesFlag = kTRUE;
688 0 : }
689 :
690 : //___________________________________________________________________________
691 : void AliEventTagCuts::SetNChargedAbove1GeVRange(Int_t low, Int_t high) {
692 : //Sets the number of charged above 1GeV range
693 : //and the corresponding flag to kTRUE if the cut is used.
694 0 : fNChargedAbove1GeVMin = low;
695 0 : fNChargedAbove1GeVMax = high;
696 0 : fNChargedAbove1GeVFlag = kTRUE;
697 0 : }
698 :
699 : //___________________________________________________________________________
700 : void AliEventTagCuts::SetNChargedAbove3GeVRange(Int_t low, Int_t high) {
701 : //Sets the number of charged above 3GeV range
702 : //and the corresponding flag to kTRUE if the cut is used.
703 0 : fNChargedAbove3GeVMin = low;
704 0 : fNChargedAbove3GeVMax = high;
705 0 : fNChargedAbove3GeVFlag = kTRUE;
706 0 : }
707 :
708 :
709 : //___________________________________________________________________________
710 : void AliEventTagCuts::SetNChargedAbove10GeVRange(Int_t low, Int_t high) {
711 : //Sets the number of charged above 10GeV range
712 : //and the corresponding flag to kTRUE if the cut is used.
713 0 : fNChargedAbove10GeVMin = low;
714 0 : fNChargedAbove10GeVMax = high;
715 0 : fNChargedAbove10GeVFlag = kTRUE;
716 0 : }
717 :
718 :
719 : //___________________________________________________________________________
720 : void AliEventTagCuts::SetNMuonsAbove1GeVRange(Int_t low, Int_t high) {
721 : //Sets the number of muons above 1GeV range
722 : //and the corresponding flag to kTRUE if the cut is used.
723 0 : fNMuonsAbove1GeVMin = low;
724 0 : fNMuonsAbove1GeVMax = high;
725 0 : fNMuonsAbove1GeVFlag = kTRUE;
726 0 : }
727 :
728 :
729 : //___________________________________________________________________________
730 : void AliEventTagCuts::SetNMuonsAbove3GeVRange(Int_t low, Int_t high) {
731 : //Sets the number of muons above 3GeV range
732 : //and the corresponding flag to kTRUE if the cut is used.
733 0 : fNMuonsAbove3GeVMin = low;
734 0 : fNMuonsAbove3GeVMax = high;
735 0 : fNMuonsAbove3GeVFlag = kTRUE;
736 0 : }
737 :
738 : //___________________________________________________________________________
739 : void AliEventTagCuts::SetNMuonsAbove10GeVRange(Int_t low, Int_t high) {
740 : //Sets the number of muons above 10GeV range
741 : //and the corresponding flag to kTRUE if the cut is used.
742 0 : fNMuonsAbove10GeVMin = low;
743 0 : fNMuonsAbove10GeVMax = high;
744 0 : fNMuonsAbove10GeVFlag = kTRUE;
745 0 : }
746 :
747 :
748 : //___________________________________________________________________________
749 : void AliEventTagCuts::SetNElectronsAbove1GeVRange(Int_t low, Int_t high) {
750 : //Sets the number of electrons above 1GeV range
751 : //and the corresponding flag to kTRUE if the cut is used.
752 0 : fNElectronsAbove1GeVMin = low;
753 0 : fNElectronsAbove1GeVMax = high;
754 0 : fNElectronsAbove1GeVFlag = kTRUE;
755 0 : }
756 :
757 : //___________________________________________________________________________
758 : void AliEventTagCuts::SetNElectronsAbove3GeVRange(Int_t low, Int_t high) {
759 : //Sets the number of electrons above 3GeV range
760 : //and the corresponding flag to kTRUE if the cut is used.
761 0 : fNElectronsAbove3GeVMin = low;
762 0 : fNElectronsAbove3GeVMax = high;
763 0 : fNElectronsAbove3GeVFlag = kTRUE;
764 0 : }
765 :
766 : //___________________________________________________________________________
767 : void AliEventTagCuts::SetNElectronsAbove10GeVRange(Int_t low, Int_t high) {
768 : //Sets the number of electrons above 10GeV range
769 : //and the corresponding flag to kTRUE if the cut is used.
770 0 : fNElectronsAbove10GeVMin = low;
771 0 : fNElectronsAbove10GeVMax = high;
772 0 : fNElectronsAbove10GeVFlag = kTRUE;
773 0 : }
774 : //___________________________________________________________________________
775 : void AliEventTagCuts::SetNElectronRange(Int_t low, Int_t high) {
776 : //Sets the electron multiplicity range
777 : //and the corresponding flag to kTRUE if the cut is used.
778 0 : fNElectronsMin = low;
779 0 : fNElectronsMax = high;
780 0 : fNElectronsFlag = kTRUE;
781 0 : }
782 : //___________________________________________________________________________
783 : void AliEventTagCuts::SetNFWMuonRange(Int_t low, Int_t high) {
784 : //Sets the forward muon multiplicity range
785 : //and the corresponding flag to kTRUE if the cut is used.
786 0 : fNFWMuonsMin = low;
787 0 : fNFWMuonsMax = high;
788 0 : fNFWMuonsFlag = kTRUE;
789 0 : }
790 :
791 : //___________________________________________________________________________
792 : void AliEventTagCuts::SetNFWMatchedMuonRange(Int_t low, Int_t high) {
793 : //Sets the forward trigger matched muon multiplicity range
794 : //and the corresponding flag to kTRUE if the cut is used.
795 0 : fNFWMatchedMuonsMin = low;
796 0 : fNFWMatchedMuonsMax = high;
797 0 : fNFWMatchedMuonsFlag = kTRUE;
798 0 : }
799 :
800 : //___________________________________________________________________________
801 : void AliEventTagCuts::SetNMuonRange(Int_t low, Int_t high) {
802 : //Sets the muon multiplicity range
803 : //and the corresponding flag to kTRUE if the cut is used.
804 0 : fNMuonsMin = low;
805 0 : fNMuonsMax = high;
806 0 : fNMuonsFlag = kTRUE;
807 0 : }
808 :
809 : //___________________________________________________________________________
810 : void AliEventTagCuts::SetNPionRange(Int_t low, Int_t high) {
811 : //Sets the pion multiplicity range
812 : //and the corresponding flag to kTRUE if the cut is used.
813 0 : fNPionsMin = low;
814 0 : fNPionsMax = high;
815 0 : fNPionsFlag = kTRUE;
816 0 : }
817 :
818 : //___________________________________________________________________________
819 : void AliEventTagCuts::SetNKaonRange(Int_t low, Int_t high) {
820 : //Sets the kaon multiplicity range
821 : //and the corresponding flag to kTRUE if the cut is used.
822 0 : fNKaonsMin = low;
823 0 : fNKaonsMax = high;
824 0 : fNKaonsFlag = kTRUE;
825 0 : }
826 :
827 : //___________________________________________________________________________
828 : void AliEventTagCuts::SetNProtonRange(Int_t low, Int_t high) {
829 : //Sets the proton multiplicity range
830 : //and the corresponding flag to kTRUE if the cut is used.
831 0 : fNProtonsMin = low;
832 0 : fNProtonsMax = high;
833 0 : fNProtonsFlag = kTRUE;
834 0 : }
835 :
836 : //___________________________________________________________________________
837 : void AliEventTagCuts::SetNLambdaRange(Int_t low, Int_t high) {
838 : //Sets the lambda multiplicity range
839 : //and the corresponding flag to kTRUE if the cut is used.
840 0 : fNLambdasMin = low;
841 0 : fNLambdasMax = high;
842 0 : fNLambdasFlag = kTRUE;
843 0 : }
844 : //___________________________________________________________________________
845 : void AliEventTagCuts::SetNPhotonRange(Int_t low, Int_t high) {
846 : //Sets the photon multiplicity range
847 : //and the corresponding flag to kTRUE if the cut is used.
848 0 : fNPhotonsMin = low;
849 0 : fNPhotonsMax = high;
850 0 : fNPhotonFlag = kTRUE;
851 0 : }
852 : //___________________________________________________________________________
853 : void AliEventTagCuts::SetNPi0Range(Int_t low, Int_t high) {
854 : //Sets the pi0 multiplicity range
855 : //and the corresponding flag to kTRUE if the cut is used.
856 0 : fNPi0sMin = low;
857 0 : fNPi0sMax = high;
858 0 : fNPi0sFlag = kTRUE;
859 0 : }
860 :
861 : //___________________________________________________________________________
862 : void AliEventTagCuts::SetNNeutronRange(Int_t low, Int_t high) {
863 : //Sets the neutron multiplicity range
864 : //and the corresponding flag to kTRUE if the cut is used.
865 0 : fNNeutronsMin = low;
866 0 : fNNeutronsMax = high;
867 0 : fNNeutronsFlag = kTRUE;
868 0 : }
869 :
870 : //___________________________________________________________________________
871 : void AliEventTagCuts::SetNKaon0Range(Int_t low, Int_t high) {
872 : //Sets the K0s multiplicity range
873 : //and the corresponding flag to kTRUE if the cut is used.
874 0 : fNKaon0sMin = low;
875 0 : fNKaon0sMax = high;
876 0 : fNKaon0sFlag = kTRUE;
877 0 : }
878 :
879 : //___________________________________________________________________________
880 : void AliEventTagCuts::SetTotalPRange(Float_t low, Float_t high) {
881 : //Sets the total momentum range
882 : //and the corresponding flag to kTRUE if the cut is used.
883 0 : fTotalPMin = low;
884 0 : fTotalPMax = high;
885 0 : fTotalPFlag = kTRUE;
886 0 : }
887 :
888 : //___________________________________________________________________________
889 : void AliEventTagCuts::SetMeanPtRange(Float_t low, Float_t high) {
890 : //Sets the mean Pt range
891 : //and the corresponding flag to kTRUE if the cut is used.
892 0 : fMeanPtMin = low;
893 0 : fMeanPtMax = high;
894 0 : fMeanPtFlag = kTRUE;
895 0 : }
896 :
897 : //___________________________________________________________________________
898 : void AliEventTagCuts::SetTopPtMin(Float_t low) {
899 : //Sets the lower limit of the max Pt value
900 : //and the corresponding flag to kTRUE if the cut is used.
901 0 : fTopPtMin = low;
902 0 : fTopPtMinFlag = kTRUE;
903 0 : }
904 :
905 : //___________________________________________________________________________
906 : void AliEventTagCuts::SetTotalNeutralPRange(Float_t low, Float_t high) {
907 : //Sets the total momentum of neutral particles range
908 : //and the corresponding flag to kTRUE if the cut is used.
909 0 : fTotalNeutralPMin =low ;
910 0 : fTotalNeutralPMax = high;
911 0 : fTotalNeutralPFlag = kTRUE;
912 0 : }
913 : //___________________________________________________________________________
914 : void AliEventTagCuts::SetMeanNeutralPtPRange(Float_t low, Float_t high) {
915 : //Sets the mean Pt of neutral particles range
916 : //and the corresponding flag to kTRUE if the cut is used.
917 0 : fMeanNeutralPtMin = low;
918 0 : fMeanNeutralPtMax = high;
919 0 : fMeanNeutralPtFlag = kTRUE;
920 0 : }
921 : //___________________________________________________________________________
922 : void AliEventTagCuts::SetTopNeutralPtMin(Float_t low) {
923 : //Sets the lower limit of the maximum Pt of neutral particles
924 : //and the corresponding flag to kTRUE if the cut is used.
925 0 : fTopNeutralPtMin = low;
926 0 : fTopNeutralPtMinFlag = kTRUE;
927 0 : }
928 :
929 : //___________________________________________________________________________
930 : void AliEventTagCuts::SetEventPlaneAngleRange(Float_t low, Float_t high) {
931 : //Sets the event plane range
932 : //and the corresponding flag to kTRUE if the cut is used.
933 0 : fEventPlaneAngleMin = low;
934 0 : fEventPlaneAngleMax = high;
935 0 : fEventPlaneAngleFlag = kTRUE;
936 0 : }
937 :
938 : //___________________________________________________________________________
939 : void AliEventTagCuts::SetHBTRadiiRange(Float_t low, Float_t high) {
940 : //Sets the HBT radii range
941 : //and the corresponding flag to kTRUE if the cut is used.
942 0 : fHBTRadiiMin = low;
943 0 : fHBTRadiiMax = high;
944 0 : fHBTRadiiFlag = kTRUE;
945 0 : }
946 :
947 : void AliEventTagCuts::AddRequiredFiredTriggerClass(TString aclass)
948 : {
949 0 : fFiredTriggerClass += " ";
950 0 : fFiredTriggerClass += aclass;
951 0 : fFiredTriggerClassFlag = kTRUE;
952 0 : }
953 :
954 : void AliEventTagCuts::ResetTriggerClasses()
955 : {
956 0 : fFiredTriggerClassFlag = kFALSE;
957 0 : fFiredTriggerClass = "";
958 0 : }
959 :
960 : void AliEventTagCuts::InitializeTriggerClasses(TString aclass)
961 : {
962 0 : fActiveTriggerClasses = aclass;
963 0 : }
964 :
965 : //___________________________________________________________________________
966 : Bool_t AliEventTagCuts::IsAccepted(AliEventTag *EvTag) const {
967 : //Returns true if the event is accepted otherwise false.
968 0 : if(fEventTypeFlag)
969 0 : if(EvTag->GetEventType() != fEventType)
970 0 : return kFALSE;
971 :
972 0 : if(fNumberOfFiredChipsLayer1Flag)
973 0 : if((EvTag->GetNumberOfFiredChipsLayer1() < fNumberOfFiredChipsLayer1Min) || (EvTag->GetNumberOfFiredChipsLayer1() > fNumberOfFiredChipsLayer1Max))
974 0 : return kFALSE;
975 :
976 0 : if(fNumberOfFiredChipsLayer2Flag)
977 0 : if((EvTag->GetNumberOfFiredChipsLayer2() < fNumberOfFiredChipsLayer2Min) || (EvTag->GetNumberOfFiredChipsLayer2() > fNumberOfFiredChipsLayer2Max))
978 0 : return kFALSE;
979 :
980 0 : if(fNumberOfSPDTrackletsFlag)
981 0 : if((EvTag->GetNumberOfSPDTracklets() < fNumberOfSPDTrackletsMin) || (EvTag->GetNumberOfSPDTracklets() > fNumberOfSPDTrackletsMax))
982 0 : return kFALSE;
983 :
984 0 : if(fPeriodNumberFlag)
985 0 : if((EvTag->GetPeriodNumber() < fPeriodNumberMin) || (EvTag->GetPeriodNumber() > fPeriodNumberMax))
986 0 : return kFALSE;
987 :
988 0 : if(fOrbitNumberFlag)
989 0 : if((EvTag->GetOrbitNumber() < fOrbitNumberMin) || (EvTag->GetOrbitNumber() > fOrbitNumberMax))
990 0 : return kFALSE;
991 :
992 0 : if(fBunchCrossNumberFlag)
993 0 : if((EvTag->GetBunchCrossNumber() < fBunchCrossNumberMin) || (EvTag->GetBunchCrossNumber() > fBunchCrossNumberMax))
994 0 : return kFALSE;
995 :
996 :
997 0 : if(fEtaFlag)
998 0 : if((EvTag->GetEtaMaxPt() < fEtaMin) || (EvTag->GetEtaMaxPt() > fEtaMax))
999 0 : return kFALSE;
1000 :
1001 0 : if(fPhiFlag)
1002 0 : if((EvTag->GetPhiMaxPt() < fPhiMin) || (EvTag->GetPhiMaxPt() > fPhiMax))
1003 0 : return kFALSE;
1004 :
1005 0 : if(fVzFlag)
1006 0 : if((EvTag->GetVertexZ() < fVzMin) || (EvTag->GetVertexZ() > fVzMax))
1007 0 : return kFALSE;
1008 :
1009 0 : if(fVyFlag)
1010 0 : if((EvTag->GetVertexY() < fVyMin) || (EvTag->GetVertexY() > fVyMax))
1011 0 : return kFALSE;
1012 :
1013 0 : if(fVxFlag)
1014 0 : if((EvTag->GetVertexX() < fVxMin) || (EvTag->GetVertexX() > fVxMax))
1015 0 : return kFALSE;
1016 :
1017 0 : if(fNParticipantsFlag)
1018 0 : if((EvTag->GetNumOfParticipants() < fNParticipantsMin) || (EvTag->GetNumOfParticipants() > fNParticipantsMax))
1019 0 : return kFALSE;
1020 :
1021 0 : if(fImpactParamFlag)
1022 0 : if((EvTag->GetImpactParameter() < fImpactParamMin) || (EvTag->GetImpactParameter() > fImpactParamMax))
1023 0 : return kFALSE;
1024 :
1025 0 : if(fPVFlag)
1026 0 : if((EvTag->GetVertexFlag() != fPrimaryVertexFlag))
1027 0 : return kFALSE;
1028 :
1029 0 : if(fPVzErrorFlag)
1030 0 : if((EvTag->GetVertexZError() < fPrimaryVertexZErrorMin) || (EvTag->GetVertexZError() > fPrimaryVertexZErrorMax))
1031 0 : return kFALSE;
1032 0 : if(fTriggerMaskFlag)
1033 0 : if((EvTag->GetTriggerMask() & fTriggerMask) != fTriggerMask)
1034 0 : return kFALSE;
1035 0 : if(fTriggerClusterFlag)
1036 0 : if((EvTag->GetTriggerCluster() != fTriggerCluster))
1037 0 : return kFALSE;
1038 :
1039 0 : if(fZDCNeutron1EnergyFlag)
1040 0 : if((EvTag->GetZDCNeutron1Energy() < fZDCNeutron1EnergyMin) || (EvTag->GetZDCNeutron1Energy() > fZDCNeutron1EnergyMax))
1041 0 : return kFALSE;
1042 :
1043 0 : if(fZDCProton1EnergyFlag)
1044 0 : if((EvTag->GetZDCProton1Energy() < fZDCProton1EnergyMin) || (EvTag->GetZDCProton1Energy() > fZDCProton1EnergyMax))
1045 0 : return kFALSE;
1046 :
1047 0 : if(fZDCNeutron2EnergyFlag)
1048 0 : if((EvTag->GetZDCNeutron2Energy() < fZDCNeutron2EnergyMin) || (EvTag->GetZDCNeutron2Energy() > fZDCNeutron2EnergyMax))
1049 0 : return kFALSE;
1050 :
1051 0 : if(fZDCProton2EnergyFlag)
1052 0 : if((EvTag->GetZDCProton2Energy() < fZDCProton2EnergyMin) || (EvTag->GetZDCProton2Energy() > fZDCProton2EnergyMax))
1053 0 : return kFALSE;
1054 :
1055 0 : if(fZDCEMEnergyFlag)
1056 0 : if((EvTag->GetZDCEMEnergy(1) < fZDCEMEnergyMin) || (EvTag->GetZDCEMEnergy(1) > fZDCEMEnergyMax))
1057 0 : return kFALSE;
1058 :
1059 0 : if(fT0VertexZFlag)
1060 0 : if((EvTag->GetT0VertexZ() < fT0VertexZMin) || (EvTag->GetT0VertexZ() > fT0VertexZMax))
1061 0 : return kFALSE;
1062 :
1063 0 : if(fMultFlag)
1064 0 : if((EvTag->GetNumOfTracks() < fMultMin) || (EvTag->GetNumOfTracks() > fMultMax))
1065 0 : return kFALSE;
1066 :
1067 0 : if(fPosMultFlag)
1068 0 : if((EvTag->GetNumOfPosTracks() < fPosMultMin) || (EvTag->GetNumOfPosTracks() > fPosMultMax))
1069 0 : return kFALSE;
1070 :
1071 0 : if(fNegMultFlag)
1072 0 : if((EvTag->GetNumOfNegTracks() < fNegMultMin) || (EvTag->GetNumOfNegTracks() > fNegMultMax))
1073 0 : return kFALSE;
1074 :
1075 0 : if(fNeutrMultFlag)
1076 0 : if((EvTag->GetNumOfNeutrTracks() < fNeutrMultMin) || (EvTag->GetNumOfNeutrTracks() > fNeutrMultMax))
1077 0 : return kFALSE;
1078 :
1079 0 : if(fNV0sFlag)
1080 0 : if((EvTag->GetNumOfV0s() < fNV0sMin) || (EvTag->GetNumOfV0s() > fNV0sMax))
1081 0 : return kFALSE;
1082 :
1083 0 : if(fNCascadesFlag)
1084 0 : if((EvTag->GetNumOfCascades() < fNCascadesMin) || (EvTag->GetNumOfCascades() > fNCascadesMax))
1085 0 : return kFALSE;
1086 :
1087 0 : if(fNKinksFlag)
1088 0 : if((EvTag->GetNumOfKinks() < fNKinksMin) || (EvTag->GetNumOfKinks() > fNKinksMax))
1089 0 : return kFALSE;
1090 :
1091 :
1092 0 : if(fNPMDTracksFlag)
1093 0 : if((EvTag->GetNumOfPMDTracks() < fNPMDTracksMin) || (EvTag->GetNumOfPMDTracks() > fNPMDTracksMax))
1094 0 : return kFALSE;
1095 0 : if(fNFMDTracksFlag)
1096 0 : if((EvTag->GetNumOfFMDTracks() < fNFMDTracksMin) || (EvTag->GetNumOfFMDTracks() > fNFMDTracksMax))
1097 0 : return kFALSE;
1098 0 : if(fNPHOSClustersFlag)
1099 0 : if((EvTag->GetNumOfPHOSClusters() < fNPHOSClustersMin) || (EvTag->GetNumOfPHOSClusters() > fNPHOSClustersMax))
1100 0 : return kFALSE;
1101 0 : if(fNEMCALClustersFlag)
1102 0 : if((EvTag->GetNumOfEMCALClusters() < fNEMCALClustersMin) || (EvTag->GetNumOfEMCALClusters() > fNEMCALClustersMax))
1103 0 : return kFALSE;
1104 0 : if(fNJetCandidatesFlag)
1105 0 : if((EvTag->GetNumOfJetCandidates() < fNJetCandidatesMin) || (EvTag->GetNumOfJetCandidates() > fNJetCandidatesMax))
1106 0 : return kFALSE;
1107 :
1108 :
1109 0 : if(fTopJetEnergyMinFlag)
1110 0 : if((EvTag->GetMaxJetEnergy() < fTopJetEnergyMin))
1111 0 : return kFALSE;
1112 :
1113 0 : if(fNHardPhotonCandidatesFlag)
1114 0 : if((EvTag->GetNumOfHardPhotonsCandidates() < fNHardPhotonCandidatesMin) || (EvTag->GetNumOfHardPhotonsCandidates() > fNHardPhotonCandidatesMax))
1115 0 : return kFALSE;
1116 :
1117 0 : if(fTopNeutralEnergyMinFlag)
1118 0 : if((EvTag->GetMaxNeutralEnergy() < fTopNeutralEnergyMin))
1119 0 : return kFALSE;
1120 :
1121 0 : if(fNChargedAbove1GeVFlag)
1122 0 : if((EvTag->GetNumOfChargedAbove1GeV() < fNChargedAbove1GeVMin) || (EvTag->GetNumOfChargedAbove1GeV() > fNChargedAbove1GeVMax))
1123 0 : return kFALSE;
1124 :
1125 0 : if(fNChargedAbove3GeVFlag)
1126 0 : if((EvTag->GetNumOfChargedAbove3GeV() < fNChargedAbove3GeVMin) || (EvTag->GetNumOfChargedAbove3GeV() > fNChargedAbove3GeVMax))
1127 0 : return kFALSE;
1128 :
1129 0 : if(fNChargedAbove10GeVFlag)
1130 0 : if((EvTag->GetNumOfChargedAbove10GeV() < fNChargedAbove10GeVMin) || (EvTag->GetNumOfChargedAbove10GeV() > fNChargedAbove10GeVMax))
1131 0 : return kFALSE;
1132 :
1133 0 : if(fNMuonsAbove1GeVFlag)
1134 0 : if((EvTag->GetNumOfMuonsAbove1GeV() < fNMuonsAbove1GeVMin) || (EvTag->GetNumOfMuonsAbove1GeV() > fNMuonsAbove1GeVMax))
1135 0 : return kFALSE;
1136 :
1137 0 : if(fNMuonsAbove3GeVFlag)
1138 0 : if((EvTag->GetNumOfMuonsAbove3GeV() < fNMuonsAbove3GeVMin) || (EvTag->GetNumOfMuonsAbove3GeV() > fNMuonsAbove3GeVMax))
1139 0 : return kFALSE;
1140 :
1141 0 : if(fNMuonsAbove10GeVFlag)
1142 0 : if((EvTag->GetNumOfMuonsAbove10GeV() < fNMuonsAbove10GeVMin) || (EvTag->GetNumOfMuonsAbove10GeV() > fNMuonsAbove10GeVMax))
1143 0 : return kFALSE;
1144 :
1145 0 : if(fNElectronsAbove1GeVFlag)
1146 0 : if((EvTag->GetNumOfElectronsAbove1GeV() < fNElectronsAbove1GeVMin) || (EvTag->GetNumOfElectronsAbove1GeV() > fNElectronsAbove1GeVMax))
1147 0 : return kFALSE;
1148 :
1149 0 : if(fNElectronsAbove3GeVFlag)
1150 0 : if((EvTag->GetNumOfElectronsAbove3GeV() < fNElectronsAbove3GeVMin) || (EvTag->GetNumOfElectronsAbove3GeV() > fNElectronsAbove3GeVMax))
1151 0 : return kFALSE;
1152 :
1153 0 : if(fNElectronsAbove10GeVFlag)
1154 0 : if((EvTag->GetNumOfElectronsAbove10GeV() < fNElectronsAbove10GeVMin) || (EvTag->GetNumOfElectronsAbove10GeV() > fNElectronsAbove10GeVMax))
1155 0 : return kFALSE;
1156 :
1157 0 : if(fNElectronsFlag)
1158 0 : if((EvTag->GetNumOfElectrons() < fNElectronsMin) || (EvTag->GetNumOfElectrons() > fNElectronsMax))
1159 0 : return kFALSE;
1160 :
1161 0 : if(fNFWMuonsFlag)
1162 0 : if((EvTag->GetNumOfFWMuons() < fNFWMuonsMin) || (EvTag->GetNumOfFWMuons() > fNFWMuonsMax))
1163 0 : return kFALSE;
1164 :
1165 0 : if(fNFWMatchedMuonsFlag)
1166 0 : if((EvTag->GetNumOfFWMatchedMuons() < fNFWMatchedMuonsMin) || (EvTag->GetNumOfFWMatchedMuons() > fNFWMatchedMuonsMax))
1167 0 : return kFALSE;
1168 :
1169 0 : if(fNMuonsFlag)
1170 0 : if((EvTag->GetNumOfMuons() < fNMuonsMin) || (EvTag->GetNumOfMuons() > fNMuonsMax))
1171 0 : return kFALSE;
1172 :
1173 0 : if(fNPionsFlag)
1174 0 : if((EvTag->GetNumOfPions() < fNPionsMin) || (EvTag->GetNumOfPions() > fNPionsMax))
1175 0 : return kFALSE;
1176 :
1177 0 : if(fNKaonsFlag)
1178 0 : if((EvTag->GetNumOfKaons() < fNKaonsMin) || (EvTag->GetNumOfKaons() > fNKaonsMax))
1179 0 : return kFALSE;
1180 :
1181 0 : if(fNProtonsFlag)
1182 0 : if((EvTag->GetNumOfProtons() < fNProtonsMin) || (EvTag->GetNumOfProtons() > fNProtonsMax))
1183 0 : return kFALSE;
1184 :
1185 0 : if(fNLambdasFlag)
1186 0 : if((EvTag->GetNumOfLambdas() < fNLambdasMin) || (EvTag->GetNumOfLambdas() > fNLambdasMax))
1187 0 : return kFALSE;
1188 :
1189 0 : if(fNPhotonFlag)
1190 0 : if((EvTag->GetNumOfPhotons() < fNPhotonsMin) || (EvTag->GetNumOfPhotons() > fNPhotonsMax))
1191 0 : return kFALSE;
1192 :
1193 0 : if(fNPi0sFlag)
1194 0 : if((EvTag->GetNumOfPi0s() < fNPi0sMin) || (EvTag->GetNumOfPi0s() > fNPi0sMax))
1195 0 : return kFALSE;
1196 :
1197 0 : if(fNNeutronsFlag)
1198 0 : if((EvTag->GetNumOfNeutrons() < fNNeutronsMin) || (EvTag->GetNumOfNeutrons() > fNNeutronsMax))
1199 0 : return kFALSE;
1200 :
1201 0 : if(fNKaon0sFlag)
1202 0 : if((EvTag->GetNumOfKaon0s() < fNKaon0sMin) || (EvTag->GetNumOfKaon0s() > fNKaon0sMax))
1203 0 : return kFALSE;
1204 :
1205 0 : if(fTotalPFlag)
1206 0 : if((EvTag->GetTotalMomentum() < fTotalPMin) || (EvTag->GetTotalMomentum() > fTotalPMax))
1207 0 : return kFALSE;
1208 :
1209 0 : if(fMeanPtFlag)
1210 0 : if((EvTag->GetMeanPt() < fMeanPtMin) || (EvTag->GetMeanPt() > fMeanPtMax))
1211 0 : return kFALSE;
1212 :
1213 0 : if(fTopPtMinFlag)
1214 0 : if((EvTag->GetMaxPt() < fTopPtMin))
1215 0 : return kFALSE;
1216 :
1217 0 : if(fTotalNeutralPFlag)
1218 0 : if((EvTag->GetNeutralTotalMomentum() < fTotalNeutralPMin) || (EvTag->GetNeutralTotalMomentum() > fTotalNeutralPMax))
1219 0 : return kFALSE;
1220 :
1221 0 : if(fMeanNeutralPtFlag)
1222 0 : if((EvTag->GetNeutralMeanPt() < fMeanNeutralPtMin) || (EvTag->GetNeutralMeanPt() >fMeanNeutralPtMax ))
1223 0 : return kFALSE;
1224 :
1225 0 : if(fTopNeutralPtMinFlag)
1226 0 : if((EvTag->GetNeutralMaxPt() < fTopNeutralPtMin))
1227 0 : return kFALSE;
1228 :
1229 0 : if(fEventPlaneAngleFlag)
1230 0 : if((EvTag->GetEventPlaneAngle() < fEventPlaneAngleMin) || (EvTag->GetEventPlaneAngle() > fEventPlaneAngleMax))
1231 0 : return kFALSE;
1232 :
1233 0 : if(fHBTRadiiFlag)
1234 0 : if((EvTag->GetHBTRadii() < fHBTRadiiMin) || (EvTag->GetHBTRadii() > fHBTRadiiMax))
1235 0 : return kFALSE;
1236 :
1237 0 : if (fFiredTriggerClassFlag) {
1238 0 : if (fActiveTriggerClasses.Length() == 0) {
1239 0 : AliWarning("Attempt to select Trigger classes but Active trigger classes not set in AliEventTagCuts. Cannot make the selection on Fired Trigger classes");
1240 0 : }
1241 : else {
1242 0 : TObjArray *tClasses = fFiredTriggerClass.Tokenize(" ");
1243 : Bool_t tTrig = kFALSE;
1244 :
1245 0 : for (int itrig=0; itrig<tClasses->GetEntries(); itrig++)
1246 0 : if (EvTag->GetFiredTriggerClasses(fActiveTriggerClasses).Contains(((TObjString *) tClasses->At(itrig))->GetString()))
1247 0 : tTrig = kTRUE;
1248 :
1249 0 : tClasses->Delete();
1250 0 : delete tClasses;
1251 :
1252 0 : if (!tTrig)
1253 0 : return kFALSE;
1254 0 : }
1255 : }
1256 :
1257 0 : return kTRUE;
1258 0 : }
1259 :
1260 : Bool_t AliEventTagCuts::IsAccepted(const AliEventTag *EvTag) const
1261 : {
1262 : //Returns true if the event is accepted otherwise false.
1263 0 : if(fEventTypeFlag)
1264 0 : if(EvTag->GetEventType() != fEventType)
1265 0 : return kFALSE;
1266 :
1267 0 : if(fNumberOfFiredChipsLayer1Flag)
1268 0 : if((EvTag->GetNumberOfFiredChipsLayer1() < fNumberOfFiredChipsLayer1Min) || (EvTag->GetNumberOfFiredChipsLayer1() > fNumberOfFiredChipsLayer1Max))
1269 0 : return kFALSE;
1270 :
1271 0 : if(fNumberOfFiredChipsLayer2Flag)
1272 0 : if((EvTag->GetNumberOfFiredChipsLayer2() < fNumberOfFiredChipsLayer2Min) || (EvTag->GetNumberOfFiredChipsLayer2() > fNumberOfFiredChipsLayer2Max))
1273 0 : return kFALSE;
1274 :
1275 0 : if(fNumberOfSPDTrackletsFlag)
1276 0 : if((EvTag->GetNumberOfSPDTracklets() < fNumberOfSPDTrackletsMin) || (EvTag->GetNumberOfSPDTracklets() > fNumberOfSPDTrackletsMax))
1277 0 : return kFALSE;
1278 :
1279 0 : if(fPeriodNumberFlag)
1280 0 : if((EvTag->GetPeriodNumber() < fPeriodNumberMin) || (EvTag->GetPeriodNumber() > fPeriodNumberMax))
1281 0 : return kFALSE;
1282 :
1283 0 : if(fOrbitNumberFlag)
1284 0 : if((EvTag->GetOrbitNumber() < fOrbitNumberMin) || (EvTag->GetOrbitNumber() > fOrbitNumberMax))
1285 0 : return kFALSE;
1286 :
1287 0 : if(fBunchCrossNumberFlag)
1288 0 : if((EvTag->GetBunchCrossNumber() < fBunchCrossNumberMin) || (EvTag->GetBunchCrossNumber() > fBunchCrossNumberMax))
1289 0 : return kFALSE;
1290 :
1291 :
1292 0 : if(fEtaFlag)
1293 0 : if((EvTag->GetEtaMaxPt() < fEtaMin) || (EvTag->GetEtaMaxPt() > fEtaMax))
1294 0 : return kFALSE;
1295 :
1296 0 : if(fPhiFlag)
1297 0 : if((EvTag->GetPhiMaxPt() < fPhiMin) || (EvTag->GetPhiMaxPt() > fPhiMax))
1298 0 : return kFALSE;
1299 :
1300 0 : if(fVzFlag)
1301 0 : if((EvTag->GetVertexZ() < fVzMin) || (EvTag->GetVertexZ() > fVzMax))
1302 0 : return kFALSE;
1303 :
1304 0 : if(fVyFlag)
1305 0 : if((EvTag->GetVertexY() < fVyMin) || (EvTag->GetVertexY() > fVyMax))
1306 0 : return kFALSE;
1307 :
1308 0 : if(fVxFlag)
1309 0 : if((EvTag->GetVertexX() < fVxMin) || (EvTag->GetVertexX() > fVxMax))
1310 0 : return kFALSE;
1311 :
1312 0 : if(fNParticipantsFlag)
1313 0 : if((EvTag->GetNumOfParticipants() < fNParticipantsMin) || (EvTag->GetNumOfParticipants() > fNParticipantsMax))
1314 0 : return kFALSE;
1315 :
1316 0 : if(fImpactParamFlag)
1317 0 : if((EvTag->GetImpactParameter() < fImpactParamMin) || (EvTag->GetImpactParameter() > fImpactParamMax))
1318 0 : return kFALSE;
1319 :
1320 0 : if(fPVFlag)
1321 0 : if((EvTag->GetVertexFlag() != fPrimaryVertexFlag))
1322 0 : return kFALSE;
1323 :
1324 0 : if(fPVzErrorFlag)
1325 0 : if((EvTag->GetVertexZError() < fPrimaryVertexZErrorMin) || (EvTag->GetVertexZError() > fPrimaryVertexZErrorMax))
1326 0 : return kFALSE;
1327 0 : if(fTriggerMaskFlag)
1328 0 : if((EvTag->GetTriggerMask() & fTriggerMask) != fTriggerMask)
1329 0 : return kFALSE;
1330 0 : if(fTriggerClusterFlag)
1331 0 : if((EvTag->GetTriggerCluster() != fTriggerCluster))
1332 0 : return kFALSE;
1333 :
1334 0 : if(fZDCNeutron1EnergyFlag)
1335 0 : if((EvTag->GetZDCNeutron1Energy() < fZDCNeutron1EnergyMin) || (EvTag->GetZDCNeutron1Energy() > fZDCNeutron1EnergyMax))
1336 0 : return kFALSE;
1337 :
1338 0 : if(fZDCProton1EnergyFlag)
1339 0 : if((EvTag->GetZDCProton1Energy() < fZDCProton1EnergyMin) || (EvTag->GetZDCProton1Energy() > fZDCProton1EnergyMax))
1340 0 : return kFALSE;
1341 :
1342 0 : if(fZDCNeutron2EnergyFlag)
1343 0 : if((EvTag->GetZDCNeutron2Energy() < fZDCNeutron2EnergyMin) || (EvTag->GetZDCNeutron2Energy() > fZDCNeutron2EnergyMax))
1344 0 : return kFALSE;
1345 :
1346 0 : if(fZDCProton2EnergyFlag)
1347 0 : if((EvTag->GetZDCProton2Energy() < fZDCProton2EnergyMin) || (EvTag->GetZDCProton2Energy() > fZDCProton2EnergyMax))
1348 0 : return kFALSE;
1349 :
1350 0 : if(fZDCEMEnergyFlag)
1351 0 : if((EvTag->GetZDCEMEnergy(1) < fZDCEMEnergyMin) || (EvTag->GetZDCEMEnergy(1) > fZDCEMEnergyMax))
1352 0 : return kFALSE;
1353 :
1354 0 : if(fT0VertexZFlag)
1355 0 : if((EvTag->GetT0VertexZ() < fT0VertexZMin) || (EvTag->GetT0VertexZ() > fT0VertexZMax))
1356 0 : return kFALSE;
1357 :
1358 0 : if(fMultFlag)
1359 0 : if((EvTag->GetNumOfTracks() < fMultMin) || (EvTag->GetNumOfTracks() > fMultMax))
1360 0 : return kFALSE;
1361 :
1362 0 : if(fPosMultFlag)
1363 0 : if((EvTag->GetNumOfPosTracks() < fPosMultMin) || (EvTag->GetNumOfPosTracks() > fPosMultMax))
1364 0 : return kFALSE;
1365 :
1366 0 : if(fNegMultFlag)
1367 0 : if((EvTag->GetNumOfNegTracks() < fNegMultMin) || (EvTag->GetNumOfNegTracks() > fNegMultMax))
1368 0 : return kFALSE;
1369 :
1370 0 : if(fNeutrMultFlag)
1371 0 : if((EvTag->GetNumOfNeutrTracks() < fNeutrMultMin) || (EvTag->GetNumOfNeutrTracks() > fNeutrMultMax))
1372 0 : return kFALSE;
1373 :
1374 0 : if(fNV0sFlag)
1375 0 : if((EvTag->GetNumOfV0s() < fNV0sMin) || (EvTag->GetNumOfV0s() > fNV0sMax))
1376 0 : return kFALSE;
1377 :
1378 0 : if(fNCascadesFlag)
1379 0 : if((EvTag->GetNumOfCascades() < fNCascadesMin) || (EvTag->GetNumOfCascades() > fNCascadesMax))
1380 0 : return kFALSE;
1381 :
1382 0 : if(fNKinksFlag)
1383 0 : if((EvTag->GetNumOfKinks() < fNKinksMin) || (EvTag->GetNumOfKinks() > fNKinksMax))
1384 0 : return kFALSE;
1385 :
1386 :
1387 0 : if(fNPMDTracksFlag)
1388 0 : if((EvTag->GetNumOfPMDTracks() < fNPMDTracksMin) || (EvTag->GetNumOfPMDTracks() > fNPMDTracksMax))
1389 0 : return kFALSE;
1390 0 : if(fNFMDTracksFlag)
1391 0 : if((EvTag->GetNumOfFMDTracks() < fNFMDTracksMin) || (EvTag->GetNumOfFMDTracks() > fNFMDTracksMax))
1392 0 : return kFALSE;
1393 0 : if(fNPHOSClustersFlag)
1394 0 : if((EvTag->GetNumOfPHOSClusters() < fNPHOSClustersMin) || (EvTag->GetNumOfPHOSClusters() > fNPHOSClustersMax))
1395 0 : return kFALSE;
1396 0 : if(fNEMCALClustersFlag)
1397 0 : if((EvTag->GetNumOfEMCALClusters() < fNEMCALClustersMin) || (EvTag->GetNumOfEMCALClusters() > fNEMCALClustersMax))
1398 0 : return kFALSE;
1399 0 : if(fNJetCandidatesFlag)
1400 0 : if((EvTag->GetNumOfJetCandidates() < fNJetCandidatesMin) || (EvTag->GetNumOfJetCandidates() > fNJetCandidatesMax))
1401 0 : return kFALSE;
1402 :
1403 :
1404 0 : if(fTopJetEnergyMinFlag)
1405 0 : if((EvTag->GetMaxJetEnergy() < fTopJetEnergyMin))
1406 0 : return kFALSE;
1407 :
1408 0 : if(fNHardPhotonCandidatesFlag)
1409 0 : if((EvTag->GetNumOfHardPhotonsCandidates() < fNHardPhotonCandidatesMin) || (EvTag->GetNumOfHardPhotonsCandidates() > fNHardPhotonCandidatesMax))
1410 0 : return kFALSE;
1411 :
1412 0 : if(fTopNeutralEnergyMinFlag)
1413 0 : if((EvTag->GetMaxNeutralEnergy() < fTopNeutralEnergyMin))
1414 0 : return kFALSE;
1415 :
1416 0 : if(fNChargedAbove1GeVFlag)
1417 0 : if((EvTag->GetNumOfChargedAbove1GeV() < fNChargedAbove1GeVMin) || (EvTag->GetNumOfChargedAbove1GeV() > fNChargedAbove1GeVMax))
1418 0 : return kFALSE;
1419 :
1420 0 : if(fNChargedAbove3GeVFlag)
1421 0 : if((EvTag->GetNumOfChargedAbove3GeV() < fNChargedAbove3GeVMin) || (EvTag->GetNumOfChargedAbove3GeV() > fNChargedAbove3GeVMax))
1422 0 : return kFALSE;
1423 :
1424 0 : if(fNChargedAbove10GeVFlag)
1425 0 : if((EvTag->GetNumOfChargedAbove10GeV() < fNChargedAbove10GeVMin) || (EvTag->GetNumOfChargedAbove10GeV() > fNChargedAbove10GeVMax))
1426 0 : return kFALSE;
1427 :
1428 0 : if(fNMuonsAbove1GeVFlag)
1429 0 : if((EvTag->GetNumOfMuonsAbove1GeV() < fNMuonsAbove1GeVMin) || (EvTag->GetNumOfMuonsAbove1GeV() > fNMuonsAbove1GeVMax))
1430 0 : return kFALSE;
1431 :
1432 0 : if(fNMuonsAbove3GeVFlag)
1433 0 : if((EvTag->GetNumOfMuonsAbove3GeV() < fNMuonsAbove3GeVMin) || (EvTag->GetNumOfMuonsAbove3GeV() > fNMuonsAbove3GeVMax))
1434 0 : return kFALSE;
1435 :
1436 0 : if(fNMuonsAbove10GeVFlag)
1437 0 : if((EvTag->GetNumOfMuonsAbove10GeV() < fNMuonsAbove10GeVMin) || (EvTag->GetNumOfMuonsAbove10GeV() > fNMuonsAbove10GeVMax))
1438 0 : return kFALSE;
1439 :
1440 0 : if(fNElectronsAbove1GeVFlag)
1441 0 : if((EvTag->GetNumOfElectronsAbove1GeV() < fNElectronsAbove1GeVMin) || (EvTag->GetNumOfElectronsAbove1GeV() > fNElectronsAbove1GeVMax))
1442 0 : return kFALSE;
1443 :
1444 0 : if(fNElectronsAbove3GeVFlag)
1445 0 : if((EvTag->GetNumOfElectronsAbove3GeV() < fNElectronsAbove3GeVMin) || (EvTag->GetNumOfElectronsAbove3GeV() > fNElectronsAbove3GeVMax))
1446 0 : return kFALSE;
1447 :
1448 0 : if(fNElectronsAbove10GeVFlag)
1449 0 : if((EvTag->GetNumOfElectronsAbove10GeV() < fNElectronsAbove10GeVMin) || (EvTag->GetNumOfElectronsAbove10GeV() > fNElectronsAbove10GeVMax))
1450 0 : return kFALSE;
1451 :
1452 0 : if(fNElectronsFlag)
1453 0 : if((EvTag->GetNumOfElectrons() < fNElectronsMin) || (EvTag->GetNumOfElectrons() > fNElectronsMax))
1454 0 : return kFALSE;
1455 :
1456 0 : if(fNFWMuonsFlag)
1457 0 : if((EvTag->GetNumOfFWMuons() < fNFWMuonsMin) || (EvTag->GetNumOfFWMuons() > fNFWMuonsMax))
1458 0 : return kFALSE;
1459 :
1460 0 : if(fNFWMatchedMuonsFlag)
1461 0 : if((EvTag->GetNumOfFWMatchedMuons() < fNFWMatchedMuonsMin) || (EvTag->GetNumOfFWMatchedMuons() > fNFWMatchedMuonsMax))
1462 0 : return kFALSE;
1463 :
1464 0 : if(fNMuonsFlag)
1465 0 : if((EvTag->GetNumOfMuons() < fNMuonsMin) || (EvTag->GetNumOfMuons() > fNMuonsMax))
1466 0 : return kFALSE;
1467 :
1468 0 : if(fNPionsFlag)
1469 0 : if((EvTag->GetNumOfPions() < fNPionsMin) || (EvTag->GetNumOfPions() > fNPionsMax))
1470 0 : return kFALSE;
1471 :
1472 0 : if(fNKaonsFlag)
1473 0 : if((EvTag->GetNumOfKaons() < fNKaonsMin) || (EvTag->GetNumOfKaons() > fNKaonsMax))
1474 0 : return kFALSE;
1475 :
1476 0 : if(fNProtonsFlag)
1477 0 : if((EvTag->GetNumOfProtons() < fNProtonsMin) || (EvTag->GetNumOfProtons() > fNProtonsMax))
1478 0 : return kFALSE;
1479 :
1480 0 : if(fNLambdasFlag)
1481 0 : if((EvTag->GetNumOfLambdas() < fNLambdasMin) || (EvTag->GetNumOfLambdas() > fNLambdasMax))
1482 0 : return kFALSE;
1483 :
1484 0 : if(fNPhotonFlag)
1485 0 : if((EvTag->GetNumOfPhotons() < fNPhotonsMin) || (EvTag->GetNumOfPhotons() > fNPhotonsMax))
1486 0 : return kFALSE;
1487 :
1488 0 : if(fNPi0sFlag)
1489 0 : if((EvTag->GetNumOfPi0s() < fNPi0sMin) || (EvTag->GetNumOfPi0s() > fNPi0sMax))
1490 0 : return kFALSE;
1491 :
1492 0 : if(fNNeutronsFlag)
1493 0 : if((EvTag->GetNumOfNeutrons() < fNNeutronsMin) || (EvTag->GetNumOfNeutrons() > fNNeutronsMax))
1494 0 : return kFALSE;
1495 :
1496 0 : if(fNKaon0sFlag)
1497 0 : if((EvTag->GetNumOfKaon0s() < fNKaon0sMin) || (EvTag->GetNumOfKaon0s() > fNKaon0sMax))
1498 0 : return kFALSE;
1499 :
1500 0 : if(fTotalPFlag)
1501 0 : if((EvTag->GetTotalMomentum() < fTotalPMin) || (EvTag->GetTotalMomentum() > fTotalPMax))
1502 0 : return kFALSE;
1503 :
1504 0 : if(fMeanPtFlag)
1505 0 : if((EvTag->GetMeanPt() < fMeanPtMin) || (EvTag->GetMeanPt() > fMeanPtMax))
1506 0 : return kFALSE;
1507 :
1508 0 : if(fTopPtMinFlag)
1509 0 : if((EvTag->GetMaxPt() < fTopPtMin))
1510 0 : return kFALSE;
1511 :
1512 0 : if(fTotalNeutralPFlag)
1513 0 : if((EvTag->GetNeutralTotalMomentum() < fTotalNeutralPMin) || (EvTag->GetNeutralTotalMomentum() > fTotalNeutralPMax))
1514 0 : return kFALSE;
1515 :
1516 0 : if(fMeanNeutralPtFlag)
1517 0 : if((EvTag->GetNeutralMeanPt() < fMeanNeutralPtMin) || (EvTag->GetNeutralMeanPt() >fMeanNeutralPtMax ))
1518 0 : return kFALSE;
1519 :
1520 0 : if(fTopNeutralPtMinFlag)
1521 0 : if((EvTag->GetNeutralMaxPt() < fTopNeutralPtMin))
1522 0 : return kFALSE;
1523 :
1524 0 : if(fEventPlaneAngleFlag)
1525 0 : if((EvTag->GetEventPlaneAngle() < fEventPlaneAngleMin) || (EvTag->GetEventPlaneAngle() > fEventPlaneAngleMax))
1526 0 : return kFALSE;
1527 :
1528 0 : if(fHBTRadiiFlag)
1529 0 : if((EvTag->GetHBTRadii() < fHBTRadiiMin) || (EvTag->GetHBTRadii() > fHBTRadiiMax))
1530 0 : return kFALSE;
1531 :
1532 0 : if (fFiredTriggerClassFlag) {
1533 0 : if (fActiveTriggerClasses.Length() == 0) {
1534 0 : AliWarning("Attempt to select Trigger classes but Active trigger classes not set in AliEventTagCuts. Cannot make the selection on Fired Trigger classes");
1535 0 : }
1536 : else {
1537 0 : TObjArray *tClasses = fFiredTriggerClass.Tokenize(" ");
1538 : Bool_t tTrig = kFALSE;
1539 :
1540 0 : for (int itrig=0; itrig<tClasses->GetEntries(); itrig++)
1541 0 : if (EvTag->GetFiredTriggerClasses(fActiveTriggerClasses).Contains(((TObjString *) tClasses->At(itrig))->GetString()))
1542 0 : tTrig = kTRUE;
1543 :
1544 0 : tClasses->Delete();
1545 0 : delete tClasses;
1546 :
1547 0 : if (!tTrig)
1548 0 : return kFALSE;
1549 0 : }
1550 : }
1551 :
1552 0 : return kTRUE;
1553 :
1554 0 : }
|