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() :
35 fVxMin(-1000.0), fVxMax(1000.0),
37 fVyMin(-1000.0), fVyMax(1000.0),
39 fVzMin(-1000.0), fVzMax(1000.0),
41 fNParticipantsMin(-1), fNParticipantsMax(10000),
42 fNParticipantsFlag(kFALSE),
43 fImpactParamMin(-1.0), fImpactParamMax(1000.0),
44 fImpactParamFlag(kFALSE),
45 fPrimaryVertexFlag(1),
48 fPrimaryVertexZErrorMin(-10000.), fPrimaryVertexZErrorMax(10000.),
49 fPVzErrorFlag(kFALSE),
51 fTriggerMaskFlag(kFALSE),
53 fTriggerClusterFlag(kFALSE),
55 fZDCNeutron1EnergyMin(-1.0), fZDCNeutron1EnergyMax(100000.0),
56 fZDCNeutron1EnergyFlag(kFALSE),
57 fZDCProton1EnergyMin(-1.0), fZDCProton1EnergyMax(100000.0),
58 fZDCProton1EnergyFlag(kFALSE),
59 fZDCNeutron2EnergyMin(-1.0), fZDCNeutron2EnergyMax(100000.0),
60 fZDCNeutron2EnergyFlag(kFALSE),
61 fZDCProton2EnergyMin(-1.0), fZDCProton2EnergyMax(100000.0),
62 fZDCProton2EnergyFlag(kFALSE),
63 fZDCEMEnergyMin(-1.0), fZDCEMEnergyMax(100000.0),
64 fZDCEMEnergyFlag(kFALSE),
65 fT0VertexZMin(-10000.0), fT0VertexZMax(10000.0),
66 fT0VertexZFlag(kFALSE),
67 fMultMin(0), fMultMax(100000),
69 fPosMultMin(-1), fPosMultMax(100000),
71 fNegMultMin(-1), fNegMultMax(100000),
73 fNeutrMultMin(-1), fNeutrMultMax(100000),
74 fNeutrMultFlag(kFALSE),
75 fNV0sMin(-1), fNV0sMax(1000000),
77 fNCascadesMin(-1), fNCascadesMax(100000),
78 fNCascadesFlag(kFALSE),
79 fNKinksMin(-1), fNKinksMax(1000000),
82 fNPMDTracksMin(-1), fNPMDTracksMax(100000),
83 fNPMDTracksFlag(kFALSE),
84 fNFMDTracksMin(-1), fNFMDTracksMax(100000),
85 fNFMDTracksFlag(kFALSE),
86 fNPHOSClustersMin(-1), fNPHOSClustersMax(100000),
87 fNPHOSClustersFlag(kFALSE),
88 fNEMCALClustersMin(-1), fNEMCALClustersMax(100000),
89 fNEMCALClustersFlag(kFALSE),
90 fNJetCandidatesMin(-1), fNJetCandidatesMax(100000),
91 fNJetCandidatesFlag(kFALSE),
93 fTopJetEnergyMin(-1.0),
94 fTopJetEnergyMinFlag(kFALSE),
95 fNHardPhotonCandidatesMin(-1), fNHardPhotonCandidatesMax(100000),
96 fNHardPhotonCandidatesFlag(kFALSE),
97 fTopNeutralEnergyMin(-1.0),
98 fTopNeutralEnergyMinFlag(kFALSE),
99 fNChargedAbove1GeVMin(-1), fNChargedAbove1GeVMax(100000),
100 fNChargedAbove1GeVFlag(kFALSE),
101 fNChargedAbove3GeVMin(-1), fNChargedAbove3GeVMax(100000),
102 fNChargedAbove3GeVFlag(kFALSE),
103 fNChargedAbove10GeVMin(-1), fNChargedAbove10GeVMax(100000),
104 fNChargedAbove10GeVFlag(kFALSE),
105 fNMuonsAbove1GeVMin(-1), fNMuonsAbove1GeVMax(100000),
106 fNMuonsAbove1GeVFlag(kFALSE),
107 fNMuonsAbove3GeVMin(-1), fNMuonsAbove3GeVMax(100000),
108 fNMuonsAbove3GeVFlag(kFALSE),
109 fNMuonsAbove10GeVMin(-1), fNMuonsAbove10GeVMax(100000),
110 fNMuonsAbove10GeVFlag(kFALSE),
111 fNElectronsAbove1GeVMin(-1), fNElectronsAbove1GeVMax(100000),
112 fNElectronsAbove1GeVFlag(kFALSE),
113 fNElectronsAbove3GeVMin(-1), fNElectronsAbove3GeVMax(100000),
114 fNElectronsAbove3GeVFlag(kFALSE),
115 fNElectronsAbove10GeVMin(-1), fNElectronsAbove10GeVMax(100000),
116 fNElectronsAbove10GeVFlag(kFALSE),
117 fNElectronsMin(-1), fNElectronsMax(100000),
118 fNElectronsFlag(kFALSE),
119 fNMuonsMin(-1), fNMuonsMax(100000),
121 fNPionsMin(-1), fNPionsMax(100000),
123 fNKaonsMin(-1), fNKaonsMax(100000),
125 fNProtonsMin(-1), fNProtonsMax(100000),
126 fNProtonsFlag(kFALSE),
127 fNLambdasMin(-1), fNLambdasMax(100000),
128 fNLambdasFlag(kFALSE),
129 fNPhotonsMin(-1), fNPhotonsMax(100000),
130 fNPhotonFlag(kFALSE),
131 fNPi0sMin(-1), fNPi0sMax(100000),
133 fNNeutronsMin(-1), fNNeutronsMax(100000),
134 fNNeutronsFlag(kFALSE),
135 fNKaon0sMin(-1), fNKaon0sMax(100000),
136 fNKaon0sFlag(kFALSE),
137 fTotalPMin(-1.0), fTotalPMax(1000000.0),
139 fMeanPtMin(-1.0), fMeanPtMax(100000.0),
142 fTopPtMinFlag(kFALSE),
143 fTotalNeutralPMin(-1.0), fTotalNeutralPMax(1000000.0),
144 fTotalNeutralPFlag(kFALSE),
145 fMeanNeutralPtMin(-1.0), fMeanNeutralPtMax(1000000.0),
146 fMeanNeutralPtFlag(kFALSE),
147 fTopNeutralPtMin(-1.0),
148 fTopNeutralPtMinFlag(kFALSE),
149 fEventPlaneAngleMin(-10000000.0), fEventPlaneAngleMax(10000000.0),
150 fEventPlaneAngleFlag(kFALSE),
151 fHBTRadiiMin(-1.0), fHBTRadiiMax(100000.0),
152 fHBTRadiiFlag(kFALSE)
154 //Default constructor which calls the Reset method.
158 //___________________________________________________________________________
159 AliEventTagCuts::~AliEventTagCuts() {
163 //___________________________________________________________________________
164 void AliEventTagCuts::Reset() {
165 //Sets dummy values to every private member.
166 fNParticipantsFlag = kFALSE;
167 fImpactParamFlag = kFALSE;
173 fPVzErrorFlag = kFALSE;
175 fTriggerMaskFlag = kFALSE;
176 fTriggerClusterFlag = kFALSE;
178 fZDCNeutron1EnergyFlag = kFALSE;
179 fZDCProton1EnergyFlag = kFALSE;
180 fZDCNeutron2EnergyFlag = kFALSE;
181 fZDCProton2EnergyFlag = kFALSE;
182 fZDCEMEnergyFlag = kFALSE;
183 fT0VertexZFlag = kFALSE;
185 fPosMultFlag = kFALSE;
186 fNegMultFlag = kFALSE;
187 fNeutrMultFlag = kFALSE;
189 fNCascadesFlag = kFALSE;
190 fNKinksFlag = kFALSE;
192 fNPMDTracksFlag = kFALSE;
193 fNFMDTracksFlag = kFALSE;
194 fNPHOSClustersFlag = kFALSE;
195 fNEMCALClustersFlag = kFALSE;
196 fNJetCandidatesFlag = kFALSE;
198 fTopJetEnergyMinFlag = kFALSE;
199 fNHardPhotonCandidatesFlag = kFALSE;
200 fTopNeutralEnergyMinFlag = kFALSE;
201 fNChargedAbove1GeVFlag = kFALSE;
202 fNChargedAbove3GeVFlag = kFALSE;
203 fNChargedAbove10GeVFlag = kFALSE;
204 fNMuonsAbove1GeVFlag = kFALSE;
205 fNMuonsAbove3GeVFlag = kFALSE;
206 fNMuonsAbove10GeVFlag = kFALSE;
207 fNElectronsAbove1GeVFlag = kFALSE;
208 fNElectronsAbove3GeVFlag = kFALSE;
209 fNElectronsAbove10GeVFlag = kFALSE;
210 fNElectronsFlag = kFALSE;
211 fNMuonsFlag = kFALSE;
212 fNPionsFlag = kFALSE;
213 fNKaonsFlag = kFALSE;
214 fNProtonsFlag = kFALSE;
215 fNLambdasFlag = kFALSE;
216 fNPhotonFlag = kFALSE;
218 fNNeutronsFlag = kFALSE;
219 fNKaon0sFlag = kFALSE;
220 fTotalPFlag = kFALSE;
221 fMeanPtFlag = kFALSE;
222 fTopPtMinFlag = kFALSE;
223 fTotalNeutralPFlag = kFALSE;
224 fMeanNeutralPtFlag = kFALSE;
225 fTopNeutralPtMinFlag = kFALSE;
226 fEventPlaneAngleFlag = kFALSE;
227 fHBTRadiiFlag = kFALSE;
229 fVxMin = -1000.0; fVxMax = 1000.0;
230 fVyMin = -1000.0; fVyMax = 1000.0;
231 fVzMin = -1000.0; fVzMax = 1000.0;
232 fNParticipantsMin = -1; fNParticipantsMax = 10000;
233 fImpactParamMin = -1.0; fImpactParamMax = 1000.0;
234 fPrimaryVertexFlag = 1;
236 fPrimaryVertexZErrorMin = -10000.; fPrimaryVertexZErrorMax = 10000.;
240 fZDCNeutron1EnergyMin = -1.0; fZDCNeutron1EnergyMax = 100000.0;
241 fZDCProton1EnergyMin = -1.0; fZDCProton1EnergyMax = 100000.0;
242 fZDCNeutron2EnergyMin = -1.0; fZDCNeutron2EnergyMax = 100000.0;
243 fZDCProton2EnergyMin = -1.0; fZDCProton2EnergyMax = 100000.0;
244 fZDCEMEnergyMin = -1.0; fZDCEMEnergyMax = 100000.0;
245 fT0VertexZMin = -10000.0; fT0VertexZMax = 10000.0;
246 fMultMin = 0; fMultMax = 100000;
247 fPosMultMin = -1; fPosMultMax = 100000;
248 fNegMultMin = -1; fNegMultMax = 100000;
249 fNeutrMultMin = -1; fNeutrMultMax = 100000;
250 fNV0sMin = -1; fNV0sMax = 1000000;
251 fNCascadesMin = -1; fNCascadesMax = 100000;
252 fNKinksMin = -1; fNKinksMax = 1000000;
254 fNPMDTracksMin = -1, fNPMDTracksMax = 100000;
255 fNFMDTracksMin = -1, fNFMDTracksMax = 100000;
256 fNPHOSClustersMin = -1, fNPHOSClustersMax = 100000;
257 fNEMCALClustersMin = -1, fNEMCALClustersMax = 100000;
258 fNJetCandidatesMin = -1, fNJetCandidatesMax = 100000;
260 fTopJetEnergyMin = -1.0;
261 fNHardPhotonCandidatesMin = -1; fNHardPhotonCandidatesMax = 100000;
262 fTopNeutralEnergyMin = -1.0;
263 fNChargedAbove1GeVMin = -1; fNChargedAbove1GeVMax = 100000;
264 fNChargedAbove3GeVMin = -1; fNChargedAbove3GeVMax = 100000;
265 fNChargedAbove10GeVMin = -1; fNChargedAbove10GeVMax = 100000;
266 fNMuonsAbove1GeVMin = -1; fNMuonsAbove1GeVMax = 100000;
267 fNMuonsAbove3GeVMin = -1; fNMuonsAbove3GeVMax = 100000;
268 fNMuonsAbove10GeVMin = -1; fNMuonsAbove10GeVMax = 100000;
269 fNElectronsAbove1GeVMin = -1; fNElectronsAbove1GeVMax = 100000;
270 fNElectronsAbove3GeVMin = -1; fNElectronsAbove3GeVMax = 100000;
271 fNElectronsAbove10GeVMin = -1; fNElectronsAbove10GeVMax = 100000;
272 fNElectronsMin = -1; fNElectronsMax = 100000;
273 fNMuonsMin = -1; fNMuonsMax = 100000;
274 fNPionsMin = -1; fNPionsMax = 100000;
275 fNKaonsMin = -1; fNKaonsMax = 100000;
276 fNProtonsMin = -1; fNProtonsMax = 100000;
277 fNLambdasMin = -1; fNLambdasMax = 100000;
278 fNPhotonsMin = -1; fNPhotonsMax = 100000;
279 fNPi0sMin = -1; fNPi0sMax = 100000;
280 fNNeutronsMin = -1; fNNeutronsMax = 100000;
281 fNKaon0sMin = -1; fNKaon0sMax = 100000;
282 fTotalPMin = -1.0; fTotalPMax = 1000000.0;
283 fMeanPtMin = -1.0; fMeanPtMax = 100000.0;
284 fTopPtMin = -1.0; fTotalNeutralPMin = -1.0;
285 fTotalNeutralPMax = 1000000.0;
286 fMeanNeutralPtMin = -1.0; fMeanNeutralPtMax = 1000000.0;
287 fTopNeutralPtMin = -1.0;
288 fEventPlaneAngleMin = -10000000.0; fEventPlaneAngleMax = 10000000.0;
289 fHBTRadiiMin = -1.0; fHBTRadiiMax = 100000.0;
292 //___________________________________________________________________________
293 void AliEventTagCuts::SetPrimaryVertexXRange(Float_t low, Float_t high) {
294 //Sets the primary vertex x range
295 //and the corresponding flag to kTRUE if the cut is used.
301 //___________________________________________________________________________
302 void AliEventTagCuts::SetPrimaryVertexYRange(Float_t low, Float_t high) {
303 //Sets the primary vertex y range
304 //and the corresponding flag to kTRUE if the cut is used.
310 //___________________________________________________________________________
311 void AliEventTagCuts::SetPrimaryVertexZRange(Float_t low, Float_t high) {
312 //Sets the primary vertex z range
313 //and the corresponding flag to kTRUE if the cut is used.
319 //___________________________________________________________________________
320 void AliEventTagCuts::SetPrimaryVertexZErrorRange(Float_t low, Float_t high) {
321 //Sets the primary vertex z error range
322 //and the corresponding flag to kTRUE if the cut is used.
323 fPrimaryVertexZErrorMin = low;
324 fPrimaryVertexZErrorMax = high;
325 fPVzErrorFlag = kTRUE;
328 //___________________________________________________________________________
329 void AliEventTagCuts::SetTriggerMask(ULong64_t trmask) {
330 //Sets the trigger mask
331 //and the corresponding flag to kTRUE if the cut is used.
332 fTriggerMask = trmask;
333 fTriggerMaskFlag = kTRUE;
336 //___________________________________________________________________________
337 void AliEventTagCuts::SetTriggerCluster(UChar_t trcluster) {
338 //Sets the trigger cluster
339 //and the corresponding flag to kTRUE if the cut is used.
340 fTriggerCluster = trcluster;
341 fTriggerClusterFlag = kTRUE;
344 //___________________________________________________________________________
345 void AliEventTagCuts::SetMultiplicityRange(Int_t low, Int_t high) {
346 //Sets the primary multiplicity range
347 //and the corresponding flag to kTRUE if the cut is used.
353 //___________________________________________________________________________
354 void AliEventTagCuts::SetNParticipantsRange(Int_t low, Int_t high) {
355 //Sets the number of participants range
356 //and the corresponding flag to kTRUE if the cut is used.
357 fNParticipantsMin = low;
358 fNParticipantsMax = high;
359 fNParticipantsFlag = kTRUE;
362 //___________________________________________________________________________
363 void AliEventTagCuts::SetImpactParamRange(Float_t low, Float_t high) {
364 //Sets the impact parameter range
365 //and the corresponding flag to kTRUE if the cut is used.
366 fImpactParamMin = low;
367 fImpactParamMax = high;
368 fImpactParamFlag = kTRUE;
372 //___________________________________________________________________________
373 void AliEventTagCuts::SetPrimaryVertexFlag(Int_t flag) {
374 //Sets the primary vertex flag cut
375 //and the corresponding flag to kTRUE if the cut is used.
376 fPrimaryVertexFlag = flag;
380 //___________________________________________________________________________
381 void AliEventTagCuts::SetZDCNeutron1Range(Float_t low, Float_t high) {
382 //Sets the ZDC's neutron energy range
383 //and the corresponding flag to kTRUE if the cut is used.
384 fZDCNeutron1EnergyMin = low;
385 fZDCNeutron1EnergyMax = high;
386 fZDCNeutron1EnergyFlag = kTRUE;
389 //___________________________________________________________________________
390 void AliEventTagCuts::SetZDCProton1Range(Float_t low, Float_t high) {
391 //Sets the ZDC's proton energy range
392 //and the corresponding flag to kTRUE if the cut is used.
393 fZDCProton1EnergyMin = low;
394 fZDCProton1EnergyMax = high;
395 fZDCProton1EnergyFlag = kTRUE;
397 //___________________________________________________________________________
398 void AliEventTagCuts::SetZDCNeutron2Range(Float_t low, Float_t high) {
399 //Sets the ZDC's neutron energy range
400 //and the corresponding flag to kTRUE if the cut is used.
401 fZDCNeutron2EnergyMin = low;
402 fZDCNeutron2EnergyMax = high;
403 fZDCNeutron2EnergyFlag = kTRUE;
405 //___________________________________________________________________________
406 void AliEventTagCuts::SetZDCProton2Range(Float_t low, Float_t high) {
407 //Sets the ZDC's proton energy range
408 //and the corresponding flag to kTRUE if the cut is used.
409 fZDCProton2EnergyMin = low;
410 fZDCProton2EnergyMax = high;
411 fZDCProton2EnergyFlag = kTRUE;
413 //___________________________________________________________________________
414 void AliEventTagCuts::SetZDCEMRange(Float_t low, Float_t high) {
415 //Sets the ZDC's e/m energy range
416 //and the corresponding flag to kTRUE if the cut is used.
417 fZDCEMEnergyMin = low;
418 fZDCEMEnergyMax = high;
419 fZDCEMEnergyFlag = kTRUE;
422 //___________________________________________________________________________
423 void AliEventTagCuts::SetT0VertexZRange(Float_t low, Float_t high) {
424 //Sets the T0's Vz range
425 //and the corresponding flag to kTRUE if the cut is used.
427 fT0VertexZMax = high;
428 fT0VertexZFlag = kTRUE;
431 //___________________________________________________________________________
432 void AliEventTagCuts::SetPosMultiplicityRange(Int_t low, Int_t high) {
433 //Sets the positive multiplicity range
434 //and the corresponding flag to kTRUE if the cut is used.
437 fPosMultFlag = kTRUE;
441 //___________________________________________________________________________
442 void AliEventTagCuts::SetNegMultiplicityRange(Int_t low, Int_t high) {
443 //Sets the negative multiplicity range
444 //and the corresponding flag to kTRUE if the cut is used.
447 fNegMultFlag = kTRUE;
451 //___________________________________________________________________________
452 void AliEventTagCuts::SetNeutrMultiplicityRange(Int_t low, Int_t high) {
453 //Sets the neutral particle multiplicity range
454 //and the corresponding flag to kTRUE if the cut is used.
456 fNeutrMultMax = high;
457 fNeutrMultFlag = kTRUE;
460 //___________________________________________________________________________
461 void AliEventTagCuts::SetNV0sRange(Int_t low, Int_t high) {
462 //Sets the v0s multiplicity range
463 //and the corresponding flag to kTRUE if the cut is used.
469 //___________________________________________________________________________
470 void AliEventTagCuts::SetNCascadesRange(Int_t low, Int_t high) {
471 //Sets the cascades multiplicity range
472 //and the corresponding flag to kTRUE if the cut is used.
474 fNCascadesMax = high;
475 fNCascadesFlag = kTRUE;
478 //___________________________________________________________________________
479 void AliEventTagCuts::SetNKinksRange(Int_t low, Int_t high) {
480 //Sets the kinks multiplicity range
481 //and the corresponding flag to kTRUE if the cut is used.
487 //___________________________________________________________________________
488 void AliEventTagCuts::SetNPMDTracksRange(Int_t low, Int_t high) {
489 //Sets the number of PMD tracks range
490 //and the corresponding flag to kTRUE if the cut is used.
491 fNPMDTracksMin = low;
492 fNPMDTracksMax = high;
493 fNPMDTracksFlag = kTRUE;
496 //___________________________________________________________________________
497 void AliEventTagCuts::SetNFMDTracksRange(Int_t low, Int_t high) {
498 //Sets the number of FMD tracks range
499 //and the corresponding flag to kTRUE if the cut is used.
500 fNFMDTracksMin = low;
501 fNFMDTracksMax = high;
502 fNFMDTracksFlag = kTRUE;
505 //___________________________________________________________________________
506 void AliEventTagCuts::SetNPHOSClustersRange(Int_t low, Int_t high) {
507 //Sets the number of PHOS clusters range
508 //and the corresponding flag to kTRUE if the cut is used.
509 fNPHOSClustersMin = low;
510 fNPHOSClustersMax = high;
511 fNPHOSClustersFlag = kTRUE;
514 //___________________________________________________________________________
515 void AliEventTagCuts::SetNEMCALClustersRange(Int_t low, Int_t high) {
516 //Sets the number of EMCAL clusters range
517 //and the corresponding flag to kTRUE if the cut is used.
518 fNEMCALClustersMin = low;
519 fNEMCALClustersMax = high;
520 fNEMCALClustersFlag = kTRUE;
523 //___________________________________________________________________________
524 void AliEventTagCuts::SetNJetCandidatesRange(Int_t low, Int_t high) {
525 //Sets the number of jet candidates range
526 //and the corresponding flag to kTRUE if the cut is used.
527 fNJetCandidatesMin = low;
528 fNJetCandidatesMax = high;
529 fNJetCandidatesFlag = kTRUE;
532 //___________________________________________________________________________
533 void AliEventTagCuts::SetTopJetEnergyMin(Float_t low) {
534 //Sets the lower limit of the maximum jet energy
535 //and the corresponding flag to kTRUE if the cut is used.
536 fTopJetEnergyMin = low;
537 fTopJetEnergyMinFlag = kTRUE;
539 //___________________________________________________________________________
540 void AliEventTagCuts::SetTopNeutralEnergyMin(Float_t low) {
541 //Sets the lower limit of the maximum neutral jet energy
542 //and the corresponding flag to kTRUE if the cut is used.
543 fTopNeutralEnergyMin = low;
544 fTopNeutralEnergyMinFlag = kTRUE;
546 //___________________________________________________________________________
547 void AliEventTagCuts::SetNHardPhotonsRange(Int_t low, Int_t high) {
548 //Sets the hard photons multiplicity range
549 //and the corresponding flag to kTRUE if the cut is used.
550 fNHardPhotonCandidatesMin = low;
551 fNHardPhotonCandidatesMax = high;
552 fNHardPhotonCandidatesFlag = kTRUE;
555 //___________________________________________________________________________
556 void AliEventTagCuts::SetNChargedAbove1GeVRange(Int_t low, Int_t high) {
557 //Sets the number of charged above 1GeV range
558 //and the corresponding flag to kTRUE if the cut is used.
559 fNChargedAbove1GeVMin = low;
560 fNChargedAbove1GeVMax = high;
561 fNChargedAbove1GeVFlag = kTRUE;
564 //___________________________________________________________________________
565 void AliEventTagCuts::SetNChargedAbove3GeVRange(Int_t low, Int_t high) {
566 //Sets the number of charged above 3GeV range
567 //and the corresponding flag to kTRUE if the cut is used.
568 fNChargedAbove3GeVMin = low;
569 fNChargedAbove3GeVMax = high;
570 fNChargedAbove3GeVFlag = kTRUE;
574 //___________________________________________________________________________
575 void AliEventTagCuts::SetNChargedAbove10GeVRange(Int_t low, Int_t high) {
576 //Sets the number of charged above 10GeV range
577 //and the corresponding flag to kTRUE if the cut is used.
578 fNChargedAbove10GeVMin = low;
579 fNChargedAbove10GeVMax = high;
580 fNChargedAbove10GeVFlag = kTRUE;
584 //___________________________________________________________________________
585 void AliEventTagCuts::SetNMuonsAbove1GeVRange(Int_t low, Int_t high) {
586 //Sets the number of muons above 1GeV range
587 //and the corresponding flag to kTRUE if the cut is used.
588 fNMuonsAbove1GeVMin = low;
589 fNMuonsAbove1GeVMax = high;
590 fNMuonsAbove1GeVFlag = kTRUE;
594 //___________________________________________________________________________
595 void AliEventTagCuts::SetNMuonsAbove3GeVRange(Int_t low, Int_t high) {
596 //Sets the number of muons above 3GeV range
597 //and the corresponding flag to kTRUE if the cut is used.
598 fNMuonsAbove3GeVMin = low;
599 fNMuonsAbove3GeVMax = high;
600 fNMuonsAbove3GeVFlag = kTRUE;
603 //___________________________________________________________________________
604 void AliEventTagCuts::SetNMuonsAbove10GeVRange(Int_t low, Int_t high) {
605 //Sets the number of muons above 10GeV range
606 //and the corresponding flag to kTRUE if the cut is used.
607 fNMuonsAbove10GeVMin = low;
608 fNMuonsAbove10GeVMax = high;
609 fNMuonsAbove10GeVFlag = kTRUE;
613 //___________________________________________________________________________
614 void AliEventTagCuts::SetNElectronsAbove1GeVRange(Int_t low, Int_t high) {
615 //Sets the number of electrons above 1GeV range
616 //and the corresponding flag to kTRUE if the cut is used.
617 fNElectronsAbove1GeVMin = low;
618 fNElectronsAbove1GeVMax = high;
619 fNElectronsAbove1GeVFlag = kTRUE;
622 //___________________________________________________________________________
623 void AliEventTagCuts::SetNElectronsAbove3GeVRange(Int_t low, Int_t high) {
624 //Sets the number of electrons above 3GeV range
625 //and the corresponding flag to kTRUE if the cut is used.
626 fNElectronsAbove3GeVMin = low;
627 fNElectronsAbove3GeVMax = high;
628 fNElectronsAbove3GeVFlag = kTRUE;
631 //___________________________________________________________________________
632 void AliEventTagCuts::SetNElectronsAbove10GeVRange(Int_t low, Int_t high) {
633 //Sets the number of electrons above 10GeV range
634 //and the corresponding flag to kTRUE if the cut is used.
635 fNElectronsAbove10GeVMin = low;
636 fNElectronsAbove10GeVMax = high;
637 fNElectronsAbove10GeVFlag = kTRUE;
639 //___________________________________________________________________________
640 void AliEventTagCuts::SetNElectronRange(Int_t low, Int_t high) {
641 //Sets the electron multiplicity range
642 //and the corresponding flag to kTRUE if the cut is used.
643 fNElectronsMin = low;
644 fNElectronsMax = high;
645 fNElectronsFlag = kTRUE;
647 //___________________________________________________________________________
648 void AliEventTagCuts::SetNMuonRange(Int_t low, Int_t high) {
649 //Sets the muon multiplicity range
650 //and the corresponding flag to kTRUE if the cut is used.
656 //___________________________________________________________________________
657 void AliEventTagCuts::SetNPionRange(Int_t low, Int_t high) {
658 //Sets the pion multiplicity range
659 //and the corresponding flag to kTRUE if the cut is used.
665 //___________________________________________________________________________
666 void AliEventTagCuts::SetNKaonRange(Int_t low, Int_t high) {
667 //Sets the kaon multiplicity range
668 //and the corresponding flag to kTRUE if the cut is used.
674 //___________________________________________________________________________
675 void AliEventTagCuts::SetNProtonRange(Int_t low, Int_t high) {
676 //Sets the proton multiplicity range
677 //and the corresponding flag to kTRUE if the cut is used.
680 fNProtonsFlag = kTRUE;
683 //___________________________________________________________________________
684 void AliEventTagCuts::SetNLambdaRange(Int_t low, Int_t high) {
685 //Sets the lambda multiplicity range
686 //and the corresponding flag to kTRUE if the cut is used.
689 fNLambdasFlag = kTRUE;
691 //___________________________________________________________________________
692 void AliEventTagCuts::SetNPhotonRange(Int_t low, Int_t high) {
693 //Sets the photon multiplicity range
694 //and the corresponding flag to kTRUE if the cut is used.
697 fNPhotonFlag = kTRUE;
699 //___________________________________________________________________________
700 void AliEventTagCuts::SetNPi0Range(Int_t low, Int_t high) {
701 //Sets the pi0 multiplicity range
702 //and the corresponding flag to kTRUE if the cut is used.
708 //___________________________________________________________________________
709 void AliEventTagCuts::SetNNeutronRange(Int_t low, Int_t high) {
710 //Sets the neutron multiplicity range
711 //and the corresponding flag to kTRUE if the cut is used.
713 fNNeutronsMax = high;
714 fNNeutronsFlag = kTRUE;
717 //___________________________________________________________________________
718 void AliEventTagCuts::SetNKaon0Range(Int_t low, Int_t high) {
719 //Sets the K0s multiplicity range
720 //and the corresponding flag to kTRUE if the cut is used.
723 fNKaon0sFlag = kTRUE;
726 //___________________________________________________________________________
727 void AliEventTagCuts::SetTotalPRange(Float_t low, Float_t high) {
728 //Sets the total momentum range
729 //and the corresponding flag to kTRUE if the cut is used.
735 //___________________________________________________________________________
736 void AliEventTagCuts::SetMeanPtRange(Float_t low, Float_t high) {
737 //Sets the mean Pt range
738 //and the corresponding flag to kTRUE if the cut is used.
744 //___________________________________________________________________________
745 void AliEventTagCuts::SetTopPtMin(Float_t low) {
746 //Sets the lower limit of the max Pt value
747 //and the corresponding flag to kTRUE if the cut is used.
749 fTopPtMinFlag = kTRUE;
752 //___________________________________________________________________________
753 void AliEventTagCuts::SetTotalNeutralPRange(Float_t low, Float_t high) {
754 //Sets the total momentum of neutral particles range
755 //and the corresponding flag to kTRUE if the cut is used.
756 fTotalNeutralPMin =low ;
757 fTotalNeutralPMax = high;
758 fTotalNeutralPFlag = kTRUE;
760 //___________________________________________________________________________
761 void AliEventTagCuts::SetMeanNeutralPtPRange(Float_t low, Float_t high) {
762 //Sets the mean Pt of neutral particles range
763 //and the corresponding flag to kTRUE if the cut is used.
764 fMeanNeutralPtMin = low;
765 fMeanNeutralPtMax = high;
766 fMeanNeutralPtFlag = kTRUE;
768 //___________________________________________________________________________
769 void AliEventTagCuts::SetTopNeutralPtMin(Float_t low) {
770 //Sets the lower limit of the maximum Pt of neutral particles
771 //and the corresponding flag to kTRUE if the cut is used.
772 fTopNeutralPtMin = low;
773 fTopNeutralPtMinFlag = kTRUE;
776 //___________________________________________________________________________
777 void AliEventTagCuts::SetEventPlaneAngleRange(Float_t low, Float_t high) {
778 //Sets the event plane range
779 //and the corresponding flag to kTRUE if the cut is used.
780 fEventPlaneAngleMin = low;
781 fEventPlaneAngleMax = high;
782 fEventPlaneAngleFlag = kTRUE;
785 //___________________________________________________________________________
786 void AliEventTagCuts::SetHBTRadiiRange(Float_t low, Float_t high) {
787 //Sets the HBT radii range
788 //and the corresponding flag to kTRUE if the cut is used.
791 fHBTRadiiFlag = kTRUE;
794 //___________________________________________________________________________
795 Bool_t AliEventTagCuts::IsAccepted(AliEventTag *EvTag) const {
796 //Returns true if the event is accepted otherwise false.
798 if((EvTag->GetVertexZ() < fVzMin) || (EvTag->GetVertexZ() > fVzMax))
802 if((EvTag->GetVertexY() < fVyMin) || (EvTag->GetVertexY() > fVyMax))
806 if((EvTag->GetVertexX() < fVxMin) || (EvTag->GetVertexX() > fVxMax))
809 if(fNParticipantsFlag)
810 if((EvTag->GetNumOfParticipants() < fNParticipantsMin) || (EvTag->GetNumOfParticipants() > fNParticipantsMax))
814 if((EvTag->GetImpactParameter() < fImpactParamMin) || (EvTag->GetImpactParameter() > fImpactParamMax))
818 if((EvTag->GetVertexFlag() != fPrimaryVertexFlag))
822 if((EvTag->GetVertexZError() < fPrimaryVertexZErrorMin) || (EvTag->GetVertexZError() > fPrimaryVertexZErrorMax))
825 if((EvTag->GetTriggerMask() != fTriggerMask))
827 if(fTriggerClusterFlag)
828 if((EvTag->GetTriggerMask() != fTriggerMask))
831 if(fZDCNeutron1EnergyFlag)
832 if((EvTag->GetZDCNeutron1Energy() < fZDCNeutron1EnergyMin) || (EvTag->GetZDCNeutron1Energy() > fZDCNeutron1EnergyMax))
835 if(fZDCProton1EnergyFlag)
836 if((EvTag->GetZDCProton1Energy() < fZDCProton1EnergyMin) || (EvTag->GetZDCProton1Energy() > fZDCProton1EnergyMax))
839 if(fZDCNeutron2EnergyFlag)
840 if((EvTag->GetZDCNeutron2Energy() < fZDCNeutron2EnergyMin) || (EvTag->GetZDCNeutron2Energy() > fZDCNeutron2EnergyMax))
843 if(fZDCProton2EnergyFlag)
844 if((EvTag->GetZDCProton2Energy() < fZDCProton2EnergyMin) || (EvTag->GetZDCProton2Energy() > fZDCProton2EnergyMax))
848 if((EvTag->GetZDCEMEnergy() < fZDCEMEnergyMin) || (EvTag->GetZDCEMEnergy() > fZDCEMEnergyMax))
852 if((EvTag->GetT0VertexZ() < fT0VertexZMin) || (EvTag->GetT0VertexZ() > fT0VertexZMax))
856 if((EvTag->GetNumOfTracks() < fMultMin) || (EvTag->GetNumOfTracks() > fMultMax))
860 if((EvTag->GetNumOfPosTracks() < fPosMultMin) || (EvTag->GetNumOfPosTracks() > fPosMultMax))
864 if((EvTag->GetNumOfNegTracks() < fNegMultMin) || (EvTag->GetNumOfNegTracks() > fNegMultMax))
868 if((EvTag->GetNumOfNeutrTracks() < fNeutrMultMin) || (EvTag->GetNumOfNeutrTracks() > fNeutrMultMax))
872 if((EvTag->GetNumOfV0s() < fNV0sMin) || (EvTag->GetNumOfV0s() > fNV0sMax))
876 if((EvTag->GetNumOfCascades() < fNCascadesMin) || (EvTag->GetNumOfCascades() > fNCascadesMax))
880 if((EvTag->GetNumOfKinks() < fNKinksMin) || (EvTag->GetNumOfKinks() > fNKinksMax))
885 if((EvTag->GetNumOfPMDTracks() < fNPMDTracksMin) || (EvTag->GetNumOfPMDTracks() > fNPMDTracksMax))
888 if((EvTag->GetNumOfFMDTracks() < fNFMDTracksMin) || (EvTag->GetNumOfFMDTracks() > fNFMDTracksMax))
890 if(fNPHOSClustersFlag)
891 if((EvTag->GetNumOfPHOSClusters() < fNPHOSClustersMin) || (EvTag->GetNumOfPHOSClusters() > fNPHOSClustersMax))
893 if(fNEMCALClustersFlag)
894 if((EvTag->GetNumOfEMCALClusters() < fNEMCALClustersMin) || (EvTag->GetNumOfEMCALClusters() > fNEMCALClustersMax))
896 if(fNJetCandidatesFlag)
897 if((EvTag->GetNumOfJetCandidates() < fNJetCandidatesMin) || (EvTag->GetNumOfJetCandidates() > fNJetCandidatesMax))
901 if(fTopJetEnergyMinFlag)
902 if((EvTag->GetMaxJetEnergy() < fTopJetEnergyMin))
905 if(fNHardPhotonCandidatesFlag)
906 if((EvTag->GetNumOfHardPhotonsCandidates() < fNHardPhotonCandidatesMin) || (EvTag->GetNumOfHardPhotonsCandidates() > fNHardPhotonCandidatesMax))
909 if(fTopNeutralEnergyMinFlag)
910 if((EvTag->GetMaxNeutralEnergy() < fTopNeutralEnergyMin))
913 if(fNChargedAbove1GeVFlag)
914 if((EvTag->GetNumOfChargedAbove1GeV() < fNChargedAbove1GeVMin) || (EvTag->GetNumOfChargedAbove1GeV() > fNChargedAbove1GeVMax))
917 if(fNChargedAbove3GeVFlag)
918 if((EvTag->GetNumOfChargedAbove3GeV() < fNChargedAbove3GeVMin) || (EvTag->GetNumOfChargedAbove3GeV() > fNChargedAbove3GeVMax))
921 if(fNChargedAbove10GeVFlag)
922 if((EvTag->GetNumOfChargedAbove10GeV() < fNChargedAbove10GeVMin) || (EvTag->GetNumOfChargedAbove10GeV() > fNChargedAbove10GeVMax))
925 if(fNMuonsAbove1GeVFlag)
926 if((EvTag->GetNumOfMuonsAbove1GeV() < fNMuonsAbove1GeVMin) || (EvTag->GetNumOfMuonsAbove1GeV() > fNMuonsAbove1GeVMax))
929 if(fNMuonsAbove3GeVFlag)
930 if((EvTag->GetNumOfMuonsAbove3GeV() < fNMuonsAbove3GeVMin) || (EvTag->GetNumOfMuonsAbove3GeV() > fNMuonsAbove3GeVMax))
933 if(fNMuonsAbove10GeVFlag)
934 if((EvTag->GetNumOfMuonsAbove10GeV() < fNMuonsAbove10GeVMin) || (EvTag->GetNumOfMuonsAbove10GeV() > fNMuonsAbove10GeVMax))
937 if(fNElectronsAbove1GeVFlag)
938 if((EvTag->GetNumOfElectronsAbove1GeV() < fNElectronsAbove1GeVMin) || (EvTag->GetNumOfElectronsAbove1GeV() > fNElectronsAbove1GeVMax))
941 if(fNElectronsAbove3GeVFlag)
942 if((EvTag->GetNumOfElectronsAbove3GeV() < fNElectronsAbove3GeVMin) || (EvTag->GetNumOfElectronsAbove3GeV() > fNElectronsAbove3GeVMax))
945 if(fNElectronsAbove10GeVFlag)
946 if((EvTag->GetNumOfElectronsAbove10GeV() < fNElectronsAbove10GeVMin) || (EvTag->GetNumOfElectronsAbove10GeV() > fNElectronsAbove10GeVMax))
950 if((EvTag->GetNumOfElectrons() < fNElectronsMin) || (EvTag->GetNumOfElectrons() > fNElectronsMax))
954 if((EvTag->GetNumOfMuons() < fNMuonsMin) || (EvTag->GetNumOfMuons() > fNMuonsMax))
958 if((EvTag->GetNumOfPions() < fNPionsMin) || (EvTag->GetNumOfPions() > fNPionsMax))
962 if((EvTag->GetNumOfKaons() < fNKaonsMin) || (EvTag->GetNumOfKaons() > fNKaonsMax))
966 if((EvTag->GetNumOfProtons() < fNProtonsMin) || (EvTag->GetNumOfProtons() > fNProtonsMax))
970 if((EvTag->GetNumOfLambdas() < fNLambdasMin) || (EvTag->GetNumOfLambdas() > fNLambdasMax))
974 if((EvTag->GetNumOfPhotons() < fNPhotonsMin) || (EvTag->GetNumOfPhotons() > fNPhotonsMax))
978 if((EvTag->GetNumOfPi0s() < fNPi0sMin) || (EvTag->GetNumOfPi0s() > fNPi0sMax))
982 if((EvTag->GetNumOfNeutrons() < fNNeutronsMin) || (EvTag->GetNumOfNeutrons() > fNNeutronsMax))
986 if((EvTag->GetNumOfKaon0s() < fNKaon0sMin) || (EvTag->GetNumOfKaon0s() > fNKaon0sMax))
990 if((EvTag->GetTotalMomentum() < fTotalPMin) || (EvTag->GetTotalMomentum() > fTotalPMax))
994 if((EvTag->GetMeanPt() < fMeanPtMin) || (EvTag->GetMeanPt() > fMeanPtMax))
998 if((EvTag->GetMaxPt() < fTopPtMin))
1001 if(fTotalNeutralPFlag)
1002 if((EvTag->GetNeutralTotalMomentum() < fTotalNeutralPMin) || (EvTag->GetNeutralTotalMomentum() > fTotalNeutralPMax))
1005 if(fMeanNeutralPtFlag)
1006 if((EvTag->GetNeutralMeanPt() < fMeanNeutralPtMin) || (EvTag->GetNeutralMeanPt() >fMeanNeutralPtMax ))
1009 if(fTopNeutralPtMinFlag)
1010 if((EvTag->GetNeutralMaxPt() < fTopNeutralPtMin))
1013 if(fEventPlaneAngleFlag)
1014 if((EvTag->GetEventPlaneAngle() < fEventPlaneAngleMin) || (EvTag->GetEventPlaneAngle() > fEventPlaneAngleMax))
1018 if((EvTag->GetHBTRadii() < fHBTRadiiMin) || (EvTag->GetHBTRadii() > fHBTRadiiMax))