]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - STEER/STEERBase/AliEventTagCuts.cxx
Fixed addition of FIT (clashed with HLT)
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliEventTagCuts.cxx
... / ...
CommitLineData
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>
23class AliESD;
24
25#include <TMath.h>
26#include "AliEventTag.h"
27#include "AliEventTagCuts.h"
28#include <TObjArray.h>
29#include <TObjString.h>
30
31ClassImp(AliEventTagCuts)
32
33
34//___________________________________________________________________________
35AliEventTagCuts::AliEventTagCuts() :
36 TObject(),
37 fPeriodNumberMin(0), fPeriodNumberMax(0xFFFFFFFF), fPeriodNumberFlag(kFALSE),
38 fOrbitNumberMin(0), fOrbitNumberMax(0xFFFFFFFF), fOrbitNumberFlag(kFALSE),
39 fBunchCrossNumberMin(0), fBunchCrossNumberMax(0xFFFF),
40 fBunchCrossNumberFlag(kFALSE),
41 fEventType(7), fEventTypeFlag(kFALSE),
42 fNParticipantsMin(-1), fNParticipantsMax(10000),
43 fNParticipantsFlag(kFALSE),
44 fImpactParamMin(-1.0), fImpactParamMax(1000.0),
45 fImpactParamFlag(kFALSE),
46 fEtaMin(-13.0), fEtaMax(13.0),
47 fEtaFlag(kFALSE),
48 fPhiMin(0.), fPhiMax(2*(TMath::Pi())),
49 fPhiFlag(kFALSE),
50 fVxMin(-1000.0), fVxMax(1000.0),
51 fVxFlag(kFALSE),
52 fVyMin(-1000.0), fVyMax(1000.0),
53 fVyFlag(kFALSE),
54 fVzMin(-1000.0), fVzMax(1000.0),
55 fVzFlag(kFALSE),
56 fPrimaryVertexFlag(1),
57 fPVFlag(kFALSE),
58
59 fPrimaryVertexZErrorMin(-10000.), fPrimaryVertexZErrorMax(10000.),
60 fPVzErrorFlag(kFALSE),
61 fTriggerMask(0),
62 fTriggerMaskFlag(kFALSE),
63 fTriggerCluster(0),
64 fTriggerClusterFlag(kFALSE),
65
66 fZDCNeutron1EnergyMin(-1.0), fZDCNeutron1EnergyMax(100000.0),
67 fZDCNeutron1EnergyFlag(kFALSE),
68 fZDCProton1EnergyMin(-1.0), fZDCProton1EnergyMax(100000.0),
69 fZDCProton1EnergyFlag(kFALSE),
70 fZDCNeutron2EnergyMin(-1.0), fZDCNeutron2EnergyMax(100000.0),
71 fZDCNeutron2EnergyFlag(kFALSE),
72 fZDCProton2EnergyMin(-1.0), fZDCProton2EnergyMax(100000.0),
73 fZDCProton2EnergyFlag(kFALSE),
74 fZDCEMEnergyMin(-1.0), fZDCEMEnergyMax(100000.0),
75 fZDCEMEnergyFlag(kFALSE),
76 fT0VertexZMin(-10000.0), fT0VertexZMax(10000.0),
77 fT0VertexZFlag(kFALSE),
78 fMultMin(0), fMultMax(100000),
79 fMultFlag(kFALSE),
80 fPosMultMin(-1), fPosMultMax(100000),
81 fPosMultFlag(kFALSE),
82 fNegMultMin(-1), fNegMultMax(100000),
83 fNegMultFlag(kFALSE),
84 fNeutrMultMin(-1), fNeutrMultMax(100000),
85 fNeutrMultFlag(kFALSE),
86 fNV0sMin(-1), fNV0sMax(1000000),
87 fNV0sFlag(kFALSE),
88 fNCascadesMin(-1), fNCascadesMax(100000),
89 fNCascadesFlag(kFALSE),
90 fNKinksMin(-1), fNKinksMax(1000000),
91 fNKinksFlag(kFALSE),
92
93 fNPMDTracksMin(-1), fNPMDTracksMax(100000),
94 fNPMDTracksFlag(kFALSE),
95 fNFMDTracksMin(-1), fNFMDTracksMax(100000),
96 fNFMDTracksFlag(kFALSE),
97 fNPHOSClustersMin(-1), fNPHOSClustersMax(100000),
98 fNPHOSClustersFlag(kFALSE),
99 fNEMCALClustersMin(-1), fNEMCALClustersMax(100000),
100 fNEMCALClustersFlag(kFALSE),
101 fNJetCandidatesMin(-1), fNJetCandidatesMax(100000),
102 fNJetCandidatesFlag(kFALSE),
103
104 fTopJetEnergyMin(-1.0),
105 fTopJetEnergyMinFlag(kFALSE),
106 fTopNeutralEnergyMin(-1.0),
107 fTopNeutralEnergyMinFlag(kFALSE),
108 fNHardPhotonCandidatesMin(-1), fNHardPhotonCandidatesMax(100000),
109 fNHardPhotonCandidatesFlag(kFALSE),
110 fNChargedAbove1GeVMin(-1), fNChargedAbove1GeVMax(100000),
111 fNChargedAbove1GeVFlag(kFALSE),
112 fNChargedAbove3GeVMin(-1), fNChargedAbove3GeVMax(100000),
113 fNChargedAbove3GeVFlag(kFALSE),
114 fNChargedAbove10GeVMin(-1), fNChargedAbove10GeVMax(100000),
115 fNChargedAbove10GeVFlag(kFALSE),
116 fNMuonsAbove1GeVMin(-1), fNMuonsAbove1GeVMax(100000),
117 fNMuonsAbove1GeVFlag(kFALSE),
118 fNMuonsAbove3GeVMin(-1), fNMuonsAbove3GeVMax(100000),
119 fNMuonsAbove3GeVFlag(kFALSE),
120 fNMuonsAbove10GeVMin(-1), fNMuonsAbove10GeVMax(100000),
121 fNMuonsAbove10GeVFlag(kFALSE),
122 fNElectronsAbove1GeVMin(-1), fNElectronsAbove1GeVMax(100000),
123 fNElectronsAbove1GeVFlag(kFALSE),
124 fNElectronsAbove3GeVMin(-1), fNElectronsAbove3GeVMax(100000),
125 fNElectronsAbove3GeVFlag(kFALSE),
126 fNElectronsAbove10GeVMin(-1), fNElectronsAbove10GeVMax(100000),
127 fNElectronsAbove10GeVFlag(kFALSE),
128 fNElectronsMin(-1), fNElectronsMax(100000),
129 fNElectronsFlag(kFALSE),
130 fNFWMuonsMin(-1), fNFWMuonsMax(100000),
131 fNFWMuonsFlag(kFALSE),
132 fNFWMatchedMuonsMin(-1), fNFWMatchedMuonsMax(100000),
133 fNFWMatchedMuonsFlag(kFALSE),
134 fNMuonsMin(-1), fNMuonsMax(100000),
135 fNMuonsFlag(kFALSE),
136 fNPionsMin(-1), fNPionsMax(100000),
137 fNPionsFlag(kFALSE),
138 fNKaonsMin(-1), fNKaonsMax(100000),
139 fNKaonsFlag(kFALSE),
140 fNProtonsMin(-1), fNProtonsMax(100000),
141 fNProtonsFlag(kFALSE),
142 fNLambdasMin(-1), fNLambdasMax(100000),
143 fNLambdasFlag(kFALSE),
144 fNPhotonsMin(-1), fNPhotonsMax(100000),
145 fNPhotonFlag(kFALSE),
146 fNPi0sMin(-1), fNPi0sMax(100000),
147 fNPi0sFlag(kFALSE),
148 fNNeutronsMin(-1), fNNeutronsMax(100000),
149 fNNeutronsFlag(kFALSE),
150 fNKaon0sMin(-1), fNKaon0sMax(100000),
151 fNKaon0sFlag(kFALSE),
152 fTotalPMin(-1.0), fTotalPMax(1000000.0),
153 fTotalPFlag(kFALSE),
154 fMeanPtMin(-1.0), fMeanPtMax(100000.0),
155 fMeanPtFlag(kFALSE),
156 fTopPtMin(-1.0),
157 fTopPtMinFlag(kFALSE),
158 fTotalNeutralPMin(-1.0), fTotalNeutralPMax(1000000.0),
159 fTotalNeutralPFlag(kFALSE),
160 fMeanNeutralPtMin(-1.0), fMeanNeutralPtMax(1000000.0),
161 fMeanNeutralPtFlag(kFALSE),
162 fTopNeutralPtMin(-1.0),
163 fTopNeutralPtMinFlag(kFALSE),
164 fEventPlaneAngleMin(-10000000.0), fEventPlaneAngleMax(10000000.0),
165 fEventPlaneAngleFlag(kFALSE),
166 fHBTRadiiMin(-1.0), fHBTRadiiMax(100000.0),
167 fHBTRadiiFlag(kFALSE),
168
169 fNumberOfFiredChipsLayer1Min(0), fNumberOfFiredChipsLayer1Max(100000),
170 fNumberOfFiredChipsLayer1Flag(kFALSE),
171 fNumberOfFiredChipsLayer2Min(0), fNumberOfFiredChipsLayer2Max(100000),
172 fNumberOfFiredChipsLayer2Flag(kFALSE),
173 fNumberOfSPDTrackletsMin(0), fNumberOfSPDTrackletsMax(100000),
174 fNumberOfSPDTrackletsFlag(kFALSE),
175
176 fFiredTriggerClassFlag(kFALSE), fFiredTriggerClass(""),
177 fActiveTriggerClasses("")
178{
179 //Default constructor which calls the Reset method.
180 Reset();
181}
182
183//___________________________________________________________________________
184AliEventTagCuts::~AliEventTagCuts() {
185 //Defaut destructor.
186}
187
188//___________________________________________________________________________
189void AliEventTagCuts::Reset() {
190 //Sets dummy values to every private member.
191 fPeriodNumberFlag = kFALSE;
192 fOrbitNumberFlag = kFALSE;
193 fBunchCrossNumberFlag = kFALSE;
194
195 fEventTypeFlag = kFALSE;
196
197 fNParticipantsFlag = kFALSE;
198 fImpactParamFlag = kFALSE;
199
200 fEtaFlag = kFALSE;
201 fPhiFlag = kFALSE;
202 fVxFlag = kFALSE;
203 fVyFlag = kFALSE;
204 fVzFlag = kFALSE;
205 fPVFlag = kFALSE;
206 fPVzErrorFlag = kFALSE;
207
208 fTriggerMaskFlag = kFALSE;
209 fTriggerClusterFlag = kFALSE;
210
211 fZDCNeutron1EnergyFlag = kFALSE;
212 fZDCProton1EnergyFlag = kFALSE;
213 fZDCNeutron2EnergyFlag = kFALSE;
214 fZDCProton2EnergyFlag = kFALSE;
215 fZDCEMEnergyFlag = kFALSE;
216 fT0VertexZFlag = kFALSE;
217 fMultFlag = kFALSE;
218 fPosMultFlag = kFALSE;
219 fNegMultFlag = kFALSE;
220 fNeutrMultFlag = kFALSE;
221 fNV0sFlag = kFALSE;
222 fNCascadesFlag = kFALSE;
223 fNKinksFlag = kFALSE;
224
225 fNPMDTracksFlag = kFALSE;
226 fNFMDTracksFlag = kFALSE;
227 fNPHOSClustersFlag = kFALSE;
228 fNEMCALClustersFlag = kFALSE;
229 fNJetCandidatesFlag = kFALSE;
230
231 fTopJetEnergyMinFlag = kFALSE;
232 fNHardPhotonCandidatesFlag = kFALSE;
233 fTopNeutralEnergyMinFlag = kFALSE;
234 fNChargedAbove1GeVFlag = kFALSE;
235 fNChargedAbove3GeVFlag = kFALSE;
236 fNChargedAbove10GeVFlag = kFALSE;
237 fNMuonsAbove1GeVFlag = kFALSE;
238 fNMuonsAbove3GeVFlag = kFALSE;
239 fNMuonsAbove10GeVFlag = kFALSE;
240 fNElectronsAbove1GeVFlag = kFALSE;
241 fNElectronsAbove3GeVFlag = kFALSE;
242 fNElectronsAbove10GeVFlag = kFALSE;
243 fNElectronsFlag = kFALSE;
244 fNFWMuonsFlag = kFALSE;
245 fNFWMatchedMuonsFlag = kFALSE;
246 fNMuonsFlag = kFALSE;
247 fNPionsFlag = kFALSE;
248 fNKaonsFlag = kFALSE;
249 fNProtonsFlag = kFALSE;
250 fNLambdasFlag = kFALSE;
251 fNPhotonFlag = kFALSE;
252 fNPi0sFlag = kFALSE;
253 fNNeutronsFlag = kFALSE;
254 fNKaon0sFlag = kFALSE;
255 fTotalPFlag = kFALSE;
256 fMeanPtFlag = kFALSE;
257 fTopPtMinFlag = kFALSE;
258 fTotalNeutralPFlag = kFALSE;
259 fMeanNeutralPtFlag = kFALSE;
260 fTopNeutralPtMinFlag = kFALSE;
261 fEventPlaneAngleFlag = kFALSE;
262 fHBTRadiiFlag = kFALSE;
263
264 fNumberOfFiredChipsLayer1Flag = kFALSE;
265 fNumberOfFiredChipsLayer2Flag = kFALSE;
266 fNumberOfSPDTrackletsFlag = kFALSE;
267
268 fPeriodNumberMin = 0, fPeriodNumberMax = 0xFFFFFFFF;
269 fOrbitNumberMin = 0, fOrbitNumberMax = 0xFFFFFFFF;
270 fBunchCrossNumberMin = 0, fBunchCrossNumberMax = 0xFFFF;
271
272 fEventType = 7;
273
274 fEtaMin = -13.0; fEtaMax = 13.0;
275 fPhiMin = 0.; fPhiMax = 2*(TMath::Pi());
276 fVxMin = -1000.0; fVxMax = 1000.0;
277 fVyMin = -1000.0; fVyMax = 1000.0;
278 fVzMin = -1000.0; fVzMax = 1000.0;
279 fNParticipantsMin = -1; fNParticipantsMax = 10000;
280 fImpactParamMin = -1.0; fImpactParamMax = 1000.0;
281 fPrimaryVertexFlag = 1;
282
283 fPrimaryVertexZErrorMin = -10000.; fPrimaryVertexZErrorMax = 10000.;
284 fTriggerMask = 0;
285 fTriggerCluster = 0;
286
287 fZDCNeutron1EnergyMin = -1.0; fZDCNeutron1EnergyMax = 100000.0;
288 fZDCProton1EnergyMin = -1.0; fZDCProton1EnergyMax = 100000.0;
289 fZDCNeutron2EnergyMin = -1.0; fZDCNeutron2EnergyMax = 100000.0;
290 fZDCProton2EnergyMin = -1.0; fZDCProton2EnergyMax = 100000.0;
291 fZDCEMEnergyMin = -1.0; fZDCEMEnergyMax = 100000.0;
292 fT0VertexZMin = -10000.0; fT0VertexZMax = 10000.0;
293 fMultMin = 0; fMultMax = 100000;
294 fPosMultMin = -1; fPosMultMax = 100000;
295 fNegMultMin = -1; fNegMultMax = 100000;
296 fNeutrMultMin = -1; fNeutrMultMax = 100000;
297 fNV0sMin = -1; fNV0sMax = 1000000;
298 fNCascadesMin = -1; fNCascadesMax = 100000;
299 fNKinksMin = -1; fNKinksMax = 1000000;
300
301 fNPMDTracksMin = -1, fNPMDTracksMax = 100000;
302 fNFMDTracksMin = -1, fNFMDTracksMax = 100000;
303 fNPHOSClustersMin = -1, fNPHOSClustersMax = 100000;
304 fNEMCALClustersMin = -1, fNEMCALClustersMax = 100000;
305 fNJetCandidatesMin = -1, fNJetCandidatesMax = 100000;
306
307 fTopJetEnergyMin = -1.0;
308 fNHardPhotonCandidatesMin = -1; fNHardPhotonCandidatesMax = 100000;
309 fTopNeutralEnergyMin = -1.0;
310 fNChargedAbove1GeVMin = -1; fNChargedAbove1GeVMax = 100000;
311 fNChargedAbove3GeVMin = -1; fNChargedAbove3GeVMax = 100000;
312 fNChargedAbove10GeVMin = -1; fNChargedAbove10GeVMax = 100000;
313 fNMuonsAbove1GeVMin = -1; fNMuonsAbove1GeVMax = 100000;
314 fNMuonsAbove3GeVMin = -1; fNMuonsAbove3GeVMax = 100000;
315 fNMuonsAbove10GeVMin = -1; fNMuonsAbove10GeVMax = 100000;
316 fNElectronsAbove1GeVMin = -1; fNElectronsAbove1GeVMax = 100000;
317 fNElectronsAbove3GeVMin = -1; fNElectronsAbove3GeVMax = 100000;
318 fNElectronsAbove10GeVMin = -1; fNElectronsAbove10GeVMax = 100000;
319 fNElectronsMin = -1; fNElectronsMax = 100000;
320 fNFWMuonsMin = -1; fNFWMuonsMax = 100000;
321 fNFWMatchedMuonsMin = -1; fNFWMatchedMuonsMax = 100000;
322 fNMuonsMin = -1; fNMuonsMax = 100000;
323 fNPionsMin = -1; fNPionsMax = 100000;
324 fNKaonsMin = -1; fNKaonsMax = 100000;
325 fNProtonsMin = -1; fNProtonsMax = 100000;
326 fNLambdasMin = -1; fNLambdasMax = 100000;
327 fNPhotonsMin = -1; fNPhotonsMax = 100000;
328 fNPi0sMin = -1; fNPi0sMax = 100000;
329 fNNeutronsMin = -1; fNNeutronsMax = 100000;
330 fNKaon0sMin = -1; fNKaon0sMax = 100000;
331 fTotalPMin = -1.0; fTotalPMax = 1000000.0;
332 fMeanPtMin = -1.0; fMeanPtMax = 100000.0;
333 fTopPtMin = -1.0; fTotalNeutralPMin = -1.0;
334 fTotalNeutralPMax = 1000000.0;
335 fMeanNeutralPtMin = -1.0; fMeanNeutralPtMax = 1000000.0;
336 fTopNeutralPtMin = -1.0;
337 fEventPlaneAngleMin = -10000000.0; fEventPlaneAngleMax = 10000000.0;
338 fHBTRadiiMin = -1.0; fHBTRadiiMax = 100000.0;
339
340 fNumberOfFiredChipsLayer1Min = 0, fNumberOfFiredChipsLayer1Max = 100000;
341 fNumberOfFiredChipsLayer2Min = 0, fNumberOfFiredChipsLayer2Max = 100000;
342 fNumberOfSPDTrackletsMin = 0, fNumberOfSPDTrackletsMax = 100000;
343
344 fFiredTriggerClass = "";
345 fFiredTriggerClassFlag = kFALSE;
346}
347
348//___________________________________________________________________________
349void AliEventTagCuts::SetEventType(UInt_t ntype) {
350 //Sets the event type
351 //and the corresponding flag to kTRUE if the cut is used.
352 fEventType = ntype;
353 fEventTypeFlag = kTRUE;
354}
355
356//___________________________________________________________________________
357void 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 fNumberOfFiredChipsLayer1Min = low;
361 fNumberOfFiredChipsLayer1Max = high;
362 fNumberOfFiredChipsLayer1Flag = kTRUE;
363}
364
365//___________________________________________________________________________
366void 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 fNumberOfFiredChipsLayer2Min = low;
370 fNumberOfFiredChipsLayer2Max = high;
371 fNumberOfFiredChipsLayer2Flag = kTRUE;
372}
373
374//___________________________________________________________________________
375void 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 fNumberOfSPDTrackletsMin = low;
379 fNumberOfSPDTrackletsMax = high;
380 fNumberOfSPDTrackletsFlag = kTRUE;
381}
382
383//___________________________________________________________________________
384void 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 fPeriodNumberMin = low;
388 fPeriodNumberMax = high;
389 fPeriodNumberFlag = kTRUE;
390}
391
392//___________________________________________________________________________
393void 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 fOrbitNumberMin = low;
397 fOrbitNumberMax = high;
398 fOrbitNumberFlag = kTRUE;
399}
400
401//___________________________________________________________________________
402void 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 fBunchCrossNumberMin = low;
406 fBunchCrossNumberMax = high;
407 fBunchCrossNumberFlag = kTRUE;
408}
409
410//___________________________________________________________________________
411void 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 fVxMin = low;
415 fVxMax = high;
416 fVxFlag = kTRUE;
417}
418
419//___________________________________________________________________________
420void 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 fVyMin = low;
424 fVyMax = high;
425 fVyFlag = kTRUE;
426}
427
428//___________________________________________________________________________
429void 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 fVzMin = low;
433 fVzMax = high;
434 fVzFlag = kTRUE;
435}
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 fEtaMin = low;
442 fEtaMax = high;
443 fEtaFlag = kTRUE;
444}
445//__________________________________________________________________________
446void 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 fPhiMin = low;
450 fPhiMax = high;
451 fPhiFlag = kTRUE;
452}
453
454//___________________________________________________________________________
455void 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 fPrimaryVertexZErrorMin = low;
459 fPrimaryVertexZErrorMax = high;
460 fPVzErrorFlag = kTRUE;
461}
462
463//___________________________________________________________________________
464void AliEventTagCuts::SetTriggerMask(ULong64_t trmask) {
465 //Sets the trigger mask
466 //and the corresponding flag to kTRUE if the cut is used.
467 fTriggerMask = trmask;
468 fTriggerMaskFlag = kTRUE;
469}
470
471//___________________________________________________________________________
472void AliEventTagCuts::SetTriggerCluster(UChar_t trcluster) {
473 //Sets the trigger cluster
474 //and the corresponding flag to kTRUE if the cut is used.
475 fTriggerCluster = trcluster;
476 fTriggerClusterFlag = kTRUE;
477}
478
479//___________________________________________________________________________
480void 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 fMultMin = low;
484 fMultMax = high;
485 fMultFlag = kTRUE;
486}
487
488//___________________________________________________________________________
489void 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 fNParticipantsMin = low;
493 fNParticipantsMax = high;
494 fNParticipantsFlag = kTRUE;
495}
496
497//___________________________________________________________________________
498void 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 fImpactParamMin = low;
502 fImpactParamMax = high;
503 fImpactParamFlag = kTRUE;
504}
505
506
507//___________________________________________________________________________
508void 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 fPrimaryVertexFlag = flag;
512 fPVFlag = kTRUE;
513}
514
515//___________________________________________________________________________
516void 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 fZDCNeutron1EnergyMin = low;
520 fZDCNeutron1EnergyMax = high;
521 fZDCNeutron1EnergyFlag = kTRUE;
522}
523
524//___________________________________________________________________________
525void 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 fZDCProton1EnergyMin = low;
529 fZDCProton1EnergyMax = high;
530 fZDCProton1EnergyFlag = kTRUE;
531}
532//___________________________________________________________________________
533void 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 fZDCNeutron2EnergyMin = low;
537 fZDCNeutron2EnergyMax = high;
538 fZDCNeutron2EnergyFlag = kTRUE;
539}
540//___________________________________________________________________________
541void 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 fZDCProton2EnergyMin = low;
545 fZDCProton2EnergyMax = high;
546 fZDCProton2EnergyFlag = kTRUE;
547}
548//___________________________________________________________________________
549void 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 fZDCEMEnergyMin = low;
553 fZDCEMEnergyMax = high;
554 fZDCEMEnergyFlag = kTRUE;
555}
556
557//___________________________________________________________________________
558void 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 fT0VertexZMin = low;
562 fT0VertexZMax = high;
563 fT0VertexZFlag = kTRUE;
564}
565
566//___________________________________________________________________________
567void 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 fPosMultMin = low;
571 fPosMultMax = high;
572 fPosMultFlag = kTRUE;
573}
574
575
576//___________________________________________________________________________
577void 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 fNegMultMin = low;
581 fNegMultMax = high;
582 fNegMultFlag = kTRUE;
583}
584
585
586//___________________________________________________________________________
587void 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 fNeutrMultMin = low;
591 fNeutrMultMax = high;
592 fNeutrMultFlag = kTRUE;
593}
594
595//___________________________________________________________________________
596void 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 fNV0sMin = low;
600 fNV0sMax = high;
601 fNV0sFlag = kTRUE;
602}
603
604//___________________________________________________________________________
605void 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 fNCascadesMin = low;
609 fNCascadesMax = high;
610 fNCascadesFlag = kTRUE;
611}
612
613//___________________________________________________________________________
614void 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 fNKinksMin = low;
618 fNKinksMax = high;
619 fNKinksFlag = kTRUE;
620}
621
622//___________________________________________________________________________
623void 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 fNPMDTracksMin = low;
627 fNPMDTracksMax = high;
628 fNPMDTracksFlag = kTRUE;
629}
630
631//___________________________________________________________________________
632void 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 fNFMDTracksMin = low;
636 fNFMDTracksMax = high;
637 fNFMDTracksFlag = kTRUE;
638}
639
640//___________________________________________________________________________
641void 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 fNPHOSClustersMin = low;
645 fNPHOSClustersMax = high;
646 fNPHOSClustersFlag = kTRUE;
647}
648
649//___________________________________________________________________________
650void 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 fNEMCALClustersMin = low;
654 fNEMCALClustersMax = high;
655 fNEMCALClustersFlag = kTRUE;
656}
657
658//___________________________________________________________________________
659void 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 fNJetCandidatesMin = low;
663 fNJetCandidatesMax = high;
664 fNJetCandidatesFlag = kTRUE;
665}
666
667//___________________________________________________________________________
668void 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 fTopJetEnergyMin = low;
672 fTopJetEnergyMinFlag = kTRUE;
673}
674//___________________________________________________________________________
675void 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 fTopNeutralEnergyMin = low;
679 fTopNeutralEnergyMinFlag = kTRUE;
680}
681//___________________________________________________________________________
682void 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 fNHardPhotonCandidatesMin = low;
686 fNHardPhotonCandidatesMax = high;
687 fNHardPhotonCandidatesFlag = kTRUE;
688}
689
690//___________________________________________________________________________
691void 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 fNChargedAbove1GeVMin = low;
695 fNChargedAbove1GeVMax = high;
696 fNChargedAbove1GeVFlag = kTRUE;
697}
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 fNChargedAbove3GeVMin = low;
704 fNChargedAbove3GeVMax = high;
705 fNChargedAbove3GeVFlag = kTRUE;
706}
707
708
709//___________________________________________________________________________
710void 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 fNChargedAbove10GeVMin = low;
714 fNChargedAbove10GeVMax = high;
715 fNChargedAbove10GeVFlag = kTRUE;
716}
717
718
719//___________________________________________________________________________
720void 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 fNMuonsAbove1GeVMin = low;
724 fNMuonsAbove1GeVMax = high;
725 fNMuonsAbove1GeVFlag = kTRUE;
726}
727
728
729//___________________________________________________________________________
730void 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 fNMuonsAbove3GeVMin = low;
734 fNMuonsAbove3GeVMax = high;
735 fNMuonsAbove3GeVFlag = kTRUE;
736}
737
738//___________________________________________________________________________
739void 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 fNMuonsAbove10GeVMin = low;
743 fNMuonsAbove10GeVMax = high;
744 fNMuonsAbove10GeVFlag = kTRUE;
745}
746
747
748//___________________________________________________________________________
749void 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 fNElectronsAbove1GeVMin = low;
753 fNElectronsAbove1GeVMax = high;
754 fNElectronsAbove1GeVFlag = kTRUE;
755}
756
757//___________________________________________________________________________
758void 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 fNElectronsAbove3GeVMin = low;
762 fNElectronsAbove3GeVMax = high;
763 fNElectronsAbove3GeVFlag = kTRUE;
764}
765
766//___________________________________________________________________________
767void 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 fNElectronsAbove10GeVMin = low;
771 fNElectronsAbove10GeVMax = high;
772 fNElectronsAbove10GeVFlag = kTRUE;
773}
774//___________________________________________________________________________
775void 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 fNElectronsMin = low;
779 fNElectronsMax = high;
780 fNElectronsFlag = kTRUE;
781}
782//___________________________________________________________________________
783void 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 fNFWMuonsMin = low;
787 fNFWMuonsMax = high;
788 fNFWMuonsFlag = kTRUE;
789}
790
791//___________________________________________________________________________
792void 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 fNFWMatchedMuonsMin = low;
796 fNFWMatchedMuonsMax = high;
797 fNFWMatchedMuonsFlag = kTRUE;
798}
799
800//___________________________________________________________________________
801void 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 fNMuonsMin = low;
805 fNMuonsMax = high;
806 fNMuonsFlag = kTRUE;
807}
808
809//___________________________________________________________________________
810void 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 fNPionsMin = low;
814 fNPionsMax = high;
815 fNPionsFlag = kTRUE;
816}
817
818//___________________________________________________________________________
819void 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 fNKaonsMin = low;
823 fNKaonsMax = high;
824 fNKaonsFlag = kTRUE;
825}
826
827//___________________________________________________________________________
828void 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 fNProtonsMin = low;
832 fNProtonsMax = high;
833 fNProtonsFlag = kTRUE;
834}
835
836//___________________________________________________________________________
837void 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 fNLambdasMin = low;
841 fNLambdasMax = high;
842 fNLambdasFlag = kTRUE;
843}
844//___________________________________________________________________________
845void 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 fNPhotonsMin = low;
849 fNPhotonsMax = high;
850 fNPhotonFlag = kTRUE;
851}
852//___________________________________________________________________________
853void 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 fNPi0sMin = low;
857 fNPi0sMax = high;
858 fNPi0sFlag = kTRUE;
859}
860
861//___________________________________________________________________________
862void 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 fNNeutronsMin = low;
866 fNNeutronsMax = high;
867 fNNeutronsFlag = kTRUE;
868}
869
870//___________________________________________________________________________
871void 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 fNKaon0sMin = low;
875 fNKaon0sMax = high;
876 fNKaon0sFlag = kTRUE;
877}
878
879//___________________________________________________________________________
880void 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 fTotalPMin = low;
884 fTotalPMax = high;
885 fTotalPFlag = kTRUE;
886}
887
888//___________________________________________________________________________
889void 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 fMeanPtMin = low;
893 fMeanPtMax = high;
894 fMeanPtFlag = kTRUE;
895}
896
897//___________________________________________________________________________
898void 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 fTopPtMin = low;
902 fTopPtMinFlag = kTRUE;
903}
904
905//___________________________________________________________________________
906void 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 fTotalNeutralPMin =low ;
910 fTotalNeutralPMax = high;
911 fTotalNeutralPFlag = kTRUE;
912}
913//___________________________________________________________________________
914void 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 fMeanNeutralPtMin = low;
918 fMeanNeutralPtMax = high;
919 fMeanNeutralPtFlag = kTRUE;
920}
921//___________________________________________________________________________
922void 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 fTopNeutralPtMin = low;
926 fTopNeutralPtMinFlag = kTRUE;
927}
928
929//___________________________________________________________________________
930void 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 fEventPlaneAngleMin = low;
934 fEventPlaneAngleMax = high;
935 fEventPlaneAngleFlag = kTRUE;
936}
937
938//___________________________________________________________________________
939void 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 fHBTRadiiMin = low;
943 fHBTRadiiMax = high;
944 fHBTRadiiFlag = kTRUE;
945}
946
947void AliEventTagCuts::AddRequiredFiredTriggerClass(TString aclass)
948{
949 fFiredTriggerClass += " ";
950 fFiredTriggerClass += aclass;
951 fFiredTriggerClassFlag = kTRUE;
952}
953
954void AliEventTagCuts::ResetTriggerClasses()
955{
956 fFiredTriggerClassFlag = kFALSE;
957 fFiredTriggerClass = "";
958}
959
960void AliEventTagCuts::InitializeTriggerClasses(TString aclass)
961{
962 fActiveTriggerClasses = aclass;
963}
964
965//___________________________________________________________________________
966Bool_t AliEventTagCuts::IsAccepted(AliEventTag *EvTag) const {
967 //Returns true if the event is accepted otherwise false.
968 if(fEventTypeFlag)
969 if(EvTag->GetEventType() != fEventType)
970 return kFALSE;
971
972 if(fNumberOfFiredChipsLayer1Flag)
973 if((EvTag->GetNumberOfFiredChipsLayer1() < fNumberOfFiredChipsLayer1Min) || (EvTag->GetNumberOfFiredChipsLayer1() > fNumberOfFiredChipsLayer1Max))
974 return kFALSE;
975
976 if(fNumberOfFiredChipsLayer2Flag)
977 if((EvTag->GetNumberOfFiredChipsLayer2() < fNumberOfFiredChipsLayer2Min) || (EvTag->GetNumberOfFiredChipsLayer2() > fNumberOfFiredChipsLayer2Max))
978 return kFALSE;
979
980 if(fNumberOfSPDTrackletsFlag)
981 if((EvTag->GetNumberOfSPDTracklets() < fNumberOfSPDTrackletsMin) || (EvTag->GetNumberOfSPDTracklets() > fNumberOfSPDTrackletsMax))
982 return kFALSE;
983
984 if(fPeriodNumberFlag)
985 if((EvTag->GetPeriodNumber() < fPeriodNumberMin) || (EvTag->GetPeriodNumber() > fPeriodNumberMax))
986 return kFALSE;
987
988 if(fOrbitNumberFlag)
989 if((EvTag->GetOrbitNumber() < fOrbitNumberMin) || (EvTag->GetOrbitNumber() > fOrbitNumberMax))
990 return kFALSE;
991
992 if(fBunchCrossNumberFlag)
993 if((EvTag->GetBunchCrossNumber() < fBunchCrossNumberMin) || (EvTag->GetBunchCrossNumber() > fBunchCrossNumberMax))
994 return kFALSE;
995
996
997 if(fEtaFlag)
998 if((EvTag->GetEtaMaxPt() < fEtaMin) || (EvTag->GetEtaMaxPt() > fEtaMax))
999 return kFALSE;
1000
1001 if(fPhiFlag)
1002 if((EvTag->GetPhiMaxPt() < fPhiMin) || (EvTag->GetPhiMaxPt() > fPhiMax))
1003 return kFALSE;
1004
1005 if(fVzFlag)
1006 if((EvTag->GetVertexZ() < fVzMin) || (EvTag->GetVertexZ() > fVzMax))
1007 return kFALSE;
1008
1009 if(fVyFlag)
1010 if((EvTag->GetVertexY() < fVyMin) || (EvTag->GetVertexY() > fVyMax))
1011 return kFALSE;
1012
1013 if(fVxFlag)
1014 if((EvTag->GetVertexX() < fVxMin) || (EvTag->GetVertexX() > fVxMax))
1015 return kFALSE;
1016
1017 if(fNParticipantsFlag)
1018 if((EvTag->GetNumOfParticipants() < fNParticipantsMin) || (EvTag->GetNumOfParticipants() > fNParticipantsMax))
1019 return kFALSE;
1020
1021 if(fImpactParamFlag)
1022 if((EvTag->GetImpactParameter() < fImpactParamMin) || (EvTag->GetImpactParameter() > fImpactParamMax))
1023 return kFALSE;
1024
1025 if(fPVFlag)
1026 if((EvTag->GetVertexFlag() != fPrimaryVertexFlag))
1027 return kFALSE;
1028
1029 if(fPVzErrorFlag)
1030 if((EvTag->GetVertexZError() < fPrimaryVertexZErrorMin) || (EvTag->GetVertexZError() > fPrimaryVertexZErrorMax))
1031 return kFALSE;
1032 if(fTriggerMaskFlag)
1033 if((EvTag->GetTriggerMask() & fTriggerMask) != fTriggerMask)
1034 return kFALSE;
1035 if(fTriggerClusterFlag)
1036 if((EvTag->GetTriggerCluster() != fTriggerCluster))
1037 return kFALSE;
1038
1039 if(fZDCNeutron1EnergyFlag)
1040 if((EvTag->GetZDCNeutron1Energy() < fZDCNeutron1EnergyMin) || (EvTag->GetZDCNeutron1Energy() > fZDCNeutron1EnergyMax))
1041 return kFALSE;
1042
1043 if(fZDCProton1EnergyFlag)
1044 if((EvTag->GetZDCProton1Energy() < fZDCProton1EnergyMin) || (EvTag->GetZDCProton1Energy() > fZDCProton1EnergyMax))
1045 return kFALSE;
1046
1047 if(fZDCNeutron2EnergyFlag)
1048 if((EvTag->GetZDCNeutron2Energy() < fZDCNeutron2EnergyMin) || (EvTag->GetZDCNeutron2Energy() > fZDCNeutron2EnergyMax))
1049 return kFALSE;
1050
1051 if(fZDCProton2EnergyFlag)
1052 if((EvTag->GetZDCProton2Energy() < fZDCProton2EnergyMin) || (EvTag->GetZDCProton2Energy() > fZDCProton2EnergyMax))
1053 return kFALSE;
1054
1055 if(fZDCEMEnergyFlag)
1056 if((EvTag->GetZDCEMEnergy(1) < fZDCEMEnergyMin) || (EvTag->GetZDCEMEnergy(1) > fZDCEMEnergyMax))
1057 return kFALSE;
1058
1059 if(fT0VertexZFlag)
1060 if((EvTag->GetT0VertexZ() < fT0VertexZMin) || (EvTag->GetT0VertexZ() > fT0VertexZMax))
1061 return kFALSE;
1062
1063 if(fMultFlag)
1064 if((EvTag->GetNumOfTracks() < fMultMin) || (EvTag->GetNumOfTracks() > fMultMax))
1065 return kFALSE;
1066
1067 if(fPosMultFlag)
1068 if((EvTag->GetNumOfPosTracks() < fPosMultMin) || (EvTag->GetNumOfPosTracks() > fPosMultMax))
1069 return kFALSE;
1070
1071 if(fNegMultFlag)
1072 if((EvTag->GetNumOfNegTracks() < fNegMultMin) || (EvTag->GetNumOfNegTracks() > fNegMultMax))
1073 return kFALSE;
1074
1075 if(fNeutrMultFlag)
1076 if((EvTag->GetNumOfNeutrTracks() < fNeutrMultMin) || (EvTag->GetNumOfNeutrTracks() > fNeutrMultMax))
1077 return kFALSE;
1078
1079 if(fNV0sFlag)
1080 if((EvTag->GetNumOfV0s() < fNV0sMin) || (EvTag->GetNumOfV0s() > fNV0sMax))
1081 return kFALSE;
1082
1083 if(fNCascadesFlag)
1084 if((EvTag->GetNumOfCascades() < fNCascadesMin) || (EvTag->GetNumOfCascades() > fNCascadesMax))
1085 return kFALSE;
1086
1087 if(fNKinksFlag)
1088 if((EvTag->GetNumOfKinks() < fNKinksMin) || (EvTag->GetNumOfKinks() > fNKinksMax))
1089 return kFALSE;
1090
1091
1092 if(fNPMDTracksFlag)
1093 if((EvTag->GetNumOfPMDTracks() < fNPMDTracksMin) || (EvTag->GetNumOfPMDTracks() > fNPMDTracksMax))
1094 return kFALSE;
1095 if(fNFMDTracksFlag)
1096 if((EvTag->GetNumOfFMDTracks() < fNFMDTracksMin) || (EvTag->GetNumOfFMDTracks() > fNFMDTracksMax))
1097 return kFALSE;
1098 if(fNPHOSClustersFlag)
1099 if((EvTag->GetNumOfPHOSClusters() < fNPHOSClustersMin) || (EvTag->GetNumOfPHOSClusters() > fNPHOSClustersMax))
1100 return kFALSE;
1101 if(fNEMCALClustersFlag)
1102 if((EvTag->GetNumOfEMCALClusters() < fNEMCALClustersMin) || (EvTag->GetNumOfEMCALClusters() > fNEMCALClustersMax))
1103 return kFALSE;
1104 if(fNJetCandidatesFlag)
1105 if((EvTag->GetNumOfJetCandidates() < fNJetCandidatesMin) || (EvTag->GetNumOfJetCandidates() > fNJetCandidatesMax))
1106 return kFALSE;
1107
1108
1109 if(fTopJetEnergyMinFlag)
1110 if((EvTag->GetMaxJetEnergy() < fTopJetEnergyMin))
1111 return kFALSE;
1112
1113 if(fNHardPhotonCandidatesFlag)
1114 if((EvTag->GetNumOfHardPhotonsCandidates() < fNHardPhotonCandidatesMin) || (EvTag->GetNumOfHardPhotonsCandidates() > fNHardPhotonCandidatesMax))
1115 return kFALSE;
1116
1117 if(fTopNeutralEnergyMinFlag)
1118 if((EvTag->GetMaxNeutralEnergy() < fTopNeutralEnergyMin))
1119 return kFALSE;
1120
1121 if(fNChargedAbove1GeVFlag)
1122 if((EvTag->GetNumOfChargedAbove1GeV() < fNChargedAbove1GeVMin) || (EvTag->GetNumOfChargedAbove1GeV() > fNChargedAbove1GeVMax))
1123 return kFALSE;
1124
1125 if(fNChargedAbove3GeVFlag)
1126 if((EvTag->GetNumOfChargedAbove3GeV() < fNChargedAbove3GeVMin) || (EvTag->GetNumOfChargedAbove3GeV() > fNChargedAbove3GeVMax))
1127 return kFALSE;
1128
1129 if(fNChargedAbove10GeVFlag)
1130 if((EvTag->GetNumOfChargedAbove10GeV() < fNChargedAbove10GeVMin) || (EvTag->GetNumOfChargedAbove10GeV() > fNChargedAbove10GeVMax))
1131 return kFALSE;
1132
1133 if(fNMuonsAbove1GeVFlag)
1134 if((EvTag->GetNumOfMuonsAbove1GeV() < fNMuonsAbove1GeVMin) || (EvTag->GetNumOfMuonsAbove1GeV() > fNMuonsAbove1GeVMax))
1135 return kFALSE;
1136
1137 if(fNMuonsAbove3GeVFlag)
1138 if((EvTag->GetNumOfMuonsAbove3GeV() < fNMuonsAbove3GeVMin) || (EvTag->GetNumOfMuonsAbove3GeV() > fNMuonsAbove3GeVMax))
1139 return kFALSE;
1140
1141 if(fNMuonsAbove10GeVFlag)
1142 if((EvTag->GetNumOfMuonsAbove10GeV() < fNMuonsAbove10GeVMin) || (EvTag->GetNumOfMuonsAbove10GeV() > fNMuonsAbove10GeVMax))
1143 return kFALSE;
1144
1145 if(fNElectronsAbove1GeVFlag)
1146 if((EvTag->GetNumOfElectronsAbove1GeV() < fNElectronsAbove1GeVMin) || (EvTag->GetNumOfElectronsAbove1GeV() > fNElectronsAbove1GeVMax))
1147 return kFALSE;
1148
1149 if(fNElectronsAbove3GeVFlag)
1150 if((EvTag->GetNumOfElectronsAbove3GeV() < fNElectronsAbove3GeVMin) || (EvTag->GetNumOfElectronsAbove3GeV() > fNElectronsAbove3GeVMax))
1151 return kFALSE;
1152
1153 if(fNElectronsAbove10GeVFlag)
1154 if((EvTag->GetNumOfElectronsAbove10GeV() < fNElectronsAbove10GeVMin) || (EvTag->GetNumOfElectronsAbove10GeV() > fNElectronsAbove10GeVMax))
1155 return kFALSE;
1156
1157 if(fNElectronsFlag)
1158 if((EvTag->GetNumOfElectrons() < fNElectronsMin) || (EvTag->GetNumOfElectrons() > fNElectronsMax))
1159 return kFALSE;
1160
1161 if(fNFWMuonsFlag)
1162 if((EvTag->GetNumOfFWMuons() < fNFWMuonsMin) || (EvTag->GetNumOfFWMuons() > fNFWMuonsMax))
1163 return kFALSE;
1164
1165 if(fNFWMatchedMuonsFlag)
1166 if((EvTag->GetNumOfFWMatchedMuons() < fNFWMatchedMuonsMin) || (EvTag->GetNumOfFWMatchedMuons() > fNFWMatchedMuonsMax))
1167 return kFALSE;
1168
1169 if(fNMuonsFlag)
1170 if((EvTag->GetNumOfMuons() < fNMuonsMin) || (EvTag->GetNumOfMuons() > fNMuonsMax))
1171 return kFALSE;
1172
1173 if(fNPionsFlag)
1174 if((EvTag->GetNumOfPions() < fNPionsMin) || (EvTag->GetNumOfPions() > fNPionsMax))
1175 return kFALSE;
1176
1177 if(fNKaonsFlag)
1178 if((EvTag->GetNumOfKaons() < fNKaonsMin) || (EvTag->GetNumOfKaons() > fNKaonsMax))
1179 return kFALSE;
1180
1181 if(fNProtonsFlag)
1182 if((EvTag->GetNumOfProtons() < fNProtonsMin) || (EvTag->GetNumOfProtons() > fNProtonsMax))
1183 return kFALSE;
1184
1185 if(fNLambdasFlag)
1186 if((EvTag->GetNumOfLambdas() < fNLambdasMin) || (EvTag->GetNumOfLambdas() > fNLambdasMax))
1187 return kFALSE;
1188
1189 if(fNPhotonFlag)
1190 if((EvTag->GetNumOfPhotons() < fNPhotonsMin) || (EvTag->GetNumOfPhotons() > fNPhotonsMax))
1191 return kFALSE;
1192
1193 if(fNPi0sFlag)
1194 if((EvTag->GetNumOfPi0s() < fNPi0sMin) || (EvTag->GetNumOfPi0s() > fNPi0sMax))
1195 return kFALSE;
1196
1197 if(fNNeutronsFlag)
1198 if((EvTag->GetNumOfNeutrons() < fNNeutronsMin) || (EvTag->GetNumOfNeutrons() > fNNeutronsMax))
1199 return kFALSE;
1200
1201 if(fNKaon0sFlag)
1202 if((EvTag->GetNumOfKaon0s() < fNKaon0sMin) || (EvTag->GetNumOfKaon0s() > fNKaon0sMax))
1203 return kFALSE;
1204
1205 if(fTotalPFlag)
1206 if((EvTag->GetTotalMomentum() < fTotalPMin) || (EvTag->GetTotalMomentum() > fTotalPMax))
1207 return kFALSE;
1208
1209 if(fMeanPtFlag)
1210 if((EvTag->GetMeanPt() < fMeanPtMin) || (EvTag->GetMeanPt() > fMeanPtMax))
1211 return kFALSE;
1212
1213 if(fTopPtMinFlag)
1214 if((EvTag->GetMaxPt() < fTopPtMin))
1215 return kFALSE;
1216
1217 if(fTotalNeutralPFlag)
1218 if((EvTag->GetNeutralTotalMomentum() < fTotalNeutralPMin) || (EvTag->GetNeutralTotalMomentum() > fTotalNeutralPMax))
1219 return kFALSE;
1220
1221 if(fMeanNeutralPtFlag)
1222 if((EvTag->GetNeutralMeanPt() < fMeanNeutralPtMin) || (EvTag->GetNeutralMeanPt() >fMeanNeutralPtMax ))
1223 return kFALSE;
1224
1225 if(fTopNeutralPtMinFlag)
1226 if((EvTag->GetNeutralMaxPt() < fTopNeutralPtMin))
1227 return kFALSE;
1228
1229 if(fEventPlaneAngleFlag)
1230 if((EvTag->GetEventPlaneAngle() < fEventPlaneAngleMin) || (EvTag->GetEventPlaneAngle() > fEventPlaneAngleMax))
1231 return kFALSE;
1232
1233 if(fHBTRadiiFlag)
1234 if((EvTag->GetHBTRadii() < fHBTRadiiMin) || (EvTag->GetHBTRadii() > fHBTRadiiMax))
1235 return kFALSE;
1236
1237 if (fFiredTriggerClassFlag) {
1238 if (fActiveTriggerClasses.Length() == 0) {
1239 AliWarning("Attempt to select Trigger classes but Active trigger classes not set in AliEventTagCuts. Cannot make the selection on Fired Trigger classes");
1240 }
1241 else {
1242 TObjArray *tClasses = fFiredTriggerClass.Tokenize(" ");
1243 Bool_t tTrig = kFALSE;
1244
1245 for (int itrig=0; itrig<tClasses->GetEntries(); itrig++)
1246 if (EvTag->GetFiredTriggerClasses(fActiveTriggerClasses).Contains(((TObjString *) tClasses->At(itrig))->GetString()))
1247 tTrig = kTRUE;
1248
1249 tClasses->Delete();
1250 delete tClasses;
1251
1252 if (!tTrig)
1253 return kFALSE;
1254 }
1255 }
1256
1257 return kTRUE;
1258}
1259
1260Bool_t AliEventTagCuts::IsAccepted(const AliEventTag *EvTag) const
1261{
1262 //Returns true if the event is accepted otherwise false.
1263 if(fEventTypeFlag)
1264 if(EvTag->GetEventType() != fEventType)
1265 return kFALSE;
1266
1267 if(fNumberOfFiredChipsLayer1Flag)
1268 if((EvTag->GetNumberOfFiredChipsLayer1() < fNumberOfFiredChipsLayer1Min) || (EvTag->GetNumberOfFiredChipsLayer1() > fNumberOfFiredChipsLayer1Max))
1269 return kFALSE;
1270
1271 if(fNumberOfFiredChipsLayer2Flag)
1272 if((EvTag->GetNumberOfFiredChipsLayer2() < fNumberOfFiredChipsLayer2Min) || (EvTag->GetNumberOfFiredChipsLayer2() > fNumberOfFiredChipsLayer2Max))
1273 return kFALSE;
1274
1275 if(fNumberOfSPDTrackletsFlag)
1276 if((EvTag->GetNumberOfSPDTracklets() < fNumberOfSPDTrackletsMin) || (EvTag->GetNumberOfSPDTracklets() > fNumberOfSPDTrackletsMax))
1277 return kFALSE;
1278
1279 if(fPeriodNumberFlag)
1280 if((EvTag->GetPeriodNumber() < fPeriodNumberMin) || (EvTag->GetPeriodNumber() > fPeriodNumberMax))
1281 return kFALSE;
1282
1283 if(fOrbitNumberFlag)
1284 if((EvTag->GetOrbitNumber() < fOrbitNumberMin) || (EvTag->GetOrbitNumber() > fOrbitNumberMax))
1285 return kFALSE;
1286
1287 if(fBunchCrossNumberFlag)
1288 if((EvTag->GetBunchCrossNumber() < fBunchCrossNumberMin) || (EvTag->GetBunchCrossNumber() > fBunchCrossNumberMax))
1289 return kFALSE;
1290
1291
1292 if(fEtaFlag)
1293 if((EvTag->GetEtaMaxPt() < fEtaMin) || (EvTag->GetEtaMaxPt() > fEtaMax))
1294 return kFALSE;
1295
1296 if(fPhiFlag)
1297 if((EvTag->GetPhiMaxPt() < fPhiMin) || (EvTag->GetPhiMaxPt() > fPhiMax))
1298 return kFALSE;
1299
1300 if(fVzFlag)
1301 if((EvTag->GetVertexZ() < fVzMin) || (EvTag->GetVertexZ() > fVzMax))
1302 return kFALSE;
1303
1304 if(fVyFlag)
1305 if((EvTag->GetVertexY() < fVyMin) || (EvTag->GetVertexY() > fVyMax))
1306 return kFALSE;
1307
1308 if(fVxFlag)
1309 if((EvTag->GetVertexX() < fVxMin) || (EvTag->GetVertexX() > fVxMax))
1310 return kFALSE;
1311
1312 if(fNParticipantsFlag)
1313 if((EvTag->GetNumOfParticipants() < fNParticipantsMin) || (EvTag->GetNumOfParticipants() > fNParticipantsMax))
1314 return kFALSE;
1315
1316 if(fImpactParamFlag)
1317 if((EvTag->GetImpactParameter() < fImpactParamMin) || (EvTag->GetImpactParameter() > fImpactParamMax))
1318 return kFALSE;
1319
1320 if(fPVFlag)
1321 if((EvTag->GetVertexFlag() != fPrimaryVertexFlag))
1322 return kFALSE;
1323
1324 if(fPVzErrorFlag)
1325 if((EvTag->GetVertexZError() < fPrimaryVertexZErrorMin) || (EvTag->GetVertexZError() > fPrimaryVertexZErrorMax))
1326 return kFALSE;
1327 if(fTriggerMaskFlag)
1328 if((EvTag->GetTriggerMask() & fTriggerMask) != fTriggerMask)
1329 return kFALSE;
1330 if(fTriggerClusterFlag)
1331 if((EvTag->GetTriggerCluster() != fTriggerCluster))
1332 return kFALSE;
1333
1334 if(fZDCNeutron1EnergyFlag)
1335 if((EvTag->GetZDCNeutron1Energy() < fZDCNeutron1EnergyMin) || (EvTag->GetZDCNeutron1Energy() > fZDCNeutron1EnergyMax))
1336 return kFALSE;
1337
1338 if(fZDCProton1EnergyFlag)
1339 if((EvTag->GetZDCProton1Energy() < fZDCProton1EnergyMin) || (EvTag->GetZDCProton1Energy() > fZDCProton1EnergyMax))
1340 return kFALSE;
1341
1342 if(fZDCNeutron2EnergyFlag)
1343 if((EvTag->GetZDCNeutron2Energy() < fZDCNeutron2EnergyMin) || (EvTag->GetZDCNeutron2Energy() > fZDCNeutron2EnergyMax))
1344 return kFALSE;
1345
1346 if(fZDCProton2EnergyFlag)
1347 if((EvTag->GetZDCProton2Energy() < fZDCProton2EnergyMin) || (EvTag->GetZDCProton2Energy() > fZDCProton2EnergyMax))
1348 return kFALSE;
1349
1350 if(fZDCEMEnergyFlag)
1351 if((EvTag->GetZDCEMEnergy(1) < fZDCEMEnergyMin) || (EvTag->GetZDCEMEnergy(1) > fZDCEMEnergyMax))
1352 return kFALSE;
1353
1354 if(fT0VertexZFlag)
1355 if((EvTag->GetT0VertexZ() < fT0VertexZMin) || (EvTag->GetT0VertexZ() > fT0VertexZMax))
1356 return kFALSE;
1357
1358 if(fMultFlag)
1359 if((EvTag->GetNumOfTracks() < fMultMin) || (EvTag->GetNumOfTracks() > fMultMax))
1360 return kFALSE;
1361
1362 if(fPosMultFlag)
1363 if((EvTag->GetNumOfPosTracks() < fPosMultMin) || (EvTag->GetNumOfPosTracks() > fPosMultMax))
1364 return kFALSE;
1365
1366 if(fNegMultFlag)
1367 if((EvTag->GetNumOfNegTracks() < fNegMultMin) || (EvTag->GetNumOfNegTracks() > fNegMultMax))
1368 return kFALSE;
1369
1370 if(fNeutrMultFlag)
1371 if((EvTag->GetNumOfNeutrTracks() < fNeutrMultMin) || (EvTag->GetNumOfNeutrTracks() > fNeutrMultMax))
1372 return kFALSE;
1373
1374 if(fNV0sFlag)
1375 if((EvTag->GetNumOfV0s() < fNV0sMin) || (EvTag->GetNumOfV0s() > fNV0sMax))
1376 return kFALSE;
1377
1378 if(fNCascadesFlag)
1379 if((EvTag->GetNumOfCascades() < fNCascadesMin) || (EvTag->GetNumOfCascades() > fNCascadesMax))
1380 return kFALSE;
1381
1382 if(fNKinksFlag)
1383 if((EvTag->GetNumOfKinks() < fNKinksMin) || (EvTag->GetNumOfKinks() > fNKinksMax))
1384 return kFALSE;
1385
1386
1387 if(fNPMDTracksFlag)
1388 if((EvTag->GetNumOfPMDTracks() < fNPMDTracksMin) || (EvTag->GetNumOfPMDTracks() > fNPMDTracksMax))
1389 return kFALSE;
1390 if(fNFMDTracksFlag)
1391 if((EvTag->GetNumOfFMDTracks() < fNFMDTracksMin) || (EvTag->GetNumOfFMDTracks() > fNFMDTracksMax))
1392 return kFALSE;
1393 if(fNPHOSClustersFlag)
1394 if((EvTag->GetNumOfPHOSClusters() < fNPHOSClustersMin) || (EvTag->GetNumOfPHOSClusters() > fNPHOSClustersMax))
1395 return kFALSE;
1396 if(fNEMCALClustersFlag)
1397 if((EvTag->GetNumOfEMCALClusters() < fNEMCALClustersMin) || (EvTag->GetNumOfEMCALClusters() > fNEMCALClustersMax))
1398 return kFALSE;
1399 if(fNJetCandidatesFlag)
1400 if((EvTag->GetNumOfJetCandidates() < fNJetCandidatesMin) || (EvTag->GetNumOfJetCandidates() > fNJetCandidatesMax))
1401 return kFALSE;
1402
1403
1404 if(fTopJetEnergyMinFlag)
1405 if((EvTag->GetMaxJetEnergy() < fTopJetEnergyMin))
1406 return kFALSE;
1407
1408 if(fNHardPhotonCandidatesFlag)
1409 if((EvTag->GetNumOfHardPhotonsCandidates() < fNHardPhotonCandidatesMin) || (EvTag->GetNumOfHardPhotonsCandidates() > fNHardPhotonCandidatesMax))
1410 return kFALSE;
1411
1412 if(fTopNeutralEnergyMinFlag)
1413 if((EvTag->GetMaxNeutralEnergy() < fTopNeutralEnergyMin))
1414 return kFALSE;
1415
1416 if(fNChargedAbove1GeVFlag)
1417 if((EvTag->GetNumOfChargedAbove1GeV() < fNChargedAbove1GeVMin) || (EvTag->GetNumOfChargedAbove1GeV() > fNChargedAbove1GeVMax))
1418 return kFALSE;
1419
1420 if(fNChargedAbove3GeVFlag)
1421 if((EvTag->GetNumOfChargedAbove3GeV() < fNChargedAbove3GeVMin) || (EvTag->GetNumOfChargedAbove3GeV() > fNChargedAbove3GeVMax))
1422 return kFALSE;
1423
1424 if(fNChargedAbove10GeVFlag)
1425 if((EvTag->GetNumOfChargedAbove10GeV() < fNChargedAbove10GeVMin) || (EvTag->GetNumOfChargedAbove10GeV() > fNChargedAbove10GeVMax))
1426 return kFALSE;
1427
1428 if(fNMuonsAbove1GeVFlag)
1429 if((EvTag->GetNumOfMuonsAbove1GeV() < fNMuonsAbove1GeVMin) || (EvTag->GetNumOfMuonsAbove1GeV() > fNMuonsAbove1GeVMax))
1430 return kFALSE;
1431
1432 if(fNMuonsAbove3GeVFlag)
1433 if((EvTag->GetNumOfMuonsAbove3GeV() < fNMuonsAbove3GeVMin) || (EvTag->GetNumOfMuonsAbove3GeV() > fNMuonsAbove3GeVMax))
1434 return kFALSE;
1435
1436 if(fNMuonsAbove10GeVFlag)
1437 if((EvTag->GetNumOfMuonsAbove10GeV() < fNMuonsAbove10GeVMin) || (EvTag->GetNumOfMuonsAbove10GeV() > fNMuonsAbove10GeVMax))
1438 return kFALSE;
1439
1440 if(fNElectronsAbove1GeVFlag)
1441 if((EvTag->GetNumOfElectronsAbove1GeV() < fNElectronsAbove1GeVMin) || (EvTag->GetNumOfElectronsAbove1GeV() > fNElectronsAbove1GeVMax))
1442 return kFALSE;
1443
1444 if(fNElectronsAbove3GeVFlag)
1445 if((EvTag->GetNumOfElectronsAbove3GeV() < fNElectronsAbove3GeVMin) || (EvTag->GetNumOfElectronsAbove3GeV() > fNElectronsAbove3GeVMax))
1446 return kFALSE;
1447
1448 if(fNElectronsAbove10GeVFlag)
1449 if((EvTag->GetNumOfElectronsAbove10GeV() < fNElectronsAbove10GeVMin) || (EvTag->GetNumOfElectronsAbove10GeV() > fNElectronsAbove10GeVMax))
1450 return kFALSE;
1451
1452 if(fNElectronsFlag)
1453 if((EvTag->GetNumOfElectrons() < fNElectronsMin) || (EvTag->GetNumOfElectrons() > fNElectronsMax))
1454 return kFALSE;
1455
1456 if(fNFWMuonsFlag)
1457 if((EvTag->GetNumOfFWMuons() < fNFWMuonsMin) || (EvTag->GetNumOfFWMuons() > fNFWMuonsMax))
1458 return kFALSE;
1459
1460 if(fNFWMatchedMuonsFlag)
1461 if((EvTag->GetNumOfFWMatchedMuons() < fNFWMatchedMuonsMin) || (EvTag->GetNumOfFWMatchedMuons() > fNFWMatchedMuonsMax))
1462 return kFALSE;
1463
1464 if(fNMuonsFlag)
1465 if((EvTag->GetNumOfMuons() < fNMuonsMin) || (EvTag->GetNumOfMuons() > fNMuonsMax))
1466 return kFALSE;
1467
1468 if(fNPionsFlag)
1469 if((EvTag->GetNumOfPions() < fNPionsMin) || (EvTag->GetNumOfPions() > fNPionsMax))
1470 return kFALSE;
1471
1472 if(fNKaonsFlag)
1473 if((EvTag->GetNumOfKaons() < fNKaonsMin) || (EvTag->GetNumOfKaons() > fNKaonsMax))
1474 return kFALSE;
1475
1476 if(fNProtonsFlag)
1477 if((EvTag->GetNumOfProtons() < fNProtonsMin) || (EvTag->GetNumOfProtons() > fNProtonsMax))
1478 return kFALSE;
1479
1480 if(fNLambdasFlag)
1481 if((EvTag->GetNumOfLambdas() < fNLambdasMin) || (EvTag->GetNumOfLambdas() > fNLambdasMax))
1482 return kFALSE;
1483
1484 if(fNPhotonFlag)
1485 if((EvTag->GetNumOfPhotons() < fNPhotonsMin) || (EvTag->GetNumOfPhotons() > fNPhotonsMax))
1486 return kFALSE;
1487
1488 if(fNPi0sFlag)
1489 if((EvTag->GetNumOfPi0s() < fNPi0sMin) || (EvTag->GetNumOfPi0s() > fNPi0sMax))
1490 return kFALSE;
1491
1492 if(fNNeutronsFlag)
1493 if((EvTag->GetNumOfNeutrons() < fNNeutronsMin) || (EvTag->GetNumOfNeutrons() > fNNeutronsMax))
1494 return kFALSE;
1495
1496 if(fNKaon0sFlag)
1497 if((EvTag->GetNumOfKaon0s() < fNKaon0sMin) || (EvTag->GetNumOfKaon0s() > fNKaon0sMax))
1498 return kFALSE;
1499
1500 if(fTotalPFlag)
1501 if((EvTag->GetTotalMomentum() < fTotalPMin) || (EvTag->GetTotalMomentum() > fTotalPMax))
1502 return kFALSE;
1503
1504 if(fMeanPtFlag)
1505 if((EvTag->GetMeanPt() < fMeanPtMin) || (EvTag->GetMeanPt() > fMeanPtMax))
1506 return kFALSE;
1507
1508 if(fTopPtMinFlag)
1509 if((EvTag->GetMaxPt() < fTopPtMin))
1510 return kFALSE;
1511
1512 if(fTotalNeutralPFlag)
1513 if((EvTag->GetNeutralTotalMomentum() < fTotalNeutralPMin) || (EvTag->GetNeutralTotalMomentum() > fTotalNeutralPMax))
1514 return kFALSE;
1515
1516 if(fMeanNeutralPtFlag)
1517 if((EvTag->GetNeutralMeanPt() < fMeanNeutralPtMin) || (EvTag->GetNeutralMeanPt() >fMeanNeutralPtMax ))
1518 return kFALSE;
1519
1520 if(fTopNeutralPtMinFlag)
1521 if((EvTag->GetNeutralMaxPt() < fTopNeutralPtMin))
1522 return kFALSE;
1523
1524 if(fEventPlaneAngleFlag)
1525 if((EvTag->GetEventPlaneAngle() < fEventPlaneAngleMin) || (EvTag->GetEventPlaneAngle() > fEventPlaneAngleMax))
1526 return kFALSE;
1527
1528 if(fHBTRadiiFlag)
1529 if((EvTag->GetHBTRadii() < fHBTRadiiMin) || (EvTag->GetHBTRadii() > fHBTRadiiMax))
1530 return kFALSE;
1531
1532 if (fFiredTriggerClassFlag) {
1533 if (fActiveTriggerClasses.Length() == 0) {
1534 AliWarning("Attempt to select Trigger classes but Active trigger classes not set in AliEventTagCuts. Cannot make the selection on Fired Trigger classes");
1535 }
1536 else {
1537 TObjArray *tClasses = fFiredTriggerClass.Tokenize(" ");
1538 Bool_t tTrig = kFALSE;
1539
1540 for (int itrig=0; itrig<tClasses->GetEntries(); itrig++)
1541 if (EvTag->GetFiredTriggerClasses(fActiveTriggerClasses).Contains(((TObjString *) tClasses->At(itrig))->GetString()))
1542 tTrig = kTRUE;
1543
1544 tClasses->Delete();
1545 delete tClasses;
1546
1547 if (!tTrig)
1548 return kFALSE;
1549 }
1550 }
1551
1552 return kTRUE;
1553
1554}