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 fNFWMuonsMin(-1), fNFWMuonsMax(100000),
121 fNFWMuonsFlag(kFALSE),
122 fNMuonsMin(-1), fNMuonsMax(100000),
124 fNPionsMin(-1), fNPionsMax(100000),
126 fNKaonsMin(-1), fNKaonsMax(100000),
128 fNProtonsMin(-1), fNProtonsMax(100000),
129 fNProtonsFlag(kFALSE),
130 fNLambdasMin(-1), fNLambdasMax(100000),
131 fNLambdasFlag(kFALSE),
132 fNPhotonsMin(-1), fNPhotonsMax(100000),
133 fNPhotonFlag(kFALSE),
134 fNPi0sMin(-1), fNPi0sMax(100000),
136 fNNeutronsMin(-1), fNNeutronsMax(100000),
137 fNNeutronsFlag(kFALSE),
138 fNKaon0sMin(-1), fNKaon0sMax(100000),
139 fNKaon0sFlag(kFALSE),
140 fTotalPMin(-1.0), fTotalPMax(1000000.0),
142 fMeanPtMin(-1.0), fMeanPtMax(100000.0),
145 fTopPtMinFlag(kFALSE),
146 fTotalNeutralPMin(-1.0), fTotalNeutralPMax(1000000.0),
147 fTotalNeutralPFlag(kFALSE),
148 fMeanNeutralPtMin(-1.0), fMeanNeutralPtMax(1000000.0),
149 fMeanNeutralPtFlag(kFALSE),
150 fTopNeutralPtMin(-1.0),
151 fTopNeutralPtMinFlag(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.
169 fNParticipantsFlag = kFALSE;
170 fImpactParamFlag = kFALSE;
176 fPVzErrorFlag = kFALSE;
178 fTriggerMaskFlag = kFALSE;
179 fTriggerClusterFlag = kFALSE;
181 fZDCNeutron1EnergyFlag = kFALSE;
182 fZDCProton1EnergyFlag = kFALSE;
183 fZDCNeutron2EnergyFlag = kFALSE;
184 fZDCProton2EnergyFlag = kFALSE;
185 fZDCEMEnergyFlag = kFALSE;
186 fT0VertexZFlag = kFALSE;
188 fPosMultFlag = kFALSE;
189 fNegMultFlag = kFALSE;
190 fNeutrMultFlag = kFALSE;
192 fNCascadesFlag = kFALSE;
193 fNKinksFlag = kFALSE;
195 fNPMDTracksFlag = kFALSE;
196 fNFMDTracksFlag = kFALSE;
197 fNPHOSClustersFlag = kFALSE;
198 fNEMCALClustersFlag = kFALSE;
199 fNJetCandidatesFlag = kFALSE;
201 fTopJetEnergyMinFlag = kFALSE;
202 fNHardPhotonCandidatesFlag = kFALSE;
203 fTopNeutralEnergyMinFlag = kFALSE;
204 fNChargedAbove1GeVFlag = kFALSE;
205 fNChargedAbove3GeVFlag = kFALSE;
206 fNChargedAbove10GeVFlag = kFALSE;
207 fNMuonsAbove1GeVFlag = kFALSE;
208 fNMuonsAbove3GeVFlag = kFALSE;
209 fNMuonsAbove10GeVFlag = kFALSE;
210 fNElectronsAbove1GeVFlag = kFALSE;
211 fNElectronsAbove3GeVFlag = kFALSE;
212 fNElectronsAbove10GeVFlag = kFALSE;
213 fNElectronsFlag = kFALSE;
214 fNFWMuonsFlag = kFALSE;
215 fNMuonsFlag = kFALSE;
216 fNPionsFlag = kFALSE;
217 fNKaonsFlag = kFALSE;
218 fNProtonsFlag = kFALSE;
219 fNLambdasFlag = kFALSE;
220 fNPhotonFlag = kFALSE;
222 fNNeutronsFlag = kFALSE;
223 fNKaon0sFlag = kFALSE;
224 fTotalPFlag = kFALSE;
225 fMeanPtFlag = kFALSE;
226 fTopPtMinFlag = kFALSE;
227 fTotalNeutralPFlag = kFALSE;
228 fMeanNeutralPtFlag = kFALSE;
229 fTopNeutralPtMinFlag = kFALSE;
230 fEventPlaneAngleFlag = kFALSE;
231 fHBTRadiiFlag = kFALSE;
233 fVxMin = -1000.0; fVxMax = 1000.0;
234 fVyMin = -1000.0; fVyMax = 1000.0;
235 fVzMin = -1000.0; fVzMax = 1000.0;
236 fNParticipantsMin = -1; fNParticipantsMax = 10000;
237 fImpactParamMin = -1.0; fImpactParamMax = 1000.0;
238 fPrimaryVertexFlag = 1;
240 fPrimaryVertexZErrorMin = -10000.; fPrimaryVertexZErrorMax = 10000.;
244 fZDCNeutron1EnergyMin = -1.0; fZDCNeutron1EnergyMax = 100000.0;
245 fZDCProton1EnergyMin = -1.0; fZDCProton1EnergyMax = 100000.0;
246 fZDCNeutron2EnergyMin = -1.0; fZDCNeutron2EnergyMax = 100000.0;
247 fZDCProton2EnergyMin = -1.0; fZDCProton2EnergyMax = 100000.0;
248 fZDCEMEnergyMin = -1.0; fZDCEMEnergyMax = 100000.0;
249 fT0VertexZMin = -10000.0; fT0VertexZMax = 10000.0;
250 fMultMin = 0; fMultMax = 100000;
251 fPosMultMin = -1; fPosMultMax = 100000;
252 fNegMultMin = -1; fNegMultMax = 100000;
253 fNeutrMultMin = -1; fNeutrMultMax = 100000;
254 fNV0sMin = -1; fNV0sMax = 1000000;
255 fNCascadesMin = -1; fNCascadesMax = 100000;
256 fNKinksMin = -1; fNKinksMax = 1000000;
258 fNPMDTracksMin = -1, fNPMDTracksMax = 100000;
259 fNFMDTracksMin = -1, fNFMDTracksMax = 100000;
260 fNPHOSClustersMin = -1, fNPHOSClustersMax = 100000;
261 fNEMCALClustersMin = -1, fNEMCALClustersMax = 100000;
262 fNJetCandidatesMin = -1, fNJetCandidatesMax = 100000;
264 fTopJetEnergyMin = -1.0;
265 fNHardPhotonCandidatesMin = -1; fNHardPhotonCandidatesMax = 100000;
266 fTopNeutralEnergyMin = -1.0;
267 fNChargedAbove1GeVMin = -1; fNChargedAbove1GeVMax = 100000;
268 fNChargedAbove3GeVMin = -1; fNChargedAbove3GeVMax = 100000;
269 fNChargedAbove10GeVMin = -1; fNChargedAbove10GeVMax = 100000;
270 fNMuonsAbove1GeVMin = -1; fNMuonsAbove1GeVMax = 100000;
271 fNMuonsAbove3GeVMin = -1; fNMuonsAbove3GeVMax = 100000;
272 fNMuonsAbove10GeVMin = -1; fNMuonsAbove10GeVMax = 100000;
273 fNElectronsAbove1GeVMin = -1; fNElectronsAbove1GeVMax = 100000;
274 fNElectronsAbove3GeVMin = -1; fNElectronsAbove3GeVMax = 100000;
275 fNElectronsAbove10GeVMin = -1; fNElectronsAbove10GeVMax = 100000;
276 fNElectronsMin = -1; fNElectronsMax = 100000;
277 fNFWMuonsMin = -1; fNFWMuonsMax = 100000;
278 fNMuonsMin = -1; fNMuonsMax = 100000;
279 fNPionsMin = -1; fNPionsMax = 100000;
280 fNKaonsMin = -1; fNKaonsMax = 100000;
281 fNProtonsMin = -1; fNProtonsMax = 100000;
282 fNLambdasMin = -1; fNLambdasMax = 100000;
283 fNPhotonsMin = -1; fNPhotonsMax = 100000;
284 fNPi0sMin = -1; fNPi0sMax = 100000;
285 fNNeutronsMin = -1; fNNeutronsMax = 100000;
286 fNKaon0sMin = -1; fNKaon0sMax = 100000;
287 fTotalPMin = -1.0; fTotalPMax = 1000000.0;
288 fMeanPtMin = -1.0; fMeanPtMax = 100000.0;
289 fTopPtMin = -1.0; fTotalNeutralPMin = -1.0;
290 fTotalNeutralPMax = 1000000.0;
291 fMeanNeutralPtMin = -1.0; fMeanNeutralPtMax = 1000000.0;
292 fTopNeutralPtMin = -1.0;
293 fEventPlaneAngleMin = -10000000.0; fEventPlaneAngleMax = 10000000.0;
294 fHBTRadiiMin = -1.0; fHBTRadiiMax = 100000.0;
297 //___________________________________________________________________________
298 void AliEventTagCuts::SetPrimaryVertexXRange(Float_t low, Float_t high) {
299 //Sets the primary vertex x range
300 //and the corresponding flag to kTRUE if the cut is used.
306 //___________________________________________________________________________
307 void AliEventTagCuts::SetPrimaryVertexYRange(Float_t low, Float_t high) {
308 //Sets the primary vertex y range
309 //and the corresponding flag to kTRUE if the cut is used.
315 //___________________________________________________________________________
316 void AliEventTagCuts::SetPrimaryVertexZRange(Float_t low, Float_t high) {
317 //Sets the primary vertex z range
318 //and the corresponding flag to kTRUE if the cut is used.
324 //___________________________________________________________________________
325 void AliEventTagCuts::SetPrimaryVertexZErrorRange(Float_t low, Float_t high) {
326 //Sets the primary vertex z error range
327 //and the corresponding flag to kTRUE if the cut is used.
328 fPrimaryVertexZErrorMin = low;
329 fPrimaryVertexZErrorMax = high;
330 fPVzErrorFlag = kTRUE;
333 //___________________________________________________________________________
334 void AliEventTagCuts::SetTriggerMask(ULong64_t trmask) {
335 //Sets the trigger mask
336 //and the corresponding flag to kTRUE if the cut is used.
337 fTriggerMask = trmask;
338 fTriggerMaskFlag = kTRUE;
341 //___________________________________________________________________________
342 void AliEventTagCuts::SetTriggerCluster(UChar_t trcluster) {
343 //Sets the trigger cluster
344 //and the corresponding flag to kTRUE if the cut is used.
345 fTriggerCluster = trcluster;
346 fTriggerClusterFlag = kTRUE;
349 //___________________________________________________________________________
350 void AliEventTagCuts::SetMultiplicityRange(Int_t low, Int_t high) {
351 //Sets the primary multiplicity range
352 //and the corresponding flag to kTRUE if the cut is used.
358 //___________________________________________________________________________
359 void AliEventTagCuts::SetNParticipantsRange(Int_t low, Int_t high) {
360 //Sets the number of participants range
361 //and the corresponding flag to kTRUE if the cut is used.
362 fNParticipantsMin = low;
363 fNParticipantsMax = high;
364 fNParticipantsFlag = kTRUE;
367 //___________________________________________________________________________
368 void AliEventTagCuts::SetImpactParamRange(Float_t low, Float_t high) {
369 //Sets the impact parameter range
370 //and the corresponding flag to kTRUE if the cut is used.
371 fImpactParamMin = low;
372 fImpactParamMax = high;
373 fImpactParamFlag = kTRUE;
377 //___________________________________________________________________________
378 void AliEventTagCuts::SetPrimaryVertexFlag(Int_t flag) {
379 //Sets the primary vertex flag cut
380 //and the corresponding flag to kTRUE if the cut is used.
381 fPrimaryVertexFlag = flag;
385 //___________________________________________________________________________
386 void AliEventTagCuts::SetZDCNeutron1Range(Float_t low, Float_t high) {
387 //Sets the ZDC's neutron energy range
388 //and the corresponding flag to kTRUE if the cut is used.
389 fZDCNeutron1EnergyMin = low;
390 fZDCNeutron1EnergyMax = high;
391 fZDCNeutron1EnergyFlag = kTRUE;
394 //___________________________________________________________________________
395 void AliEventTagCuts::SetZDCProton1Range(Float_t low, Float_t high) {
396 //Sets the ZDC's proton energy range
397 //and the corresponding flag to kTRUE if the cut is used.
398 fZDCProton1EnergyMin = low;
399 fZDCProton1EnergyMax = high;
400 fZDCProton1EnergyFlag = kTRUE;
402 //___________________________________________________________________________
403 void AliEventTagCuts::SetZDCNeutron2Range(Float_t low, Float_t high) {
404 //Sets the ZDC's neutron energy range
405 //and the corresponding flag to kTRUE if the cut is used.
406 fZDCNeutron2EnergyMin = low;
407 fZDCNeutron2EnergyMax = high;
408 fZDCNeutron2EnergyFlag = kTRUE;
410 //___________________________________________________________________________
411 void AliEventTagCuts::SetZDCProton2Range(Float_t low, Float_t high) {
412 //Sets the ZDC's proton energy range
413 //and the corresponding flag to kTRUE if the cut is used.
414 fZDCProton2EnergyMin = low;
415 fZDCProton2EnergyMax = high;
416 fZDCProton2EnergyFlag = kTRUE;
418 //___________________________________________________________________________
419 void AliEventTagCuts::SetZDCEMRange(Float_t low, Float_t high) {
420 //Sets the ZDC's em energy range
421 //and the corresponding flag to kTRUE if the cut is used.
422 fZDCEMEnergyMin = low;
423 fZDCEMEnergyMax = high;
424 fZDCEMEnergyFlag = kTRUE;
427 //___________________________________________________________________________
428 void AliEventTagCuts::SetT0VertexZRange(Float_t low, Float_t high) {
429 //Sets the T0's Vz range
430 //and the corresponding flag to kTRUE if the cut is used.
432 fT0VertexZMax = high;
433 fT0VertexZFlag = kTRUE;
436 //___________________________________________________________________________
437 void AliEventTagCuts::SetPosMultiplicityRange(Int_t low, Int_t high) {
438 //Sets the positive multiplicity range
439 //and the corresponding flag to kTRUE if the cut is used.
442 fPosMultFlag = kTRUE;
446 //___________________________________________________________________________
447 void AliEventTagCuts::SetNegMultiplicityRange(Int_t low, Int_t high) {
448 //Sets the negative multiplicity range
449 //and the corresponding flag to kTRUE if the cut is used.
452 fNegMultFlag = kTRUE;
456 //___________________________________________________________________________
457 void AliEventTagCuts::SetNeutrMultiplicityRange(Int_t low, Int_t high) {
458 //Sets the neutral particle multiplicity range
459 //and the corresponding flag to kTRUE if the cut is used.
461 fNeutrMultMax = high;
462 fNeutrMultFlag = kTRUE;
465 //___________________________________________________________________________
466 void AliEventTagCuts::SetNV0sRange(Int_t low, Int_t high) {
467 //Sets the v0s multiplicity range
468 //and the corresponding flag to kTRUE if the cut is used.
474 //___________________________________________________________________________
475 void AliEventTagCuts::SetNCascadesRange(Int_t low, Int_t high) {
476 //Sets the cascades multiplicity range
477 //and the corresponding flag to kTRUE if the cut is used.
479 fNCascadesMax = high;
480 fNCascadesFlag = kTRUE;
483 //___________________________________________________________________________
484 void AliEventTagCuts::SetNKinksRange(Int_t low, Int_t high) {
485 //Sets the kinks multiplicity range
486 //and the corresponding flag to kTRUE if the cut is used.
492 //___________________________________________________________________________
493 void AliEventTagCuts::SetNPMDTracksRange(Int_t low, Int_t high) {
494 //Sets the number of PMD tracks range
495 //and the corresponding flag to kTRUE if the cut is used.
496 fNPMDTracksMin = low;
497 fNPMDTracksMax = high;
498 fNPMDTracksFlag = kTRUE;
501 //___________________________________________________________________________
502 void AliEventTagCuts::SetNFMDTracksRange(Int_t low, Int_t high) {
503 //Sets the number of FMD tracks range
504 //and the corresponding flag to kTRUE if the cut is used.
505 fNFMDTracksMin = low;
506 fNFMDTracksMax = high;
507 fNFMDTracksFlag = kTRUE;
510 //___________________________________________________________________________
511 void AliEventTagCuts::SetNPHOSClustersRange(Int_t low, Int_t high) {
512 //Sets the number of PHOS clusters range
513 //and the corresponding flag to kTRUE if the cut is used.
514 fNPHOSClustersMin = low;
515 fNPHOSClustersMax = high;
516 fNPHOSClustersFlag = kTRUE;
519 //___________________________________________________________________________
520 void AliEventTagCuts::SetNEMCALClustersRange(Int_t low, Int_t high) {
521 //Sets the number of EMCAL clusters range
522 //and the corresponding flag to kTRUE if the cut is used.
523 fNEMCALClustersMin = low;
524 fNEMCALClustersMax = high;
525 fNEMCALClustersFlag = kTRUE;
528 //___________________________________________________________________________
529 void AliEventTagCuts::SetNJetCandidatesRange(Int_t low, Int_t high) {
530 //Sets the number of jet candidates range
531 //and the corresponding flag to kTRUE if the cut is used.
532 fNJetCandidatesMin = low;
533 fNJetCandidatesMax = high;
534 fNJetCandidatesFlag = kTRUE;
537 //___________________________________________________________________________
538 void AliEventTagCuts::SetTopJetEnergyMin(Float_t low) {
539 //Sets the lower limit of the maximum jet energy
540 //and the corresponding flag to kTRUE if the cut is used.
541 fTopJetEnergyMin = low;
542 fTopJetEnergyMinFlag = kTRUE;
544 //___________________________________________________________________________
545 void AliEventTagCuts::SetTopNeutralEnergyMin(Float_t low) {
546 //Sets the lower limit of the maximum neutral jet energy
547 //and the corresponding flag to kTRUE if the cut is used.
548 fTopNeutralEnergyMin = low;
549 fTopNeutralEnergyMinFlag = kTRUE;
551 //___________________________________________________________________________
552 void AliEventTagCuts::SetNHardPhotonsRange(Int_t low, Int_t high) {
553 //Sets the hard photons multiplicity range
554 //and the corresponding flag to kTRUE if the cut is used.
555 fNHardPhotonCandidatesMin = low;
556 fNHardPhotonCandidatesMax = high;
557 fNHardPhotonCandidatesFlag = kTRUE;
560 //___________________________________________________________________________
561 void AliEventTagCuts::SetNChargedAbove1GeVRange(Int_t low, Int_t high) {
562 //Sets the number of charged above 1GeV range
563 //and the corresponding flag to kTRUE if the cut is used.
564 fNChargedAbove1GeVMin = low;
565 fNChargedAbove1GeVMax = high;
566 fNChargedAbove1GeVFlag = kTRUE;
569 //___________________________________________________________________________
570 void AliEventTagCuts::SetNChargedAbove3GeVRange(Int_t low, Int_t high) {
571 //Sets the number of charged above 3GeV range
572 //and the corresponding flag to kTRUE if the cut is used.
573 fNChargedAbove3GeVMin = low;
574 fNChargedAbove3GeVMax = high;
575 fNChargedAbove3GeVFlag = kTRUE;
579 //___________________________________________________________________________
580 void AliEventTagCuts::SetNChargedAbove10GeVRange(Int_t low, Int_t high) {
581 //Sets the number of charged above 10GeV range
582 //and the corresponding flag to kTRUE if the cut is used.
583 fNChargedAbove10GeVMin = low;
584 fNChargedAbove10GeVMax = high;
585 fNChargedAbove10GeVFlag = kTRUE;
589 //___________________________________________________________________________
590 void AliEventTagCuts::SetNMuonsAbove1GeVRange(Int_t low, Int_t high) {
591 //Sets the number of muons above 1GeV range
592 //and the corresponding flag to kTRUE if the cut is used.
593 fNMuonsAbove1GeVMin = low;
594 fNMuonsAbove1GeVMax = high;
595 fNMuonsAbove1GeVFlag = kTRUE;
599 //___________________________________________________________________________
600 void AliEventTagCuts::SetNMuonsAbove3GeVRange(Int_t low, Int_t high) {
601 //Sets the number of muons above 3GeV range
602 //and the corresponding flag to kTRUE if the cut is used.
603 fNMuonsAbove3GeVMin = low;
604 fNMuonsAbove3GeVMax = high;
605 fNMuonsAbove3GeVFlag = kTRUE;
608 //___________________________________________________________________________
609 void AliEventTagCuts::SetNMuonsAbove10GeVRange(Int_t low, Int_t high) {
610 //Sets the number of muons above 10GeV range
611 //and the corresponding flag to kTRUE if the cut is used.
612 fNMuonsAbove10GeVMin = low;
613 fNMuonsAbove10GeVMax = high;
614 fNMuonsAbove10GeVFlag = kTRUE;
618 //___________________________________________________________________________
619 void AliEventTagCuts::SetNElectronsAbove1GeVRange(Int_t low, Int_t high) {
620 //Sets the number of electrons above 1GeV range
621 //and the corresponding flag to kTRUE if the cut is used.
622 fNElectronsAbove1GeVMin = low;
623 fNElectronsAbove1GeVMax = high;
624 fNElectronsAbove1GeVFlag = kTRUE;
627 //___________________________________________________________________________
628 void AliEventTagCuts::SetNElectronsAbove3GeVRange(Int_t low, Int_t high) {
629 //Sets the number of electrons above 3GeV range
630 //and the corresponding flag to kTRUE if the cut is used.
631 fNElectronsAbove3GeVMin = low;
632 fNElectronsAbove3GeVMax = high;
633 fNElectronsAbove3GeVFlag = kTRUE;
636 //___________________________________________________________________________
637 void AliEventTagCuts::SetNElectronsAbove10GeVRange(Int_t low, Int_t high) {
638 //Sets the number of electrons above 10GeV range
639 //and the corresponding flag to kTRUE if the cut is used.
640 fNElectronsAbove10GeVMin = low;
641 fNElectronsAbove10GeVMax = high;
642 fNElectronsAbove10GeVFlag = kTRUE;
644 //___________________________________________________________________________
645 void AliEventTagCuts::SetNElectronRange(Int_t low, Int_t high) {
646 //Sets the electron multiplicity range
647 //and the corresponding flag to kTRUE if the cut is used.
648 fNElectronsMin = low;
649 fNElectronsMax = high;
650 fNElectronsFlag = kTRUE;
652 //___________________________________________________________________________
653 void AliEventTagCuts::SetNFWMuonRange(Int_t low, Int_t high) {
654 //Sets the forward muon multiplicity range
655 //and the corresponding flag to kTRUE if the cut is used.
658 fNFWMuonsFlag = kTRUE;
661 //___________________________________________________________________________
662 void AliEventTagCuts::SetNMuonRange(Int_t low, Int_t high) {
663 //Sets the muon multiplicity range
664 //and the corresponding flag to kTRUE if the cut is used.
670 //___________________________________________________________________________
671 void AliEventTagCuts::SetNPionRange(Int_t low, Int_t high) {
672 //Sets the pion multiplicity range
673 //and the corresponding flag to kTRUE if the cut is used.
679 //___________________________________________________________________________
680 void AliEventTagCuts::SetNKaonRange(Int_t low, Int_t high) {
681 //Sets the kaon multiplicity range
682 //and the corresponding flag to kTRUE if the cut is used.
688 //___________________________________________________________________________
689 void AliEventTagCuts::SetNProtonRange(Int_t low, Int_t high) {
690 //Sets the proton multiplicity range
691 //and the corresponding flag to kTRUE if the cut is used.
694 fNProtonsFlag = kTRUE;
697 //___________________________________________________________________________
698 void AliEventTagCuts::SetNLambdaRange(Int_t low, Int_t high) {
699 //Sets the lambda multiplicity range
700 //and the corresponding flag to kTRUE if the cut is used.
703 fNLambdasFlag = kTRUE;
705 //___________________________________________________________________________
706 void AliEventTagCuts::SetNPhotonRange(Int_t low, Int_t high) {
707 //Sets the photon multiplicity range
708 //and the corresponding flag to kTRUE if the cut is used.
711 fNPhotonFlag = kTRUE;
713 //___________________________________________________________________________
714 void AliEventTagCuts::SetNPi0Range(Int_t low, Int_t high) {
715 //Sets the pi0 multiplicity range
716 //and the corresponding flag to kTRUE if the cut is used.
722 //___________________________________________________________________________
723 void AliEventTagCuts::SetNNeutronRange(Int_t low, Int_t high) {
724 //Sets the neutron multiplicity range
725 //and the corresponding flag to kTRUE if the cut is used.
727 fNNeutronsMax = high;
728 fNNeutronsFlag = kTRUE;
731 //___________________________________________________________________________
732 void AliEventTagCuts::SetNKaon0Range(Int_t low, Int_t high) {
733 //Sets the K0s multiplicity range
734 //and the corresponding flag to kTRUE if the cut is used.
737 fNKaon0sFlag = kTRUE;
740 //___________________________________________________________________________
741 void AliEventTagCuts::SetTotalPRange(Float_t low, Float_t high) {
742 //Sets the total momentum range
743 //and the corresponding flag to kTRUE if the cut is used.
749 //___________________________________________________________________________
750 void AliEventTagCuts::SetMeanPtRange(Float_t low, Float_t high) {
751 //Sets the mean Pt range
752 //and the corresponding flag to kTRUE if the cut is used.
758 //___________________________________________________________________________
759 void AliEventTagCuts::SetTopPtMin(Float_t low) {
760 //Sets the lower limit of the max Pt value
761 //and the corresponding flag to kTRUE if the cut is used.
763 fTopPtMinFlag = kTRUE;
766 //___________________________________________________________________________
767 void AliEventTagCuts::SetTotalNeutralPRange(Float_t low, Float_t high) {
768 //Sets the total momentum of neutral particles range
769 //and the corresponding flag to kTRUE if the cut is used.
770 fTotalNeutralPMin =low ;
771 fTotalNeutralPMax = high;
772 fTotalNeutralPFlag = kTRUE;
774 //___________________________________________________________________________
775 void AliEventTagCuts::SetMeanNeutralPtPRange(Float_t low, Float_t high) {
776 //Sets the mean Pt of neutral particles range
777 //and the corresponding flag to kTRUE if the cut is used.
778 fMeanNeutralPtMin = low;
779 fMeanNeutralPtMax = high;
780 fMeanNeutralPtFlag = kTRUE;
782 //___________________________________________________________________________
783 void AliEventTagCuts::SetTopNeutralPtMin(Float_t low) {
784 //Sets the lower limit of the maximum Pt of neutral particles
785 //and the corresponding flag to kTRUE if the cut is used.
786 fTopNeutralPtMin = low;
787 fTopNeutralPtMinFlag = kTRUE;
790 //___________________________________________________________________________
791 void AliEventTagCuts::SetEventPlaneAngleRange(Float_t low, Float_t high) {
792 //Sets the event plane range
793 //and the corresponding flag to kTRUE if the cut is used.
794 fEventPlaneAngleMin = low;
795 fEventPlaneAngleMax = high;
796 fEventPlaneAngleFlag = kTRUE;
799 //___________________________________________________________________________
800 void AliEventTagCuts::SetHBTRadiiRange(Float_t low, Float_t high) {
801 //Sets the HBT radii range
802 //and the corresponding flag to kTRUE if the cut is used.
805 fHBTRadiiFlag = kTRUE;
808 //___________________________________________________________________________
809 Bool_t AliEventTagCuts::IsAccepted(AliEventTag *EvTag) const {
810 //Returns true if the event is accepted otherwise false.
812 if((EvTag->GetVertexZ() < fVzMin) || (EvTag->GetVertexZ() > fVzMax))
816 if((EvTag->GetVertexY() < fVyMin) || (EvTag->GetVertexY() > fVyMax))
820 if((EvTag->GetVertexX() < fVxMin) || (EvTag->GetVertexX() > fVxMax))
823 if(fNParticipantsFlag)
824 if((EvTag->GetNumOfParticipants() < fNParticipantsMin) || (EvTag->GetNumOfParticipants() > fNParticipantsMax))
828 if((EvTag->GetImpactParameter() < fImpactParamMin) || (EvTag->GetImpactParameter() > fImpactParamMax))
832 if((EvTag->GetVertexFlag() != fPrimaryVertexFlag))
836 if((EvTag->GetVertexZError() < fPrimaryVertexZErrorMin) || (EvTag->GetVertexZError() > fPrimaryVertexZErrorMax))
839 if((EvTag->GetTriggerMask() != fTriggerMask))
841 if(fTriggerClusterFlag)
842 if((EvTag->GetTriggerMask() != fTriggerMask))
845 if(fZDCNeutron1EnergyFlag)
846 if((EvTag->GetZDCNeutron1Energy() < fZDCNeutron1EnergyMin) || (EvTag->GetZDCNeutron1Energy() > fZDCNeutron1EnergyMax))
849 if(fZDCProton1EnergyFlag)
850 if((EvTag->GetZDCProton1Energy() < fZDCProton1EnergyMin) || (EvTag->GetZDCProton1Energy() > fZDCProton1EnergyMax))
853 if(fZDCNeutron2EnergyFlag)
854 if((EvTag->GetZDCNeutron2Energy() < fZDCNeutron2EnergyMin) || (EvTag->GetZDCNeutron2Energy() > fZDCNeutron2EnergyMax))
857 if(fZDCProton2EnergyFlag)
858 if((EvTag->GetZDCProton2Energy() < fZDCProton2EnergyMin) || (EvTag->GetZDCProton2Energy() > fZDCProton2EnergyMax))
862 if((EvTag->GetZDCEMEnergy(1) < fZDCEMEnergyMin) || (EvTag->GetZDCEMEnergy(1) > fZDCEMEnergyMax))
866 if((EvTag->GetT0VertexZ() < fT0VertexZMin) || (EvTag->GetT0VertexZ() > fT0VertexZMax))
870 if((EvTag->GetNumOfTracks() < fMultMin) || (EvTag->GetNumOfTracks() > fMultMax))
874 if((EvTag->GetNumOfPosTracks() < fPosMultMin) || (EvTag->GetNumOfPosTracks() > fPosMultMax))
878 if((EvTag->GetNumOfNegTracks() < fNegMultMin) || (EvTag->GetNumOfNegTracks() > fNegMultMax))
882 if((EvTag->GetNumOfNeutrTracks() < fNeutrMultMin) || (EvTag->GetNumOfNeutrTracks() > fNeutrMultMax))
886 if((EvTag->GetNumOfV0s() < fNV0sMin) || (EvTag->GetNumOfV0s() > fNV0sMax))
890 if((EvTag->GetNumOfCascades() < fNCascadesMin) || (EvTag->GetNumOfCascades() > fNCascadesMax))
894 if((EvTag->GetNumOfKinks() < fNKinksMin) || (EvTag->GetNumOfKinks() > fNKinksMax))
899 if((EvTag->GetNumOfPMDTracks() < fNPMDTracksMin) || (EvTag->GetNumOfPMDTracks() > fNPMDTracksMax))
902 if((EvTag->GetNumOfFMDTracks() < fNFMDTracksMin) || (EvTag->GetNumOfFMDTracks() > fNFMDTracksMax))
904 if(fNPHOSClustersFlag)
905 if((EvTag->GetNumOfPHOSClusters() < fNPHOSClustersMin) || (EvTag->GetNumOfPHOSClusters() > fNPHOSClustersMax))
907 if(fNEMCALClustersFlag)
908 if((EvTag->GetNumOfEMCALClusters() < fNEMCALClustersMin) || (EvTag->GetNumOfEMCALClusters() > fNEMCALClustersMax))
910 if(fNJetCandidatesFlag)
911 if((EvTag->GetNumOfJetCandidates() < fNJetCandidatesMin) || (EvTag->GetNumOfJetCandidates() > fNJetCandidatesMax))
915 if(fTopJetEnergyMinFlag)
916 if((EvTag->GetMaxJetEnergy() < fTopJetEnergyMin))
919 if(fNHardPhotonCandidatesFlag)
920 if((EvTag->GetNumOfHardPhotonsCandidates() < fNHardPhotonCandidatesMin) || (EvTag->GetNumOfHardPhotonsCandidates() > fNHardPhotonCandidatesMax))
923 if(fTopNeutralEnergyMinFlag)
924 if((EvTag->GetMaxNeutralEnergy() < fTopNeutralEnergyMin))
927 if(fNChargedAbove1GeVFlag)
928 if((EvTag->GetNumOfChargedAbove1GeV() < fNChargedAbove1GeVMin) || (EvTag->GetNumOfChargedAbove1GeV() > fNChargedAbove1GeVMax))
931 if(fNChargedAbove3GeVFlag)
932 if((EvTag->GetNumOfChargedAbove3GeV() < fNChargedAbove3GeVMin) || (EvTag->GetNumOfChargedAbove3GeV() > fNChargedAbove3GeVMax))
935 if(fNChargedAbove10GeVFlag)
936 if((EvTag->GetNumOfChargedAbove10GeV() < fNChargedAbove10GeVMin) || (EvTag->GetNumOfChargedAbove10GeV() > fNChargedAbove10GeVMax))
939 if(fNMuonsAbove1GeVFlag)
940 if((EvTag->GetNumOfMuonsAbove1GeV() < fNMuonsAbove1GeVMin) || (EvTag->GetNumOfMuonsAbove1GeV() > fNMuonsAbove1GeVMax))
943 if(fNMuonsAbove3GeVFlag)
944 if((EvTag->GetNumOfMuonsAbove3GeV() < fNMuonsAbove3GeVMin) || (EvTag->GetNumOfMuonsAbove3GeV() > fNMuonsAbove3GeVMax))
947 if(fNMuonsAbove10GeVFlag)
948 if((EvTag->GetNumOfMuonsAbove10GeV() < fNMuonsAbove10GeVMin) || (EvTag->GetNumOfMuonsAbove10GeV() > fNMuonsAbove10GeVMax))
951 if(fNElectronsAbove1GeVFlag)
952 if((EvTag->GetNumOfElectronsAbove1GeV() < fNElectronsAbove1GeVMin) || (EvTag->GetNumOfElectronsAbove1GeV() > fNElectronsAbove1GeVMax))
955 if(fNElectronsAbove3GeVFlag)
956 if((EvTag->GetNumOfElectronsAbove3GeV() < fNElectronsAbove3GeVMin) || (EvTag->GetNumOfElectronsAbove3GeV() > fNElectronsAbove3GeVMax))
959 if(fNElectronsAbove10GeVFlag)
960 if((EvTag->GetNumOfElectronsAbove10GeV() < fNElectronsAbove10GeVMin) || (EvTag->GetNumOfElectronsAbove10GeV() > fNElectronsAbove10GeVMax))
964 if((EvTag->GetNumOfElectrons() < fNElectronsMin) || (EvTag->GetNumOfElectrons() > fNElectronsMax))
968 if((EvTag->GetNumOfFWMuons() < fNFWMuonsMin) || (EvTag->GetNumOfFWMuons() > fNFWMuonsMax))
972 if((EvTag->GetNumOfMuons() < fNMuonsMin) || (EvTag->GetNumOfMuons() > fNMuonsMax))
976 if((EvTag->GetNumOfPions() < fNPionsMin) || (EvTag->GetNumOfPions() > fNPionsMax))
980 if((EvTag->GetNumOfKaons() < fNKaonsMin) || (EvTag->GetNumOfKaons() > fNKaonsMax))
984 if((EvTag->GetNumOfProtons() < fNProtonsMin) || (EvTag->GetNumOfProtons() > fNProtonsMax))
988 if((EvTag->GetNumOfLambdas() < fNLambdasMin) || (EvTag->GetNumOfLambdas() > fNLambdasMax))
992 if((EvTag->GetNumOfPhotons() < fNPhotonsMin) || (EvTag->GetNumOfPhotons() > fNPhotonsMax))
996 if((EvTag->GetNumOfPi0s() < fNPi0sMin) || (EvTag->GetNumOfPi0s() > fNPi0sMax))
1000 if((EvTag->GetNumOfNeutrons() < fNNeutronsMin) || (EvTag->GetNumOfNeutrons() > fNNeutronsMax))
1004 if((EvTag->GetNumOfKaon0s() < fNKaon0sMin) || (EvTag->GetNumOfKaon0s() > fNKaon0sMax))
1008 if((EvTag->GetTotalMomentum() < fTotalPMin) || (EvTag->GetTotalMomentum() > fTotalPMax))
1012 if((EvTag->GetMeanPt() < fMeanPtMin) || (EvTag->GetMeanPt() > fMeanPtMax))
1016 if((EvTag->GetMaxPt() < fTopPtMin))
1019 if(fTotalNeutralPFlag)
1020 if((EvTag->GetNeutralTotalMomentum() < fTotalNeutralPMin) || (EvTag->GetNeutralTotalMomentum() > fTotalNeutralPMax))
1023 if(fMeanNeutralPtFlag)
1024 if((EvTag->GetNeutralMeanPt() < fMeanNeutralPtMin) || (EvTag->GetNeutralMeanPt() >fMeanNeutralPtMax ))
1027 if(fTopNeutralPtMinFlag)
1028 if((EvTag->GetNeutralMaxPt() < fTopNeutralPtMin))
1031 if(fEventPlaneAngleFlag)
1032 if((EvTag->GetEventPlaneAngle() < fEventPlaneAngleMin) || (EvTag->GetEventPlaneAngle() > fEventPlaneAngleMax))
1036 if((EvTag->GetHBTRadii() < fHBTRadiiMin) || (EvTag->GetHBTRadii() > fHBTRadiiMax))