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 fNParticipantsMin(-1), fNParticipantsMax(10000),
36 fNParticipantsFlag(kFALSE),
37 fImpactParamMin(-1.0), fImpactParamMax(1000.0),
38 fImpactParamFlag(kFALSE),
40 fVxMin(-1000.0), fVxMax(1000.0),
42 fVyMin(-1000.0), fVyMax(1000.0),
44 fVzMin(-1000.0), fVzMax(1000.0),
46 fPrimaryVertexFlag(1),
49 fPrimaryVertexZErrorMin(-10000.), fPrimaryVertexZErrorMax(10000.),
50 fPVzErrorFlag(kFALSE),
52 fTriggerMaskFlag(kFALSE),
54 fTriggerClusterFlag(kFALSE),
56 fZDCNeutron1EnergyMin(-1.0), fZDCNeutron1EnergyMax(100000.0),
57 fZDCNeutron1EnergyFlag(kFALSE),
58 fZDCProton1EnergyMin(-1.0), fZDCProton1EnergyMax(100000.0),
59 fZDCProton1EnergyFlag(kFALSE),
60 fZDCNeutron2EnergyMin(-1.0), fZDCNeutron2EnergyMax(100000.0),
61 fZDCNeutron2EnergyFlag(kFALSE),
62 fZDCProton2EnergyMin(-1.0), fZDCProton2EnergyMax(100000.0),
63 fZDCProton2EnergyFlag(kFALSE),
64 fZDCEMEnergyMin(-1.0), fZDCEMEnergyMax(100000.0),
65 fZDCEMEnergyFlag(kFALSE),
66 fT0VertexZMin(-10000.0), fT0VertexZMax(10000.0),
67 fT0VertexZFlag(kFALSE),
68 fMultMin(0), fMultMax(100000),
70 fPosMultMin(-1), fPosMultMax(100000),
72 fNegMultMin(-1), fNegMultMax(100000),
74 fNeutrMultMin(-1), fNeutrMultMax(100000),
75 fNeutrMultFlag(kFALSE),
76 fNV0sMin(-1), fNV0sMax(1000000),
78 fNCascadesMin(-1), fNCascadesMax(100000),
79 fNCascadesFlag(kFALSE),
80 fNKinksMin(-1), fNKinksMax(1000000),
83 fNPMDTracksMin(-1), fNPMDTracksMax(100000),
84 fNPMDTracksFlag(kFALSE),
85 fNFMDTracksMin(-1), fNFMDTracksMax(100000),
86 fNFMDTracksFlag(kFALSE),
87 fNPHOSClustersMin(-1), fNPHOSClustersMax(100000),
88 fNPHOSClustersFlag(kFALSE),
89 fNEMCALClustersMin(-1), fNEMCALClustersMax(100000),
90 fNEMCALClustersFlag(kFALSE),
91 fNJetCandidatesMin(-1), fNJetCandidatesMax(100000),
92 fNJetCandidatesFlag(kFALSE),
94 fTopJetEnergyMin(-1.0),
95 fTopJetEnergyMinFlag(kFALSE),
96 fTopNeutralEnergyMin(-1.0),
97 fTopNeutralEnergyMinFlag(kFALSE),
98 fNHardPhotonCandidatesMin(-1), fNHardPhotonCandidatesMax(100000),
99 fNHardPhotonCandidatesFlag(kFALSE),
100 fNChargedAbove1GeVMin(-1), fNChargedAbove1GeVMax(100000),
101 fNChargedAbove1GeVFlag(kFALSE),
102 fNChargedAbove3GeVMin(-1), fNChargedAbove3GeVMax(100000),
103 fNChargedAbove3GeVFlag(kFALSE),
104 fNChargedAbove10GeVMin(-1), fNChargedAbove10GeVMax(100000),
105 fNChargedAbove10GeVFlag(kFALSE),
106 fNMuonsAbove1GeVMin(-1), fNMuonsAbove1GeVMax(100000),
107 fNMuonsAbove1GeVFlag(kFALSE),
108 fNMuonsAbove3GeVMin(-1), fNMuonsAbove3GeVMax(100000),
109 fNMuonsAbove3GeVFlag(kFALSE),
110 fNMuonsAbove10GeVMin(-1), fNMuonsAbove10GeVMax(100000),
111 fNMuonsAbove10GeVFlag(kFALSE),
112 fNElectronsAbove1GeVMin(-1), fNElectronsAbove1GeVMax(100000),
113 fNElectronsAbove1GeVFlag(kFALSE),
114 fNElectronsAbove3GeVMin(-1), fNElectronsAbove3GeVMax(100000),
115 fNElectronsAbove3GeVFlag(kFALSE),
116 fNElectronsAbove10GeVMin(-1), fNElectronsAbove10GeVMax(100000),
117 fNElectronsAbove10GeVFlag(kFALSE),
118 fNElectronsMin(-1), fNElectronsMax(100000),
119 fNElectronsFlag(kFALSE),
120 fNMuonsMin(-1), fNMuonsMax(100000),
122 fNPionsMin(-1), fNPionsMax(100000),
124 fNKaonsMin(-1), fNKaonsMax(100000),
126 fNProtonsMin(-1), fNProtonsMax(100000),
127 fNProtonsFlag(kFALSE),
128 fNLambdasMin(-1), fNLambdasMax(100000),
129 fNLambdasFlag(kFALSE),
130 fNPhotonsMin(-1), fNPhotonsMax(100000),
131 fNPhotonFlag(kFALSE),
132 fNPi0sMin(-1), fNPi0sMax(100000),
134 fNNeutronsMin(-1), fNNeutronsMax(100000),
135 fNNeutronsFlag(kFALSE),
136 fNKaon0sMin(-1), fNKaon0sMax(100000),
137 fNKaon0sFlag(kFALSE),
138 fTotalPMin(-1.0), fTotalPMax(1000000.0),
140 fMeanPtMin(-1.0), fMeanPtMax(100000.0),
143 fTopPtMinFlag(kFALSE),
144 fTotalNeutralPMin(-1.0), fTotalNeutralPMax(1000000.0),
145 fTotalNeutralPFlag(kFALSE),
146 fMeanNeutralPtMin(-1.0), fMeanNeutralPtMax(1000000.0),
147 fMeanNeutralPtFlag(kFALSE),
148 fTopNeutralPtMin(-1.0),
149 fTopNeutralPtMinFlag(kFALSE),
150 fEventPlaneAngleMin(-10000000.0), fEventPlaneAngleMax(10000000.0),
151 fEventPlaneAngleFlag(kFALSE),
152 fHBTRadiiMin(-1.0), fHBTRadiiMax(100000.0),
153 fHBTRadiiFlag(kFALSE)
155 //Default constructor which calls the Reset method.
159 //___________________________________________________________________________
160 AliEventTagCuts::~AliEventTagCuts() {
164 //___________________________________________________________________________
165 void AliEventTagCuts::Reset() {
166 //Sets dummy values to every private member.
167 fNParticipantsFlag = kFALSE;
168 fImpactParamFlag = kFALSE;
174 fPVzErrorFlag = kFALSE;
176 fTriggerMaskFlag = kFALSE;
177 fTriggerClusterFlag = kFALSE;
179 fZDCNeutron1EnergyFlag = kFALSE;
180 fZDCProton1EnergyFlag = kFALSE;
181 fZDCNeutron2EnergyFlag = kFALSE;
182 fZDCProton2EnergyFlag = kFALSE;
183 fZDCEMEnergyFlag = kFALSE;
184 fT0VertexZFlag = kFALSE;
186 fPosMultFlag = kFALSE;
187 fNegMultFlag = kFALSE;
188 fNeutrMultFlag = kFALSE;
190 fNCascadesFlag = kFALSE;
191 fNKinksFlag = kFALSE;
193 fNPMDTracksFlag = kFALSE;
194 fNFMDTracksFlag = kFALSE;
195 fNPHOSClustersFlag = kFALSE;
196 fNEMCALClustersFlag = kFALSE;
197 fNJetCandidatesFlag = kFALSE;
199 fTopJetEnergyMinFlag = kFALSE;
200 fNHardPhotonCandidatesFlag = kFALSE;
201 fTopNeutralEnergyMinFlag = kFALSE;
202 fNChargedAbove1GeVFlag = kFALSE;
203 fNChargedAbove3GeVFlag = kFALSE;
204 fNChargedAbove10GeVFlag = kFALSE;
205 fNMuonsAbove1GeVFlag = kFALSE;
206 fNMuonsAbove3GeVFlag = kFALSE;
207 fNMuonsAbove10GeVFlag = kFALSE;
208 fNElectronsAbove1GeVFlag = kFALSE;
209 fNElectronsAbove3GeVFlag = kFALSE;
210 fNElectronsAbove10GeVFlag = kFALSE;
211 fNElectronsFlag = kFALSE;
212 fNMuonsFlag = kFALSE;
213 fNPionsFlag = kFALSE;
214 fNKaonsFlag = kFALSE;
215 fNProtonsFlag = kFALSE;
216 fNLambdasFlag = kFALSE;
217 fNPhotonFlag = kFALSE;
219 fNNeutronsFlag = kFALSE;
220 fNKaon0sFlag = kFALSE;
221 fTotalPFlag = kFALSE;
222 fMeanPtFlag = kFALSE;
223 fTopPtMinFlag = kFALSE;
224 fTotalNeutralPFlag = kFALSE;
225 fMeanNeutralPtFlag = kFALSE;
226 fTopNeutralPtMinFlag = kFALSE;
227 fEventPlaneAngleFlag = kFALSE;
228 fHBTRadiiFlag = kFALSE;
230 fVxMin = -1000.0; fVxMax = 1000.0;
231 fVyMin = -1000.0; fVyMax = 1000.0;
232 fVzMin = -1000.0; fVzMax = 1000.0;
233 fNParticipantsMin = -1; fNParticipantsMax = 10000;
234 fImpactParamMin = -1.0; fImpactParamMax = 1000.0;
235 fPrimaryVertexFlag = 1;
237 fPrimaryVertexZErrorMin = -10000.; fPrimaryVertexZErrorMax = 10000.;
241 fZDCNeutron1EnergyMin = -1.0; fZDCNeutron1EnergyMax = 100000.0;
242 fZDCProton1EnergyMin = -1.0; fZDCProton1EnergyMax = 100000.0;
243 fZDCNeutron2EnergyMin = -1.0; fZDCNeutron2EnergyMax = 100000.0;
244 fZDCProton2EnergyMin = -1.0; fZDCProton2EnergyMax = 100000.0;
245 fZDCEMEnergyMin = -1.0; fZDCEMEnergyMax = 100000.0;
246 fT0VertexZMin = -10000.0; fT0VertexZMax = 10000.0;
247 fMultMin = 0; fMultMax = 100000;
248 fPosMultMin = -1; fPosMultMax = 100000;
249 fNegMultMin = -1; fNegMultMax = 100000;
250 fNeutrMultMin = -1; fNeutrMultMax = 100000;
251 fNV0sMin = -1; fNV0sMax = 1000000;
252 fNCascadesMin = -1; fNCascadesMax = 100000;
253 fNKinksMin = -1; fNKinksMax = 1000000;
255 fNPMDTracksMin = -1, fNPMDTracksMax = 100000;
256 fNFMDTracksMin = -1, fNFMDTracksMax = 100000;
257 fNPHOSClustersMin = -1, fNPHOSClustersMax = 100000;
258 fNEMCALClustersMin = -1, fNEMCALClustersMax = 100000;
259 fNJetCandidatesMin = -1, fNJetCandidatesMax = 100000;
261 fTopJetEnergyMin = -1.0;
262 fNHardPhotonCandidatesMin = -1; fNHardPhotonCandidatesMax = 100000;
263 fTopNeutralEnergyMin = -1.0;
264 fNChargedAbove1GeVMin = -1; fNChargedAbove1GeVMax = 100000;
265 fNChargedAbove3GeVMin = -1; fNChargedAbove3GeVMax = 100000;
266 fNChargedAbove10GeVMin = -1; fNChargedAbove10GeVMax = 100000;
267 fNMuonsAbove1GeVMin = -1; fNMuonsAbove1GeVMax = 100000;
268 fNMuonsAbove3GeVMin = -1; fNMuonsAbove3GeVMax = 100000;
269 fNMuonsAbove10GeVMin = -1; fNMuonsAbove10GeVMax = 100000;
270 fNElectronsAbove1GeVMin = -1; fNElectronsAbove1GeVMax = 100000;
271 fNElectronsAbove3GeVMin = -1; fNElectronsAbove3GeVMax = 100000;
272 fNElectronsAbove10GeVMin = -1; fNElectronsAbove10GeVMax = 100000;
273 fNElectronsMin = -1; fNElectronsMax = 100000;
274 fNMuonsMin = -1; fNMuonsMax = 100000;
275 fNPionsMin = -1; fNPionsMax = 100000;
276 fNKaonsMin = -1; fNKaonsMax = 100000;
277 fNProtonsMin = -1; fNProtonsMax = 100000;
278 fNLambdasMin = -1; fNLambdasMax = 100000;
279 fNPhotonsMin = -1; fNPhotonsMax = 100000;
280 fNPi0sMin = -1; fNPi0sMax = 100000;
281 fNNeutronsMin = -1; fNNeutronsMax = 100000;
282 fNKaon0sMin = -1; fNKaon0sMax = 100000;
283 fTotalPMin = -1.0; fTotalPMax = 1000000.0;
284 fMeanPtMin = -1.0; fMeanPtMax = 100000.0;
285 fTopPtMin = -1.0; fTotalNeutralPMin = -1.0;
286 fTotalNeutralPMax = 1000000.0;
287 fMeanNeutralPtMin = -1.0; fMeanNeutralPtMax = 1000000.0;
288 fTopNeutralPtMin = -1.0;
289 fEventPlaneAngleMin = -10000000.0; fEventPlaneAngleMax = 10000000.0;
290 fHBTRadiiMin = -1.0; fHBTRadiiMax = 100000.0;
293 //___________________________________________________________________________
294 void AliEventTagCuts::SetPrimaryVertexXRange(Float_t low, Float_t high) {
295 //Sets the primary vertex x range
296 //and the corresponding flag to kTRUE if the cut is used.
302 //___________________________________________________________________________
303 void AliEventTagCuts::SetPrimaryVertexYRange(Float_t low, Float_t high) {
304 //Sets the primary vertex y range
305 //and the corresponding flag to kTRUE if the cut is used.
311 //___________________________________________________________________________
312 void AliEventTagCuts::SetPrimaryVertexZRange(Float_t low, Float_t high) {
313 //Sets the primary vertex z range
314 //and the corresponding flag to kTRUE if the cut is used.
320 //___________________________________________________________________________
321 void AliEventTagCuts::SetPrimaryVertexZErrorRange(Float_t low, Float_t high) {
322 //Sets the primary vertex z error range
323 //and the corresponding flag to kTRUE if the cut is used.
324 fPrimaryVertexZErrorMin = low;
325 fPrimaryVertexZErrorMax = high;
326 fPVzErrorFlag = kTRUE;
329 //___________________________________________________________________________
330 void AliEventTagCuts::SetTriggerMask(ULong64_t trmask) {
331 //Sets the trigger mask
332 //and the corresponding flag to kTRUE if the cut is used.
333 fTriggerMask = trmask;
334 fTriggerMaskFlag = kTRUE;
337 //___________________________________________________________________________
338 void AliEventTagCuts::SetTriggerCluster(UChar_t trcluster) {
339 //Sets the trigger cluster
340 //and the corresponding flag to kTRUE if the cut is used.
341 fTriggerCluster = trcluster;
342 fTriggerClusterFlag = kTRUE;
345 //___________________________________________________________________________
346 void AliEventTagCuts::SetMultiplicityRange(Int_t low, Int_t high) {
347 //Sets the primary multiplicity range
348 //and the corresponding flag to kTRUE if the cut is used.
354 //___________________________________________________________________________
355 void AliEventTagCuts::SetNParticipantsRange(Int_t low, Int_t high) {
356 //Sets the number of participants range
357 //and the corresponding flag to kTRUE if the cut is used.
358 fNParticipantsMin = low;
359 fNParticipantsMax = high;
360 fNParticipantsFlag = kTRUE;
363 //___________________________________________________________________________
364 void AliEventTagCuts::SetImpactParamRange(Float_t low, Float_t high) {
365 //Sets the impact parameter range
366 //and the corresponding flag to kTRUE if the cut is used.
367 fImpactParamMin = low;
368 fImpactParamMax = high;
369 fImpactParamFlag = kTRUE;
373 //___________________________________________________________________________
374 void AliEventTagCuts::SetPrimaryVertexFlag(Int_t flag) {
375 //Sets the primary vertex flag cut
376 //and the corresponding flag to kTRUE if the cut is used.
377 fPrimaryVertexFlag = flag;
381 //___________________________________________________________________________
382 void AliEventTagCuts::SetZDCNeutron1Range(Float_t low, Float_t high) {
383 //Sets the ZDC's neutron energy range
384 //and the corresponding flag to kTRUE if the cut is used.
385 fZDCNeutron1EnergyMin = low;
386 fZDCNeutron1EnergyMax = high;
387 fZDCNeutron1EnergyFlag = kTRUE;
390 //___________________________________________________________________________
391 void AliEventTagCuts::SetZDCProton1Range(Float_t low, Float_t high) {
392 //Sets the ZDC's proton energy range
393 //and the corresponding flag to kTRUE if the cut is used.
394 fZDCProton1EnergyMin = low;
395 fZDCProton1EnergyMax = high;
396 fZDCProton1EnergyFlag = kTRUE;
398 //___________________________________________________________________________
399 void AliEventTagCuts::SetZDCNeutron2Range(Float_t low, Float_t high) {
400 //Sets the ZDC's neutron energy range
401 //and the corresponding flag to kTRUE if the cut is used.
402 fZDCNeutron2EnergyMin = low;
403 fZDCNeutron2EnergyMax = high;
404 fZDCNeutron2EnergyFlag = kTRUE;
406 //___________________________________________________________________________
407 void AliEventTagCuts::SetZDCProton2Range(Float_t low, Float_t high) {
408 //Sets the ZDC's proton energy range
409 //and the corresponding flag to kTRUE if the cut is used.
410 fZDCProton2EnergyMin = low;
411 fZDCProton2EnergyMax = high;
412 fZDCProton2EnergyFlag = kTRUE;
414 //___________________________________________________________________________
415 void AliEventTagCuts::SetZDCEMRange(Float_t low, Float_t high) {
416 //Sets the ZDC's e/m energy range
417 //and the corresponding flag to kTRUE if the cut is used.
418 fZDCEMEnergyMin = low;
419 fZDCEMEnergyMax = high;
420 fZDCEMEnergyFlag = kTRUE;
423 //___________________________________________________________________________
424 void AliEventTagCuts::SetT0VertexZRange(Float_t low, Float_t high) {
425 //Sets the T0's Vz range
426 //and the corresponding flag to kTRUE if the cut is used.
428 fT0VertexZMax = high;
429 fT0VertexZFlag = kTRUE;
432 //___________________________________________________________________________
433 void AliEventTagCuts::SetPosMultiplicityRange(Int_t low, Int_t high) {
434 //Sets the positive multiplicity range
435 //and the corresponding flag to kTRUE if the cut is used.
438 fPosMultFlag = kTRUE;
442 //___________________________________________________________________________
443 void AliEventTagCuts::SetNegMultiplicityRange(Int_t low, Int_t high) {
444 //Sets the negative multiplicity range
445 //and the corresponding flag to kTRUE if the cut is used.
448 fNegMultFlag = kTRUE;
452 //___________________________________________________________________________
453 void AliEventTagCuts::SetNeutrMultiplicityRange(Int_t low, Int_t high) {
454 //Sets the neutral particle multiplicity range
455 //and the corresponding flag to kTRUE if the cut is used.
457 fNeutrMultMax = high;
458 fNeutrMultFlag = kTRUE;
461 //___________________________________________________________________________
462 void AliEventTagCuts::SetNV0sRange(Int_t low, Int_t high) {
463 //Sets the v0s multiplicity range
464 //and the corresponding flag to kTRUE if the cut is used.
470 //___________________________________________________________________________
471 void AliEventTagCuts::SetNCascadesRange(Int_t low, Int_t high) {
472 //Sets the cascades multiplicity range
473 //and the corresponding flag to kTRUE if the cut is used.
475 fNCascadesMax = high;
476 fNCascadesFlag = kTRUE;
479 //___________________________________________________________________________
480 void AliEventTagCuts::SetNKinksRange(Int_t low, Int_t high) {
481 //Sets the kinks multiplicity range
482 //and the corresponding flag to kTRUE if the cut is used.
488 //___________________________________________________________________________
489 void AliEventTagCuts::SetNPMDTracksRange(Int_t low, Int_t high) {
490 //Sets the number of PMD tracks range
491 //and the corresponding flag to kTRUE if the cut is used.
492 fNPMDTracksMin = low;
493 fNPMDTracksMax = high;
494 fNPMDTracksFlag = kTRUE;
497 //___________________________________________________________________________
498 void AliEventTagCuts::SetNFMDTracksRange(Int_t low, Int_t high) {
499 //Sets the number of FMD tracks range
500 //and the corresponding flag to kTRUE if the cut is used.
501 fNFMDTracksMin = low;
502 fNFMDTracksMax = high;
503 fNFMDTracksFlag = kTRUE;
506 //___________________________________________________________________________
507 void AliEventTagCuts::SetNPHOSClustersRange(Int_t low, Int_t high) {
508 //Sets the number of PHOS clusters range
509 //and the corresponding flag to kTRUE if the cut is used.
510 fNPHOSClustersMin = low;
511 fNPHOSClustersMax = high;
512 fNPHOSClustersFlag = kTRUE;
515 //___________________________________________________________________________
516 void AliEventTagCuts::SetNEMCALClustersRange(Int_t low, Int_t high) {
517 //Sets the number of EMCAL clusters range
518 //and the corresponding flag to kTRUE if the cut is used.
519 fNEMCALClustersMin = low;
520 fNEMCALClustersMax = high;
521 fNEMCALClustersFlag = kTRUE;
524 //___________________________________________________________________________
525 void AliEventTagCuts::SetNJetCandidatesRange(Int_t low, Int_t high) {
526 //Sets the number of jet candidates range
527 //and the corresponding flag to kTRUE if the cut is used.
528 fNJetCandidatesMin = low;
529 fNJetCandidatesMax = high;
530 fNJetCandidatesFlag = kTRUE;
533 //___________________________________________________________________________
534 void AliEventTagCuts::SetTopJetEnergyMin(Float_t low) {
535 //Sets the lower limit of the maximum jet energy
536 //and the corresponding flag to kTRUE if the cut is used.
537 fTopJetEnergyMin = low;
538 fTopJetEnergyMinFlag = kTRUE;
540 //___________________________________________________________________________
541 void AliEventTagCuts::SetTopNeutralEnergyMin(Float_t low) {
542 //Sets the lower limit of the maximum neutral jet energy
543 //and the corresponding flag to kTRUE if the cut is used.
544 fTopNeutralEnergyMin = low;
545 fTopNeutralEnergyMinFlag = kTRUE;
547 //___________________________________________________________________________
548 void AliEventTagCuts::SetNHardPhotonsRange(Int_t low, Int_t high) {
549 //Sets the hard photons multiplicity range
550 //and the corresponding flag to kTRUE if the cut is used.
551 fNHardPhotonCandidatesMin = low;
552 fNHardPhotonCandidatesMax = high;
553 fNHardPhotonCandidatesFlag = kTRUE;
556 //___________________________________________________________________________
557 void AliEventTagCuts::SetNChargedAbove1GeVRange(Int_t low, Int_t high) {
558 //Sets the number of charged above 1GeV range
559 //and the corresponding flag to kTRUE if the cut is used.
560 fNChargedAbove1GeVMin = low;
561 fNChargedAbove1GeVMax = high;
562 fNChargedAbove1GeVFlag = kTRUE;
565 //___________________________________________________________________________
566 void AliEventTagCuts::SetNChargedAbove3GeVRange(Int_t low, Int_t high) {
567 //Sets the number of charged above 3GeV range
568 //and the corresponding flag to kTRUE if the cut is used.
569 fNChargedAbove3GeVMin = low;
570 fNChargedAbove3GeVMax = high;
571 fNChargedAbove3GeVFlag = kTRUE;
575 //___________________________________________________________________________
576 void AliEventTagCuts::SetNChargedAbove10GeVRange(Int_t low, Int_t high) {
577 //Sets the number of charged above 10GeV range
578 //and the corresponding flag to kTRUE if the cut is used.
579 fNChargedAbove10GeVMin = low;
580 fNChargedAbove10GeVMax = high;
581 fNChargedAbove10GeVFlag = kTRUE;
585 //___________________________________________________________________________
586 void AliEventTagCuts::SetNMuonsAbove1GeVRange(Int_t low, Int_t high) {
587 //Sets the number of muons above 1GeV range
588 //and the corresponding flag to kTRUE if the cut is used.
589 fNMuonsAbove1GeVMin = low;
590 fNMuonsAbove1GeVMax = high;
591 fNMuonsAbove1GeVFlag = kTRUE;
595 //___________________________________________________________________________
596 void AliEventTagCuts::SetNMuonsAbove3GeVRange(Int_t low, Int_t high) {
597 //Sets the number of muons above 3GeV range
598 //and the corresponding flag to kTRUE if the cut is used.
599 fNMuonsAbove3GeVMin = low;
600 fNMuonsAbove3GeVMax = high;
601 fNMuonsAbove3GeVFlag = kTRUE;
604 //___________________________________________________________________________
605 void AliEventTagCuts::SetNMuonsAbove10GeVRange(Int_t low, Int_t high) {
606 //Sets the number of muons above 10GeV range
607 //and the corresponding flag to kTRUE if the cut is used.
608 fNMuonsAbove10GeVMin = low;
609 fNMuonsAbove10GeVMax = high;
610 fNMuonsAbove10GeVFlag = kTRUE;
614 //___________________________________________________________________________
615 void AliEventTagCuts::SetNElectronsAbove1GeVRange(Int_t low, Int_t high) {
616 //Sets the number of electrons above 1GeV range
617 //and the corresponding flag to kTRUE if the cut is used.
618 fNElectronsAbove1GeVMin = low;
619 fNElectronsAbove1GeVMax = high;
620 fNElectronsAbove1GeVFlag = kTRUE;
623 //___________________________________________________________________________
624 void AliEventTagCuts::SetNElectronsAbove3GeVRange(Int_t low, Int_t high) {
625 //Sets the number of electrons above 3GeV range
626 //and the corresponding flag to kTRUE if the cut is used.
627 fNElectronsAbove3GeVMin = low;
628 fNElectronsAbove3GeVMax = high;
629 fNElectronsAbove3GeVFlag = kTRUE;
632 //___________________________________________________________________________
633 void AliEventTagCuts::SetNElectronsAbove10GeVRange(Int_t low, Int_t high) {
634 //Sets the number of electrons above 10GeV range
635 //and the corresponding flag to kTRUE if the cut is used.
636 fNElectronsAbove10GeVMin = low;
637 fNElectronsAbove10GeVMax = high;
638 fNElectronsAbove10GeVFlag = kTRUE;
640 //___________________________________________________________________________
641 void AliEventTagCuts::SetNElectronRange(Int_t low, Int_t high) {
642 //Sets the electron multiplicity range
643 //and the corresponding flag to kTRUE if the cut is used.
644 fNElectronsMin = low;
645 fNElectronsMax = high;
646 fNElectronsFlag = kTRUE;
648 //___________________________________________________________________________
649 void AliEventTagCuts::SetNMuonRange(Int_t low, Int_t high) {
650 //Sets the muon multiplicity range
651 //and the corresponding flag to kTRUE if the cut is used.
657 //___________________________________________________________________________
658 void AliEventTagCuts::SetNPionRange(Int_t low, Int_t high) {
659 //Sets the pion multiplicity range
660 //and the corresponding flag to kTRUE if the cut is used.
666 //___________________________________________________________________________
667 void AliEventTagCuts::SetNKaonRange(Int_t low, Int_t high) {
668 //Sets the kaon multiplicity range
669 //and the corresponding flag to kTRUE if the cut is used.
675 //___________________________________________________________________________
676 void AliEventTagCuts::SetNProtonRange(Int_t low, Int_t high) {
677 //Sets the proton multiplicity range
678 //and the corresponding flag to kTRUE if the cut is used.
681 fNProtonsFlag = kTRUE;
684 //___________________________________________________________________________
685 void AliEventTagCuts::SetNLambdaRange(Int_t low, Int_t high) {
686 //Sets the lambda multiplicity range
687 //and the corresponding flag to kTRUE if the cut is used.
690 fNLambdasFlag = kTRUE;
692 //___________________________________________________________________________
693 void AliEventTagCuts::SetNPhotonRange(Int_t low, Int_t high) {
694 //Sets the photon multiplicity range
695 //and the corresponding flag to kTRUE if the cut is used.
698 fNPhotonFlag = kTRUE;
700 //___________________________________________________________________________
701 void AliEventTagCuts::SetNPi0Range(Int_t low, Int_t high) {
702 //Sets the pi0 multiplicity range
703 //and the corresponding flag to kTRUE if the cut is used.
709 //___________________________________________________________________________
710 void AliEventTagCuts::SetNNeutronRange(Int_t low, Int_t high) {
711 //Sets the neutron multiplicity range
712 //and the corresponding flag to kTRUE if the cut is used.
714 fNNeutronsMax = high;
715 fNNeutronsFlag = kTRUE;
718 //___________________________________________________________________________
719 void AliEventTagCuts::SetNKaon0Range(Int_t low, Int_t high) {
720 //Sets the K0s multiplicity range
721 //and the corresponding flag to kTRUE if the cut is used.
724 fNKaon0sFlag = kTRUE;
727 //___________________________________________________________________________
728 void AliEventTagCuts::SetTotalPRange(Float_t low, Float_t high) {
729 //Sets the total momentum range
730 //and the corresponding flag to kTRUE if the cut is used.
736 //___________________________________________________________________________
737 void AliEventTagCuts::SetMeanPtRange(Float_t low, Float_t high) {
738 //Sets the mean Pt range
739 //and the corresponding flag to kTRUE if the cut is used.
745 //___________________________________________________________________________
746 void AliEventTagCuts::SetTopPtMin(Float_t low) {
747 //Sets the lower limit of the max Pt value
748 //and the corresponding flag to kTRUE if the cut is used.
750 fTopPtMinFlag = kTRUE;
753 //___________________________________________________________________________
754 void AliEventTagCuts::SetTotalNeutralPRange(Float_t low, Float_t high) {
755 //Sets the total momentum of neutral particles range
756 //and the corresponding flag to kTRUE if the cut is used.
757 fTotalNeutralPMin =low ;
758 fTotalNeutralPMax = high;
759 fTotalNeutralPFlag = kTRUE;
761 //___________________________________________________________________________
762 void AliEventTagCuts::SetMeanNeutralPtPRange(Float_t low, Float_t high) {
763 //Sets the mean Pt of neutral particles range
764 //and the corresponding flag to kTRUE if the cut is used.
765 fMeanNeutralPtMin = low;
766 fMeanNeutralPtMax = high;
767 fMeanNeutralPtFlag = kTRUE;
769 //___________________________________________________________________________
770 void AliEventTagCuts::SetTopNeutralPtMin(Float_t low) {
771 //Sets the lower limit of the maximum Pt of neutral particles
772 //and the corresponding flag to kTRUE if the cut is used.
773 fTopNeutralPtMin = low;
774 fTopNeutralPtMinFlag = kTRUE;
777 //___________________________________________________________________________
778 void AliEventTagCuts::SetEventPlaneAngleRange(Float_t low, Float_t high) {
779 //Sets the event plane range
780 //and the corresponding flag to kTRUE if the cut is used.
781 fEventPlaneAngleMin = low;
782 fEventPlaneAngleMax = high;
783 fEventPlaneAngleFlag = kTRUE;
786 //___________________________________________________________________________
787 void AliEventTagCuts::SetHBTRadiiRange(Float_t low, Float_t high) {
788 //Sets the HBT radii range
789 //and the corresponding flag to kTRUE if the cut is used.
792 fHBTRadiiFlag = kTRUE;
795 //___________________________________________________________________________
796 Bool_t AliEventTagCuts::IsAccepted(AliEventTag *EvTag) const {
797 //Returns true if the event is accepted otherwise false.
799 if((EvTag->GetVertexZ() < fVzMin) || (EvTag->GetVertexZ() > fVzMax))
803 if((EvTag->GetVertexY() < fVyMin) || (EvTag->GetVertexY() > fVyMax))
807 if((EvTag->GetVertexX() < fVxMin) || (EvTag->GetVertexX() > fVxMax))
810 if(fNParticipantsFlag)
811 if((EvTag->GetNumOfParticipants() < fNParticipantsMin) || (EvTag->GetNumOfParticipants() > fNParticipantsMax))
815 if((EvTag->GetImpactParameter() < fImpactParamMin) || (EvTag->GetImpactParameter() > fImpactParamMax))
819 if((EvTag->GetVertexFlag() != fPrimaryVertexFlag))
823 if((EvTag->GetVertexZError() < fPrimaryVertexZErrorMin) || (EvTag->GetVertexZError() > fPrimaryVertexZErrorMax))
826 if((EvTag->GetTriggerMask() != fTriggerMask))
828 if(fTriggerClusterFlag)
829 if((EvTag->GetTriggerMask() != fTriggerMask))
832 if(fZDCNeutron1EnergyFlag)
833 if((EvTag->GetZDCNeutron1Energy() < fZDCNeutron1EnergyMin) || (EvTag->GetZDCNeutron1Energy() > fZDCNeutron1EnergyMax))
836 if(fZDCProton1EnergyFlag)
837 if((EvTag->GetZDCProton1Energy() < fZDCProton1EnergyMin) || (EvTag->GetZDCProton1Energy() > fZDCProton1EnergyMax))
840 if(fZDCNeutron2EnergyFlag)
841 if((EvTag->GetZDCNeutron2Energy() < fZDCNeutron2EnergyMin) || (EvTag->GetZDCNeutron2Energy() > fZDCNeutron2EnergyMax))
844 if(fZDCProton2EnergyFlag)
845 if((EvTag->GetZDCProton2Energy() < fZDCProton2EnergyMin) || (EvTag->GetZDCProton2Energy() > fZDCProton2EnergyMax))
849 if((EvTag->GetZDCEMEnergy() < fZDCEMEnergyMin) || (EvTag->GetZDCEMEnergy() > fZDCEMEnergyMax))
853 if((EvTag->GetT0VertexZ() < fT0VertexZMin) || (EvTag->GetT0VertexZ() > fT0VertexZMax))
857 if((EvTag->GetNumOfTracks() < fMultMin) || (EvTag->GetNumOfTracks() > fMultMax))
861 if((EvTag->GetNumOfPosTracks() < fPosMultMin) || (EvTag->GetNumOfPosTracks() > fPosMultMax))
865 if((EvTag->GetNumOfNegTracks() < fNegMultMin) || (EvTag->GetNumOfNegTracks() > fNegMultMax))
869 if((EvTag->GetNumOfNeutrTracks() < fNeutrMultMin) || (EvTag->GetNumOfNeutrTracks() > fNeutrMultMax))
873 if((EvTag->GetNumOfV0s() < fNV0sMin) || (EvTag->GetNumOfV0s() > fNV0sMax))
877 if((EvTag->GetNumOfCascades() < fNCascadesMin) || (EvTag->GetNumOfCascades() > fNCascadesMax))
881 if((EvTag->GetNumOfKinks() < fNKinksMin) || (EvTag->GetNumOfKinks() > fNKinksMax))
886 if((EvTag->GetNumOfPMDTracks() < fNPMDTracksMin) || (EvTag->GetNumOfPMDTracks() > fNPMDTracksMax))
889 if((EvTag->GetNumOfFMDTracks() < fNFMDTracksMin) || (EvTag->GetNumOfFMDTracks() > fNFMDTracksMax))
891 if(fNPHOSClustersFlag)
892 if((EvTag->GetNumOfPHOSClusters() < fNPHOSClustersMin) || (EvTag->GetNumOfPHOSClusters() > fNPHOSClustersMax))
894 if(fNEMCALClustersFlag)
895 if((EvTag->GetNumOfEMCALClusters() < fNEMCALClustersMin) || (EvTag->GetNumOfEMCALClusters() > fNEMCALClustersMax))
897 if(fNJetCandidatesFlag)
898 if((EvTag->GetNumOfJetCandidates() < fNJetCandidatesMin) || (EvTag->GetNumOfJetCandidates() > fNJetCandidatesMax))
902 if(fTopJetEnergyMinFlag)
903 if((EvTag->GetMaxJetEnergy() < fTopJetEnergyMin))
906 if(fNHardPhotonCandidatesFlag)
907 if((EvTag->GetNumOfHardPhotonsCandidates() < fNHardPhotonCandidatesMin) || (EvTag->GetNumOfHardPhotonsCandidates() > fNHardPhotonCandidatesMax))
910 if(fTopNeutralEnergyMinFlag)
911 if((EvTag->GetMaxNeutralEnergy() < fTopNeutralEnergyMin))
914 if(fNChargedAbove1GeVFlag)
915 if((EvTag->GetNumOfChargedAbove1GeV() < fNChargedAbove1GeVMin) || (EvTag->GetNumOfChargedAbove1GeV() > fNChargedAbove1GeVMax))
918 if(fNChargedAbove3GeVFlag)
919 if((EvTag->GetNumOfChargedAbove3GeV() < fNChargedAbove3GeVMin) || (EvTag->GetNumOfChargedAbove3GeV() > fNChargedAbove3GeVMax))
922 if(fNChargedAbove10GeVFlag)
923 if((EvTag->GetNumOfChargedAbove10GeV() < fNChargedAbove10GeVMin) || (EvTag->GetNumOfChargedAbove10GeV() > fNChargedAbove10GeVMax))
926 if(fNMuonsAbove1GeVFlag)
927 if((EvTag->GetNumOfMuonsAbove1GeV() < fNMuonsAbove1GeVMin) || (EvTag->GetNumOfMuonsAbove1GeV() > fNMuonsAbove1GeVMax))
930 if(fNMuonsAbove3GeVFlag)
931 if((EvTag->GetNumOfMuonsAbove3GeV() < fNMuonsAbove3GeVMin) || (EvTag->GetNumOfMuonsAbove3GeV() > fNMuonsAbove3GeVMax))
934 if(fNMuonsAbove10GeVFlag)
935 if((EvTag->GetNumOfMuonsAbove10GeV() < fNMuonsAbove10GeVMin) || (EvTag->GetNumOfMuonsAbove10GeV() > fNMuonsAbove10GeVMax))
938 if(fNElectronsAbove1GeVFlag)
939 if((EvTag->GetNumOfElectronsAbove1GeV() < fNElectronsAbove1GeVMin) || (EvTag->GetNumOfElectronsAbove1GeV() > fNElectronsAbove1GeVMax))
942 if(fNElectronsAbove3GeVFlag)
943 if((EvTag->GetNumOfElectronsAbove3GeV() < fNElectronsAbove3GeVMin) || (EvTag->GetNumOfElectronsAbove3GeV() > fNElectronsAbove3GeVMax))
946 if(fNElectronsAbove10GeVFlag)
947 if((EvTag->GetNumOfElectronsAbove10GeV() < fNElectronsAbove10GeVMin) || (EvTag->GetNumOfElectronsAbove10GeV() > fNElectronsAbove10GeVMax))
951 if((EvTag->GetNumOfElectrons() < fNElectronsMin) || (EvTag->GetNumOfElectrons() > fNElectronsMax))
955 if((EvTag->GetNumOfMuons() < fNMuonsMin) || (EvTag->GetNumOfMuons() > fNMuonsMax))
959 if((EvTag->GetNumOfPions() < fNPionsMin) || (EvTag->GetNumOfPions() > fNPionsMax))
963 if((EvTag->GetNumOfKaons() < fNKaonsMin) || (EvTag->GetNumOfKaons() > fNKaonsMax))
967 if((EvTag->GetNumOfProtons() < fNProtonsMin) || (EvTag->GetNumOfProtons() > fNProtonsMax))
971 if((EvTag->GetNumOfLambdas() < fNLambdasMin) || (EvTag->GetNumOfLambdas() > fNLambdasMax))
975 if((EvTag->GetNumOfPhotons() < fNPhotonsMin) || (EvTag->GetNumOfPhotons() > fNPhotonsMax))
979 if((EvTag->GetNumOfPi0s() < fNPi0sMin) || (EvTag->GetNumOfPi0s() > fNPi0sMax))
983 if((EvTag->GetNumOfNeutrons() < fNNeutronsMin) || (EvTag->GetNumOfNeutrons() > fNNeutronsMax))
987 if((EvTag->GetNumOfKaon0s() < fNKaon0sMin) || (EvTag->GetNumOfKaon0s() > fNKaon0sMax))
991 if((EvTag->GetTotalMomentum() < fTotalPMin) || (EvTag->GetTotalMomentum() > fTotalPMax))
995 if((EvTag->GetMeanPt() < fMeanPtMin) || (EvTag->GetMeanPt() > fMeanPtMax))
999 if((EvTag->GetMaxPt() < fTopPtMin))
1002 if(fTotalNeutralPFlag)
1003 if((EvTag->GetNeutralTotalMomentum() < fTotalNeutralPMin) || (EvTag->GetNeutralTotalMomentum() > fTotalNeutralPMax))
1006 if(fMeanNeutralPtFlag)
1007 if((EvTag->GetNeutralMeanPt() < fMeanNeutralPtMin) || (EvTag->GetNeutralMeanPt() >fMeanNeutralPtMax ))
1010 if(fTopNeutralPtMinFlag)
1011 if((EvTag->GetNeutralMaxPt() < fTopNeutralPtMin))
1014 if(fEventPlaneAngleFlag)
1015 if((EvTag->GetEventPlaneAngle() < fEventPlaneAngleMin) || (EvTag->GetEventPlaneAngle() > fEventPlaneAngleMax))
1019 if((EvTag->GetHBTRadii() < fHBTRadiiMin) || (EvTag->GetHBTRadii() > fHBTRadiiMax))