]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliEventTagCuts.cxx
More naming convention rules for functions and members (Markus).
[u/mrichter/AliRoot.git] / STEER / AliEventTagCuts.cxx
1 /**************************************************************************
2  * Author: Panos Christakoglou.                                           *
3  * Contributors are mentioned in the code where appropriate.              *
4  *                                                                        *
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  **************************************************************************/
13
14 /* $Id$ */
15
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 //-----------------------------------------------------------------
21
22 class AliLog;
23 class AliESD;
24
25 #include "AliEventTag.h"
26 #include "AliEventTagCuts.h"
27
28 ClassImp(AliEventTagCuts)
29
30
31 //___________________________________________________________________________
32 AliEventTagCuts::AliEventTagCuts() :
33   TObject(),
34   
35   fVxMin(-1000.0), fVxMax(1000.0), 
36   fVxFlag(kFALSE),
37   fVyMin(-1000.0), fVyMax(1000.0),  
38   fVyFlag(kFALSE),
39   fVzMin(-1000.0), fVzMax(1000.0),
40   fVzFlag(kFALSE),
41   fNParticipantsMin(-1), fNParticipantsMax(10000),
42   fNParticipantsFlag(kFALSE),
43   fImpactParamMin(-1.0), fImpactParamMax(1000.0),
44   fImpactParamFlag(kFALSE),
45   fPrimaryVertexFlag(1),
46   fPVFlag(kFALSE),
47
48   fPrimaryVertexZErrorMin(-10000.), fPrimaryVertexZErrorMax(10000.),
49   fPVzErrorFlag(kFALSE),
50   fTriggerMask(0),
51   fTriggerMaskFlag(kFALSE),
52   fTriggerCluster(0),
53   fTriggerClusterFlag(kFALSE),
54  
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),  
68   fMultFlag(kFALSE),
69   fPosMultMin(-1), fPosMultMax(100000),
70   fPosMultFlag(kFALSE),
71   fNegMultMin(-1), fNegMultMax(100000),
72   fNegMultFlag(kFALSE),
73   fNeutrMultMin(-1), fNeutrMultMax(100000),
74   fNeutrMultFlag(kFALSE),
75   fNV0sMin(-1), fNV0sMax(1000000),
76   fNV0sFlag(kFALSE),
77   fNCascadesMin(-1), fNCascadesMax(100000),
78   fNCascadesFlag(kFALSE),
79   fNKinksMin(-1), fNKinksMax(1000000),
80   fNKinksFlag(kFALSE),
81
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),
92
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),
120   fNMuonsFlag(kFALSE),
121   fNPionsMin(-1), fNPionsMax(100000),
122   fNPionsFlag(kFALSE),
123   fNKaonsMin(-1), fNKaonsMax(100000),
124   fNKaonsFlag(kFALSE),
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), 
132   fNPi0sFlag(kFALSE),
133   fNNeutronsMin(-1), fNNeutronsMax(100000), 
134   fNNeutronsFlag(kFALSE),
135   fNKaon0sMin(-1), fNKaon0sMax(100000), 
136   fNKaon0sFlag(kFALSE),
137   fTotalPMin(-1.0), fTotalPMax(1000000.0),
138   fTotalPFlag(kFALSE),
139   fMeanPtMin(-1.0), fMeanPtMax(100000.0),
140   fMeanPtFlag(kFALSE),
141   fTopPtMin(-1.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)
153 {
154   //Default constructor which calls the Reset method.
155   Reset();
156 }
157
158 //___________________________________________________________________________
159 AliEventTagCuts::~AliEventTagCuts() {  
160   //Defaut destructor.
161 }
162
163 //___________________________________________________________________________
164 void AliEventTagCuts::Reset() {
165   //Sets dummy values to every private member.
166   fNParticipantsFlag = kFALSE;
167   fImpactParamFlag = kFALSE;
168
169   fVxFlag = kFALSE;
170   fVyFlag = kFALSE;
171   fVzFlag = kFALSE;
172   fPVFlag = kFALSE;
173   fPVzErrorFlag = kFALSE;
174
175   fTriggerMaskFlag = kFALSE;
176   fTriggerClusterFlag = kFALSE;
177
178   fZDCNeutron1EnergyFlag = kFALSE;
179   fZDCProton1EnergyFlag = kFALSE;
180   fZDCNeutron2EnergyFlag = kFALSE;
181   fZDCProton2EnergyFlag = kFALSE;
182   fZDCEMEnergyFlag = kFALSE;
183   fT0VertexZFlag = kFALSE;
184   fMultFlag = kFALSE;
185   fPosMultFlag = kFALSE;
186   fNegMultFlag = kFALSE;
187   fNeutrMultFlag = kFALSE;
188   fNV0sFlag = kFALSE;
189   fNCascadesFlag = kFALSE;
190   fNKinksFlag = kFALSE;
191
192   fNPMDTracksFlag = kFALSE;
193   fNFMDTracksFlag = kFALSE;
194   fNPHOSClustersFlag = kFALSE;
195   fNEMCALClustersFlag = kFALSE;
196   fNJetCandidatesFlag = kFALSE;
197
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;
217   fNPi0sFlag = 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;
228   
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;
235
236   fPrimaryVertexZErrorMin = -10000.; fPrimaryVertexZErrorMax = 10000.;
237   fTriggerMask = 0;
238   fTriggerCluster = 0;
239  
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;
253
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;
259
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; 
290 }
291
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.
296   fVxMin = low;
297   fVxMax = high; 
298   fVxFlag = kTRUE;
299 }
300
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.
305   fVyMin = low;
306   fVyMax = high; 
307   fVyFlag = kTRUE;
308 }
309
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.
314   fVzMin = low;
315   fVzMax = high; 
316   fVzFlag = kTRUE;
317 }
318
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;
326 }
327
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;
334 }
335
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;
342 }
343
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.
348   fMultMin = low;
349   fMultMax = high;
350   fMultFlag = kTRUE;
351 }
352
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;
360 }
361
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;
369 }
370  
371
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;
377   fPVFlag = kTRUE;
378 }
379
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;
387 }
388
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;
396 }
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;
404 }
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;
412 }
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;
420 }
421
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.
426   fT0VertexZMin = low;
427   fT0VertexZMax = high;
428   fT0VertexZFlag = kTRUE;
429 }
430
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.
435   fPosMultMin = low;
436   fPosMultMax = high;
437   fPosMultFlag = kTRUE;
438 }
439
440
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.
445   fNegMultMin = low;
446   fNegMultMax = high;
447   fNegMultFlag = kTRUE;
448 }
449
450
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.
455   fNeutrMultMin = low;
456   fNeutrMultMax = high;
457   fNeutrMultFlag = kTRUE;
458 }
459
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.
464   fNV0sMin = low;
465   fNV0sMax = high;
466   fNV0sFlag = kTRUE;
467 }
468
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.
473   fNCascadesMin = low;
474   fNCascadesMax = high;
475   fNCascadesFlag = kTRUE;
476 }
477
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.
482   fNKinksMin = low;
483   fNKinksMax = high;
484   fNKinksFlag = kTRUE;
485 }
486
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;
494 }
495
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;
503 }
504
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;
512 }
513
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;
521 }
522
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;
530 }
531
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;
538 }
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;
545 }
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;
553
554
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;
562 }
563
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;
571 }
572
573
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;
581 }
582
583
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;
591 }
592
593
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;
601
602
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;
610 }
611
612
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;
620 }
621
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;
629 }
630
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;
638 }
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;
646 }
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.
651   fNMuonsMin = low;
652   fNMuonsMax = high;
653   fNMuonsFlag = kTRUE;
654 }
655
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.
660   fNPionsMin = low;
661   fNPionsMax = high;
662   fNPionsFlag = kTRUE;
663
664
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.
669   fNKaonsMin = low;
670   fNKaonsMax = high;
671   fNKaonsFlag = kTRUE;
672 }
673
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.
678   fNProtonsMin = low;
679   fNProtonsMax = high;
680   fNProtonsFlag = kTRUE;
681
682
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.
687   fNLambdasMin = low;
688   fNLambdasMax = high;
689   fNLambdasFlag = kTRUE;
690
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.
695   fNPhotonsMin = low;
696   fNPhotonsMax = high;
697   fNPhotonFlag = kTRUE;
698
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.
703   fNPi0sMin = low;
704   fNPi0sMax = high; 
705   fNPi0sFlag = kTRUE;
706 }  
707
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.
712   fNNeutronsMin = low;
713   fNNeutronsMax = high; 
714   fNNeutronsFlag = kTRUE;
715 }
716
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.
721   fNKaon0sMin = low;
722   fNKaon0sMax = high; 
723   fNKaon0sFlag = kTRUE;
724 }
725
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.
730   fTotalPMin = low;
731   fTotalPMax = high;
732   fTotalPFlag = kTRUE;
733 }
734
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.
739   fMeanPtMin = low;
740   fMeanPtMax = high;
741   fMeanPtFlag = kTRUE;
742 }  
743
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.
748   fTopPtMin = low; 
749   fTopPtMinFlag = kTRUE;
750 }
751
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;
759 }
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;
767 }
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;
774 }
775
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;
783 }
784
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.
789   fHBTRadiiMin = low;
790   fHBTRadiiMax = high; 
791   fHBTRadiiFlag = kTRUE;
792 }
793
794 //___________________________________________________________________________
795 Bool_t AliEventTagCuts::IsAccepted(AliEventTag *EvTag) const {
796   //Returns true if the event is accepted otherwise false.
797   if(fVzFlag)
798     if((EvTag->GetVertexZ() < fVzMin) || (EvTag->GetVertexZ() > fVzMax))
799       return kFALSE;
800   
801   if(fVyFlag)
802     if((EvTag->GetVertexY() < fVyMin) || (EvTag->GetVertexY() > fVyMax))
803       return kFALSE;
804   
805   if(fVxFlag)
806     if((EvTag->GetVertexX() < fVxMin) || (EvTag->GetVertexX() > fVxMax))
807       return kFALSE;
808   
809   if(fNParticipantsFlag)
810     if((EvTag->GetNumOfParticipants() < fNParticipantsMin) || (EvTag->GetNumOfParticipants() > fNParticipantsMax))
811       return kFALSE; 
812   
813   if(fImpactParamFlag)
814     if((EvTag->GetImpactParameter() < fImpactParamMin) || (EvTag->GetImpactParameter() > fImpactParamMax))
815       return kFALSE; 
816   
817   if(fPVFlag)
818     if((EvTag->GetVertexFlag() != fPrimaryVertexFlag))
819       return kFALSE; 
820   
821   if(fPVzErrorFlag)
822     if((EvTag->GetVertexZError() < fPrimaryVertexZErrorMin) || (EvTag->GetVertexZError() > fPrimaryVertexZErrorMax))
823       return kFALSE; 
824   if(fTriggerMaskFlag)
825     if((EvTag->GetTriggerMask() != fTriggerMask))
826       return kFALSE; 
827   if(fTriggerClusterFlag)
828     if((EvTag->GetTriggerMask() != fTriggerMask))
829       return kFALSE; 
830
831   if(fZDCNeutron1EnergyFlag)
832     if((EvTag->GetZDCNeutron1Energy() < fZDCNeutron1EnergyMin) || (EvTag->GetZDCNeutron1Energy() > fZDCNeutron1EnergyMax))
833       return kFALSE; 
834   
835   if(fZDCProton1EnergyFlag)
836     if((EvTag->GetZDCProton1Energy() < fZDCProton1EnergyMin) || (EvTag->GetZDCProton1Energy() > fZDCProton1EnergyMax))
837       return kFALSE; 
838   
839   if(fZDCNeutron2EnergyFlag)
840     if((EvTag->GetZDCNeutron2Energy() < fZDCNeutron2EnergyMin) || (EvTag->GetZDCNeutron2Energy() > fZDCNeutron2EnergyMax))
841       return kFALSE; 
842   
843   if(fZDCProton2EnergyFlag)
844     if((EvTag->GetZDCProton2Energy() < fZDCProton2EnergyMin) || (EvTag->GetZDCProton2Energy() > fZDCProton2EnergyMax))
845       return kFALSE; 
846   
847   if(fZDCEMEnergyFlag)
848     if((EvTag->GetZDCEMEnergy() < fZDCEMEnergyMin) || (EvTag->GetZDCEMEnergy() > fZDCEMEnergyMax))
849       return kFALSE; 
850   
851   if(fT0VertexZFlag)
852     if((EvTag->GetT0VertexZ() < fT0VertexZMin) || (EvTag->GetT0VertexZ() > fT0VertexZMax))
853       return kFALSE; 
854   
855   if(fMultFlag)
856     if((EvTag->GetNumOfTracks() < fMultMin) || (EvTag->GetNumOfTracks() > fMultMax))
857       return kFALSE; 
858   
859   if(fPosMultFlag)
860     if((EvTag->GetNumOfPosTracks() < fPosMultMin) || (EvTag->GetNumOfPosTracks() > fPosMultMax))
861       return kFALSE; 
862   
863   if(fNegMultFlag)
864     if((EvTag->GetNumOfNegTracks() < fNegMultMin) || (EvTag->GetNumOfNegTracks() > fNegMultMax))
865       return kFALSE; 
866   
867   if(fNeutrMultFlag)
868     if((EvTag->GetNumOfNeutrTracks() < fNeutrMultMin) || (EvTag->GetNumOfNeutrTracks() > fNeutrMultMax))
869       return kFALSE; 
870   
871   if(fNV0sFlag)
872     if((EvTag->GetNumOfV0s() < fNV0sMin) || (EvTag->GetNumOfV0s() > fNV0sMax))
873       return kFALSE; 
874   
875   if(fNCascadesFlag)
876     if((EvTag->GetNumOfCascades() < fNCascadesMin) || (EvTag->GetNumOfCascades() > fNCascadesMax))
877       return kFALSE; 
878   
879   if(fNKinksFlag)
880     if((EvTag->GetNumOfKinks() < fNKinksMin) || (EvTag->GetNumOfKinks() > fNKinksMax))
881       return kFALSE; 
882
883
884   if(fNPMDTracksFlag)
885     if((EvTag->GetNumOfPMDTracks() < fNPMDTracksMin) || (EvTag->GetNumOfPMDTracks() > fNPMDTracksMax))
886       return kFALSE; 
887   if(fNFMDTracksFlag)
888     if((EvTag->GetNumOfFMDTracks() < fNFMDTracksMin) || (EvTag->GetNumOfFMDTracks() > fNFMDTracksMax))
889       return kFALSE; 
890   if(fNPHOSClustersFlag)
891     if((EvTag->GetNumOfPHOSClusters() < fNPHOSClustersMin) || (EvTag->GetNumOfPHOSClusters() > fNPHOSClustersMax))
892       return kFALSE; 
893   if(fNEMCALClustersFlag)
894     if((EvTag->GetNumOfEMCALClusters() < fNEMCALClustersMin) || (EvTag->GetNumOfEMCALClusters() > fNEMCALClustersMax))
895       return kFALSE; 
896   if(fNJetCandidatesFlag)
897     if((EvTag->GetNumOfJetCandidates() < fNJetCandidatesMin) || (EvTag->GetNumOfJetCandidates() > fNJetCandidatesMax))
898       return kFALSE; 
899
900
901   if(fTopJetEnergyMinFlag)
902     if((EvTag->GetMaxJetEnergy() < fTopJetEnergyMin))
903       return kFALSE; 
904   
905   if(fNHardPhotonCandidatesFlag)
906     if((EvTag->GetNumOfHardPhotonsCandidates() < fNHardPhotonCandidatesMin) || (EvTag->GetNumOfHardPhotonsCandidates() > fNHardPhotonCandidatesMax))
907       return kFALSE; 
908   
909   if(fTopNeutralEnergyMinFlag)
910     if((EvTag->GetMaxNeutralEnergy() < fTopNeutralEnergyMin))
911       return kFALSE; 
912   
913   if(fNChargedAbove1GeVFlag)
914     if((EvTag->GetNumOfChargedAbove1GeV() < fNChargedAbove1GeVMin) || (EvTag->GetNumOfChargedAbove1GeV() > fNChargedAbove1GeVMax))
915       return kFALSE; 
916   
917   if(fNChargedAbove3GeVFlag)
918     if((EvTag->GetNumOfChargedAbove3GeV() < fNChargedAbove3GeVMin) || (EvTag->GetNumOfChargedAbove3GeV() > fNChargedAbove3GeVMax))
919       return kFALSE; 
920   
921   if(fNChargedAbove10GeVFlag)
922     if((EvTag->GetNumOfChargedAbove10GeV() < fNChargedAbove10GeVMin) || (EvTag->GetNumOfChargedAbove10GeV() > fNChargedAbove10GeVMax))
923       return kFALSE; 
924   
925   if(fNMuonsAbove1GeVFlag)
926     if((EvTag->GetNumOfMuonsAbove1GeV() < fNMuonsAbove1GeVMin) || (EvTag->GetNumOfMuonsAbove1GeV() > fNMuonsAbove1GeVMax))
927       return kFALSE; 
928   
929   if(fNMuonsAbove3GeVFlag)
930     if((EvTag->GetNumOfMuonsAbove3GeV() < fNMuonsAbove3GeVMin) || (EvTag->GetNumOfMuonsAbove3GeV() > fNMuonsAbove3GeVMax))
931       return kFALSE; 
932   
933   if(fNMuonsAbove10GeVFlag)
934     if((EvTag->GetNumOfMuonsAbove10GeV() < fNMuonsAbove10GeVMin) || (EvTag->GetNumOfMuonsAbove10GeV() > fNMuonsAbove10GeVMax))
935       return kFALSE; 
936   
937   if(fNElectronsAbove1GeVFlag)
938     if((EvTag->GetNumOfElectronsAbove1GeV()  < fNElectronsAbove1GeVMin) || (EvTag->GetNumOfElectronsAbove1GeV()  > fNElectronsAbove1GeVMax))
939       return kFALSE; 
940   
941   if(fNElectronsAbove3GeVFlag)
942     if((EvTag->GetNumOfElectronsAbove3GeV() < fNElectronsAbove3GeVMin) || (EvTag->GetNumOfElectronsAbove3GeV() > fNElectronsAbove3GeVMax))
943       return kFALSE; 
944   
945   if(fNElectronsAbove10GeVFlag)
946     if((EvTag->GetNumOfElectronsAbove10GeV() < fNElectronsAbove10GeVMin) || (EvTag->GetNumOfElectronsAbove10GeV() > fNElectronsAbove10GeVMax))
947       return kFALSE; 
948   
949   if(fNElectronsFlag)
950     if((EvTag->GetNumOfElectrons() < fNElectronsMin) || (EvTag->GetNumOfElectrons() > fNElectronsMax))
951       return kFALSE; 
952   
953   if(fNMuonsFlag)
954     if((EvTag->GetNumOfMuons() < fNMuonsMin) || (EvTag->GetNumOfMuons() > fNMuonsMax))
955       return kFALSE; 
956   
957   if(fNPionsFlag)
958     if((EvTag->GetNumOfPions() < fNPionsMin) || (EvTag->GetNumOfPions() > fNPionsMax))
959       return kFALSE; 
960   
961   if(fNKaonsFlag)
962     if((EvTag->GetNumOfKaons() < fNKaonsMin) || (EvTag->GetNumOfKaons() > fNKaonsMax))
963       return kFALSE; 
964   
965   if(fNProtonsFlag)
966     if((EvTag->GetNumOfProtons() < fNProtonsMin) || (EvTag->GetNumOfProtons() > fNProtonsMax))
967       return kFALSE; 
968   
969   if(fNLambdasFlag)
970     if((EvTag->GetNumOfLambdas() < fNLambdasMin) || (EvTag->GetNumOfLambdas() > fNLambdasMax))
971       return kFALSE; 
972   
973   if(fNPhotonFlag)
974     if((EvTag->GetNumOfPhotons() < fNPhotonsMin) || (EvTag->GetNumOfPhotons() > fNPhotonsMax))
975       return kFALSE; 
976   
977   if(fNPi0sFlag)
978     if((EvTag->GetNumOfPi0s() < fNPi0sMin) || (EvTag->GetNumOfPi0s() > fNPi0sMax))
979       return kFALSE; 
980   
981   if(fNNeutronsFlag)
982     if((EvTag->GetNumOfNeutrons() < fNNeutronsMin) || (EvTag->GetNumOfNeutrons() > fNNeutronsMax))
983       return kFALSE; 
984   
985   if(fNKaon0sFlag)
986     if((EvTag->GetNumOfKaon0s() < fNKaon0sMin) || (EvTag->GetNumOfKaon0s() > fNKaon0sMax))
987       return kFALSE; 
988   
989   if(fTotalPFlag)
990     if((EvTag->GetTotalMomentum() < fTotalPMin) || (EvTag->GetTotalMomentum() > fTotalPMax))
991       return kFALSE; 
992   
993   if(fMeanPtFlag)
994     if((EvTag->GetMeanPt() < fMeanPtMin) || (EvTag->GetMeanPt() > fMeanPtMax))
995       return kFALSE; 
996   
997   if(fTopPtMinFlag)
998     if((EvTag->GetMaxPt() < fTopPtMin))
999       return kFALSE; 
1000   
1001   if(fTotalNeutralPFlag)
1002     if((EvTag->GetNeutralTotalMomentum() < fTotalNeutralPMin) || (EvTag->GetNeutralTotalMomentum() > fTotalNeutralPMax))
1003       return kFALSE; 
1004   
1005   if(fMeanNeutralPtFlag)
1006     if((EvTag->GetNeutralMeanPt() < fMeanNeutralPtMin) || (EvTag->GetNeutralMeanPt() >fMeanNeutralPtMax ))
1007       return kFALSE; 
1008   
1009   if(fTopNeutralPtMinFlag)
1010     if((EvTag->GetNeutralMaxPt() < fTopNeutralPtMin))
1011       return kFALSE; 
1012   
1013   if(fEventPlaneAngleFlag)
1014     if((EvTag->GetEventPlaneAngle() < fEventPlaneAngleMin) || (EvTag->GetEventPlaneAngle() > fEventPlaneAngleMax))
1015       return kFALSE; 
1016   
1017   if(fHBTRadiiFlag)
1018     if((EvTag->GetHBTRadii() < fHBTRadiiMin) || (EvTag->GetHBTRadii() > fHBTRadiiMax))
1019       return kFALSE; 
1020   
1021   return kTRUE;
1022 }