fb666827fdaf01b723f1d0771846c5ba50ffe58d
[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   fNParticipantsMin(-1), fNParticipantsMax(10000),
36   fNParticipantsFlag(kFALSE),
37   fImpactParamMin(-1.0), fImpactParamMax(1000.0),
38   fImpactParamFlag(kFALSE),
39
40   fVxMin(-1000.0), fVxMax(1000.0), 
41   fVxFlag(kFALSE),
42   fVyMin(-1000.0), fVyMax(1000.0),  
43   fVyFlag(kFALSE),
44   fVzMin(-1000.0), fVzMax(1000.0),
45   fVzFlag(kFALSE),
46   fPrimaryVertexFlag(1),
47   fPVFlag(kFALSE),
48
49   fPrimaryVertexZErrorMin(-10000.), fPrimaryVertexZErrorMax(10000.),
50   fPVzErrorFlag(kFALSE),
51   fTriggerMask(0),
52   fTriggerMaskFlag(kFALSE),
53   fTriggerCluster(0),
54   fTriggerClusterFlag(kFALSE),
55  
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),  
69   fMultFlag(kFALSE),
70   fPosMultMin(-1), fPosMultMax(100000),
71   fPosMultFlag(kFALSE),
72   fNegMultMin(-1), fNegMultMax(100000),
73   fNegMultFlag(kFALSE),
74   fNeutrMultMin(-1), fNeutrMultMax(100000),
75   fNeutrMultFlag(kFALSE),
76   fNV0sMin(-1), fNV0sMax(1000000),
77   fNV0sFlag(kFALSE),
78   fNCascadesMin(-1), fNCascadesMax(100000),
79   fNCascadesFlag(kFALSE),
80   fNKinksMin(-1), fNKinksMax(1000000),
81   fNKinksFlag(kFALSE),
82
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),
93
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),
123   fNMuonsFlag(kFALSE),
124   fNPionsMin(-1), fNPionsMax(100000),
125   fNPionsFlag(kFALSE),
126   fNKaonsMin(-1), fNKaonsMax(100000),
127   fNKaonsFlag(kFALSE),
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), 
135   fNPi0sFlag(kFALSE),
136   fNNeutronsMin(-1), fNNeutronsMax(100000), 
137   fNNeutronsFlag(kFALSE),
138   fNKaon0sMin(-1), fNKaon0sMax(100000), 
139   fNKaon0sFlag(kFALSE),
140   fTotalPMin(-1.0), fTotalPMax(1000000.0),
141   fTotalPFlag(kFALSE),
142   fMeanPtMin(-1.0), fMeanPtMax(100000.0),
143   fMeanPtFlag(kFALSE),
144   fTopPtMin(-1.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)
156 {
157   //Default constructor which calls the Reset method.
158   Reset();
159 }
160
161 //___________________________________________________________________________
162 AliEventTagCuts::~AliEventTagCuts() {  
163   //Defaut destructor.
164 }
165
166 //___________________________________________________________________________
167 void AliEventTagCuts::Reset() {
168   //Sets dummy values to every private member.
169   fNParticipantsFlag = kFALSE;
170   fImpactParamFlag = kFALSE;
171
172   fVxFlag = kFALSE;
173   fVyFlag = kFALSE;
174   fVzFlag = kFALSE;
175   fPVFlag = kFALSE;
176   fPVzErrorFlag = kFALSE;
177
178   fTriggerMaskFlag = kFALSE;
179   fTriggerClusterFlag = kFALSE;
180
181   fZDCNeutron1EnergyFlag = kFALSE;
182   fZDCProton1EnergyFlag = kFALSE;
183   fZDCNeutron2EnergyFlag = kFALSE;
184   fZDCProton2EnergyFlag = kFALSE;
185   fZDCEMEnergyFlag = kFALSE;
186   fT0VertexZFlag = kFALSE;
187   fMultFlag = kFALSE;
188   fPosMultFlag = kFALSE;
189   fNegMultFlag = kFALSE;
190   fNeutrMultFlag = kFALSE;
191   fNV0sFlag = kFALSE;
192   fNCascadesFlag = kFALSE;
193   fNKinksFlag = kFALSE;
194
195   fNPMDTracksFlag = kFALSE;
196   fNFMDTracksFlag = kFALSE;
197   fNPHOSClustersFlag = kFALSE;
198   fNEMCALClustersFlag = kFALSE;
199   fNJetCandidatesFlag = kFALSE;
200
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;
221   fNPi0sFlag = 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;
232   
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;
239
240   fPrimaryVertexZErrorMin = -10000.; fPrimaryVertexZErrorMax = 10000.;
241   fTriggerMask = 0;
242   fTriggerCluster = 0;
243  
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;
257
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;
263
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; 
295 }
296
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.
301   fVxMin = low;
302   fVxMax = high; 
303   fVxFlag = kTRUE;
304 }
305
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.
310   fVyMin = low;
311   fVyMax = high; 
312   fVyFlag = kTRUE;
313 }
314
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.
319   fVzMin = low;
320   fVzMax = high; 
321   fVzFlag = kTRUE;
322 }
323
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;
331 }
332
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;
339 }
340
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;
347 }
348
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.
353   fMultMin = low;
354   fMultMax = high;
355   fMultFlag = kTRUE;
356 }
357
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;
365 }
366
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;
374 }
375  
376
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;
382   fPVFlag = kTRUE;
383 }
384
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;
392 }
393
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;
401 }
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;
409 }
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;
417 }
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;
425 }
426
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.
431   fT0VertexZMin = low;
432   fT0VertexZMax = high;
433   fT0VertexZFlag = kTRUE;
434 }
435
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.
440   fPosMultMin = low;
441   fPosMultMax = high;
442   fPosMultFlag = kTRUE;
443 }
444
445
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.
450   fNegMultMin = low;
451   fNegMultMax = high;
452   fNegMultFlag = kTRUE;
453 }
454
455
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.
460   fNeutrMultMin = low;
461   fNeutrMultMax = high;
462   fNeutrMultFlag = kTRUE;
463 }
464
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.
469   fNV0sMin = low;
470   fNV0sMax = high;
471   fNV0sFlag = kTRUE;
472 }
473
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.
478   fNCascadesMin = low;
479   fNCascadesMax = high;
480   fNCascadesFlag = kTRUE;
481 }
482
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.
487   fNKinksMin = low;
488   fNKinksMax = high;
489   fNKinksFlag = kTRUE;
490 }
491
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;
499 }
500
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;
508 }
509
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;
517 }
518
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;
526 }
527
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;
535 }
536
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;
543 }
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;
550 }
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;
558
559
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;
567 }
568
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;
576 }
577
578
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;
586 }
587
588
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;
596 }
597
598
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;
606
607
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;
615 }
616
617
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;
625 }
626
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;
634 }
635
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;
643 }
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;
651 }
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.
656   fNFWMuonsMin = low;
657   fNFWMuonsMax = high;
658   fNFWMuonsFlag = kTRUE;
659 }
660
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.
665   fNMuonsMin = low;
666   fNMuonsMax = high;
667   fNMuonsFlag = kTRUE;
668 }
669
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.
674   fNPionsMin = low;
675   fNPionsMax = high;
676   fNPionsFlag = kTRUE;
677
678
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.
683   fNKaonsMin = low;
684   fNKaonsMax = high;
685   fNKaonsFlag = kTRUE;
686 }
687
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.
692   fNProtonsMin = low;
693   fNProtonsMax = high;
694   fNProtonsFlag = kTRUE;
695
696
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.
701   fNLambdasMin = low;
702   fNLambdasMax = high;
703   fNLambdasFlag = kTRUE;
704
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.
709   fNPhotonsMin = low;
710   fNPhotonsMax = high;
711   fNPhotonFlag = kTRUE;
712
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.
717   fNPi0sMin = low;
718   fNPi0sMax = high; 
719   fNPi0sFlag = kTRUE;
720 }  
721
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.
726   fNNeutronsMin = low;
727   fNNeutronsMax = high; 
728   fNNeutronsFlag = kTRUE;
729 }
730
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.
735   fNKaon0sMin = low;
736   fNKaon0sMax = high; 
737   fNKaon0sFlag = kTRUE;
738 }
739
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.
744   fTotalPMin = low;
745   fTotalPMax = high;
746   fTotalPFlag = kTRUE;
747 }
748
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.
753   fMeanPtMin = low;
754   fMeanPtMax = high;
755   fMeanPtFlag = kTRUE;
756 }  
757
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.
762   fTopPtMin = low; 
763   fTopPtMinFlag = kTRUE;
764 }
765
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;
773 }
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;
781 }
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;
788 }
789
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;
797 }
798
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.
803   fHBTRadiiMin = low;
804   fHBTRadiiMax = high; 
805   fHBTRadiiFlag = kTRUE;
806 }
807
808 //___________________________________________________________________________
809 Bool_t AliEventTagCuts::IsAccepted(AliEventTag *EvTag) const {
810   //Returns true if the event is accepted otherwise false.
811   if(fVzFlag)
812     if((EvTag->GetVertexZ() < fVzMin) || (EvTag->GetVertexZ() > fVzMax))
813       return kFALSE;
814   
815   if(fVyFlag)
816     if((EvTag->GetVertexY() < fVyMin) || (EvTag->GetVertexY() > fVyMax))
817       return kFALSE;
818   
819   if(fVxFlag)
820     if((EvTag->GetVertexX() < fVxMin) || (EvTag->GetVertexX() > fVxMax))
821       return kFALSE;
822   
823   if(fNParticipantsFlag)
824     if((EvTag->GetNumOfParticipants() < fNParticipantsMin) || (EvTag->GetNumOfParticipants() > fNParticipantsMax))
825       return kFALSE; 
826   
827   if(fImpactParamFlag)
828     if((EvTag->GetImpactParameter() < fImpactParamMin) || (EvTag->GetImpactParameter() > fImpactParamMax))
829       return kFALSE; 
830   
831   if(fPVFlag)
832     if((EvTag->GetVertexFlag() != fPrimaryVertexFlag))
833       return kFALSE; 
834   
835   if(fPVzErrorFlag)
836     if((EvTag->GetVertexZError() < fPrimaryVertexZErrorMin) || (EvTag->GetVertexZError() > fPrimaryVertexZErrorMax))
837       return kFALSE; 
838   if(fTriggerMaskFlag)
839     if((EvTag->GetTriggerMask() != fTriggerMask))
840       return kFALSE; 
841   if(fTriggerClusterFlag)
842     if((EvTag->GetTriggerMask() != fTriggerMask))
843       return kFALSE; 
844
845   if(fZDCNeutron1EnergyFlag)
846     if((EvTag->GetZDCNeutron1Energy() < fZDCNeutron1EnergyMin) || (EvTag->GetZDCNeutron1Energy() > fZDCNeutron1EnergyMax))
847       return kFALSE; 
848   
849   if(fZDCProton1EnergyFlag)
850     if((EvTag->GetZDCProton1Energy() < fZDCProton1EnergyMin) || (EvTag->GetZDCProton1Energy() > fZDCProton1EnergyMax))
851       return kFALSE; 
852   
853   if(fZDCNeutron2EnergyFlag)
854     if((EvTag->GetZDCNeutron2Energy() < fZDCNeutron2EnergyMin) || (EvTag->GetZDCNeutron2Energy() > fZDCNeutron2EnergyMax))
855       return kFALSE; 
856   
857   if(fZDCProton2EnergyFlag)
858     if((EvTag->GetZDCProton2Energy() < fZDCProton2EnergyMin) || (EvTag->GetZDCProton2Energy() > fZDCProton2EnergyMax))
859       return kFALSE; 
860   
861   if(fZDCEMEnergyFlag)
862     if((EvTag->GetZDCEMEnergy(1) < fZDCEMEnergyMin) || (EvTag->GetZDCEMEnergy(1) > fZDCEMEnergyMax))
863       return kFALSE; 
864   
865   if(fT0VertexZFlag)
866     if((EvTag->GetT0VertexZ() < fT0VertexZMin) || (EvTag->GetT0VertexZ() > fT0VertexZMax))
867       return kFALSE; 
868   
869   if(fMultFlag)
870     if((EvTag->GetNumOfTracks() < fMultMin) || (EvTag->GetNumOfTracks() > fMultMax))
871       return kFALSE; 
872   
873   if(fPosMultFlag)
874     if((EvTag->GetNumOfPosTracks() < fPosMultMin) || (EvTag->GetNumOfPosTracks() > fPosMultMax))
875       return kFALSE; 
876   
877   if(fNegMultFlag)
878     if((EvTag->GetNumOfNegTracks() < fNegMultMin) || (EvTag->GetNumOfNegTracks() > fNegMultMax))
879       return kFALSE; 
880   
881   if(fNeutrMultFlag)
882     if((EvTag->GetNumOfNeutrTracks() < fNeutrMultMin) || (EvTag->GetNumOfNeutrTracks() > fNeutrMultMax))
883       return kFALSE; 
884   
885   if(fNV0sFlag)
886     if((EvTag->GetNumOfV0s() < fNV0sMin) || (EvTag->GetNumOfV0s() > fNV0sMax))
887       return kFALSE; 
888   
889   if(fNCascadesFlag)
890     if((EvTag->GetNumOfCascades() < fNCascadesMin) || (EvTag->GetNumOfCascades() > fNCascadesMax))
891       return kFALSE; 
892   
893   if(fNKinksFlag)
894     if((EvTag->GetNumOfKinks() < fNKinksMin) || (EvTag->GetNumOfKinks() > fNKinksMax))
895       return kFALSE; 
896
897
898   if(fNPMDTracksFlag)
899     if((EvTag->GetNumOfPMDTracks() < fNPMDTracksMin) || (EvTag->GetNumOfPMDTracks() > fNPMDTracksMax))
900       return kFALSE; 
901   if(fNFMDTracksFlag)
902     if((EvTag->GetNumOfFMDTracks() < fNFMDTracksMin) || (EvTag->GetNumOfFMDTracks() > fNFMDTracksMax))
903       return kFALSE; 
904   if(fNPHOSClustersFlag)
905     if((EvTag->GetNumOfPHOSClusters() < fNPHOSClustersMin) || (EvTag->GetNumOfPHOSClusters() > fNPHOSClustersMax))
906       return kFALSE; 
907   if(fNEMCALClustersFlag)
908     if((EvTag->GetNumOfEMCALClusters() < fNEMCALClustersMin) || (EvTag->GetNumOfEMCALClusters() > fNEMCALClustersMax))
909       return kFALSE; 
910   if(fNJetCandidatesFlag)
911     if((EvTag->GetNumOfJetCandidates() < fNJetCandidatesMin) || (EvTag->GetNumOfJetCandidates() > fNJetCandidatesMax))
912       return kFALSE; 
913
914
915   if(fTopJetEnergyMinFlag)
916     if((EvTag->GetMaxJetEnergy() < fTopJetEnergyMin))
917       return kFALSE; 
918   
919   if(fNHardPhotonCandidatesFlag)
920     if((EvTag->GetNumOfHardPhotonsCandidates() < fNHardPhotonCandidatesMin) || (EvTag->GetNumOfHardPhotonsCandidates() > fNHardPhotonCandidatesMax))
921       return kFALSE; 
922   
923   if(fTopNeutralEnergyMinFlag)
924     if((EvTag->GetMaxNeutralEnergy() < fTopNeutralEnergyMin))
925       return kFALSE; 
926   
927   if(fNChargedAbove1GeVFlag)
928     if((EvTag->GetNumOfChargedAbove1GeV() < fNChargedAbove1GeVMin) || (EvTag->GetNumOfChargedAbove1GeV() > fNChargedAbove1GeVMax))
929       return kFALSE; 
930   
931   if(fNChargedAbove3GeVFlag)
932     if((EvTag->GetNumOfChargedAbove3GeV() < fNChargedAbove3GeVMin) || (EvTag->GetNumOfChargedAbove3GeV() > fNChargedAbove3GeVMax))
933       return kFALSE; 
934   
935   if(fNChargedAbove10GeVFlag)
936     if((EvTag->GetNumOfChargedAbove10GeV() < fNChargedAbove10GeVMin) || (EvTag->GetNumOfChargedAbove10GeV() > fNChargedAbove10GeVMax))
937       return kFALSE; 
938   
939   if(fNMuonsAbove1GeVFlag)
940     if((EvTag->GetNumOfMuonsAbove1GeV() < fNMuonsAbove1GeVMin) || (EvTag->GetNumOfMuonsAbove1GeV() > fNMuonsAbove1GeVMax))
941       return kFALSE; 
942   
943   if(fNMuonsAbove3GeVFlag)
944     if((EvTag->GetNumOfMuonsAbove3GeV() < fNMuonsAbove3GeVMin) || (EvTag->GetNumOfMuonsAbove3GeV() > fNMuonsAbove3GeVMax))
945       return kFALSE; 
946   
947   if(fNMuonsAbove10GeVFlag)
948     if((EvTag->GetNumOfMuonsAbove10GeV() < fNMuonsAbove10GeVMin) || (EvTag->GetNumOfMuonsAbove10GeV() > fNMuonsAbove10GeVMax))
949       return kFALSE; 
950   
951   if(fNElectronsAbove1GeVFlag)
952     if((EvTag->GetNumOfElectronsAbove1GeV()  < fNElectronsAbove1GeVMin) || (EvTag->GetNumOfElectronsAbove1GeV()  > fNElectronsAbove1GeVMax))
953       return kFALSE; 
954   
955   if(fNElectronsAbove3GeVFlag)
956     if((EvTag->GetNumOfElectronsAbove3GeV() < fNElectronsAbove3GeVMin) || (EvTag->GetNumOfElectronsAbove3GeV() > fNElectronsAbove3GeVMax))
957       return kFALSE; 
958   
959   if(fNElectronsAbove10GeVFlag)
960     if((EvTag->GetNumOfElectronsAbove10GeV() < fNElectronsAbove10GeVMin) || (EvTag->GetNumOfElectronsAbove10GeV() > fNElectronsAbove10GeVMax))
961       return kFALSE; 
962   
963   if(fNElectronsFlag)
964     if((EvTag->GetNumOfElectrons() < fNElectronsMin) || (EvTag->GetNumOfElectrons() > fNElectronsMax))
965       return kFALSE; 
966   
967   if(fNFWMuonsFlag)
968     if((EvTag->GetNumOfFWMuons() < fNFWMuonsMin) || (EvTag->GetNumOfFWMuons() > fNFWMuonsMax))
969       return kFALSE; 
970   
971   if(fNMuonsFlag)
972     if((EvTag->GetNumOfMuons() < fNMuonsMin) || (EvTag->GetNumOfMuons() > fNMuonsMax))
973       return kFALSE; 
974   
975   if(fNPionsFlag)
976     if((EvTag->GetNumOfPions() < fNPionsMin) || (EvTag->GetNumOfPions() > fNPionsMax))
977       return kFALSE; 
978   
979   if(fNKaonsFlag)
980     if((EvTag->GetNumOfKaons() < fNKaonsMin) || (EvTag->GetNumOfKaons() > fNKaonsMax))
981       return kFALSE; 
982   
983   if(fNProtonsFlag)
984     if((EvTag->GetNumOfProtons() < fNProtonsMin) || (EvTag->GetNumOfProtons() > fNProtonsMax))
985       return kFALSE; 
986   
987   if(fNLambdasFlag)
988     if((EvTag->GetNumOfLambdas() < fNLambdasMin) || (EvTag->GetNumOfLambdas() > fNLambdasMax))
989       return kFALSE; 
990   
991   if(fNPhotonFlag)
992     if((EvTag->GetNumOfPhotons() < fNPhotonsMin) || (EvTag->GetNumOfPhotons() > fNPhotonsMax))
993       return kFALSE; 
994   
995   if(fNPi0sFlag)
996     if((EvTag->GetNumOfPi0s() < fNPi0sMin) || (EvTag->GetNumOfPi0s() > fNPi0sMax))
997       return kFALSE; 
998   
999   if(fNNeutronsFlag)
1000     if((EvTag->GetNumOfNeutrons() < fNNeutronsMin) || (EvTag->GetNumOfNeutrons() > fNNeutronsMax))
1001       return kFALSE; 
1002   
1003   if(fNKaon0sFlag)
1004     if((EvTag->GetNumOfKaon0s() < fNKaon0sMin) || (EvTag->GetNumOfKaon0s() > fNKaon0sMax))
1005       return kFALSE; 
1006   
1007   if(fTotalPFlag)
1008     if((EvTag->GetTotalMomentum() < fTotalPMin) || (EvTag->GetTotalMomentum() > fTotalPMax))
1009       return kFALSE; 
1010   
1011   if(fMeanPtFlag)
1012     if((EvTag->GetMeanPt() < fMeanPtMin) || (EvTag->GetMeanPt() > fMeanPtMax))
1013       return kFALSE; 
1014   
1015   if(fTopPtMinFlag)
1016     if((EvTag->GetMaxPt() < fTopPtMin))
1017       return kFALSE; 
1018   
1019   if(fTotalNeutralPFlag)
1020     if((EvTag->GetNeutralTotalMomentum() < fTotalNeutralPMin) || (EvTag->GetNeutralTotalMomentum() > fTotalNeutralPMax))
1021       return kFALSE; 
1022   
1023   if(fMeanNeutralPtFlag)
1024     if((EvTag->GetNeutralMeanPt() < fMeanNeutralPtMin) || (EvTag->GetNeutralMeanPt() >fMeanNeutralPtMax ))
1025       return kFALSE; 
1026   
1027   if(fTopNeutralPtMinFlag)
1028     if((EvTag->GetNeutralMaxPt() < fTopNeutralPtMin))
1029       return kFALSE; 
1030   
1031   if(fEventPlaneAngleFlag)
1032     if((EvTag->GetEventPlaneAngle() < fEventPlaneAngleMin) || (EvTag->GetEventPlaneAngle() > fEventPlaneAngleMax))
1033       return kFALSE; 
1034   
1035   if(fHBTRadiiFlag)
1036     if((EvTag->GetHBTRadii() < fHBTRadiiMin) || (EvTag->GetHBTRadii() > fHBTRadiiMax))
1037       return kFALSE; 
1038   
1039   return kTRUE;
1040 }