1 /**************************************************************************
2 * Author: Panos Christakoglou. *
3 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
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 //-----------------------------------------------------------------
26 #include "AliEventTag.h"
27 #include "AliEventTagCuts.h"
28 #include <TObjArray.h>
29 #include <TObjString.h>
31 ClassImp(AliEventTagCuts)
34 //___________________________________________________________________________
35 AliEventTagCuts::AliEventTagCuts() :
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),
48 fPhiMin(0.), fPhiMax(2*(TMath::Pi())),
50 fVxMin(-1000.0), fVxMax(1000.0),
52 fVyMin(-1000.0), fVyMax(1000.0),
54 fVzMin(-1000.0), fVzMax(1000.0),
56 fPrimaryVertexFlag(1),
59 fPrimaryVertexZErrorMin(-10000.), fPrimaryVertexZErrorMax(10000.),
60 fPVzErrorFlag(kFALSE),
62 fTriggerMaskFlag(kFALSE),
64 fTriggerClusterFlag(kFALSE),
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),
80 fPosMultMin(-1), fPosMultMax(100000),
82 fNegMultMin(-1), fNegMultMax(100000),
84 fNeutrMultMin(-1), fNeutrMultMax(100000),
85 fNeutrMultFlag(kFALSE),
86 fNV0sMin(-1), fNV0sMax(1000000),
88 fNCascadesMin(-1), fNCascadesMax(100000),
89 fNCascadesFlag(kFALSE),
90 fNKinksMin(-1), fNKinksMax(1000000),
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),
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),
136 fNPionsMin(-1), fNPionsMax(100000),
138 fNKaonsMin(-1), fNKaonsMax(100000),
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),
148 fNNeutronsMin(-1), fNNeutronsMax(100000),
149 fNNeutronsFlag(kFALSE),
150 fNKaon0sMin(-1), fNKaon0sMax(100000),
151 fNKaon0sFlag(kFALSE),
152 fTotalPMin(-1.0), fTotalPMax(1000000.0),
154 fMeanPtMin(-1.0), fMeanPtMax(100000.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),
169 fNumberOfFiredChipsLayer1Min(0), fNumberOfFiredChipsLayer1Max(100000),
170 fNumberOfFiredChipsLayer1Flag(kFALSE),
171 fNumberOfFiredChipsLayer2Min(0), fNumberOfFiredChipsLayer2Max(100000),
172 fNumberOfFiredChipsLayer2Flag(kFALSE),
173 fNumberOfSPDTrackletsMin(0), fNumberOfSPDTrackletsMax(100000),
174 fNumberOfSPDTrackletsFlag(kFALSE),
176 fFiredTriggerClassFlag(kFALSE), fFiredTriggerClass(""),
177 fActiveTriggerClasses("")
179 //Default constructor which calls the Reset method.
183 //___________________________________________________________________________
184 AliEventTagCuts::~AliEventTagCuts() {
188 //___________________________________________________________________________
189 void AliEventTagCuts::Reset() {
190 //Sets dummy values to every private member.
191 fPeriodNumberFlag = kFALSE;
192 fOrbitNumberFlag = kFALSE;
193 fBunchCrossNumberFlag = kFALSE;
195 fEventTypeFlag = kFALSE;
197 fNParticipantsFlag = kFALSE;
198 fImpactParamFlag = kFALSE;
206 fPVzErrorFlag = kFALSE;
208 fTriggerMaskFlag = kFALSE;
209 fTriggerClusterFlag = kFALSE;
211 fZDCNeutron1EnergyFlag = kFALSE;
212 fZDCProton1EnergyFlag = kFALSE;
213 fZDCNeutron2EnergyFlag = kFALSE;
214 fZDCProton2EnergyFlag = kFALSE;
215 fZDCEMEnergyFlag = kFALSE;
216 fT0VertexZFlag = kFALSE;
218 fPosMultFlag = kFALSE;
219 fNegMultFlag = kFALSE;
220 fNeutrMultFlag = kFALSE;
222 fNCascadesFlag = kFALSE;
223 fNKinksFlag = kFALSE;
225 fNPMDTracksFlag = kFALSE;
226 fNFMDTracksFlag = kFALSE;
227 fNPHOSClustersFlag = kFALSE;
228 fNEMCALClustersFlag = kFALSE;
229 fNJetCandidatesFlag = kFALSE;
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;
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;
264 fNumberOfFiredChipsLayer1Flag = kFALSE;
265 fNumberOfFiredChipsLayer2Flag = kFALSE;
266 fNumberOfSPDTrackletsFlag = kFALSE;
268 fPeriodNumberMin = 0, fPeriodNumberMax = 0xFFFFFFFF;
269 fOrbitNumberMin = 0, fOrbitNumberMax = 0xFFFFFFFF;
270 fBunchCrossNumberMin = 0, fBunchCrossNumberMax = 0xFFFF;
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;
283 fPrimaryVertexZErrorMin = -10000.; fPrimaryVertexZErrorMax = 10000.;
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;
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;
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;
340 fNumberOfFiredChipsLayer1Min = 0, fNumberOfFiredChipsLayer1Max = 100000;
341 fNumberOfFiredChipsLayer2Min = 0, fNumberOfFiredChipsLayer2Max = 100000;
342 fNumberOfSPDTrackletsMin = 0, fNumberOfSPDTrackletsMax = 100000;
344 fFiredTriggerClass = "";
345 fFiredTriggerClassFlag = kFALSE;
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.
353 fEventTypeFlag = kTRUE;
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 fNumberOfFiredChipsLayer1Min = low;
361 fNumberOfFiredChipsLayer1Max = high;
362 fNumberOfFiredChipsLayer1Flag = kTRUE;
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 fNumberOfFiredChipsLayer2Min = low;
370 fNumberOfFiredChipsLayer2Max = high;
371 fNumberOfFiredChipsLayer2Flag = kTRUE;
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 fNumberOfSPDTrackletsMin = low;
379 fNumberOfSPDTrackletsMax = high;
380 fNumberOfSPDTrackletsFlag = kTRUE;
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 fPeriodNumberMin = low;
388 fPeriodNumberMax = high;
389 fPeriodNumberFlag = kTRUE;
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 fOrbitNumberMin = low;
397 fOrbitNumberMax = high;
398 fOrbitNumberFlag = kTRUE;
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 fBunchCrossNumberMin = low;
406 fBunchCrossNumberMax = high;
407 fBunchCrossNumberFlag = kTRUE;
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.
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.
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.
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.
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.
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 fPrimaryVertexZErrorMin = low;
459 fPrimaryVertexZErrorMax = high;
460 fPVzErrorFlag = kTRUE;
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 fTriggerMask = trmask;
468 fTriggerMaskFlag = kTRUE;
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 fTriggerCluster = trcluster;
476 fTriggerClusterFlag = kTRUE;
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.
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 fNParticipantsMin = low;
493 fNParticipantsMax = high;
494 fNParticipantsFlag = kTRUE;
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 fImpactParamMin = low;
502 fImpactParamMax = high;
503 fImpactParamFlag = kTRUE;
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 fPrimaryVertexFlag = flag;
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 fZDCNeutron1EnergyMin = low;
520 fZDCNeutron1EnergyMax = high;
521 fZDCNeutron1EnergyFlag = kTRUE;
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 fZDCProton1EnergyMin = low;
529 fZDCProton1EnergyMax = high;
530 fZDCProton1EnergyFlag = kTRUE;
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 fZDCNeutron2EnergyMin = low;
537 fZDCNeutron2EnergyMax = high;
538 fZDCNeutron2EnergyFlag = kTRUE;
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 fZDCProton2EnergyMin = low;
545 fZDCProton2EnergyMax = high;
546 fZDCProton2EnergyFlag = kTRUE;
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 fZDCEMEnergyMin = low;
553 fZDCEMEnergyMax = high;
554 fZDCEMEnergyFlag = kTRUE;
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.
562 fT0VertexZMax = high;
563 fT0VertexZFlag = kTRUE;
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.
572 fPosMultFlag = kTRUE;
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.
582 fNegMultFlag = kTRUE;
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.
591 fNeutrMultMax = high;
592 fNeutrMultFlag = kTRUE;
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.
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.
609 fNCascadesMax = high;
610 fNCascadesFlag = kTRUE;
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.
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 fNPMDTracksMin = low;
627 fNPMDTracksMax = high;
628 fNPMDTracksFlag = kTRUE;
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 fNFMDTracksMin = low;
636 fNFMDTracksMax = high;
637 fNFMDTracksFlag = kTRUE;
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 fNPHOSClustersMin = low;
645 fNPHOSClustersMax = high;
646 fNPHOSClustersFlag = kTRUE;
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 fNEMCALClustersMin = low;
654 fNEMCALClustersMax = high;
655 fNEMCALClustersFlag = kTRUE;
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 fNJetCandidatesMin = low;
663 fNJetCandidatesMax = high;
664 fNJetCandidatesFlag = kTRUE;
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 fTopJetEnergyMin = low;
672 fTopJetEnergyMinFlag = kTRUE;
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 fTopNeutralEnergyMin = low;
679 fTopNeutralEnergyMinFlag = kTRUE;
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 fNHardPhotonCandidatesMin = low;
686 fNHardPhotonCandidatesMax = high;
687 fNHardPhotonCandidatesFlag = kTRUE;
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 fNChargedAbove1GeVMin = low;
695 fNChargedAbove1GeVMax = high;
696 fNChargedAbove1GeVFlag = kTRUE;
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;
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 fNChargedAbove10GeVMin = low;
714 fNChargedAbove10GeVMax = high;
715 fNChargedAbove10GeVFlag = kTRUE;
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 fNMuonsAbove1GeVMin = low;
724 fNMuonsAbove1GeVMax = high;
725 fNMuonsAbove1GeVFlag = kTRUE;
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 fNMuonsAbove3GeVMin = low;
734 fNMuonsAbove3GeVMax = high;
735 fNMuonsAbove3GeVFlag = kTRUE;
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 fNMuonsAbove10GeVMin = low;
743 fNMuonsAbove10GeVMax = high;
744 fNMuonsAbove10GeVFlag = kTRUE;
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 fNElectronsAbove1GeVMin = low;
753 fNElectronsAbove1GeVMax = high;
754 fNElectronsAbove1GeVFlag = kTRUE;
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 fNElectronsAbove3GeVMin = low;
762 fNElectronsAbove3GeVMax = high;
763 fNElectronsAbove3GeVFlag = kTRUE;
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 fNElectronsAbove10GeVMin = low;
771 fNElectronsAbove10GeVMax = high;
772 fNElectronsAbove10GeVFlag = kTRUE;
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 fNElectronsMin = low;
779 fNElectronsMax = high;
780 fNElectronsFlag = kTRUE;
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.
788 fNFWMuonsFlag = kTRUE;
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 fNFWMatchedMuonsMin = low;
796 fNFWMatchedMuonsMax = high;
797 fNFWMatchedMuonsFlag = kTRUE;
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.
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.
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.
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.
833 fNProtonsFlag = kTRUE;
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.
842 fNLambdasFlag = kTRUE;
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.
850 fNPhotonFlag = kTRUE;
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.
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.
866 fNNeutronsMax = high;
867 fNNeutronsFlag = kTRUE;
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.
876 fNKaon0sFlag = kTRUE;
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.
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.
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.
902 fTopPtMinFlag = kTRUE;
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 fTotalNeutralPMin =low ;
910 fTotalNeutralPMax = high;
911 fTotalNeutralPFlag = kTRUE;
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 fMeanNeutralPtMin = low;
918 fMeanNeutralPtMax = high;
919 fMeanNeutralPtFlag = kTRUE;
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 fTopNeutralPtMin = low;
926 fTopNeutralPtMinFlag = kTRUE;
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 fEventPlaneAngleMin = low;
934 fEventPlaneAngleMax = high;
935 fEventPlaneAngleFlag = kTRUE;
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.
944 fHBTRadiiFlag = kTRUE;
947 void AliEventTagCuts::AddRequiredFiredTriggerClass(TString aclass)
949 fFiredTriggerClass += " ";
950 fFiredTriggerClass += aclass;
951 fFiredTriggerClassFlag = kTRUE;
954 void AliEventTagCuts::ResetTriggerClasses()
956 fFiredTriggerClassFlag = kFALSE;
957 fFiredTriggerClass = "";
960 void AliEventTagCuts::InitializeTriggerClasses(TString aclass)
962 fActiveTriggerClasses = aclass;
965 //___________________________________________________________________________
966 Bool_t AliEventTagCuts::IsAccepted(AliEventTag *EvTag) const {
967 //Returns true if the event is accepted otherwise false.
969 if(EvTag->GetEventType() != fEventType)
972 if(fNumberOfFiredChipsLayer1Flag)
973 if((EvTag->GetNumberOfFiredChipsLayer1() < fNumberOfFiredChipsLayer1Min) || (EvTag->GetNumberOfFiredChipsLayer1() > fNumberOfFiredChipsLayer1Max))
976 if(fNumberOfFiredChipsLayer2Flag)
977 if((EvTag->GetNumberOfFiredChipsLayer2() < fNumberOfFiredChipsLayer2Min) || (EvTag->GetNumberOfFiredChipsLayer2() > fNumberOfFiredChipsLayer2Max))
980 if(fNumberOfSPDTrackletsFlag)
981 if((EvTag->GetNumberOfSPDTracklets() < fNumberOfSPDTrackletsMin) || (EvTag->GetNumberOfSPDTracklets() > fNumberOfSPDTrackletsMax))
984 if(fPeriodNumberFlag)
985 if((EvTag->GetPeriodNumber() < fPeriodNumberMin) || (EvTag->GetPeriodNumber() > fPeriodNumberMax))
989 if((EvTag->GetOrbitNumber() < fOrbitNumberMin) || (EvTag->GetOrbitNumber() > fOrbitNumberMax))
992 if(fBunchCrossNumberFlag)
993 if((EvTag->GetBunchCrossNumber() < fBunchCrossNumberMin) || (EvTag->GetBunchCrossNumber() > fBunchCrossNumberMax))
998 if((EvTag->GetEtaMaxPt() < fEtaMin) || (EvTag->GetEtaMaxPt() > fEtaMax))
1002 if((EvTag->GetPhiMaxPt() < fPhiMin) || (EvTag->GetPhiMaxPt() > fPhiMax))
1006 if((EvTag->GetVertexZ() < fVzMin) || (EvTag->GetVertexZ() > fVzMax))
1010 if((EvTag->GetVertexY() < fVyMin) || (EvTag->GetVertexY() > fVyMax))
1014 if((EvTag->GetVertexX() < fVxMin) || (EvTag->GetVertexX() > fVxMax))
1017 if(fNParticipantsFlag)
1018 if((EvTag->GetNumOfParticipants() < fNParticipantsMin) || (EvTag->GetNumOfParticipants() > fNParticipantsMax))
1021 if(fImpactParamFlag)
1022 if((EvTag->GetImpactParameter() < fImpactParamMin) || (EvTag->GetImpactParameter() > fImpactParamMax))
1026 if((EvTag->GetVertexFlag() != fPrimaryVertexFlag))
1030 if((EvTag->GetVertexZError() < fPrimaryVertexZErrorMin) || (EvTag->GetVertexZError() > fPrimaryVertexZErrorMax))
1032 if(fTriggerMaskFlag)
1033 if((EvTag->GetTriggerMask() & fTriggerMask) != fTriggerMask)
1035 if(fTriggerClusterFlag)
1036 if((EvTag->GetTriggerCluster() != fTriggerCluster))
1039 if(fZDCNeutron1EnergyFlag)
1040 if((EvTag->GetZDCNeutron1Energy() < fZDCNeutron1EnergyMin) || (EvTag->GetZDCNeutron1Energy() > fZDCNeutron1EnergyMax))
1043 if(fZDCProton1EnergyFlag)
1044 if((EvTag->GetZDCProton1Energy() < fZDCProton1EnergyMin) || (EvTag->GetZDCProton1Energy() > fZDCProton1EnergyMax))
1047 if(fZDCNeutron2EnergyFlag)
1048 if((EvTag->GetZDCNeutron2Energy() < fZDCNeutron2EnergyMin) || (EvTag->GetZDCNeutron2Energy() > fZDCNeutron2EnergyMax))
1051 if(fZDCProton2EnergyFlag)
1052 if((EvTag->GetZDCProton2Energy() < fZDCProton2EnergyMin) || (EvTag->GetZDCProton2Energy() > fZDCProton2EnergyMax))
1055 if(fZDCEMEnergyFlag)
1056 if((EvTag->GetZDCEMEnergy(1) < fZDCEMEnergyMin) || (EvTag->GetZDCEMEnergy(1) > fZDCEMEnergyMax))
1060 if((EvTag->GetT0VertexZ() < fT0VertexZMin) || (EvTag->GetT0VertexZ() > fT0VertexZMax))
1064 if((EvTag->GetNumOfTracks() < fMultMin) || (EvTag->GetNumOfTracks() > fMultMax))
1068 if((EvTag->GetNumOfPosTracks() < fPosMultMin) || (EvTag->GetNumOfPosTracks() > fPosMultMax))
1072 if((EvTag->GetNumOfNegTracks() < fNegMultMin) || (EvTag->GetNumOfNegTracks() > fNegMultMax))
1076 if((EvTag->GetNumOfNeutrTracks() < fNeutrMultMin) || (EvTag->GetNumOfNeutrTracks() > fNeutrMultMax))
1080 if((EvTag->GetNumOfV0s() < fNV0sMin) || (EvTag->GetNumOfV0s() > fNV0sMax))
1084 if((EvTag->GetNumOfCascades() < fNCascadesMin) || (EvTag->GetNumOfCascades() > fNCascadesMax))
1088 if((EvTag->GetNumOfKinks() < fNKinksMin) || (EvTag->GetNumOfKinks() > fNKinksMax))
1093 if((EvTag->GetNumOfPMDTracks() < fNPMDTracksMin) || (EvTag->GetNumOfPMDTracks() > fNPMDTracksMax))
1096 if((EvTag->GetNumOfFMDTracks() < fNFMDTracksMin) || (EvTag->GetNumOfFMDTracks() > fNFMDTracksMax))
1098 if(fNPHOSClustersFlag)
1099 if((EvTag->GetNumOfPHOSClusters() < fNPHOSClustersMin) || (EvTag->GetNumOfPHOSClusters() > fNPHOSClustersMax))
1101 if(fNEMCALClustersFlag)
1102 if((EvTag->GetNumOfEMCALClusters() < fNEMCALClustersMin) || (EvTag->GetNumOfEMCALClusters() > fNEMCALClustersMax))
1104 if(fNJetCandidatesFlag)
1105 if((EvTag->GetNumOfJetCandidates() < fNJetCandidatesMin) || (EvTag->GetNumOfJetCandidates() > fNJetCandidatesMax))
1109 if(fTopJetEnergyMinFlag)
1110 if((EvTag->GetMaxJetEnergy() < fTopJetEnergyMin))
1113 if(fNHardPhotonCandidatesFlag)
1114 if((EvTag->GetNumOfHardPhotonsCandidates() < fNHardPhotonCandidatesMin) || (EvTag->GetNumOfHardPhotonsCandidates() > fNHardPhotonCandidatesMax))
1117 if(fTopNeutralEnergyMinFlag)
1118 if((EvTag->GetMaxNeutralEnergy() < fTopNeutralEnergyMin))
1121 if(fNChargedAbove1GeVFlag)
1122 if((EvTag->GetNumOfChargedAbove1GeV() < fNChargedAbove1GeVMin) || (EvTag->GetNumOfChargedAbove1GeV() > fNChargedAbove1GeVMax))
1125 if(fNChargedAbove3GeVFlag)
1126 if((EvTag->GetNumOfChargedAbove3GeV() < fNChargedAbove3GeVMin) || (EvTag->GetNumOfChargedAbove3GeV() > fNChargedAbove3GeVMax))
1129 if(fNChargedAbove10GeVFlag)
1130 if((EvTag->GetNumOfChargedAbove10GeV() < fNChargedAbove10GeVMin) || (EvTag->GetNumOfChargedAbove10GeV() > fNChargedAbove10GeVMax))
1133 if(fNMuonsAbove1GeVFlag)
1134 if((EvTag->GetNumOfMuonsAbove1GeV() < fNMuonsAbove1GeVMin) || (EvTag->GetNumOfMuonsAbove1GeV() > fNMuonsAbove1GeVMax))
1137 if(fNMuonsAbove3GeVFlag)
1138 if((EvTag->GetNumOfMuonsAbove3GeV() < fNMuonsAbove3GeVMin) || (EvTag->GetNumOfMuonsAbove3GeV() > fNMuonsAbove3GeVMax))
1141 if(fNMuonsAbove10GeVFlag)
1142 if((EvTag->GetNumOfMuonsAbove10GeV() < fNMuonsAbove10GeVMin) || (EvTag->GetNumOfMuonsAbove10GeV() > fNMuonsAbove10GeVMax))
1145 if(fNElectronsAbove1GeVFlag)
1146 if((EvTag->GetNumOfElectronsAbove1GeV() < fNElectronsAbove1GeVMin) || (EvTag->GetNumOfElectronsAbove1GeV() > fNElectronsAbove1GeVMax))
1149 if(fNElectronsAbove3GeVFlag)
1150 if((EvTag->GetNumOfElectronsAbove3GeV() < fNElectronsAbove3GeVMin) || (EvTag->GetNumOfElectronsAbove3GeV() > fNElectronsAbove3GeVMax))
1153 if(fNElectronsAbove10GeVFlag)
1154 if((EvTag->GetNumOfElectronsAbove10GeV() < fNElectronsAbove10GeVMin) || (EvTag->GetNumOfElectronsAbove10GeV() > fNElectronsAbove10GeVMax))
1158 if((EvTag->GetNumOfElectrons() < fNElectronsMin) || (EvTag->GetNumOfElectrons() > fNElectronsMax))
1162 if((EvTag->GetNumOfFWMuons() < fNFWMuonsMin) || (EvTag->GetNumOfFWMuons() > fNFWMuonsMax))
1165 if(fNFWMatchedMuonsFlag)
1166 if((EvTag->GetNumOfFWMatchedMuons() < fNFWMatchedMuonsMin) || (EvTag->GetNumOfFWMatchedMuons() > fNFWMatchedMuonsMax))
1170 if((EvTag->GetNumOfMuons() < fNMuonsMin) || (EvTag->GetNumOfMuons() > fNMuonsMax))
1174 if((EvTag->GetNumOfPions() < fNPionsMin) || (EvTag->GetNumOfPions() > fNPionsMax))
1178 if((EvTag->GetNumOfKaons() < fNKaonsMin) || (EvTag->GetNumOfKaons() > fNKaonsMax))
1182 if((EvTag->GetNumOfProtons() < fNProtonsMin) || (EvTag->GetNumOfProtons() > fNProtonsMax))
1186 if((EvTag->GetNumOfLambdas() < fNLambdasMin) || (EvTag->GetNumOfLambdas() > fNLambdasMax))
1190 if((EvTag->GetNumOfPhotons() < fNPhotonsMin) || (EvTag->GetNumOfPhotons() > fNPhotonsMax))
1194 if((EvTag->GetNumOfPi0s() < fNPi0sMin) || (EvTag->GetNumOfPi0s() > fNPi0sMax))
1198 if((EvTag->GetNumOfNeutrons() < fNNeutronsMin) || (EvTag->GetNumOfNeutrons() > fNNeutronsMax))
1202 if((EvTag->GetNumOfKaon0s() < fNKaon0sMin) || (EvTag->GetNumOfKaon0s() > fNKaon0sMax))
1206 if((EvTag->GetTotalMomentum() < fTotalPMin) || (EvTag->GetTotalMomentum() > fTotalPMax))
1210 if((EvTag->GetMeanPt() < fMeanPtMin) || (EvTag->GetMeanPt() > fMeanPtMax))
1214 if((EvTag->GetMaxPt() < fTopPtMin))
1217 if(fTotalNeutralPFlag)
1218 if((EvTag->GetNeutralTotalMomentum() < fTotalNeutralPMin) || (EvTag->GetNeutralTotalMomentum() > fTotalNeutralPMax))
1221 if(fMeanNeutralPtFlag)
1222 if((EvTag->GetNeutralMeanPt() < fMeanNeutralPtMin) || (EvTag->GetNeutralMeanPt() >fMeanNeutralPtMax ))
1225 if(fTopNeutralPtMinFlag)
1226 if((EvTag->GetNeutralMaxPt() < fTopNeutralPtMin))
1229 if(fEventPlaneAngleFlag)
1230 if((EvTag->GetEventPlaneAngle() < fEventPlaneAngleMin) || (EvTag->GetEventPlaneAngle() > fEventPlaneAngleMax))
1234 if((EvTag->GetHBTRadii() < fHBTRadiiMin) || (EvTag->GetHBTRadii() > fHBTRadiiMax))
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");
1242 TObjArray *tClasses = fFiredTriggerClass.Tokenize(" ");
1243 Bool_t tTrig = kFALSE;
1245 for (int itrig=0; itrig<tClasses->GetEntries(); itrig++)
1246 if (EvTag->GetFiredTriggerClasses(fActiveTriggerClasses).Contains(((TObjString *) tClasses->At(itrig))->GetString()))
1260 Bool_t AliEventTagCuts::IsAccepted(const AliEventTag *EvTag) const
1262 //Returns true if the event is accepted otherwise false.
1264 if(EvTag->GetEventType() != fEventType)
1267 if(fNumberOfFiredChipsLayer1Flag)
1268 if((EvTag->GetNumberOfFiredChipsLayer1() < fNumberOfFiredChipsLayer1Min) || (EvTag->GetNumberOfFiredChipsLayer1() > fNumberOfFiredChipsLayer1Max))
1271 if(fNumberOfFiredChipsLayer2Flag)
1272 if((EvTag->GetNumberOfFiredChipsLayer2() < fNumberOfFiredChipsLayer2Min) || (EvTag->GetNumberOfFiredChipsLayer2() > fNumberOfFiredChipsLayer2Max))
1275 if(fNumberOfSPDTrackletsFlag)
1276 if((EvTag->GetNumberOfSPDTracklets() < fNumberOfSPDTrackletsMin) || (EvTag->GetNumberOfSPDTracklets() > fNumberOfSPDTrackletsMax))
1279 if(fPeriodNumberFlag)
1280 if((EvTag->GetPeriodNumber() < fPeriodNumberMin) || (EvTag->GetPeriodNumber() > fPeriodNumberMax))
1283 if(fOrbitNumberFlag)
1284 if((EvTag->GetOrbitNumber() < fOrbitNumberMin) || (EvTag->GetOrbitNumber() > fOrbitNumberMax))
1287 if(fBunchCrossNumberFlag)
1288 if((EvTag->GetBunchCrossNumber() < fBunchCrossNumberMin) || (EvTag->GetBunchCrossNumber() > fBunchCrossNumberMax))
1293 if((EvTag->GetEtaMaxPt() < fEtaMin) || (EvTag->GetEtaMaxPt() > fEtaMax))
1297 if((EvTag->GetPhiMaxPt() < fPhiMin) || (EvTag->GetPhiMaxPt() > fPhiMax))
1301 if((EvTag->GetVertexZ() < fVzMin) || (EvTag->GetVertexZ() > fVzMax))
1305 if((EvTag->GetVertexY() < fVyMin) || (EvTag->GetVertexY() > fVyMax))
1309 if((EvTag->GetVertexX() < fVxMin) || (EvTag->GetVertexX() > fVxMax))
1312 if(fNParticipantsFlag)
1313 if((EvTag->GetNumOfParticipants() < fNParticipantsMin) || (EvTag->GetNumOfParticipants() > fNParticipantsMax))
1316 if(fImpactParamFlag)
1317 if((EvTag->GetImpactParameter() < fImpactParamMin) || (EvTag->GetImpactParameter() > fImpactParamMax))
1321 if((EvTag->GetVertexFlag() != fPrimaryVertexFlag))
1325 if((EvTag->GetVertexZError() < fPrimaryVertexZErrorMin) || (EvTag->GetVertexZError() > fPrimaryVertexZErrorMax))
1327 if(fTriggerMaskFlag)
1328 if((EvTag->GetTriggerMask() & fTriggerMask) != fTriggerMask)
1330 if(fTriggerClusterFlag)
1331 if((EvTag->GetTriggerCluster() != fTriggerCluster))
1334 if(fZDCNeutron1EnergyFlag)
1335 if((EvTag->GetZDCNeutron1Energy() < fZDCNeutron1EnergyMin) || (EvTag->GetZDCNeutron1Energy() > fZDCNeutron1EnergyMax))
1338 if(fZDCProton1EnergyFlag)
1339 if((EvTag->GetZDCProton1Energy() < fZDCProton1EnergyMin) || (EvTag->GetZDCProton1Energy() > fZDCProton1EnergyMax))
1342 if(fZDCNeutron2EnergyFlag)
1343 if((EvTag->GetZDCNeutron2Energy() < fZDCNeutron2EnergyMin) || (EvTag->GetZDCNeutron2Energy() > fZDCNeutron2EnergyMax))
1346 if(fZDCProton2EnergyFlag)
1347 if((EvTag->GetZDCProton2Energy() < fZDCProton2EnergyMin) || (EvTag->GetZDCProton2Energy() > fZDCProton2EnergyMax))
1350 if(fZDCEMEnergyFlag)
1351 if((EvTag->GetZDCEMEnergy(1) < fZDCEMEnergyMin) || (EvTag->GetZDCEMEnergy(1) > fZDCEMEnergyMax))
1355 if((EvTag->GetT0VertexZ() < fT0VertexZMin) || (EvTag->GetT0VertexZ() > fT0VertexZMax))
1359 if((EvTag->GetNumOfTracks() < fMultMin) || (EvTag->GetNumOfTracks() > fMultMax))
1363 if((EvTag->GetNumOfPosTracks() < fPosMultMin) || (EvTag->GetNumOfPosTracks() > fPosMultMax))
1367 if((EvTag->GetNumOfNegTracks() < fNegMultMin) || (EvTag->GetNumOfNegTracks() > fNegMultMax))
1371 if((EvTag->GetNumOfNeutrTracks() < fNeutrMultMin) || (EvTag->GetNumOfNeutrTracks() > fNeutrMultMax))
1375 if((EvTag->GetNumOfV0s() < fNV0sMin) || (EvTag->GetNumOfV0s() > fNV0sMax))
1379 if((EvTag->GetNumOfCascades() < fNCascadesMin) || (EvTag->GetNumOfCascades() > fNCascadesMax))
1383 if((EvTag->GetNumOfKinks() < fNKinksMin) || (EvTag->GetNumOfKinks() > fNKinksMax))
1388 if((EvTag->GetNumOfPMDTracks() < fNPMDTracksMin) || (EvTag->GetNumOfPMDTracks() > fNPMDTracksMax))
1391 if((EvTag->GetNumOfFMDTracks() < fNFMDTracksMin) || (EvTag->GetNumOfFMDTracks() > fNFMDTracksMax))
1393 if(fNPHOSClustersFlag)
1394 if((EvTag->GetNumOfPHOSClusters() < fNPHOSClustersMin) || (EvTag->GetNumOfPHOSClusters() > fNPHOSClustersMax))
1396 if(fNEMCALClustersFlag)
1397 if((EvTag->GetNumOfEMCALClusters() < fNEMCALClustersMin) || (EvTag->GetNumOfEMCALClusters() > fNEMCALClustersMax))
1399 if(fNJetCandidatesFlag)
1400 if((EvTag->GetNumOfJetCandidates() < fNJetCandidatesMin) || (EvTag->GetNumOfJetCandidates() > fNJetCandidatesMax))
1404 if(fTopJetEnergyMinFlag)
1405 if((EvTag->GetMaxJetEnergy() < fTopJetEnergyMin))
1408 if(fNHardPhotonCandidatesFlag)
1409 if((EvTag->GetNumOfHardPhotonsCandidates() < fNHardPhotonCandidatesMin) || (EvTag->GetNumOfHardPhotonsCandidates() > fNHardPhotonCandidatesMax))
1412 if(fTopNeutralEnergyMinFlag)
1413 if((EvTag->GetMaxNeutralEnergy() < fTopNeutralEnergyMin))
1416 if(fNChargedAbove1GeVFlag)
1417 if((EvTag->GetNumOfChargedAbove1GeV() < fNChargedAbove1GeVMin) || (EvTag->GetNumOfChargedAbove1GeV() > fNChargedAbove1GeVMax))
1420 if(fNChargedAbove3GeVFlag)
1421 if((EvTag->GetNumOfChargedAbove3GeV() < fNChargedAbove3GeVMin) || (EvTag->GetNumOfChargedAbove3GeV() > fNChargedAbove3GeVMax))
1424 if(fNChargedAbove10GeVFlag)
1425 if((EvTag->GetNumOfChargedAbove10GeV() < fNChargedAbove10GeVMin) || (EvTag->GetNumOfChargedAbove10GeV() > fNChargedAbove10GeVMax))
1428 if(fNMuonsAbove1GeVFlag)
1429 if((EvTag->GetNumOfMuonsAbove1GeV() < fNMuonsAbove1GeVMin) || (EvTag->GetNumOfMuonsAbove1GeV() > fNMuonsAbove1GeVMax))
1432 if(fNMuonsAbove3GeVFlag)
1433 if((EvTag->GetNumOfMuonsAbove3GeV() < fNMuonsAbove3GeVMin) || (EvTag->GetNumOfMuonsAbove3GeV() > fNMuonsAbove3GeVMax))
1436 if(fNMuonsAbove10GeVFlag)
1437 if((EvTag->GetNumOfMuonsAbove10GeV() < fNMuonsAbove10GeVMin) || (EvTag->GetNumOfMuonsAbove10GeV() > fNMuonsAbove10GeVMax))
1440 if(fNElectronsAbove1GeVFlag)
1441 if((EvTag->GetNumOfElectronsAbove1GeV() < fNElectronsAbove1GeVMin) || (EvTag->GetNumOfElectronsAbove1GeV() > fNElectronsAbove1GeVMax))
1444 if(fNElectronsAbove3GeVFlag)
1445 if((EvTag->GetNumOfElectronsAbove3GeV() < fNElectronsAbove3GeVMin) || (EvTag->GetNumOfElectronsAbove3GeV() > fNElectronsAbove3GeVMax))
1448 if(fNElectronsAbove10GeVFlag)
1449 if((EvTag->GetNumOfElectronsAbove10GeV() < fNElectronsAbove10GeVMin) || (EvTag->GetNumOfElectronsAbove10GeV() > fNElectronsAbove10GeVMax))
1453 if((EvTag->GetNumOfElectrons() < fNElectronsMin) || (EvTag->GetNumOfElectrons() > fNElectronsMax))
1457 if((EvTag->GetNumOfFWMuons() < fNFWMuonsMin) || (EvTag->GetNumOfFWMuons() > fNFWMuonsMax))
1460 if(fNFWMatchedMuonsFlag)
1461 if((EvTag->GetNumOfFWMatchedMuons() < fNFWMatchedMuonsMin) || (EvTag->GetNumOfFWMatchedMuons() > fNFWMatchedMuonsMax))
1465 if((EvTag->GetNumOfMuons() < fNMuonsMin) || (EvTag->GetNumOfMuons() > fNMuonsMax))
1469 if((EvTag->GetNumOfPions() < fNPionsMin) || (EvTag->GetNumOfPions() > fNPionsMax))
1473 if((EvTag->GetNumOfKaons() < fNKaonsMin) || (EvTag->GetNumOfKaons() > fNKaonsMax))
1477 if((EvTag->GetNumOfProtons() < fNProtonsMin) || (EvTag->GetNumOfProtons() > fNProtonsMax))
1481 if((EvTag->GetNumOfLambdas() < fNLambdasMin) || (EvTag->GetNumOfLambdas() > fNLambdasMax))
1485 if((EvTag->GetNumOfPhotons() < fNPhotonsMin) || (EvTag->GetNumOfPhotons() > fNPhotonsMax))
1489 if((EvTag->GetNumOfPi0s() < fNPi0sMin) || (EvTag->GetNumOfPi0s() > fNPi0sMax))
1493 if((EvTag->GetNumOfNeutrons() < fNNeutronsMin) || (EvTag->GetNumOfNeutrons() > fNNeutronsMax))
1497 if((EvTag->GetNumOfKaon0s() < fNKaon0sMin) || (EvTag->GetNumOfKaon0s() > fNKaon0sMax))
1501 if((EvTag->GetTotalMomentum() < fTotalPMin) || (EvTag->GetTotalMomentum() > fTotalPMax))
1505 if((EvTag->GetMeanPt() < fMeanPtMin) || (EvTag->GetMeanPt() > fMeanPtMax))
1509 if((EvTag->GetMaxPt() < fTopPtMin))
1512 if(fTotalNeutralPFlag)
1513 if((EvTag->GetNeutralTotalMomentum() < fTotalNeutralPMin) || (EvTag->GetNeutralTotalMomentum() > fTotalNeutralPMax))
1516 if(fMeanNeutralPtFlag)
1517 if((EvTag->GetNeutralMeanPt() < fMeanNeutralPtMin) || (EvTag->GetNeutralMeanPt() >fMeanNeutralPtMax ))
1520 if(fTopNeutralPtMinFlag)
1521 if((EvTag->GetNeutralMaxPt() < fTopNeutralPtMin))
1524 if(fEventPlaneAngleFlag)
1525 if((EvTag->GetEventPlaneAngle() < fEventPlaneAngleMin) || (EvTag->GetEventPlaneAngle() > fEventPlaneAngleMax))
1529 if((EvTag->GetHBTRadii() < fHBTRadiiMin) || (EvTag->GetHBTRadii() > fHBTRadiiMax))
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");
1537 TObjArray *tClasses = fFiredTriggerClass.Tokenize(" ");
1538 Bool_t tTrig = kFALSE;
1540 for (int itrig=0; itrig<tClasses->GetEntries(); itrig++)
1541 if (EvTag->GetFiredTriggerClasses(fActiveTriggerClasses).Contains(((TObjString *) tClasses->At(itrig))->GetString()))