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 //-----------------------------------------------------------------
25 #include "AliEventTag.h"
26 #include "AliEventTagCuts.h"
28 ClassImp(AliEventTagCuts)
31 //___________________________________________________________________________
32 AliEventTagCuts::AliEventTagCuts() :
38 fVxMin(-1000.0), fVxMax(1000.0),
40 fVyMin(-1000.0), fVyMax(1000.0),
42 fVzMin(-1000.0), fVzMax(1000.0),
44 fParticipantsMin(-1), fParticipantMax(10000),
45 fParticipantsFlag(kFALSE),
46 fImpactParamMin(-1.0), fImpactParamMax(1000.0),
47 fImpactParamFlag(kFALSE),
48 fPrimaryVertexFlag(1),
51 fPrimaryVertexZErrorMin(-10000.), fPrimaryVertexZErrorMax(10000.),
52 fPVzErrorFlag(kFALSE),
54 fTriggerMaskFlag(kFALSE),
56 fTriggerClusterFlag(kFALSE),
58 fZDCNeutron1EnergyMin(-1.0), fZDCNeutron1EnergyMax(100000.0),
59 fZDCNeutron1EnergyFlag(kFALSE),
60 fZDCProton1EnergyMin(-1.0), fZDCProton1EnergyMax(100000.0),
61 fZDCProton1EnergyFlag(kFALSE),
62 fZDCNeutron2EnergyMin(-1.0), fZDCNeutron2EnergyMax(100000.0),
63 fZDCNeutron2EnergyFlag(kFALSE),
64 fZDCProton2EnergyMin(-1.0), fZDCProton2EnergyMax(100000.0),
65 fZDCProton2EnergyFlag(kFALSE),
66 fZDCEMEnergyMin(-1.0), fZDCEMEnergyMax(100000.0),
67 fZDCEMEnergyFlag(kFALSE),
68 fT0VertexZMin(-10000.0), fT0VertexZMax(10000.0),
69 fT0VertexZFlag(kFALSE),
70 fMultMin(0), fMultMax(100000),
72 fMultPosMin(-1), fMultPosMax(100000),
74 fMultNegMin(-1), fMultNegMax(100000),
76 fMultNeutrMin(-1), fMultNeutrMax(100000),
77 fMultNeutrFlag(kFALSE),
78 fV0sMin(-1), fV0sMax(1000000),
80 fCascadesMin(-1), fCascadesMax(100000),
81 fCascadesFlag(kFALSE),
82 fkinksMin(-1), fkinksMax(1000000),
85 fPMDTracksMin(-1), fPMDTracksMax(100000),
86 fPMDTracksFlag(kFALSE),
87 fFMDTracksMin(-1), fFMDTracksMax(100000),
88 fFMDTracksFlag(kFALSE),
89 fPHOSClustersMin(-1), fPHOSClustersMax(100000),
90 fPHOSClustersFlag(kFALSE),
91 fEMCALClustersMin(-1), fEMCALClustersMax(100000),
92 fEMCALClustersFlag(kFALSE),
93 fJetCandidatesMin(-1), fJetCandidatesMax(100000),
94 fJetCandidatesFlag(kFALSE),
97 fMaxJetEnergyFlag(kFALSE),
98 fNHardPhotonsCandidatesMin(-1), fNHardPhotonsCandidatesMax(100000),
99 fNHardPhotonsCandidatesFlag(kFALSE),
100 fMaxNeutralEnergy(-1.0),
101 fMaxNeutralFlag(kFALSE),
102 fChargedAbove1GeVMin(-1), fChargedAbove1GeVMax(100000),
103 fChargedAbove1GeVFlag(kFALSE),
104 fChargedAbove3GeVMin(-1), fChargedAbove3GeVMax(100000),
105 fChargedAbove3GeVFlag(kFALSE),
106 fChargedAbove10GeVMin(-1), fChargedAbove10GeVMax(100000),
107 fChargedAbove10GeVFlag(kFALSE),
108 fMuonsAbove1GeVMin(-1), fMuonsAbove1GeVMax(100000),
109 fMuonsAbove1GeVFlag(kFALSE),
110 fMuonsAbove3GeVMin(-1), fMuonsAbove3GeVMax(100000),
111 fMuonsAbove3GeVFlag(kFALSE),
112 fMuonsAbove10GeVMin(-1), fMuonsAbove10GeVMax(100000),
113 fMuonsAbove10GeVFlag(kFALSE),
114 fElectronsAbove1GeVMin(-1), fElectronsAbove1GeVMax(100000),
115 fElectronsAbove1GeVFlag(kFALSE),
116 fElectronsAbove3GeVMin(-1), fElectronsAbove3GeVMax(100000),
117 fElectronsAbove3GeVFlag(kFALSE),
118 fElectronsAbove10GeVMin(-1), fElectronsAbove10GeVMax(100000),
119 fElectronsAbove10GeVFlag(kFALSE),
120 fElectronsMin(-1), fElectronsMax(100000),
121 fElectronsFlag(kFALSE),
122 fMuonsMin(-1), fMuonsMax(100000),
124 fPionsMin(-1), fPionsMax(100000),
126 fKaonsMin(-1), fKaonsMax(100000),
128 fProtonsMin(-1), fProtonsMax(100000),
129 fProtonsFlag(kFALSE),
130 fLambdasMin(-1), fLambdasMax(100000),
131 fLambdasFlag(kFALSE),
132 fPhotonsMin(-1), fPhotonsMax(100000),
134 fPi0sMin(-1), fPi0sMax(100000),
136 fNeutronsMin(-1), fNeutronsMax(100000),
137 fNeutronsFlag(kFALSE),
138 fKaon0sMin(-1), fKaon0sMax(100000),
140 fTotalPMin(-1.0), fTotalPMax(1000000.0),
142 fMeanPtMin(-1.0), fMeanPtMax(100000.0),
146 fTotalNeutralPMin(-1.0), fTotalNeutralPMax(1000000.0),
147 fTotalNeutralPFlag(kFALSE),
148 fMeanNeutralPtMin(-1.0), fMeanNeutralPtMax(1000000.0),
149 fMeanNeutralPtFlag(kFALSE),
151 fMaxNeutralPtFlag(kFALSE),
152 fEventPlaneAngleMin(-10000000.0), fEventPlaneAngleMax(10000000.0),
153 fEventPlaneAngleFlag(kFALSE),
154 fHBTRadiiMin(-1.0), fHBTRadiiMax(100000.0),
155 fHBTRadiiFlag(kFALSE)
157 //Default constructor which calls the Reset method.
161 //___________________________________________________________________________
162 AliEventTagCuts::~AliEventTagCuts() {
166 //___________________________________________________________________________
167 void AliEventTagCuts::Reset() {
168 //Sets dummy values to every private member.
172 fParticipantsFlag = kFALSE;
173 fImpactParamFlag = kFALSE;
176 fPVzErrorFlag = kFALSE;
177 fTriggerMaskFlag = kFALSE;
178 fTriggerClusterFlag = kFALSE;
180 fZDCNeutron1EnergyFlag = kFALSE;
181 fZDCProton1EnergyFlag = kFALSE;
182 fZDCNeutron2EnergyFlag = kFALSE;
183 fZDCProton2EnergyFlag = kFALSE;
184 fZDCEMEnergyFlag = kFALSE;
185 fT0VertexZFlag = kFALSE;
187 fMultPosFlag = kFALSE;
188 fMultNegFlag = kFALSE;
189 fMultNeutrFlag = kFALSE;
191 fCascadesFlag = kFALSE;
194 fPMDTracksFlag = kFALSE;
195 fFMDTracksFlag = kFALSE;
196 fPHOSClustersFlag = kFALSE;
197 fEMCALClustersFlag = kFALSE;
198 fJetCandidatesFlag = kFALSE;
200 fMaxJetEnergyFlag = kFALSE;
201 fNHardPhotonsCandidatesFlag = kFALSE;
202 fMaxNeutralFlag = kFALSE;
203 fChargedAbove1GeVFlag = kFALSE;
204 fChargedAbove3GeVFlag = kFALSE;
205 fChargedAbove10GeVFlag = kFALSE;
206 fMuonsAbove1GeVFlag = kFALSE;
207 fMuonsAbove3GeVFlag = kFALSE;
208 fMuonsAbove10GeVFlag = kFALSE;
209 fElectronsAbove1GeVFlag = kFALSE;
210 fElectronsAbove3GeVFlag = kFALSE;
211 fElectronsAbove10GeVFlag = kFALSE;
212 fElectronsFlag = kFALSE;
216 fProtonsFlag = kFALSE;
217 fLambdasFlag = kFALSE;
218 fPhotonFlag = kFALSE;
220 fNeutronsFlag = kFALSE;
221 fKaon0sFlag = kFALSE;
222 fTotalPFlag = kFALSE;
223 fMeanPtFlag = kFALSE;
225 fTotalNeutralPFlag = kFALSE;
226 fMeanNeutralPtFlag = kFALSE;
227 fMaxNeutralPtFlag = kFALSE;
228 fEventPlaneAngleFlag = kFALSE;
229 fHBTRadiiFlag = kFALSE;
231 fVxMin = -1000.0; fVxMax = 1000.0;
232 fVyMin = -1000.0; fVyMax = 1000.0;
233 fVzMin = -1000.0; fVzMax = 1000.0;
234 fParticipantsMin = -1; fParticipantMax = 10000;
235 fImpactParamMin = -1.0; fImpactParamMax = 1000.0;
236 fPrimaryVertexFlag = 1;
238 fPrimaryVertexZErrorMin = -10000.; fPrimaryVertexZErrorMax = 10000.;
242 fZDCNeutron1EnergyMin = -1.0; fZDCNeutron1EnergyMax = 100000.0;
243 fZDCProton1EnergyMin = -1.0; fZDCProton1EnergyMax = 100000.0;
244 fZDCNeutron2EnergyMin = -1.0; fZDCNeutron2EnergyMax = 100000.0;
245 fZDCProton2EnergyMin = -1.0; fZDCProton2EnergyMax = 100000.0;
246 fZDCEMEnergyMin = -1.0; fZDCEMEnergyMax = 100000.0;
247 fT0VertexZMin = -10000.0; fT0VertexZMax = 10000.0;
248 fMultMin = 0; fMultMax = 100000;
249 fMultPosMin = -1; fMultPosMax = 100000;
250 fMultNegMin = -1; fMultNegMax = 100000;
251 fMultNeutrMin = -1; fMultNeutrMax = 100000;
252 fV0sMin = -1; fV0sMax = 1000000;
253 fCascadesMin = -1; fCascadesMax = 100000;
254 fkinksMin = -1; fkinksMax = 1000000;
256 fPMDTracksMin = -1, fPMDTracksMax = 100000;
257 fFMDTracksMin = -1, fFMDTracksMax = 100000;
258 fPHOSClustersMin = -1, fPHOSClustersMax = 100000;
259 fEMCALClustersMin = -1, fEMCALClustersMax = 100000;
260 fJetCandidatesMin = -1, fJetCandidatesMax = 100000;
262 fMaxJetEnergy = -1.0;
263 fNHardPhotonsCandidatesMin = -1; fNHardPhotonsCandidatesMax = 100000;
264 fMaxNeutralEnergy = -1.0;
265 fChargedAbove1GeVMin = -1; fChargedAbove1GeVMax = 100000;
266 fChargedAbove3GeVMin = -1; fChargedAbove3GeVMax = 100000;
267 fChargedAbove10GeVMin = -1; fChargedAbove10GeVMax = 100000;
268 fMuonsAbove1GeVMin = -1; fMuonsAbove1GeVMax = 100000;
269 fMuonsAbove3GeVMin = -1; fMuonsAbove3GeVMax = 100000;
270 fMuonsAbove10GeVMin = -1; fMuonsAbove10GeVMax = 100000;
271 fElectronsAbove1GeVMin = -1; fElectronsAbove1GeVMax = 100000;
272 fElectronsAbove3GeVMin = -1; fElectronsAbove3GeVMax = 100000;
273 fElectronsAbove10GeVMin = -1; fElectronsAbove10GeVMax = 100000;
274 fElectronsMin = -1; fElectronsMax = 100000;
275 fMuonsMin = -1; fMuonsMax = 100000;
276 fPionsMin = -1; fPionsMax = 100000;
277 fKaonsMin = -1; fKaonsMax = 100000;
278 fProtonsMin = -1; fProtonsMax = 100000;
279 fLambdasMin = -1; fLambdasMax = 100000;
280 fPhotonsMin = -1; fPhotonsMax = 100000;
281 fPi0sMin = -1; fPi0sMax = 100000;
282 fNeutronsMin = -1; fNeutronsMax = 100000;
283 fKaon0sMin = -1; fKaon0sMax = 100000;
284 fTotalPMin = -1.0; fTotalPMax = 1000000.0;
285 fMeanPtMin = -1.0; fMeanPtMax = 100000.0;
286 fMaxPt = -1.0; fTotalNeutralPMin = -1.0;
287 fTotalNeutralPMax = 1000000.0;
288 fMeanNeutralPtMin = -1.0; fMeanNeutralPtMax = 1000000.0;
289 fMaxNeutralPt = -1.0;
290 fEventPlaneAngleMin = -10000000.0; fEventPlaneAngleMax = 10000000.0;
291 fHBTRadiiMin = -1.0; fHBTRadiiMax = 100000.0;
294 //___________________________________________________________________________
295 void AliEventTagCuts::SetPrimaryVertexXRange(Float_t low, Float_t high) {
296 //Sets the primary vertex x range
297 //and the corresponding flag to kTRUE if the cut is used.
303 //___________________________________________________________________________
304 void AliEventTagCuts::SetPrimaryVertexYRange(Float_t low, Float_t high) {
305 //Sets the primary vertex y range
306 //and the corresponding flag to kTRUE if the cut is used.
312 //___________________________________________________________________________
313 void AliEventTagCuts::SetPrimaryVertexZRange(Float_t low, Float_t high) {
314 //Sets the primary vertex z range
315 //and the corresponding flag to kTRUE if the cut is used.
321 //___________________________________________________________________________
322 void AliEventTagCuts::SetPrimaryVertexZErrorRange(Float_t low, Float_t high) {
323 //Sets the primary vertex z error range
324 //and the corresponding flag to kTRUE if the cut is used.
325 fPrimaryVertexZErrorMin = low;
326 fPrimaryVertexZErrorMax = high;
327 fPVzErrorFlag = kTRUE;
330 //___________________________________________________________________________
331 void AliEventTagCuts::SetTriggerMask(ULong64_t trmask) {
332 //Sets the trigger mask
333 //and the corresponding flag to kTRUE if the cut is used.
334 fTriggerMask = trmask;
335 fTriggerMaskFlag = kTRUE;
338 //___________________________________________________________________________
339 void AliEventTagCuts::SetTriggerCluster(UChar_t trcluster) {
340 //Sets the trigger cluster
341 //and the corresponding flag to kTRUE if the cut is used.
342 fTriggerCluster = trcluster;
343 fTriggerClusterFlag = kTRUE;
346 //___________________________________________________________________________
347 void AliEventTagCuts::SetMultiplicityRange(Int_t low, Int_t high) {
348 //Sets the primary multiplicity range
349 //and the corresponding flag to kTRUE if the cut is used.
355 //___________________________________________________________________________
356 void AliEventTagCuts::SetNParticipantsRange(Int_t low, Int_t high) {
357 //Sets the number of participants range
358 //and the corresponding flag to kTRUE if the cut is used.
359 fParticipantsMin = low;
360 fParticipantMax = high;
361 fParticipantsFlag = kTRUE;
364 //___________________________________________________________________________
365 void AliEventTagCuts::SetImpactParamRange(Float_t low, Float_t high) {
366 //Sets the impact parameter range
367 //and the corresponding flag to kTRUE if the cut is used.
368 fImpactParamMin = low;
369 fImpactParamMax = high;
370 fImpactParamFlag = kTRUE;
374 //___________________________________________________________________________
375 void AliEventTagCuts::SetPrimaryVertexFlag(Int_t flag) {
376 //Sets the primary vertex flag cut
377 //and the corresponding flag to kTRUE if the cut is used.
378 fPrimaryVertexFlag = flag;
382 //___________________________________________________________________________
383 void AliEventTagCuts::SetZDCNeutron1Range(Float_t low, Float_t high) {
384 //Sets the ZDC's neutron energy range
385 //and the corresponding flag to kTRUE if the cut is used.
386 fZDCNeutron1EnergyMin = low;
387 fZDCNeutron1EnergyMax = high;
388 fZDCNeutron1EnergyFlag = kTRUE;
391 //___________________________________________________________________________
392 void AliEventTagCuts::SetZDCProton1Range(Float_t low, Float_t high) {
393 //Sets the ZDC's proton energy range
394 //and the corresponding flag to kTRUE if the cut is used.
395 fZDCProton1EnergyMin = low;
396 fZDCProton1EnergyMax = high;
397 fZDCProton1EnergyFlag = kTRUE;
399 //___________________________________________________________________________
400 void AliEventTagCuts::SetZDCNeutron2Range(Float_t low, Float_t high) {
401 //Sets the ZDC's neutron energy range
402 //and the corresponding flag to kTRUE if the cut is used.
403 fZDCNeutron2EnergyMin = low;
404 fZDCNeutron2EnergyMax = high;
405 fZDCNeutron2EnergyFlag = kTRUE;
407 //___________________________________________________________________________
408 void AliEventTagCuts::SetZDCProton2Range(Float_t low, Float_t high) {
409 //Sets the ZDC's proton energy range
410 //and the corresponding flag to kTRUE if the cut is used.
411 fZDCProton2EnergyMin = low;
412 fZDCProton2EnergyMax = high;
413 fZDCProton2EnergyFlag = kTRUE;
415 //___________________________________________________________________________
416 void AliEventTagCuts::SetZDCEMRange(Float_t low, Float_t high) {
417 //Sets the ZDC's e/m energy range
418 //and the corresponding flag to kTRUE if the cut is used.
419 fZDCEMEnergyMin = low;
420 fZDCEMEnergyMax = high;
421 fZDCEMEnergyFlag = kTRUE;
424 //___________________________________________________________________________
425 void AliEventTagCuts::SetT0VertexZRange(Float_t low, Float_t high) {
426 //Sets the T0's Vz range
427 //and the corresponding flag to kTRUE if the cut is used.
429 fT0VertexZMax = high;
430 fT0VertexZFlag = kTRUE;
433 //___________________________________________________________________________
434 void AliEventTagCuts::SetPosMultiplicityRange(Int_t low, Int_t high) {
435 //Sets the positive multiplicity range
436 //and the corresponding flag to kTRUE if the cut is used.
439 fMultPosFlag = kTRUE;
443 //___________________________________________________________________________
444 void AliEventTagCuts::SetNegMultiplicityRange(Int_t low, Int_t high) {
445 //Sets the negative multiplicity range
446 //and the corresponding flag to kTRUE if the cut is used.
449 fMultNegFlag = kTRUE;
453 //___________________________________________________________________________
454 void AliEventTagCuts::SetNeutrMultiplicityRange(Int_t low, Int_t high) {
455 //Sets the neutral particle multiplicity range
456 //and the corresponding flag to kTRUE if the cut is used.
458 fMultNeutrMax = high;
459 fMultNeutrFlag = kTRUE;
462 //___________________________________________________________________________
463 void AliEventTagCuts::SetNV0sRange(Int_t low, Int_t high) {
464 //Sets the v0s multiplicity range
465 //and the corresponding flag to kTRUE if the cut is used.
471 //___________________________________________________________________________
472 void AliEventTagCuts::SetNCascadesRange(Int_t low, Int_t high) {
473 //Sets the cascades multiplicity range
474 //and the corresponding flag to kTRUE if the cut is used.
477 fCascadesFlag = kTRUE;
480 //___________________________________________________________________________
481 void AliEventTagCuts::SetNKinksRange(Int_t low, Int_t high) {
482 //Sets the kinks multiplicity range
483 //and the corresponding flag to kTRUE if the cut is used.
489 //___________________________________________________________________________
490 void AliEventTagCuts::SetNPMDTracksRange(Int_t low, Int_t high) {
491 //Sets the number of PMD tracks range
492 //and the corresponding flag to kTRUE if the cut is used.
494 fPMDTracksMax = high;
495 fPMDTracksFlag = kTRUE;
498 //___________________________________________________________________________
499 void AliEventTagCuts::SetNFMDTracksRange(Int_t low, Int_t high) {
500 //Sets the number of FMD tracks range
501 //and the corresponding flag to kTRUE if the cut is used.
503 fFMDTracksMax = high;
504 fFMDTracksFlag = kTRUE;
507 //___________________________________________________________________________
508 void AliEventTagCuts::SetNPHOSClustersRange(Int_t low, Int_t high) {
509 //Sets the number of PHOS clusters range
510 //and the corresponding flag to kTRUE if the cut is used.
511 fPHOSClustersMin = low;
512 fPHOSClustersMax = high;
513 fPHOSClustersFlag = kTRUE;
516 //___________________________________________________________________________
517 void AliEventTagCuts::SetNEMCALClustersRange(Int_t low, Int_t high) {
518 //Sets the number of EMCAL clusters range
519 //and the corresponding flag to kTRUE if the cut is used.
520 fEMCALClustersMin = low;
521 fEMCALClustersMax = high;
522 fEMCALClustersFlag = kTRUE;
525 //___________________________________________________________________________
526 void AliEventTagCuts::SetNJetCandidatesRange(Int_t low, Int_t high) {
527 //Sets the number of jet candidates range
528 //and the corresponding flag to kTRUE if the cut is used.
529 fJetCandidatesMin = low;
530 fJetCandidatesMax = high;
531 fJetCandidatesFlag = kTRUE;
534 //___________________________________________________________________________
535 void AliEventTagCuts::SetTopJetEnergyMin(Float_t low) {
536 //Sets the lower limit of the maximum jet energy
537 //and the corresponding flag to kTRUE if the cut is used.
539 fMaxJetEnergyFlag = kTRUE;
541 //___________________________________________________________________________
542 void AliEventTagCuts::SetTopNeutralEnergyMin(Float_t low) {
543 //Sets the lower limit of the maximum neutral jet energy
544 //and the corresponding flag to kTRUE if the cut is used.
545 fMaxNeutralEnergy = low;
546 fMaxNeutralFlag = kTRUE;
548 //___________________________________________________________________________
549 void AliEventTagCuts::SetNHardPhotonsRange(Int_t low, Int_t high) {
550 //Sets the hard photons multiplicity range
551 //and the corresponding flag to kTRUE if the cut is used.
552 fNHardPhotonsCandidatesMin = low;
553 fNHardPhotonsCandidatesMax = high;
554 fNHardPhotonsCandidatesFlag = kTRUE;
557 //___________________________________________________________________________
558 void AliEventTagCuts::SetNChargedAbove1GeVRange(Int_t low, Int_t high) {
559 //Sets the number of charged above 1GeV range
560 //and the corresponding flag to kTRUE if the cut is used.
561 fChargedAbove1GeVMin = low;
562 fChargedAbove1GeVMax = high;
563 fChargedAbove1GeVFlag = kTRUE;
566 //___________________________________________________________________________
567 void AliEventTagCuts::SetNChargedAbove3GeVRange(Int_t low, Int_t high) {
568 //Sets the number of charged above 3GeV range
569 //and the corresponding flag to kTRUE if the cut is used.
570 fChargedAbove3GeVMin = low;
571 fChargedAbove3GeVMax = high;
572 fChargedAbove3GeVFlag = kTRUE;
576 //___________________________________________________________________________
577 void AliEventTagCuts::SetNChargedAbove10GeVRange(Int_t low, Int_t high) {
578 //Sets the number of charged above 10GeV range
579 //and the corresponding flag to kTRUE if the cut is used.
580 fChargedAbove10GeVMin = low;
581 fChargedAbove10GeVMax = high;
582 fChargedAbove10GeVFlag = kTRUE;
586 //___________________________________________________________________________
587 void AliEventTagCuts::SetNMuonsAbove1GeVRange(Int_t low, Int_t high) {
588 //Sets the number of muons above 1GeV range
589 //and the corresponding flag to kTRUE if the cut is used.
590 fMuonsAbove1GeVMin = low;
591 fMuonsAbove1GeVMax = high;
592 fMuonsAbove1GeVFlag = kTRUE;
596 //___________________________________________________________________________
597 void AliEventTagCuts::SetNMuonsAbove3GeVRange(Int_t low, Int_t high) {
598 //Sets the number of muons above 3GeV range
599 //and the corresponding flag to kTRUE if the cut is used.
600 fMuonsAbove3GeVMin = low;
601 fMuonsAbove3GeVMax = high;
602 fMuonsAbove3GeVFlag = kTRUE;
605 //___________________________________________________________________________
606 void AliEventTagCuts::SetNMuonsAbove10GeVRange(Int_t low, Int_t high) {
607 //Sets the number of muons above 10GeV range
608 //and the corresponding flag to kTRUE if the cut is used.
609 fMuonsAbove10GeVMin = low;
610 fMuonsAbove10GeVMax = high;
611 fMuonsAbove10GeVFlag = kTRUE;
615 //___________________________________________________________________________
616 void AliEventTagCuts::SetNElectronsAbove1GeVRange(Int_t low, Int_t high) {
617 //Sets the number of electrons above 1GeV range
618 //and the corresponding flag to kTRUE if the cut is used.
619 fElectronsAbove1GeVMin = low;
620 fElectronsAbove1GeVMax = high;
621 fElectronsAbove1GeVFlag = kTRUE;
624 //___________________________________________________________________________
625 void AliEventTagCuts::SetNElectronsAbove3GeVRange(Int_t low, Int_t high) {
626 //Sets the number of electrons above 3GeV range
627 //and the corresponding flag to kTRUE if the cut is used.
628 fElectronsAbove3GeVMin = low;
629 fElectronsAbove3GeVMax = high;
630 fElectronsAbove3GeVFlag = kTRUE;
633 //___________________________________________________________________________
634 void AliEventTagCuts::SetNElectronsAbove10GeVRange(Int_t low, Int_t high) {
635 //Sets the number of electrons above 10GeV range
636 //and the corresponding flag to kTRUE if the cut is used.
637 fElectronsAbove10GeVMin = low;
638 fElectronsAbove10GeVMax = high;
639 fElectronsAbove10GeVFlag = kTRUE;
641 //___________________________________________________________________________
642 void AliEventTagCuts::SetNElectronRange(Int_t low, Int_t high) {
643 //Sets the electron multiplicity range
644 //and the corresponding flag to kTRUE if the cut is used.
646 fElectronsMax = high;
647 fElectronsFlag = kTRUE;
649 //___________________________________________________________________________
650 void AliEventTagCuts::SetNMuonRange(Int_t low, Int_t high) {
651 //Sets the muon multiplicity range
652 //and the corresponding flag to kTRUE if the cut is used.
658 //___________________________________________________________________________
659 void AliEventTagCuts::SetNPionRange(Int_t low, Int_t high) {
660 //Sets the pion multiplicity range
661 //and the corresponding flag to kTRUE if the cut is used.
667 //___________________________________________________________________________
668 void AliEventTagCuts::SetNKaonRange(Int_t low, Int_t high) {
669 //Sets the kaon multiplicity range
670 //and the corresponding flag to kTRUE if the cut is used.
676 //___________________________________________________________________________
677 void AliEventTagCuts::SetNProtonRange(Int_t low, Int_t high) {
678 //Sets the proton multiplicity range
679 //and the corresponding flag to kTRUE if the cut is used.
682 fProtonsFlag = kTRUE;
685 //___________________________________________________________________________
686 void AliEventTagCuts::SetNLambdaRange(Int_t low, Int_t high) {
687 //Sets the lambda multiplicity range
688 //and the corresponding flag to kTRUE if the cut is used.
691 fLambdasFlag = kTRUE;
693 //___________________________________________________________________________
694 void AliEventTagCuts::SetNPhotonRange(Int_t low, Int_t high) {
695 //Sets the photon multiplicity range
696 //and the corresponding flag to kTRUE if the cut is used.
701 //___________________________________________________________________________
702 void AliEventTagCuts::SetNPi0Range(Int_t low, Int_t high) {
703 //Sets the pi0 multiplicity range
704 //and the corresponding flag to kTRUE if the cut is used.
710 //___________________________________________________________________________
711 void AliEventTagCuts::SetNNeutronRange(Int_t low, Int_t high) {
712 //Sets the neutron multiplicity range
713 //and the corresponding flag to kTRUE if the cut is used.
716 fNeutronsFlag = kTRUE;
719 //___________________________________________________________________________
720 void AliEventTagCuts::SetNKaon0Range(Int_t low, Int_t high) {
721 //Sets the K0s multiplicity range
722 //and the corresponding flag to kTRUE if the cut is used.
728 //___________________________________________________________________________
729 void AliEventTagCuts::SetTotalPRange(Float_t low, Float_t high) {
730 //Sets the total momentum range
731 //and the corresponding flag to kTRUE if the cut is used.
737 //___________________________________________________________________________
738 void AliEventTagCuts::SetMeanPtRange(Float_t low, Float_t high) {
739 //Sets the mean Pt range
740 //and the corresponding flag to kTRUE if the cut is used.
746 //___________________________________________________________________________
747 void AliEventTagCuts::SetTopPtMin(Float_t low) {
748 //Sets the lower limit of the max Pt value
749 //and the corresponding flag to kTRUE if the cut is used.
754 //___________________________________________________________________________
755 void AliEventTagCuts::SetTotalNeutralPRange(Float_t low, Float_t high) {
756 //Sets the total momentum of neutral particles range
757 //and the corresponding flag to kTRUE if the cut is used.
758 fTotalNeutralPMin =low ;
759 fTotalNeutralPMax = high;
760 fTotalNeutralPFlag = kTRUE;
762 //___________________________________________________________________________
763 void AliEventTagCuts::SetMeanNeutralPtPRange(Float_t low, Float_t high) {
764 //Sets the mean Pt of neutral particles range
765 //and the corresponding flag to kTRUE if the cut is used.
766 fMeanNeutralPtMin = low;
767 fMeanNeutralPtMax = high;
768 fMeanNeutralPtFlag = kTRUE;
770 //___________________________________________________________________________
771 void AliEventTagCuts::SetTopNeutralPtMin(Float_t low) {
772 //Sets the lower limit of the maximum Pt of neutral particles
773 //and the corresponding flag to kTRUE if the cut is used.
775 fMaxNeutralPtFlag = kTRUE;
778 //___________________________________________________________________________
779 void AliEventTagCuts::SetEvPlaneAngleRange(Float_t low, Float_t high) {
780 //Sets the event plane range
781 //and the corresponding flag to kTRUE if the cut is used.
782 fEventPlaneAngleMin = low;
783 fEventPlaneAngleMax = high;
784 fEventPlaneAngleFlag = kTRUE;
787 //___________________________________________________________________________
788 void AliEventTagCuts::SetHBTRadiiRange(Float_t low, Float_t high) {
789 //Sets the HBT radii range
790 //and the corresponding flag to kTRUE if the cut is used.
793 fHBTRadiiFlag = kTRUE;
796 //___________________________________________________________________________
797 Bool_t AliEventTagCuts::IsAccepted(AliEventTag *EvTag) const {
798 //Returns true if the event is accepted otherwise false.
800 if((EvTag->GetVertexZ() < fVzMin) || (EvTag->GetVertexZ() > fVzMax))
804 if((EvTag->GetVertexY() < fVyMin) || (EvTag->GetVertexY() > fVyMax))
808 if((EvTag->GetVertexX() < fVxMin) || (EvTag->GetVertexX() > fVxMax))
811 if(fParticipantsFlag)
812 if((EvTag->GetNumOfParticipants() < fParticipantsMin) || (EvTag->GetNumOfParticipants() > fParticipantMax))
816 if((EvTag->GetImpactParameter() < fImpactParamMin) || (EvTag->GetImpactParameter() > fImpactParamMax))
820 if((EvTag->GetVertexFlag() != fPrimaryVertexFlag))
824 if((EvTag->GetVertexZError() < fPrimaryVertexZErrorMin) || (EvTag->GetVertexZError() > fPrimaryVertexZErrorMax))
827 if((EvTag->GetTriggerMask() != fTriggerMask))
829 if(fTriggerClusterFlag)
830 if((EvTag->GetTriggerMask() != fTriggerMask))
833 if(fZDCNeutron1EnergyFlag)
834 if((EvTag->GetZDCNeutron1Energy() < fZDCNeutron1EnergyMin) || (EvTag->GetZDCNeutron1Energy() > fZDCNeutron1EnergyMax))
837 if(fZDCProton1EnergyFlag)
838 if((EvTag->GetZDCProton1Energy() < fZDCProton1EnergyMin) || (EvTag->GetZDCProton1Energy() > fZDCProton1EnergyMax))
841 if(fZDCNeutron2EnergyFlag)
842 if((EvTag->GetZDCNeutron2Energy() < fZDCNeutron2EnergyMin) || (EvTag->GetZDCNeutron2Energy() > fZDCNeutron2EnergyMax))
845 if(fZDCProton2EnergyFlag)
846 if((EvTag->GetZDCProton2Energy() < fZDCProton2EnergyMin) || (EvTag->GetZDCProton2Energy() > fZDCProton2EnergyMax))
850 if((EvTag->GetZDCEMEnergy() < fZDCEMEnergyMin) || (EvTag->GetZDCEMEnergy() > fZDCEMEnergyMax))
854 if((EvTag->GetT0VertexZ() < fT0VertexZMin) || (EvTag->GetT0VertexZ() > fT0VertexZMax))
858 if((EvTag->GetNumOfTracks() < fMultMin) || (EvTag->GetNumOfTracks() > fMultMax))
861 if((EvTag->GetNumOfPosTracks() < fMultPosMin) || (EvTag->GetNumOfPosTracks() > fMultPosMax))
865 if((EvTag->GetNumOfNegTracks() < fMultNegMin) || (EvTag->GetNumOfNegTracks() > fMultNegMax))
869 if((EvTag->GetNumOfNeutrTracks() < fMultNeutrMin) || (EvTag->GetNumOfNeutrTracks() > fMultNeutrMax))
873 if((EvTag->GetNumOfV0s() < fV0sMin) || (EvTag->GetNumOfV0s() > fV0sMax))
877 if((EvTag->GetNumOfCascades() < fCascadesMin) || (EvTag->GetNumOfCascades() > fCascadesMax))
881 if((EvTag->GetNumOfKinks() < fkinksMin) || (EvTag->GetNumOfKinks() > fkinksMax))
886 if((EvTag->GetNumOfPMDTracks() < fPMDTracksMin) || (EvTag->GetNumOfPMDTracks() > fPMDTracksMax))
889 if((EvTag->GetNumOfFMDTracks() < fFMDTracksMin) || (EvTag->GetNumOfFMDTracks() > fFMDTracksMax))
891 if(fPHOSClustersFlag)
892 if((EvTag->GetNumOfPHOSClusters() < fPHOSClustersMin) || (EvTag->GetNumOfPHOSClusters() > fPHOSClustersMax))
894 if(fEMCALClustersFlag)
895 if((EvTag->GetNumOfEMCALClusters() < fEMCALClustersMin) || (EvTag->GetNumOfEMCALClusters() > fEMCALClustersMax))
897 if(fJetCandidatesFlag)
898 if((EvTag->GetNumOfJetCandidates() < fJetCandidatesMin) || (EvTag->GetNumOfJetCandidates() > fJetCandidatesMax))
902 if(fMaxJetEnergyFlag)
903 if((EvTag->GetMaxJetEnergy() < fMaxJetEnergy))
906 if(fNHardPhotonsCandidatesFlag)
907 if((EvTag->GetNumOfHardPhotonsCandidates() < fNHardPhotonsCandidatesMin) || (EvTag->GetNumOfHardPhotonsCandidates() > fNHardPhotonsCandidatesMax))
911 if((EvTag->GetMaxNeutralEnergy() < fMaxNeutralEnergy))
914 if(fChargedAbove1GeVFlag)
915 if((EvTag->GetNumOfChargedAbove1GeV() < fChargedAbove1GeVMin) || (EvTag->GetNumOfChargedAbove1GeV() > fChargedAbove1GeVMax))
918 if(fChargedAbove3GeVFlag)
919 if((EvTag->GetNumOfChargedAbove3GeV() < fChargedAbove3GeVMin) || (EvTag->GetNumOfChargedAbove3GeV() > fChargedAbove3GeVMax))
922 if(fChargedAbove10GeVFlag)
923 if((EvTag->GetNumOfChargedAbove10GeV() < fChargedAbove10GeVMin) || (EvTag->GetNumOfChargedAbove10GeV() > fChargedAbove10GeVMax))
926 if(fMuonsAbove1GeVFlag)
927 if((EvTag->GetNumOfMuonsAbove1GeV() < fMuonsAbove1GeVMin) || (EvTag->GetNumOfMuonsAbove1GeV() > fMuonsAbove1GeVMax))
930 if(fMuonsAbove3GeVFlag)
931 if((EvTag->GetNumOfMuonsAbove3GeV() < fMuonsAbove3GeVMin) || (EvTag->GetNumOfMuonsAbove3GeV() > fMuonsAbove3GeVMax))
934 if(fMuonsAbove10GeVFlag)
935 if((EvTag->GetNumOfMuonsAbove10GeV() < fMuonsAbove10GeVMin) || (EvTag->GetNumOfMuonsAbove10GeV() > fMuonsAbove10GeVMax))
938 if(fElectronsAbove1GeVFlag)
939 if((EvTag->GetNumOfElectronsAbove1GeV() < fElectronsAbove1GeVMin) || (EvTag->GetNumOfElectronsAbove1GeV() > fElectronsAbove1GeVMax))
942 if(fElectronsAbove3GeVFlag)
943 if((EvTag->GetNumOfElectronsAbove3GeV() < fElectronsAbove3GeVMin) || (EvTag->GetNumOfElectronsAbove3GeV() > fElectronsAbove3GeVMax))
946 if(fElectronsAbove10GeVFlag)
947 if((EvTag->GetNumOfElectronsAbove10GeV() < fElectronsAbove10GeVMin) || (EvTag->GetNumOfElectronsAbove10GeV() > fElectronsAbove10GeVMax))
951 if((EvTag->GetNumOfElectrons() < fElectronsMin) || (EvTag->GetNumOfElectrons() > fElectronsMax))
955 if((EvTag->GetNumOfMuons() < fMuonsMin) || (EvTag->GetNumOfMuons() > fMuonsMax))
959 if((EvTag->GetNumOfPions() < fPionsMin) || (EvTag->GetNumOfPions() > fPionsMax))
963 if((EvTag->GetNumOfKaons() < fKaonsMin) || (EvTag->GetNumOfKaons() > fKaonsMax))
967 if((EvTag->GetNumOfProtons() < fProtonsMin) || (EvTag->GetNumOfProtons() > fProtonsMax))
971 if((EvTag->GetNumOfLambdas() < fLambdasMin) || (EvTag->GetNumOfLambdas() > fLambdasMax))
975 if((EvTag->GetNumOfPhotons() < fPhotonsMin) || (EvTag->GetNumOfPhotons() > fPhotonsMax))
979 if((EvTag->GetNumOfPi0s() < fPi0sMin) || (EvTag->GetNumOfPi0s() > fPi0sMax))
983 if((EvTag->GetNumOfNeutrons() < fNeutronsMin) || (EvTag->GetNumOfNeutrons() > fNeutronsMax))
987 if((EvTag->GetNumOfKaon0s() < fKaon0sMin) || (EvTag->GetNumOfKaon0s() > fKaon0sMax))
991 if((EvTag->GetTotalMomentum() < fTotalPMin) || (EvTag->GetTotalMomentum() > fTotalPMax))
995 if((EvTag->GetMeanPt() < fMeanPtMin) || (EvTag->GetMeanPt() > fMeanPtMax))
999 if((EvTag->GetMaxPt() < fMaxPt))
1002 if(fTotalNeutralPFlag)
1003 if((EvTag->GetNeutralTotalMomentum() < fTotalNeutralPMin) || (EvTag->GetNeutralTotalMomentum() > fTotalNeutralPMax))
1006 if(fMeanNeutralPtFlag)
1007 if((EvTag->GetNeutralMeanPt() < fMeanNeutralPtMin) || (EvTag->GetNeutralMeanPt() >fMeanNeutralPtMax ))
1010 if(fMaxNeutralPtFlag)
1011 if((EvTag->GetNeutralMaxPt() < fMaxNeutralPt))
1014 if(fEventPlaneAngleFlag)
1015 if((EvTag->GetEventPlaneAngle() < fEventPlaneAngleMin) || (EvTag->GetEventPlaneAngle() > fEventPlaneAngleMax))
1019 if((EvTag->GetHBTRadii() < fHBTRadiiMin) || (EvTag->GetHBTRadii() > fHBTRadiiMax))