LCOV - code coverage report
Current view: top level - STEER/STEERBase - AliEventTagCuts.cxx (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 992 0.1 %
Date: 2016-06-14 17:26:59 Functions: 1 80 1.2 %

          Line data    Source code
       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             : #include <AliLog.h>
      23             : class AliESD;
      24             : 
      25             : #include <TMath.h>
      26             : #include "AliEventTag.h"
      27             : #include "AliEventTagCuts.h"
      28             : #include <TObjArray.h>
      29             : #include <TObjString.h>
      30             : 
      31         176 : ClassImp(AliEventTagCuts)
      32             : 
      33             : 
      34             : //___________________________________________________________________________
      35             : AliEventTagCuts::AliEventTagCuts() :
      36           0 :   TObject(),
      37           0 :   fPeriodNumberMin(0), fPeriodNumberMax(0xFFFFFFFF), fPeriodNumberFlag(kFALSE),
      38           0 :   fOrbitNumberMin(0), fOrbitNumberMax(0xFFFFFFFF), fOrbitNumberFlag(kFALSE),
      39           0 :   fBunchCrossNumberMin(0), fBunchCrossNumberMax(0xFFFF), 
      40           0 :   fBunchCrossNumberFlag(kFALSE),
      41           0 :   fEventType(7), fEventTypeFlag(kFALSE),
      42           0 :   fNParticipantsMin(-1), fNParticipantsMax(10000),
      43           0 :   fNParticipantsFlag(kFALSE),
      44           0 :   fImpactParamMin(-1.0), fImpactParamMax(1000.0),
      45           0 :   fImpactParamFlag(kFALSE),
      46           0 :   fEtaMin(-13.0), fEtaMax(13.0), 
      47           0 :   fEtaFlag(kFALSE),
      48           0 :   fPhiMin(0.), fPhiMax(2*(TMath::Pi())), 
      49           0 :   fPhiFlag(kFALSE),
      50           0 :   fVxMin(-1000.0), fVxMax(1000.0), 
      51           0 :   fVxFlag(kFALSE),
      52           0 :   fVyMin(-1000.0), fVyMax(1000.0),  
      53           0 :   fVyFlag(kFALSE),
      54           0 :   fVzMin(-1000.0), fVzMax(1000.0),
      55           0 :   fVzFlag(kFALSE),
      56           0 :   fPrimaryVertexFlag(1),
      57           0 :   fPVFlag(kFALSE),
      58             : 
      59           0 :   fPrimaryVertexZErrorMin(-10000.), fPrimaryVertexZErrorMax(10000.),
      60           0 :   fPVzErrorFlag(kFALSE),
      61           0 :   fTriggerMask(0),
      62           0 :   fTriggerMaskFlag(kFALSE),
      63           0 :   fTriggerCluster(0),
      64           0 :   fTriggerClusterFlag(kFALSE),
      65             :  
      66           0 :   fZDCNeutron1EnergyMin(-1.0), fZDCNeutron1EnergyMax(100000.0),
      67           0 :   fZDCNeutron1EnergyFlag(kFALSE),
      68           0 :   fZDCProton1EnergyMin(-1.0), fZDCProton1EnergyMax(100000.0),
      69           0 :   fZDCProton1EnergyFlag(kFALSE),
      70           0 :   fZDCNeutron2EnergyMin(-1.0), fZDCNeutron2EnergyMax(100000.0),
      71           0 :   fZDCNeutron2EnergyFlag(kFALSE),
      72           0 :   fZDCProton2EnergyMin(-1.0), fZDCProton2EnergyMax(100000.0),
      73           0 :   fZDCProton2EnergyFlag(kFALSE),
      74           0 :   fZDCEMEnergyMin(-1.0), fZDCEMEnergyMax(100000.0),
      75           0 :   fZDCEMEnergyFlag(kFALSE),
      76           0 :   fT0VertexZMin(-10000.0), fT0VertexZMax(10000.0),  
      77           0 :   fT0VertexZFlag(kFALSE),
      78           0 :   fMultMin(0), fMultMax(100000),  
      79           0 :   fMultFlag(kFALSE),
      80           0 :   fPosMultMin(-1), fPosMultMax(100000),
      81           0 :   fPosMultFlag(kFALSE),
      82           0 :   fNegMultMin(-1), fNegMultMax(100000),
      83           0 :   fNegMultFlag(kFALSE),
      84           0 :   fNeutrMultMin(-1), fNeutrMultMax(100000),
      85           0 :   fNeutrMultFlag(kFALSE),
      86           0 :   fNV0sMin(-1), fNV0sMax(1000000),
      87           0 :   fNV0sFlag(kFALSE),
      88           0 :   fNCascadesMin(-1), fNCascadesMax(100000),
      89           0 :   fNCascadesFlag(kFALSE),
      90           0 :   fNKinksMin(-1), fNKinksMax(1000000),
      91           0 :   fNKinksFlag(kFALSE),
      92             : 
      93           0 :   fNPMDTracksMin(-1), fNPMDTracksMax(100000),
      94           0 :   fNPMDTracksFlag(kFALSE),
      95           0 :   fNFMDTracksMin(-1), fNFMDTracksMax(100000),
      96           0 :   fNFMDTracksFlag(kFALSE),
      97           0 :   fNPHOSClustersMin(-1), fNPHOSClustersMax(100000),
      98           0 :   fNPHOSClustersFlag(kFALSE),
      99           0 :   fNEMCALClustersMin(-1), fNEMCALClustersMax(100000),
     100           0 :   fNEMCALClustersFlag(kFALSE),
     101           0 :   fNJetCandidatesMin(-1), fNJetCandidatesMax(100000),
     102           0 :   fNJetCandidatesFlag(kFALSE),
     103             : 
     104           0 :   fTopJetEnergyMin(-1.0), 
     105           0 :   fTopJetEnergyMinFlag(kFALSE),
     106           0 :   fTopNeutralEnergyMin(-1.0), 
     107           0 :   fTopNeutralEnergyMinFlag(kFALSE),
     108           0 :   fNHardPhotonCandidatesMin(-1), fNHardPhotonCandidatesMax(100000),
     109           0 :   fNHardPhotonCandidatesFlag(kFALSE),
     110           0 :   fNChargedAbove1GeVMin(-1), fNChargedAbove1GeVMax(100000),
     111           0 :   fNChargedAbove1GeVFlag(kFALSE),
     112           0 :   fNChargedAbove3GeVMin(-1), fNChargedAbove3GeVMax(100000),
     113           0 :   fNChargedAbove3GeVFlag(kFALSE),
     114           0 :   fNChargedAbove10GeVMin(-1), fNChargedAbove10GeVMax(100000),
     115           0 :   fNChargedAbove10GeVFlag(kFALSE),
     116           0 :   fNMuonsAbove1GeVMin(-1), fNMuonsAbove1GeVMax(100000),
     117           0 :   fNMuonsAbove1GeVFlag(kFALSE),
     118           0 :   fNMuonsAbove3GeVMin(-1), fNMuonsAbove3GeVMax(100000),
     119           0 :   fNMuonsAbove3GeVFlag(kFALSE),
     120           0 :   fNMuonsAbove10GeVMin(-1), fNMuonsAbove10GeVMax(100000), 
     121           0 :   fNMuonsAbove10GeVFlag(kFALSE),
     122           0 :   fNElectronsAbove1GeVMin(-1), fNElectronsAbove1GeVMax(100000),
     123           0 :   fNElectronsAbove1GeVFlag(kFALSE),
     124           0 :   fNElectronsAbove3GeVMin(-1), fNElectronsAbove3GeVMax(100000),
     125           0 :   fNElectronsAbove3GeVFlag(kFALSE),
     126           0 :   fNElectronsAbove10GeVMin(-1), fNElectronsAbove10GeVMax(100000),
     127           0 :   fNElectronsAbove10GeVFlag(kFALSE),
     128           0 :   fNElectronsMin(-1), fNElectronsMax(100000),
     129           0 :   fNElectronsFlag(kFALSE),
     130           0 :   fNFWMuonsMin(-1), fNFWMuonsMax(100000),
     131           0 :   fNFWMuonsFlag(kFALSE),
     132           0 :   fNFWMatchedMuonsMin(-1), fNFWMatchedMuonsMax(100000),
     133           0 :   fNFWMatchedMuonsFlag(kFALSE),
     134           0 :   fNMuonsMin(-1), fNMuonsMax(100000),
     135           0 :   fNMuonsFlag(kFALSE),
     136           0 :   fNPionsMin(-1), fNPionsMax(100000),
     137           0 :   fNPionsFlag(kFALSE),
     138           0 :   fNKaonsMin(-1), fNKaonsMax(100000),
     139           0 :   fNKaonsFlag(kFALSE),
     140           0 :   fNProtonsMin(-1), fNProtonsMax(100000),
     141           0 :   fNProtonsFlag(kFALSE),
     142           0 :   fNLambdasMin(-1), fNLambdasMax(100000),
     143           0 :   fNLambdasFlag(kFALSE),
     144           0 :   fNPhotonsMin(-1), fNPhotonsMax(100000),
     145           0 :   fNPhotonFlag(kFALSE),
     146           0 :   fNPi0sMin(-1), fNPi0sMax(100000), 
     147           0 :   fNPi0sFlag(kFALSE),
     148           0 :   fNNeutronsMin(-1), fNNeutronsMax(100000), 
     149           0 :   fNNeutronsFlag(kFALSE),
     150           0 :   fNKaon0sMin(-1), fNKaon0sMax(100000), 
     151           0 :   fNKaon0sFlag(kFALSE),
     152           0 :   fTotalPMin(-1.0), fTotalPMax(1000000.0),
     153           0 :   fTotalPFlag(kFALSE),
     154           0 :   fMeanPtMin(-1.0), fMeanPtMax(100000.0),
     155           0 :   fMeanPtFlag(kFALSE),
     156           0 :   fTopPtMin(-1.0),
     157           0 :   fTopPtMinFlag(kFALSE),
     158           0 :   fTotalNeutralPMin(-1.0), fTotalNeutralPMax(1000000.0),   
     159           0 :   fTotalNeutralPFlag(kFALSE),
     160           0 :   fMeanNeutralPtMin(-1.0), fMeanNeutralPtMax(1000000.0), 
     161           0 :   fMeanNeutralPtFlag(kFALSE),
     162           0 :   fTopNeutralPtMin(-1.0), 
     163           0 :   fTopNeutralPtMinFlag(kFALSE),
     164           0 :   fEventPlaneAngleMin(-10000000.0), fEventPlaneAngleMax(10000000.0), 
     165           0 :   fEventPlaneAngleFlag(kFALSE),
     166           0 :   fHBTRadiiMin(-1.0), fHBTRadiiMax(100000.0), 
     167           0 :   fHBTRadiiFlag(kFALSE),
     168             : 
     169           0 :   fNumberOfFiredChipsLayer1Min(0), fNumberOfFiredChipsLayer1Max(100000),
     170           0 :   fNumberOfFiredChipsLayer1Flag(kFALSE),
     171           0 :   fNumberOfFiredChipsLayer2Min(0), fNumberOfFiredChipsLayer2Max(100000),
     172           0 :   fNumberOfFiredChipsLayer2Flag(kFALSE),
     173           0 :   fNumberOfSPDTrackletsMin(0), fNumberOfSPDTrackletsMax(100000),
     174           0 :   fNumberOfSPDTrackletsFlag(kFALSE),
     175             :   
     176           0 :   fFiredTriggerClassFlag(kFALSE), fFiredTriggerClass(""),
     177           0 :   fActiveTriggerClasses("")
     178           0 : {
     179             :   //Default constructor which calls the Reset method.
     180           0 :   Reset();
     181           0 : }
     182             : 
     183             : //___________________________________________________________________________
     184           0 : AliEventTagCuts::~AliEventTagCuts() {  
     185             :   //Defaut destructor.
     186           0 : }
     187             : 
     188             : //___________________________________________________________________________
     189             : void AliEventTagCuts::Reset() {
     190             :   //Sets dummy values to every private member.
     191           0 :   fPeriodNumberFlag = kFALSE;
     192           0 :   fOrbitNumberFlag = kFALSE;
     193           0 :   fBunchCrossNumberFlag = kFALSE;
     194             :   
     195           0 :   fEventTypeFlag = kFALSE;
     196             : 
     197           0 :   fNParticipantsFlag = kFALSE;
     198           0 :   fImpactParamFlag = kFALSE;
     199             : 
     200           0 :   fEtaFlag = kFALSE;
     201           0 :   fPhiFlag = kFALSE;
     202           0 :   fVxFlag = kFALSE;
     203           0 :   fVyFlag = kFALSE;
     204           0 :   fVzFlag = kFALSE;
     205           0 :   fPVFlag = kFALSE;
     206           0 :   fPVzErrorFlag = kFALSE;
     207             : 
     208           0 :   fTriggerMaskFlag = kFALSE;
     209           0 :   fTriggerClusterFlag = kFALSE;
     210             : 
     211           0 :   fZDCNeutron1EnergyFlag = kFALSE;
     212           0 :   fZDCProton1EnergyFlag = kFALSE;
     213           0 :   fZDCNeutron2EnergyFlag = kFALSE;
     214           0 :   fZDCProton2EnergyFlag = kFALSE;
     215           0 :   fZDCEMEnergyFlag = kFALSE;
     216           0 :   fT0VertexZFlag = kFALSE;
     217           0 :   fMultFlag = kFALSE;
     218           0 :   fPosMultFlag = kFALSE;
     219           0 :   fNegMultFlag = kFALSE;
     220           0 :   fNeutrMultFlag = kFALSE;
     221           0 :   fNV0sFlag = kFALSE;
     222           0 :   fNCascadesFlag = kFALSE;
     223           0 :   fNKinksFlag = kFALSE;
     224             : 
     225           0 :   fNPMDTracksFlag = kFALSE;
     226           0 :   fNFMDTracksFlag = kFALSE;
     227           0 :   fNPHOSClustersFlag = kFALSE;
     228           0 :   fNEMCALClustersFlag = kFALSE;
     229           0 :   fNJetCandidatesFlag = kFALSE;
     230             : 
     231           0 :   fTopJetEnergyMinFlag = kFALSE;
     232           0 :   fNHardPhotonCandidatesFlag = kFALSE;
     233           0 :   fTopNeutralEnergyMinFlag = kFALSE;
     234           0 :   fNChargedAbove1GeVFlag = kFALSE;
     235           0 :   fNChargedAbove3GeVFlag = kFALSE;
     236           0 :   fNChargedAbove10GeVFlag = kFALSE;
     237           0 :   fNMuonsAbove1GeVFlag = kFALSE;
     238           0 :   fNMuonsAbove3GeVFlag = kFALSE;
     239           0 :   fNMuonsAbove10GeVFlag = kFALSE;
     240           0 :   fNElectronsAbove1GeVFlag = kFALSE;
     241           0 :   fNElectronsAbove3GeVFlag = kFALSE;
     242           0 :   fNElectronsAbove10GeVFlag = kFALSE;
     243           0 :   fNElectronsFlag = kFALSE;
     244           0 :   fNFWMuonsFlag = kFALSE;
     245           0 :   fNFWMatchedMuonsFlag = kFALSE;
     246           0 :   fNMuonsFlag = kFALSE;
     247           0 :   fNPionsFlag = kFALSE;
     248           0 :   fNKaonsFlag = kFALSE;
     249           0 :   fNProtonsFlag = kFALSE;
     250           0 :   fNLambdasFlag = kFALSE;
     251           0 :   fNPhotonFlag = kFALSE;
     252           0 :   fNPi0sFlag = kFALSE;
     253           0 :   fNNeutronsFlag = kFALSE;
     254           0 :   fNKaon0sFlag = kFALSE;
     255           0 :   fTotalPFlag = kFALSE;
     256           0 :   fMeanPtFlag = kFALSE;
     257           0 :   fTopPtMinFlag = kFALSE;
     258           0 :   fTotalNeutralPFlag = kFALSE;
     259           0 :   fMeanNeutralPtFlag = kFALSE;
     260           0 :   fTopNeutralPtMinFlag = kFALSE;
     261           0 :   fEventPlaneAngleFlag = kFALSE;
     262           0 :   fHBTRadiiFlag = kFALSE;
     263             : 
     264           0 :   fNumberOfFiredChipsLayer1Flag = kFALSE;
     265           0 :   fNumberOfFiredChipsLayer2Flag = kFALSE;
     266           0 :   fNumberOfSPDTrackletsFlag = kFALSE;
     267             : 
     268           0 :   fPeriodNumberMin = 0, fPeriodNumberMax = 0xFFFFFFFF;
     269           0 :   fOrbitNumberMin = 0, fOrbitNumberMax = 0xFFFFFFFF;
     270           0 :   fBunchCrossNumberMin = 0, fBunchCrossNumberMax = 0xFFFF;
     271             : 
     272           0 :   fEventType = 7;
     273             : 
     274           0 :   fEtaMin = -13.0; fEtaMax = 13.0;
     275           0 :   fPhiMin = 0.; fPhiMax = 2*(TMath::Pi());
     276           0 :   fVxMin = -1000.0; fVxMax = 1000.0; 
     277           0 :   fVyMin = -1000.0; fVyMax = 1000.0;  
     278           0 :   fVzMin = -1000.0; fVzMax = 1000.0;
     279           0 :   fNParticipantsMin = -1; fNParticipantsMax = 10000;
     280           0 :   fImpactParamMin = -1.0; fImpactParamMax = 1000.0;
     281           0 :   fPrimaryVertexFlag = 1;
     282             : 
     283           0 :   fPrimaryVertexZErrorMin = -10000.; fPrimaryVertexZErrorMax = 10000.;
     284           0 :   fTriggerMask = 0;
     285           0 :   fTriggerCluster = 0;
     286             :  
     287           0 :   fZDCNeutron1EnergyMin = -1.0; fZDCNeutron1EnergyMax = 100000.0;
     288           0 :   fZDCProton1EnergyMin = -1.0; fZDCProton1EnergyMax = 100000.0;
     289           0 :   fZDCNeutron2EnergyMin = -1.0; fZDCNeutron2EnergyMax = 100000.0;
     290           0 :   fZDCProton2EnergyMin = -1.0; fZDCProton2EnergyMax = 100000.0;
     291           0 :   fZDCEMEnergyMin = -1.0; fZDCEMEnergyMax = 100000.0;
     292           0 :   fT0VertexZMin = -10000.0; fT0VertexZMax = 10000.0;  
     293           0 :   fMultMin = 0; fMultMax = 100000;  
     294           0 :   fPosMultMin = -1; fPosMultMax = 100000;
     295           0 :   fNegMultMin = -1; fNegMultMax = 100000;
     296           0 :   fNeutrMultMin = -1; fNeutrMultMax = 100000;
     297           0 :   fNV0sMin = -1; fNV0sMax = 1000000;
     298           0 :   fNCascadesMin = -1; fNCascadesMax = 100000;
     299           0 :   fNKinksMin = -1; fNKinksMax = 1000000;
     300             : 
     301           0 :   fNPMDTracksMin = -1, fNPMDTracksMax = 100000;
     302           0 :   fNFMDTracksMin = -1, fNFMDTracksMax = 100000;
     303           0 :   fNPHOSClustersMin = -1, fNPHOSClustersMax = 100000;
     304           0 :   fNEMCALClustersMin = -1, fNEMCALClustersMax = 100000;
     305           0 :   fNJetCandidatesMin = -1, fNJetCandidatesMax = 100000;
     306             : 
     307           0 :   fTopJetEnergyMin = -1.0; 
     308           0 :   fNHardPhotonCandidatesMin = -1; fNHardPhotonCandidatesMax = 100000;
     309           0 :   fTopNeutralEnergyMin = -1.0; 
     310           0 :   fNChargedAbove1GeVMin = -1; fNChargedAbove1GeVMax = 100000;
     311           0 :   fNChargedAbove3GeVMin = -1; fNChargedAbove3GeVMax = 100000;
     312           0 :   fNChargedAbove10GeVMin = -1; fNChargedAbove10GeVMax = 100000;
     313           0 :   fNMuonsAbove1GeVMin = -1; fNMuonsAbove1GeVMax = 100000;
     314           0 :   fNMuonsAbove3GeVMin = -1; fNMuonsAbove3GeVMax = 100000;
     315           0 :   fNMuonsAbove10GeVMin = -1; fNMuonsAbove10GeVMax = 100000; 
     316           0 :   fNElectronsAbove1GeVMin = -1; fNElectronsAbove1GeVMax = 100000;
     317           0 :   fNElectronsAbove3GeVMin = -1; fNElectronsAbove3GeVMax = 100000;
     318           0 :   fNElectronsAbove10GeVMin = -1; fNElectronsAbove10GeVMax = 100000;
     319           0 :   fNElectronsMin = -1; fNElectronsMax = 100000;
     320           0 :   fNFWMuonsMin = -1; fNFWMuonsMax = 100000;
     321           0 :   fNFWMatchedMuonsMin = -1; fNFWMatchedMuonsMax = 100000;
     322           0 :   fNMuonsMin = -1; fNMuonsMax = 100000;
     323           0 :   fNPionsMin = -1; fNPionsMax = 100000;
     324           0 :   fNKaonsMin = -1; fNKaonsMax = 100000;
     325           0 :   fNProtonsMin = -1; fNProtonsMax = 100000;
     326           0 :   fNLambdasMin = -1; fNLambdasMax = 100000;
     327           0 :   fNPhotonsMin = -1; fNPhotonsMax = 100000;
     328           0 :   fNPi0sMin = -1; fNPi0sMax = 100000; 
     329           0 :   fNNeutronsMin = -1; fNNeutronsMax = 100000; 
     330           0 :   fNKaon0sMin = -1; fNKaon0sMax = 100000; 
     331           0 :   fTotalPMin = -1.0; fTotalPMax = 1000000.0;
     332           0 :   fMeanPtMin = -1.0; fMeanPtMax = 100000.0;
     333           0 :   fTopPtMin = -1.0; fTotalNeutralPMin = -1.0;
     334           0 :   fTotalNeutralPMax = 1000000.0;   
     335           0 :   fMeanNeutralPtMin = -1.0; fMeanNeutralPtMax = 1000000.0; 
     336           0 :   fTopNeutralPtMin = -1.0; 
     337           0 :   fEventPlaneAngleMin = -10000000.0; fEventPlaneAngleMax = 10000000.0; 
     338           0 :   fHBTRadiiMin = -1.0; fHBTRadiiMax = 100000.0; 
     339             : 
     340           0 :   fNumberOfFiredChipsLayer1Min = 0, fNumberOfFiredChipsLayer1Max = 100000;
     341           0 :   fNumberOfFiredChipsLayer2Min = 0, fNumberOfFiredChipsLayer2Max = 100000;
     342           0 :   fNumberOfSPDTrackletsMin = 0, fNumberOfSPDTrackletsMax = 100000;
     343             : 
     344           0 :   fFiredTriggerClass = "";
     345           0 :   fFiredTriggerClassFlag = kFALSE;
     346           0 : }
     347             : 
     348             : //___________________________________________________________________________
     349             : void AliEventTagCuts::SetEventType(UInt_t ntype) {
     350             :   //Sets the event type
     351             :   //and the corresponding flag to kTRUE if the cut is used.
     352           0 :   fEventType = ntype;
     353           0 :   fEventTypeFlag = kTRUE;
     354           0 : }
     355             : 
     356             : //___________________________________________________________________________
     357             : void AliEventTagCuts::SetNumberOfFiredChipsLayer1Range(Int_t low, Int_t high) {
     358             :   //Sets the range for the number of fired chips of layer 1
     359             :   //and the corresponding flag to kTRUE if the cut is used.
     360           0 :   fNumberOfFiredChipsLayer1Min = low;
     361           0 :   fNumberOfFiredChipsLayer1Max = high;
     362           0 :   fNumberOfFiredChipsLayer1Flag = kTRUE;
     363           0 : }
     364             : 
     365             : //___________________________________________________________________________
     366             : void AliEventTagCuts::SetNumberOfFiredChipsLayer2Range(Int_t low, Int_t high) {
     367             :   //Sets the range for the number of fired chips of layer 2
     368             :   //and the corresponding flag to kTRUE if the cut is used.
     369           0 :   fNumberOfFiredChipsLayer2Min = low;
     370           0 :   fNumberOfFiredChipsLayer2Max = high;
     371           0 :   fNumberOfFiredChipsLayer2Flag = kTRUE;
     372           0 : }
     373             : 
     374             : //___________________________________________________________________________
     375             : void AliEventTagCuts::SetNumberOfSPDTrackletsRange(Int_t low, Int_t high) {
     376             :   //Sets the range for the number of fired chips of layer 1
     377             :   //and the corresponding flag to kTRUE if the cut is used.
     378           0 :   fNumberOfSPDTrackletsMin = low;
     379           0 :   fNumberOfSPDTrackletsMax = high;
     380           0 :   fNumberOfSPDTrackletsFlag = kTRUE;
     381           0 : }
     382             : 
     383             : //___________________________________________________________________________
     384             : void AliEventTagCuts::SetPeriodNumberRange(UInt_t low, UInt_t high) {
     385             :   //Sets the period number range
     386             :   //and the corresponding flag to kTRUE if the cut is used.
     387           0 :   fPeriodNumberMin = low;
     388           0 :   fPeriodNumberMax = high; 
     389           0 :   fPeriodNumberFlag = kTRUE;
     390           0 : }
     391             : 
     392             : //___________________________________________________________________________
     393             : void AliEventTagCuts::SetOrbitNumberRange(UInt_t low, UInt_t high) {
     394             :   //Sets the orbit number range
     395             :   //and the corresponding flag to kTRUE if the cut is used.
     396           0 :   fOrbitNumberMin = low;
     397           0 :   fOrbitNumberMax = high; 
     398           0 :   fOrbitNumberFlag = kTRUE;
     399           0 : }
     400             : 
     401             : //___________________________________________________________________________
     402             : void AliEventTagCuts::SetBunchCrossNumberRange(UShort_t low, UShort_t high) {
     403             :   //Sets the BC number range
     404             :   //and the corresponding flag to kTRUE if the cut is used.
     405           0 :   fBunchCrossNumberMin = low;
     406           0 :   fBunchCrossNumberMax = high; 
     407           0 :   fBunchCrossNumberFlag = kTRUE;
     408           0 : }
     409             : 
     410             : //___________________________________________________________________________
     411             : void AliEventTagCuts::SetPrimaryVertexXRange(Float_t low, Float_t high) {
     412             :   //Sets the primary vertex x range 
     413             :   //and the corresponding flag to kTRUE if the cut is used.
     414           0 :   fVxMin = low;
     415           0 :   fVxMax = high; 
     416           0 :   fVxFlag = kTRUE;
     417           0 : }
     418             : 
     419             : //___________________________________________________________________________
     420             : void AliEventTagCuts::SetPrimaryVertexYRange(Float_t low, Float_t high) {
     421             :   //Sets the primary vertex y range 
     422             :   //and the corresponding flag to kTRUE if the cut is used.
     423           0 :   fVyMin = low;
     424           0 :   fVyMax = high; 
     425           0 :   fVyFlag = kTRUE;
     426           0 : }
     427             : 
     428             : //___________________________________________________________________________
     429             : void AliEventTagCuts::SetPrimaryVertexZRange(Float_t low, Float_t high) {
     430             :   //Sets the primary vertex z range 
     431             :   //and the corresponding flag to kTRUE if the cut is used.
     432           0 :   fVzMin = low;
     433           0 :   fVzMax = high; 
     434           0 :   fVzFlag = kTRUE;
     435           0 : }
     436             : 
     437             : //___________________________________________________________________________
     438             :  void AliEventTagCuts::SetEtaLeadingParticleRange(Float_t low, Float_t high) {
     439             :   //Sets the eta range of LP 
     440             :   //and the corresponding flag to kTRUE if the cut is used.
     441           0 :   fEtaMin = low;
     442           0 :   fEtaMax = high; 
     443           0 :   fEtaFlag = kTRUE;
     444           0 : }
     445             : //__________________________________________________________________________
     446             : void AliEventTagCuts::SetPhiLeadingParticleRange(Float_t low, Float_t high) {
     447             :   //Sets the eta range of LP 
     448             :   //and the corresponding flag to kTRUE if the cut is used.
     449           0 :   fPhiMin = low;
     450           0 :   fPhiMax = high; 
     451           0 :   fPhiFlag = kTRUE;
     452           0 : } 
     453             : 
     454             : //___________________________________________________________________________
     455             : void AliEventTagCuts::SetPrimaryVertexZErrorRange(Float_t low, Float_t high) {
     456             :   //Sets the primary vertex z error range 
     457             :   //and the corresponding flag to kTRUE if the cut is used.
     458           0 :   fPrimaryVertexZErrorMin = low;
     459           0 :   fPrimaryVertexZErrorMax = high; 
     460           0 :   fPVzErrorFlag = kTRUE;
     461           0 : }
     462             : 
     463             : //___________________________________________________________________________
     464             : void AliEventTagCuts::SetTriggerMask(ULong64_t trmask) {
     465             :   //Sets the trigger mask 
     466             :   //and the corresponding flag to kTRUE if the cut is used.
     467           0 :   fTriggerMask = trmask;
     468           0 :   fTriggerMaskFlag = kTRUE;
     469           0 : }
     470             : 
     471             : //___________________________________________________________________________
     472             : void AliEventTagCuts::SetTriggerCluster(UChar_t trcluster) {
     473             :   //Sets the trigger cluster 
     474             :   //and the corresponding flag to kTRUE if the cut is used.
     475           0 :   fTriggerCluster = trcluster;
     476           0 :   fTriggerClusterFlag = kTRUE;
     477           0 : }
     478             : 
     479             : //___________________________________________________________________________
     480             : void AliEventTagCuts::SetMultiplicityRange(Int_t low, Int_t high) {
     481             :   //Sets the primary multiplicity range 
     482             :   //and the corresponding flag to kTRUE if the cut is used.
     483           0 :   fMultMin = low;
     484           0 :   fMultMax = high;
     485           0 :   fMultFlag = kTRUE;
     486           0 : }
     487             : 
     488             : //___________________________________________________________________________
     489             : void AliEventTagCuts::SetNParticipantsRange(Int_t low, Int_t high) {
     490             :   //Sets the number of participants range 
     491             :   //and the corresponding flag to kTRUE if the cut is used.
     492           0 :   fNParticipantsMin = low;
     493           0 :   fNParticipantsMax = high;
     494           0 :   fNParticipantsFlag = kTRUE;
     495           0 : }
     496             : 
     497             : //___________________________________________________________________________
     498             : void AliEventTagCuts::SetImpactParamRange(Float_t low, Float_t high) {
     499             :   //Sets the impact parameter range 
     500             :   //and the corresponding flag to kTRUE if the cut is used.
     501           0 :   fImpactParamMin = low;
     502           0 :   fImpactParamMax = high;
     503           0 :   fImpactParamFlag = kTRUE;
     504           0 : }
     505             :  
     506             : 
     507             : //___________________________________________________________________________
     508             : void AliEventTagCuts::SetPrimaryVertexFlag(Int_t flag) {
     509             :   //Sets the primary vertex flag cut 
     510             :   //and the corresponding flag to kTRUE if the cut is used.
     511           0 :   fPrimaryVertexFlag = flag;
     512           0 :   fPVFlag = kTRUE;
     513           0 : }
     514             : 
     515             : //___________________________________________________________________________
     516             : void AliEventTagCuts::SetZDCNeutron1Range(Float_t low, Float_t high) {
     517             :   //Sets the ZDC's neutron energy range 
     518             :   //and the corresponding flag to kTRUE if the cut is used.
     519           0 :   fZDCNeutron1EnergyMin = low;
     520           0 :   fZDCNeutron1EnergyMax = high;
     521           0 :   fZDCNeutron1EnergyFlag = kTRUE;
     522           0 : }
     523             : 
     524             : //___________________________________________________________________________
     525             : void AliEventTagCuts::SetZDCProton1Range(Float_t low, Float_t high) {
     526             :   //Sets the ZDC's proton energy range 
     527             :   //and the corresponding flag to kTRUE if the cut is used.
     528           0 :   fZDCProton1EnergyMin = low;
     529           0 :   fZDCProton1EnergyMax = high;
     530           0 :   fZDCProton1EnergyFlag = kTRUE;
     531           0 : }
     532             : //___________________________________________________________________________
     533             : void AliEventTagCuts::SetZDCNeutron2Range(Float_t low, Float_t high) {
     534             :   //Sets the ZDC's neutron energy range 
     535             :   //and the corresponding flag to kTRUE if the cut is used.
     536           0 :   fZDCNeutron2EnergyMin = low;
     537           0 :   fZDCNeutron2EnergyMax = high;
     538           0 :   fZDCNeutron2EnergyFlag = kTRUE;
     539           0 : }
     540             : //___________________________________________________________________________
     541             : void AliEventTagCuts::SetZDCProton2Range(Float_t low, Float_t high) {
     542             :   //Sets the ZDC's proton energy range 
     543             :   //and the corresponding flag to kTRUE if the cut is used.
     544           0 :   fZDCProton2EnergyMin = low;
     545           0 :   fZDCProton2EnergyMax = high;
     546           0 :   fZDCProton2EnergyFlag = kTRUE;
     547           0 : }
     548             : //___________________________________________________________________________
     549             : void AliEventTagCuts::SetZDCEMRange(Float_t low, Float_t high) {
     550             :   //Sets the ZDC's em energy range 
     551             :   //and the corresponding flag to kTRUE if the cut is used.
     552           0 :   fZDCEMEnergyMin = low;
     553           0 :   fZDCEMEnergyMax = high;
     554           0 :   fZDCEMEnergyFlag = kTRUE;
     555           0 : }
     556             : 
     557             : //___________________________________________________________________________
     558             : void AliEventTagCuts::SetT0VertexZRange(Float_t low, Float_t high) {
     559             :   //Sets the T0's Vz range 
     560             :   //and the corresponding flag to kTRUE if the cut is used.
     561           0 :   fT0VertexZMin = low;
     562           0 :   fT0VertexZMax = high;
     563           0 :   fT0VertexZFlag = kTRUE;
     564           0 : }
     565             : 
     566             : //___________________________________________________________________________
     567             : void AliEventTagCuts::SetPosMultiplicityRange(Int_t low, Int_t high) {
     568             :   //Sets the positive multiplicity range 
     569             :   //and the corresponding flag to kTRUE if the cut is used.
     570           0 :   fPosMultMin = low;
     571           0 :   fPosMultMax = high;
     572           0 :   fPosMultFlag = kTRUE;
     573           0 : }
     574             : 
     575             : 
     576             : //___________________________________________________________________________
     577             : void AliEventTagCuts::SetNegMultiplicityRange(Int_t low, Int_t high) {
     578             :   //Sets the negative multiplicity range 
     579             :   //and the corresponding flag to kTRUE if the cut is used.
     580           0 :   fNegMultMin = low;
     581           0 :   fNegMultMax = high;
     582           0 :   fNegMultFlag = kTRUE;
     583           0 : }
     584             : 
     585             : 
     586             : //___________________________________________________________________________
     587             : void AliEventTagCuts::SetNeutrMultiplicityRange(Int_t low, Int_t high) {
     588             :   //Sets the neutral particle multiplicity range 
     589             :   //and the corresponding flag to kTRUE if the cut is used.
     590           0 :   fNeutrMultMin = low;
     591           0 :   fNeutrMultMax = high;
     592           0 :   fNeutrMultFlag = kTRUE;
     593           0 : }
     594             : 
     595             : //___________________________________________________________________________
     596             : void AliEventTagCuts::SetNV0sRange(Int_t low, Int_t high) {
     597             :   //Sets the v0s multiplicity range 
     598             :   //and the corresponding flag to kTRUE if the cut is used.
     599           0 :   fNV0sMin = low;
     600           0 :   fNV0sMax = high;
     601           0 :   fNV0sFlag = kTRUE;
     602           0 : }
     603             : 
     604             : //___________________________________________________________________________
     605             : void AliEventTagCuts::SetNCascadesRange(Int_t low, Int_t high) {
     606             :   //Sets the cascades multiplicity range 
     607             :   //and the corresponding flag to kTRUE if the cut is used.
     608           0 :   fNCascadesMin = low;
     609           0 :   fNCascadesMax = high;
     610           0 :   fNCascadesFlag = kTRUE;
     611           0 : }
     612             : 
     613             : //___________________________________________________________________________
     614             : void AliEventTagCuts::SetNKinksRange(Int_t low, Int_t high) {
     615             :   //Sets the kinks multiplicity range 
     616             :   //and the corresponding flag to kTRUE if the cut is used.
     617           0 :   fNKinksMin = low;
     618           0 :   fNKinksMax = high;
     619           0 :   fNKinksFlag = kTRUE;
     620           0 : }
     621             : 
     622             : //___________________________________________________________________________
     623             : void AliEventTagCuts::SetNPMDTracksRange(Int_t low, Int_t high) {
     624             :   //Sets the number of PMD tracks range 
     625             :   //and the corresponding flag to kTRUE if the cut is used.
     626           0 :   fNPMDTracksMin = low;
     627           0 :   fNPMDTracksMax = high;
     628           0 :   fNPMDTracksFlag = kTRUE;
     629           0 : }
     630             : 
     631             : //___________________________________________________________________________
     632             : void AliEventTagCuts::SetNFMDTracksRange(Int_t low, Int_t high) {
     633             :   //Sets the number of FMD tracks range 
     634             :   //and the corresponding flag to kTRUE if the cut is used.
     635           0 :   fNFMDTracksMin = low;
     636           0 :   fNFMDTracksMax = high;
     637           0 :   fNFMDTracksFlag = kTRUE;
     638           0 : }
     639             : 
     640             : //___________________________________________________________________________
     641             : void AliEventTagCuts::SetNPHOSClustersRange(Int_t low, Int_t high) {
     642             :   //Sets the number of PHOS clusters range 
     643             :   //and the corresponding flag to kTRUE if the cut is used.
     644           0 :   fNPHOSClustersMin = low;
     645           0 :   fNPHOSClustersMax = high;
     646           0 :   fNPHOSClustersFlag = kTRUE;
     647           0 : }
     648             : 
     649             : //___________________________________________________________________________
     650             : void AliEventTagCuts::SetNEMCALClustersRange(Int_t low, Int_t high) {
     651             :   //Sets the number of EMCAL clusters range 
     652             :   //and the corresponding flag to kTRUE if the cut is used.
     653           0 :   fNEMCALClustersMin = low;
     654           0 :   fNEMCALClustersMax = high;
     655           0 :   fNEMCALClustersFlag = kTRUE;
     656           0 : }
     657             : 
     658             : //___________________________________________________________________________
     659             : void AliEventTagCuts::SetNJetCandidatesRange(Int_t low, Int_t high) {
     660             :   //Sets the number of jet candidates range 
     661             :   //and the corresponding flag to kTRUE if the cut is used.
     662           0 :   fNJetCandidatesMin = low;
     663           0 :   fNJetCandidatesMax = high;
     664           0 :   fNJetCandidatesFlag = kTRUE;
     665           0 : }
     666             : 
     667             : //___________________________________________________________________________
     668             : void AliEventTagCuts::SetTopJetEnergyMin(Float_t low) {
     669             :   //Sets the lower limit of the maximum jet energy
     670             :   //and the corresponding flag to kTRUE if the cut is used.
     671           0 :   fTopJetEnergyMin = low; 
     672           0 :   fTopJetEnergyMinFlag = kTRUE;
     673           0 : }
     674             : //___________________________________________________________________________
     675             : void AliEventTagCuts::SetTopNeutralEnergyMin(Float_t low) {
     676             :   //Sets the lower limit of the maximum neutral jet energy
     677             :   //and the corresponding flag to kTRUE if the cut is used.
     678           0 :   fTopNeutralEnergyMin = low; 
     679           0 :   fTopNeutralEnergyMinFlag = kTRUE;
     680           0 : }
     681             : //___________________________________________________________________________
     682             : void AliEventTagCuts::SetNHardPhotonsRange(Int_t low, Int_t high) {
     683             :   //Sets the hard photons multiplicity range
     684             :   //and the corresponding flag to kTRUE if the cut is used.
     685           0 :   fNHardPhotonCandidatesMin = low;
     686           0 :   fNHardPhotonCandidatesMax = high;
     687           0 :   fNHardPhotonCandidatesFlag = kTRUE;
     688           0 : } 
     689             : 
     690             : //___________________________________________________________________________
     691             : void AliEventTagCuts::SetNChargedAbove1GeVRange(Int_t low, Int_t high) {
     692             :   //Sets the number of charged above 1GeV range
     693             :   //and the corresponding flag to kTRUE if the cut is used.
     694           0 :   fNChargedAbove1GeVMin = low;
     695           0 :   fNChargedAbove1GeVMax = high;
     696           0 :   fNChargedAbove1GeVFlag = kTRUE;
     697           0 : }
     698             : 
     699             : //___________________________________________________________________________
     700             :  void AliEventTagCuts::SetNChargedAbove3GeVRange(Int_t low, Int_t high) {
     701             :   //Sets the number of charged above 3GeV range
     702             :   //and the corresponding flag to kTRUE if the cut is used.
     703           0 :   fNChargedAbove3GeVMin = low;
     704           0 :   fNChargedAbove3GeVMax = high;
     705           0 :   fNChargedAbove3GeVFlag = kTRUE;
     706           0 : }
     707             : 
     708             : 
     709             : //___________________________________________________________________________
     710             : void AliEventTagCuts::SetNChargedAbove10GeVRange(Int_t low, Int_t high) {
     711             :   //Sets the number of charged above 10GeV range
     712             :   //and the corresponding flag to kTRUE if the cut is used.
     713           0 :   fNChargedAbove10GeVMin = low;
     714           0 :   fNChargedAbove10GeVMax = high;
     715           0 :   fNChargedAbove10GeVFlag = kTRUE;
     716           0 : }
     717             : 
     718             : 
     719             : //___________________________________________________________________________
     720             : void AliEventTagCuts::SetNMuonsAbove1GeVRange(Int_t low, Int_t high) {
     721             :   //Sets the number of muons above 1GeV range
     722             :   //and the corresponding flag to kTRUE if the cut is used.
     723           0 :   fNMuonsAbove1GeVMin = low;
     724           0 :   fNMuonsAbove1GeVMax = high;
     725           0 :   fNMuonsAbove1GeVFlag = kTRUE;
     726           0 : }
     727             : 
     728             : 
     729             : //___________________________________________________________________________
     730             : void AliEventTagCuts::SetNMuonsAbove3GeVRange(Int_t low, Int_t high) {
     731             :   //Sets the number of muons above 3GeV range
     732             :   //and the corresponding flag to kTRUE if the cut is used.
     733           0 :   fNMuonsAbove3GeVMin = low;
     734           0 :   fNMuonsAbove3GeVMax = high;
     735           0 :   fNMuonsAbove3GeVFlag = kTRUE;
     736           0 : } 
     737             : 
     738             : //___________________________________________________________________________
     739             : void AliEventTagCuts::SetNMuonsAbove10GeVRange(Int_t low, Int_t high) {
     740             :   //Sets the number of muons above 10GeV range
     741             :   //and the corresponding flag to kTRUE if the cut is used.
     742           0 :   fNMuonsAbove10GeVMin = low;
     743           0 :   fNMuonsAbove10GeVMax = high; 
     744           0 :   fNMuonsAbove10GeVFlag = kTRUE;
     745           0 : }
     746             : 
     747             : 
     748             : //___________________________________________________________________________
     749             : void AliEventTagCuts::SetNElectronsAbove1GeVRange(Int_t low, Int_t high) {
     750             :   //Sets the number of electrons above 1GeV range
     751             :   //and the corresponding flag to kTRUE if the cut is used.
     752           0 :   fNElectronsAbove1GeVMin = low;
     753           0 :   fNElectronsAbove1GeVMax = high;
     754           0 :   fNElectronsAbove1GeVFlag = kTRUE;
     755           0 : }
     756             : 
     757             : //___________________________________________________________________________
     758             : void AliEventTagCuts::SetNElectronsAbove3GeVRange(Int_t low, Int_t high) {
     759             :   //Sets the number of electrons above 3GeV range
     760             :   //and the corresponding flag to kTRUE if the cut is used.
     761           0 :   fNElectronsAbove3GeVMin = low;
     762           0 :   fNElectronsAbove3GeVMax = high;
     763           0 :   fNElectronsAbove3GeVFlag = kTRUE;
     764           0 : }
     765             : 
     766             : //___________________________________________________________________________
     767             : void AliEventTagCuts::SetNElectronsAbove10GeVRange(Int_t low, Int_t high) {  
     768             :   //Sets the number of electrons above 10GeV range
     769             :   //and the corresponding flag to kTRUE if the cut is used.
     770           0 :   fNElectronsAbove10GeVMin = low;
     771           0 :   fNElectronsAbove10GeVMax = high;
     772           0 :   fNElectronsAbove10GeVFlag = kTRUE;
     773           0 : }
     774             : //___________________________________________________________________________
     775             : void AliEventTagCuts::SetNElectronRange(Int_t low, Int_t high) {
     776             :   //Sets the electron multiplicity range
     777             :   //and the corresponding flag to kTRUE if the cut is used.
     778           0 :   fNElectronsMin = low;
     779           0 :   fNElectronsMax = high;
     780           0 :   fNElectronsFlag = kTRUE;
     781           0 : }
     782             : //___________________________________________________________________________
     783             : void AliEventTagCuts::SetNFWMuonRange(Int_t low, Int_t high) {
     784             :   //Sets the forward muon multiplicity range
     785             :   //and the corresponding flag to kTRUE if the cut is used.
     786           0 :   fNFWMuonsMin = low;
     787           0 :   fNFWMuonsMax = high;
     788           0 :   fNFWMuonsFlag = kTRUE;
     789           0 : }
     790             : 
     791             : //___________________________________________________________________________
     792             : void AliEventTagCuts::SetNFWMatchedMuonRange(Int_t low, Int_t high) {
     793             :   //Sets the forward trigger matched muon multiplicity range
     794             :   //and the corresponding flag to kTRUE if the cut is used.
     795           0 :   fNFWMatchedMuonsMin = low;
     796           0 :   fNFWMatchedMuonsMax = high;
     797           0 :   fNFWMatchedMuonsFlag = kTRUE;
     798           0 : }
     799             : 
     800             : //___________________________________________________________________________
     801             : void AliEventTagCuts::SetNMuonRange(Int_t low, Int_t high) {
     802             :   //Sets the muon multiplicity range
     803             :   //and the corresponding flag to kTRUE if the cut is used.
     804           0 :   fNMuonsMin = low;
     805           0 :   fNMuonsMax = high;
     806           0 :   fNMuonsFlag = kTRUE;
     807           0 : }
     808             : 
     809             : //___________________________________________________________________________
     810             : void AliEventTagCuts::SetNPionRange(Int_t low, Int_t high) {
     811             :   //Sets the pion multiplicity range
     812             :   //and the corresponding flag to kTRUE if the cut is used.
     813           0 :   fNPionsMin = low;
     814           0 :   fNPionsMax = high;
     815           0 :   fNPionsFlag = kTRUE;
     816           0 : } 
     817             : 
     818             : //___________________________________________________________________________
     819             : void AliEventTagCuts::SetNKaonRange(Int_t low, Int_t high) {
     820             :   //Sets the kaon multiplicity range
     821             :   //and the corresponding flag to kTRUE if the cut is used.
     822           0 :   fNKaonsMin = low;
     823           0 :   fNKaonsMax = high;
     824           0 :   fNKaonsFlag = kTRUE;
     825           0 : }
     826             : 
     827             : //___________________________________________________________________________
     828             : void AliEventTagCuts::SetNProtonRange(Int_t low, Int_t high) {
     829             :   //Sets the proton multiplicity range
     830             :   //and the corresponding flag to kTRUE if the cut is used.
     831           0 :   fNProtonsMin = low;
     832           0 :   fNProtonsMax = high;
     833           0 :   fNProtonsFlag = kTRUE;
     834           0 : } 
     835             : 
     836             : //___________________________________________________________________________
     837             : void AliEventTagCuts::SetNLambdaRange(Int_t low, Int_t high) {
     838             :   //Sets the lambda multiplicity range
     839             :   //and the corresponding flag to kTRUE if the cut is used.
     840           0 :   fNLambdasMin = low;
     841           0 :   fNLambdasMax = high;
     842           0 :   fNLambdasFlag = kTRUE;
     843           0 : } 
     844             : //___________________________________________________________________________
     845             : void AliEventTagCuts::SetNPhotonRange(Int_t low, Int_t high) {
     846             :   //Sets the photon multiplicity range
     847             :   //and the corresponding flag to kTRUE if the cut is used.
     848           0 :   fNPhotonsMin = low;
     849           0 :   fNPhotonsMax = high;
     850           0 :   fNPhotonFlag = kTRUE;
     851           0 : } 
     852             : //___________________________________________________________________________
     853             : void AliEventTagCuts::SetNPi0Range(Int_t low, Int_t high) {
     854             :   //Sets the pi0 multiplicity range
     855             :   //and the corresponding flag to kTRUE if the cut is used.
     856           0 :   fNPi0sMin = low;
     857           0 :   fNPi0sMax = high; 
     858           0 :   fNPi0sFlag = kTRUE;
     859           0 : }  
     860             : 
     861             : //___________________________________________________________________________
     862             : void AliEventTagCuts::SetNNeutronRange(Int_t low, Int_t high) {
     863             :   //Sets the neutron multiplicity range
     864             :   //and the corresponding flag to kTRUE if the cut is used.
     865           0 :   fNNeutronsMin = low;
     866           0 :   fNNeutronsMax = high; 
     867           0 :   fNNeutronsFlag = kTRUE;
     868           0 : }
     869             : 
     870             : //___________________________________________________________________________
     871             : void AliEventTagCuts::SetNKaon0Range(Int_t low, Int_t high) {  
     872             :   //Sets the K0s multiplicity range
     873             :   //and the corresponding flag to kTRUE if the cut is used.
     874           0 :   fNKaon0sMin = low;
     875           0 :   fNKaon0sMax = high; 
     876           0 :   fNKaon0sFlag = kTRUE;
     877           0 : }
     878             : 
     879             : //___________________________________________________________________________
     880             : void AliEventTagCuts::SetTotalPRange(Float_t low, Float_t high) {
     881             :   //Sets the total momentum range
     882             :   //and the corresponding flag to kTRUE if the cut is used.
     883           0 :   fTotalPMin = low;
     884           0 :   fTotalPMax = high;
     885           0 :   fTotalPFlag = kTRUE;
     886           0 : }
     887             : 
     888             : //___________________________________________________________________________
     889             : void AliEventTagCuts::SetMeanPtRange(Float_t low, Float_t high) {
     890             :   //Sets the mean Pt range
     891             :   //and the corresponding flag to kTRUE if the cut is used.
     892           0 :   fMeanPtMin = low;
     893           0 :   fMeanPtMax = high;
     894           0 :   fMeanPtFlag = kTRUE;
     895           0 : }  
     896             : 
     897             : //___________________________________________________________________________
     898             : void AliEventTagCuts::SetTopPtMin(Float_t low) {
     899             :   //Sets the lower limit of the max Pt value
     900             :   //and the corresponding flag to kTRUE if the cut is used.
     901           0 :   fTopPtMin = low; 
     902           0 :   fTopPtMinFlag = kTRUE;
     903           0 : }
     904             : 
     905             : //___________________________________________________________________________
     906             : void AliEventTagCuts::SetTotalNeutralPRange(Float_t low, Float_t high) {  
     907             :   //Sets the total momentum of neutral particles range
     908             :   //and the corresponding flag to kTRUE if the cut is used.
     909           0 :   fTotalNeutralPMin =low ;
     910           0 :   fTotalNeutralPMax = high;  
     911           0 :   fTotalNeutralPFlag = kTRUE;
     912           0 : }
     913             : //___________________________________________________________________________
     914             : void AliEventTagCuts::SetMeanNeutralPtPRange(Float_t low, Float_t high) {  
     915             :   //Sets the mean Pt of neutral particles range
     916             :   //and the corresponding flag to kTRUE if the cut is used.
     917           0 :   fMeanNeutralPtMin = low;
     918           0 :   fMeanNeutralPtMax = high; 
     919           0 :   fMeanNeutralPtFlag = kTRUE;
     920           0 : }
     921             : //___________________________________________________________________________
     922             : void AliEventTagCuts::SetTopNeutralPtMin(Float_t low) {  
     923             :   //Sets the lower limit of the maximum Pt of neutral particles
     924             :   //and the corresponding flag to kTRUE if the cut is used.
     925           0 :   fTopNeutralPtMin = low; 
     926           0 :   fTopNeutralPtMinFlag = kTRUE;
     927           0 : }
     928             : 
     929             : //___________________________________________________________________________
     930             : void AliEventTagCuts::SetEventPlaneAngleRange(Float_t low, Float_t high) {
     931             :   //Sets the event plane range
     932             :   //and the corresponding flag to kTRUE if the cut is used.
     933           0 :   fEventPlaneAngleMin = low;
     934           0 :   fEventPlaneAngleMax = high; 
     935           0 :   fEventPlaneAngleFlag = kTRUE;
     936           0 : }
     937             : 
     938             : //___________________________________________________________________________
     939             : void AliEventTagCuts::SetHBTRadiiRange(Float_t low, Float_t high) {
     940             :   //Sets the HBT radii range
     941             :   //and the corresponding flag to kTRUE if the cut is used.
     942           0 :   fHBTRadiiMin = low;
     943           0 :   fHBTRadiiMax = high; 
     944           0 :   fHBTRadiiFlag = kTRUE;
     945           0 : }
     946             : 
     947             : void AliEventTagCuts::AddRequiredFiredTriggerClass(TString aclass)
     948             : {
     949           0 :   fFiredTriggerClass += " ";
     950           0 :   fFiredTriggerClass += aclass;
     951           0 :   fFiredTriggerClassFlag = kTRUE;
     952           0 : }
     953             : 
     954             : void AliEventTagCuts::ResetTriggerClasses()
     955             : {
     956           0 :   fFiredTriggerClassFlag = kFALSE;
     957           0 :   fFiredTriggerClass = "";
     958           0 : }
     959             : 
     960             : void AliEventTagCuts::InitializeTriggerClasses(TString aclass)
     961             : {
     962           0 :   fActiveTriggerClasses = aclass;
     963           0 : }
     964             : 
     965             : //___________________________________________________________________________
     966             : Bool_t AliEventTagCuts::IsAccepted(AliEventTag *EvTag) const {
     967             :   //Returns true if the event is accepted otherwise false.
     968           0 :   if(fEventTypeFlag)
     969           0 :     if(EvTag->GetEventType() != fEventType)
     970           0 :       return kFALSE;
     971             :   
     972           0 :   if(fNumberOfFiredChipsLayer1Flag)
     973           0 :     if((EvTag->GetNumberOfFiredChipsLayer1() < fNumberOfFiredChipsLayer1Min) || (EvTag->GetNumberOfFiredChipsLayer1() > fNumberOfFiredChipsLayer1Max))
     974           0 :       return kFALSE;
     975             : 
     976           0 :   if(fNumberOfFiredChipsLayer2Flag)
     977           0 :     if((EvTag->GetNumberOfFiredChipsLayer2() < fNumberOfFiredChipsLayer2Min) || (EvTag->GetNumberOfFiredChipsLayer2() > fNumberOfFiredChipsLayer2Max))
     978           0 :       return kFALSE;
     979             : 
     980           0 :   if(fNumberOfSPDTrackletsFlag)
     981           0 :     if((EvTag->GetNumberOfSPDTracklets() < fNumberOfSPDTrackletsMin) || (EvTag->GetNumberOfSPDTracklets() > fNumberOfSPDTrackletsMax))
     982           0 :       return kFALSE;
     983             : 
     984           0 :   if(fPeriodNumberFlag)
     985           0 :     if((EvTag->GetPeriodNumber() < fPeriodNumberMin) || (EvTag->GetPeriodNumber() > fPeriodNumberMax))
     986           0 :       return kFALSE;
     987             : 
     988           0 :   if(fOrbitNumberFlag)
     989           0 :     if((EvTag->GetOrbitNumber() < fOrbitNumberMin) || (EvTag->GetOrbitNumber() > fOrbitNumberMax))
     990           0 :       return kFALSE;
     991             : 
     992           0 :   if(fBunchCrossNumberFlag)
     993           0 :     if((EvTag->GetBunchCrossNumber() < fBunchCrossNumberMin) || (EvTag->GetBunchCrossNumber() > fBunchCrossNumberMax))
     994           0 :       return kFALSE;
     995             : 
     996             : 
     997           0 :  if(fEtaFlag)
     998           0 :     if((EvTag->GetEtaMaxPt() < fEtaMin) || (EvTag->GetEtaMaxPt() > fEtaMax))
     999           0 :       return kFALSE;
    1000             : 
    1001           0 :   if(fPhiFlag)
    1002           0 :     if((EvTag->GetPhiMaxPt() < fPhiMin) || (EvTag->GetPhiMaxPt() > fPhiMax))
    1003           0 :       return kFALSE;
    1004             : 
    1005           0 :   if(fVzFlag)
    1006           0 :     if((EvTag->GetVertexZ() < fVzMin) || (EvTag->GetVertexZ() > fVzMax))
    1007           0 :       return kFALSE;
    1008             :   
    1009           0 :   if(fVyFlag)
    1010           0 :     if((EvTag->GetVertexY() < fVyMin) || (EvTag->GetVertexY() > fVyMax))
    1011           0 :       return kFALSE;
    1012             :   
    1013           0 :   if(fVxFlag)
    1014           0 :     if((EvTag->GetVertexX() < fVxMin) || (EvTag->GetVertexX() > fVxMax))
    1015           0 :       return kFALSE;
    1016             :   
    1017           0 :   if(fNParticipantsFlag)
    1018           0 :     if((EvTag->GetNumOfParticipants() < fNParticipantsMin) || (EvTag->GetNumOfParticipants() > fNParticipantsMax))
    1019           0 :       return kFALSE; 
    1020             :   
    1021           0 :   if(fImpactParamFlag)
    1022           0 :     if((EvTag->GetImpactParameter() < fImpactParamMin) || (EvTag->GetImpactParameter() > fImpactParamMax))
    1023           0 :       return kFALSE; 
    1024             :   
    1025           0 :   if(fPVFlag)
    1026           0 :     if((EvTag->GetVertexFlag() != fPrimaryVertexFlag))
    1027           0 :       return kFALSE; 
    1028             :   
    1029           0 :   if(fPVzErrorFlag)
    1030           0 :     if((EvTag->GetVertexZError() < fPrimaryVertexZErrorMin) || (EvTag->GetVertexZError() > fPrimaryVertexZErrorMax))
    1031           0 :       return kFALSE; 
    1032           0 :   if(fTriggerMaskFlag)
    1033           0 :     if((EvTag->GetTriggerMask() & fTriggerMask) != fTriggerMask)
    1034           0 :       return kFALSE; 
    1035           0 :   if(fTriggerClusterFlag)
    1036           0 :     if((EvTag->GetTriggerCluster() != fTriggerCluster))
    1037           0 :       return kFALSE; 
    1038             : 
    1039           0 :   if(fZDCNeutron1EnergyFlag)
    1040           0 :     if((EvTag->GetZDCNeutron1Energy() < fZDCNeutron1EnergyMin) || (EvTag->GetZDCNeutron1Energy() > fZDCNeutron1EnergyMax))
    1041           0 :       return kFALSE; 
    1042             :   
    1043           0 :   if(fZDCProton1EnergyFlag)
    1044           0 :     if((EvTag->GetZDCProton1Energy() < fZDCProton1EnergyMin) || (EvTag->GetZDCProton1Energy() > fZDCProton1EnergyMax))
    1045           0 :       return kFALSE; 
    1046             :   
    1047           0 :   if(fZDCNeutron2EnergyFlag)
    1048           0 :     if((EvTag->GetZDCNeutron2Energy() < fZDCNeutron2EnergyMin) || (EvTag->GetZDCNeutron2Energy() > fZDCNeutron2EnergyMax))
    1049           0 :       return kFALSE; 
    1050             :   
    1051           0 :   if(fZDCProton2EnergyFlag)
    1052           0 :     if((EvTag->GetZDCProton2Energy() < fZDCProton2EnergyMin) || (EvTag->GetZDCProton2Energy() > fZDCProton2EnergyMax))
    1053           0 :       return kFALSE; 
    1054             :   
    1055           0 :   if(fZDCEMEnergyFlag)
    1056           0 :     if((EvTag->GetZDCEMEnergy(1) < fZDCEMEnergyMin) || (EvTag->GetZDCEMEnergy(1) > fZDCEMEnergyMax))
    1057           0 :       return kFALSE; 
    1058             :   
    1059           0 :   if(fT0VertexZFlag)
    1060           0 :     if((EvTag->GetT0VertexZ() < fT0VertexZMin) || (EvTag->GetT0VertexZ() > fT0VertexZMax))
    1061           0 :       return kFALSE; 
    1062             :   
    1063           0 :   if(fMultFlag)
    1064           0 :     if((EvTag->GetNumOfTracks() < fMultMin) || (EvTag->GetNumOfTracks() > fMultMax))
    1065           0 :       return kFALSE; 
    1066             :   
    1067           0 :   if(fPosMultFlag)
    1068           0 :     if((EvTag->GetNumOfPosTracks() < fPosMultMin) || (EvTag->GetNumOfPosTracks() > fPosMultMax))
    1069           0 :       return kFALSE; 
    1070             :   
    1071           0 :   if(fNegMultFlag)
    1072           0 :     if((EvTag->GetNumOfNegTracks() < fNegMultMin) || (EvTag->GetNumOfNegTracks() > fNegMultMax))
    1073           0 :       return kFALSE; 
    1074             :   
    1075           0 :   if(fNeutrMultFlag)
    1076           0 :     if((EvTag->GetNumOfNeutrTracks() < fNeutrMultMin) || (EvTag->GetNumOfNeutrTracks() > fNeutrMultMax))
    1077           0 :       return kFALSE; 
    1078             :   
    1079           0 :   if(fNV0sFlag)
    1080           0 :     if((EvTag->GetNumOfV0s() < fNV0sMin) || (EvTag->GetNumOfV0s() > fNV0sMax))
    1081           0 :       return kFALSE; 
    1082             :   
    1083           0 :   if(fNCascadesFlag)
    1084           0 :     if((EvTag->GetNumOfCascades() < fNCascadesMin) || (EvTag->GetNumOfCascades() > fNCascadesMax))
    1085           0 :       return kFALSE; 
    1086             :   
    1087           0 :   if(fNKinksFlag)
    1088           0 :     if((EvTag->GetNumOfKinks() < fNKinksMin) || (EvTag->GetNumOfKinks() > fNKinksMax))
    1089           0 :       return kFALSE; 
    1090             : 
    1091             : 
    1092           0 :   if(fNPMDTracksFlag)
    1093           0 :     if((EvTag->GetNumOfPMDTracks() < fNPMDTracksMin) || (EvTag->GetNumOfPMDTracks() > fNPMDTracksMax))
    1094           0 :       return kFALSE; 
    1095           0 :   if(fNFMDTracksFlag)
    1096           0 :     if((EvTag->GetNumOfFMDTracks() < fNFMDTracksMin) || (EvTag->GetNumOfFMDTracks() > fNFMDTracksMax))
    1097           0 :       return kFALSE; 
    1098           0 :   if(fNPHOSClustersFlag)
    1099           0 :     if((EvTag->GetNumOfPHOSClusters() < fNPHOSClustersMin) || (EvTag->GetNumOfPHOSClusters() > fNPHOSClustersMax))
    1100           0 :       return kFALSE; 
    1101           0 :   if(fNEMCALClustersFlag)
    1102           0 :     if((EvTag->GetNumOfEMCALClusters() < fNEMCALClustersMin) || (EvTag->GetNumOfEMCALClusters() > fNEMCALClustersMax))
    1103           0 :       return kFALSE; 
    1104           0 :   if(fNJetCandidatesFlag)
    1105           0 :     if((EvTag->GetNumOfJetCandidates() < fNJetCandidatesMin) || (EvTag->GetNumOfJetCandidates() > fNJetCandidatesMax))
    1106           0 :       return kFALSE; 
    1107             : 
    1108             : 
    1109           0 :   if(fTopJetEnergyMinFlag)
    1110           0 :     if((EvTag->GetMaxJetEnergy() < fTopJetEnergyMin))
    1111           0 :       return kFALSE; 
    1112             :   
    1113           0 :   if(fNHardPhotonCandidatesFlag)
    1114           0 :     if((EvTag->GetNumOfHardPhotonsCandidates() < fNHardPhotonCandidatesMin) || (EvTag->GetNumOfHardPhotonsCandidates() > fNHardPhotonCandidatesMax))
    1115           0 :       return kFALSE; 
    1116             :   
    1117           0 :   if(fTopNeutralEnergyMinFlag)
    1118           0 :     if((EvTag->GetMaxNeutralEnergy() < fTopNeutralEnergyMin))
    1119           0 :       return kFALSE; 
    1120             :   
    1121           0 :   if(fNChargedAbove1GeVFlag)
    1122           0 :     if((EvTag->GetNumOfChargedAbove1GeV() < fNChargedAbove1GeVMin) || (EvTag->GetNumOfChargedAbove1GeV() > fNChargedAbove1GeVMax))
    1123           0 :       return kFALSE; 
    1124             :   
    1125           0 :   if(fNChargedAbove3GeVFlag)
    1126           0 :     if((EvTag->GetNumOfChargedAbove3GeV() < fNChargedAbove3GeVMin) || (EvTag->GetNumOfChargedAbove3GeV() > fNChargedAbove3GeVMax))
    1127           0 :       return kFALSE; 
    1128             :   
    1129           0 :   if(fNChargedAbove10GeVFlag)
    1130           0 :     if((EvTag->GetNumOfChargedAbove10GeV() < fNChargedAbove10GeVMin) || (EvTag->GetNumOfChargedAbove10GeV() > fNChargedAbove10GeVMax))
    1131           0 :       return kFALSE; 
    1132             :   
    1133           0 :   if(fNMuonsAbove1GeVFlag)
    1134           0 :     if((EvTag->GetNumOfMuonsAbove1GeV() < fNMuonsAbove1GeVMin) || (EvTag->GetNumOfMuonsAbove1GeV() > fNMuonsAbove1GeVMax))
    1135           0 :       return kFALSE; 
    1136             :   
    1137           0 :   if(fNMuonsAbove3GeVFlag)
    1138           0 :     if((EvTag->GetNumOfMuonsAbove3GeV() < fNMuonsAbove3GeVMin) || (EvTag->GetNumOfMuonsAbove3GeV() > fNMuonsAbove3GeVMax))
    1139           0 :       return kFALSE; 
    1140             :   
    1141           0 :   if(fNMuonsAbove10GeVFlag)
    1142           0 :     if((EvTag->GetNumOfMuonsAbove10GeV() < fNMuonsAbove10GeVMin) || (EvTag->GetNumOfMuonsAbove10GeV() > fNMuonsAbove10GeVMax))
    1143           0 :       return kFALSE; 
    1144             :   
    1145           0 :   if(fNElectronsAbove1GeVFlag)
    1146           0 :     if((EvTag->GetNumOfElectronsAbove1GeV()  < fNElectronsAbove1GeVMin) || (EvTag->GetNumOfElectronsAbove1GeV()  > fNElectronsAbove1GeVMax))
    1147           0 :       return kFALSE; 
    1148             :   
    1149           0 :   if(fNElectronsAbove3GeVFlag)
    1150           0 :     if((EvTag->GetNumOfElectronsAbove3GeV() < fNElectronsAbove3GeVMin) || (EvTag->GetNumOfElectronsAbove3GeV() > fNElectronsAbove3GeVMax))
    1151           0 :       return kFALSE; 
    1152             :   
    1153           0 :   if(fNElectronsAbove10GeVFlag)
    1154           0 :     if((EvTag->GetNumOfElectronsAbove10GeV() < fNElectronsAbove10GeVMin) || (EvTag->GetNumOfElectronsAbove10GeV() > fNElectronsAbove10GeVMax))
    1155           0 :       return kFALSE; 
    1156             :   
    1157           0 :   if(fNElectronsFlag)
    1158           0 :     if((EvTag->GetNumOfElectrons() < fNElectronsMin) || (EvTag->GetNumOfElectrons() > fNElectronsMax))
    1159           0 :       return kFALSE; 
    1160             :   
    1161           0 :   if(fNFWMuonsFlag)
    1162           0 :     if((EvTag->GetNumOfFWMuons() < fNFWMuonsMin) || (EvTag->GetNumOfFWMuons() > fNFWMuonsMax))
    1163           0 :       return kFALSE; 
    1164             :   
    1165           0 :   if(fNFWMatchedMuonsFlag)
    1166           0 :     if((EvTag->GetNumOfFWMatchedMuons() < fNFWMatchedMuonsMin) || (EvTag->GetNumOfFWMatchedMuons() > fNFWMatchedMuonsMax))
    1167           0 :       return kFALSE; 
    1168             :   
    1169           0 :   if(fNMuonsFlag)
    1170           0 :     if((EvTag->GetNumOfMuons() < fNMuonsMin) || (EvTag->GetNumOfMuons() > fNMuonsMax))
    1171           0 :       return kFALSE; 
    1172             :   
    1173           0 :   if(fNPionsFlag)
    1174           0 :     if((EvTag->GetNumOfPions() < fNPionsMin) || (EvTag->GetNumOfPions() > fNPionsMax))
    1175           0 :       return kFALSE; 
    1176             :   
    1177           0 :   if(fNKaonsFlag)
    1178           0 :     if((EvTag->GetNumOfKaons() < fNKaonsMin) || (EvTag->GetNumOfKaons() > fNKaonsMax))
    1179           0 :       return kFALSE; 
    1180             :   
    1181           0 :   if(fNProtonsFlag)
    1182           0 :     if((EvTag->GetNumOfProtons() < fNProtonsMin) || (EvTag->GetNumOfProtons() > fNProtonsMax))
    1183           0 :       return kFALSE; 
    1184             :   
    1185           0 :   if(fNLambdasFlag)
    1186           0 :     if((EvTag->GetNumOfLambdas() < fNLambdasMin) || (EvTag->GetNumOfLambdas() > fNLambdasMax))
    1187           0 :       return kFALSE; 
    1188             :   
    1189           0 :   if(fNPhotonFlag)
    1190           0 :     if((EvTag->GetNumOfPhotons() < fNPhotonsMin) || (EvTag->GetNumOfPhotons() > fNPhotonsMax))
    1191           0 :       return kFALSE; 
    1192             :   
    1193           0 :   if(fNPi0sFlag)
    1194           0 :     if((EvTag->GetNumOfPi0s() < fNPi0sMin) || (EvTag->GetNumOfPi0s() > fNPi0sMax))
    1195           0 :       return kFALSE; 
    1196             :   
    1197           0 :   if(fNNeutronsFlag)
    1198           0 :     if((EvTag->GetNumOfNeutrons() < fNNeutronsMin) || (EvTag->GetNumOfNeutrons() > fNNeutronsMax))
    1199           0 :       return kFALSE; 
    1200             :   
    1201           0 :   if(fNKaon0sFlag)
    1202           0 :     if((EvTag->GetNumOfKaon0s() < fNKaon0sMin) || (EvTag->GetNumOfKaon0s() > fNKaon0sMax))
    1203           0 :       return kFALSE; 
    1204             :   
    1205           0 :   if(fTotalPFlag)
    1206           0 :     if((EvTag->GetTotalMomentum() < fTotalPMin) || (EvTag->GetTotalMomentum() > fTotalPMax))
    1207           0 :       return kFALSE; 
    1208             :   
    1209           0 :   if(fMeanPtFlag)
    1210           0 :     if((EvTag->GetMeanPt() < fMeanPtMin) || (EvTag->GetMeanPt() > fMeanPtMax))
    1211           0 :       return kFALSE; 
    1212             :   
    1213           0 :   if(fTopPtMinFlag)
    1214           0 :     if((EvTag->GetMaxPt() < fTopPtMin))
    1215           0 :       return kFALSE; 
    1216             :   
    1217           0 :   if(fTotalNeutralPFlag)
    1218           0 :     if((EvTag->GetNeutralTotalMomentum() < fTotalNeutralPMin) || (EvTag->GetNeutralTotalMomentum() > fTotalNeutralPMax))
    1219           0 :       return kFALSE; 
    1220             :   
    1221           0 :   if(fMeanNeutralPtFlag)
    1222           0 :     if((EvTag->GetNeutralMeanPt() < fMeanNeutralPtMin) || (EvTag->GetNeutralMeanPt() >fMeanNeutralPtMax ))
    1223           0 :       return kFALSE; 
    1224             :   
    1225           0 :   if(fTopNeutralPtMinFlag)
    1226           0 :     if((EvTag->GetNeutralMaxPt() < fTopNeutralPtMin))
    1227           0 :       return kFALSE; 
    1228             :   
    1229           0 :   if(fEventPlaneAngleFlag)
    1230           0 :     if((EvTag->GetEventPlaneAngle() < fEventPlaneAngleMin) || (EvTag->GetEventPlaneAngle() > fEventPlaneAngleMax))
    1231           0 :       return kFALSE; 
    1232             :   
    1233           0 :   if(fHBTRadiiFlag)
    1234           0 :     if((EvTag->GetHBTRadii() < fHBTRadiiMin) || (EvTag->GetHBTRadii() > fHBTRadiiMax))
    1235           0 :       return kFALSE; 
    1236             : 
    1237           0 :   if (fFiredTriggerClassFlag) {
    1238           0 :     if (fActiveTriggerClasses.Length() == 0) {
    1239           0 :       AliWarning("Attempt to select Trigger classes but Active trigger classes not set in AliEventTagCuts. Cannot make the selection on Fired Trigger classes");
    1240           0 :     }
    1241             :     else {
    1242           0 :       TObjArray *tClasses = fFiredTriggerClass.Tokenize(" ");
    1243             :       Bool_t tTrig = kFALSE;
    1244             :     
    1245           0 :       for (int itrig=0; itrig<tClasses->GetEntries(); itrig++)
    1246           0 :         if (EvTag->GetFiredTriggerClasses(fActiveTriggerClasses).Contains(((TObjString *) tClasses->At(itrig))->GetString()))
    1247           0 :           tTrig = kTRUE;
    1248             :       
    1249           0 :       tClasses->Delete();
    1250           0 :       delete tClasses;
    1251             :       
    1252           0 :       if (!tTrig)
    1253           0 :         return kFALSE;
    1254           0 :     }
    1255             :   }
    1256             :   
    1257           0 :   return kTRUE;
    1258           0 : }
    1259             : 
    1260             : Bool_t AliEventTagCuts::IsAccepted(const AliEventTag *EvTag) const
    1261             : {
    1262             :   //Returns true if the event is accepted otherwise false.
    1263           0 :   if(fEventTypeFlag)
    1264           0 :     if(EvTag->GetEventType() != fEventType)
    1265           0 :       return kFALSE;
    1266             :   
    1267           0 :   if(fNumberOfFiredChipsLayer1Flag)
    1268           0 :     if((EvTag->GetNumberOfFiredChipsLayer1() < fNumberOfFiredChipsLayer1Min) || (EvTag->GetNumberOfFiredChipsLayer1() > fNumberOfFiredChipsLayer1Max))
    1269           0 :       return kFALSE;
    1270             : 
    1271           0 :   if(fNumberOfFiredChipsLayer2Flag)
    1272           0 :     if((EvTag->GetNumberOfFiredChipsLayer2() < fNumberOfFiredChipsLayer2Min) || (EvTag->GetNumberOfFiredChipsLayer2() > fNumberOfFiredChipsLayer2Max))
    1273           0 :       return kFALSE;
    1274             : 
    1275           0 :   if(fNumberOfSPDTrackletsFlag)
    1276           0 :     if((EvTag->GetNumberOfSPDTracklets() < fNumberOfSPDTrackletsMin) || (EvTag->GetNumberOfSPDTracklets() > fNumberOfSPDTrackletsMax))
    1277           0 :       return kFALSE;
    1278             : 
    1279           0 :   if(fPeriodNumberFlag)
    1280           0 :     if((EvTag->GetPeriodNumber() < fPeriodNumberMin) || (EvTag->GetPeriodNumber() > fPeriodNumberMax))
    1281           0 :       return kFALSE;
    1282             : 
    1283           0 :   if(fOrbitNumberFlag)
    1284           0 :     if((EvTag->GetOrbitNumber() < fOrbitNumberMin) || (EvTag->GetOrbitNumber() > fOrbitNumberMax))
    1285           0 :       return kFALSE;
    1286             : 
    1287           0 :   if(fBunchCrossNumberFlag)
    1288           0 :     if((EvTag->GetBunchCrossNumber() < fBunchCrossNumberMin) || (EvTag->GetBunchCrossNumber() > fBunchCrossNumberMax))
    1289           0 :       return kFALSE;
    1290             : 
    1291             : 
    1292           0 :  if(fEtaFlag)
    1293           0 :     if((EvTag->GetEtaMaxPt() < fEtaMin) || (EvTag->GetEtaMaxPt() > fEtaMax))
    1294           0 :       return kFALSE;
    1295             : 
    1296           0 :   if(fPhiFlag)
    1297           0 :     if((EvTag->GetPhiMaxPt() < fPhiMin) || (EvTag->GetPhiMaxPt() > fPhiMax))
    1298           0 :       return kFALSE;
    1299             : 
    1300           0 :   if(fVzFlag)
    1301           0 :     if((EvTag->GetVertexZ() < fVzMin) || (EvTag->GetVertexZ() > fVzMax))
    1302           0 :       return kFALSE;
    1303             :   
    1304           0 :   if(fVyFlag)
    1305           0 :     if((EvTag->GetVertexY() < fVyMin) || (EvTag->GetVertexY() > fVyMax))
    1306           0 :       return kFALSE;
    1307             :   
    1308           0 :   if(fVxFlag)
    1309           0 :     if((EvTag->GetVertexX() < fVxMin) || (EvTag->GetVertexX() > fVxMax))
    1310           0 :       return kFALSE;
    1311             :   
    1312           0 :   if(fNParticipantsFlag)
    1313           0 :     if((EvTag->GetNumOfParticipants() < fNParticipantsMin) || (EvTag->GetNumOfParticipants() > fNParticipantsMax))
    1314           0 :       return kFALSE; 
    1315             :   
    1316           0 :   if(fImpactParamFlag)
    1317           0 :     if((EvTag->GetImpactParameter() < fImpactParamMin) || (EvTag->GetImpactParameter() > fImpactParamMax))
    1318           0 :       return kFALSE; 
    1319             :   
    1320           0 :   if(fPVFlag)
    1321           0 :     if((EvTag->GetVertexFlag() != fPrimaryVertexFlag))
    1322           0 :       return kFALSE; 
    1323             :   
    1324           0 :   if(fPVzErrorFlag)
    1325           0 :     if((EvTag->GetVertexZError() < fPrimaryVertexZErrorMin) || (EvTag->GetVertexZError() > fPrimaryVertexZErrorMax))
    1326           0 :       return kFALSE; 
    1327           0 :   if(fTriggerMaskFlag)
    1328           0 :     if((EvTag->GetTriggerMask() & fTriggerMask) != fTriggerMask)
    1329           0 :       return kFALSE; 
    1330           0 :   if(fTriggerClusterFlag)
    1331           0 :     if((EvTag->GetTriggerCluster() != fTriggerCluster))
    1332           0 :       return kFALSE; 
    1333             : 
    1334           0 :   if(fZDCNeutron1EnergyFlag)
    1335           0 :     if((EvTag->GetZDCNeutron1Energy() < fZDCNeutron1EnergyMin) || (EvTag->GetZDCNeutron1Energy() > fZDCNeutron1EnergyMax))
    1336           0 :       return kFALSE; 
    1337             :   
    1338           0 :   if(fZDCProton1EnergyFlag)
    1339           0 :     if((EvTag->GetZDCProton1Energy() < fZDCProton1EnergyMin) || (EvTag->GetZDCProton1Energy() > fZDCProton1EnergyMax))
    1340           0 :       return kFALSE; 
    1341             :   
    1342           0 :   if(fZDCNeutron2EnergyFlag)
    1343           0 :     if((EvTag->GetZDCNeutron2Energy() < fZDCNeutron2EnergyMin) || (EvTag->GetZDCNeutron2Energy() > fZDCNeutron2EnergyMax))
    1344           0 :       return kFALSE; 
    1345             :   
    1346           0 :   if(fZDCProton2EnergyFlag)
    1347           0 :     if((EvTag->GetZDCProton2Energy() < fZDCProton2EnergyMin) || (EvTag->GetZDCProton2Energy() > fZDCProton2EnergyMax))
    1348           0 :       return kFALSE; 
    1349             :   
    1350           0 :   if(fZDCEMEnergyFlag)
    1351           0 :     if((EvTag->GetZDCEMEnergy(1) < fZDCEMEnergyMin) || (EvTag->GetZDCEMEnergy(1) > fZDCEMEnergyMax))
    1352           0 :       return kFALSE; 
    1353             :   
    1354           0 :   if(fT0VertexZFlag)
    1355           0 :     if((EvTag->GetT0VertexZ() < fT0VertexZMin) || (EvTag->GetT0VertexZ() > fT0VertexZMax))
    1356           0 :       return kFALSE; 
    1357             :   
    1358           0 :   if(fMultFlag)
    1359           0 :     if((EvTag->GetNumOfTracks() < fMultMin) || (EvTag->GetNumOfTracks() > fMultMax))
    1360           0 :       return kFALSE; 
    1361             :   
    1362           0 :   if(fPosMultFlag)
    1363           0 :     if((EvTag->GetNumOfPosTracks() < fPosMultMin) || (EvTag->GetNumOfPosTracks() > fPosMultMax))
    1364           0 :       return kFALSE; 
    1365             :   
    1366           0 :   if(fNegMultFlag)
    1367           0 :     if((EvTag->GetNumOfNegTracks() < fNegMultMin) || (EvTag->GetNumOfNegTracks() > fNegMultMax))
    1368           0 :       return kFALSE; 
    1369             :   
    1370           0 :   if(fNeutrMultFlag)
    1371           0 :     if((EvTag->GetNumOfNeutrTracks() < fNeutrMultMin) || (EvTag->GetNumOfNeutrTracks() > fNeutrMultMax))
    1372           0 :       return kFALSE; 
    1373             :   
    1374           0 :   if(fNV0sFlag)
    1375           0 :     if((EvTag->GetNumOfV0s() < fNV0sMin) || (EvTag->GetNumOfV0s() > fNV0sMax))
    1376           0 :       return kFALSE; 
    1377             :   
    1378           0 :   if(fNCascadesFlag)
    1379           0 :     if((EvTag->GetNumOfCascades() < fNCascadesMin) || (EvTag->GetNumOfCascades() > fNCascadesMax))
    1380           0 :       return kFALSE; 
    1381             :   
    1382           0 :   if(fNKinksFlag)
    1383           0 :     if((EvTag->GetNumOfKinks() < fNKinksMin) || (EvTag->GetNumOfKinks() > fNKinksMax))
    1384           0 :       return kFALSE; 
    1385             : 
    1386             : 
    1387           0 :   if(fNPMDTracksFlag)
    1388           0 :     if((EvTag->GetNumOfPMDTracks() < fNPMDTracksMin) || (EvTag->GetNumOfPMDTracks() > fNPMDTracksMax))
    1389           0 :       return kFALSE; 
    1390           0 :   if(fNFMDTracksFlag)
    1391           0 :     if((EvTag->GetNumOfFMDTracks() < fNFMDTracksMin) || (EvTag->GetNumOfFMDTracks() > fNFMDTracksMax))
    1392           0 :       return kFALSE; 
    1393           0 :   if(fNPHOSClustersFlag)
    1394           0 :     if((EvTag->GetNumOfPHOSClusters() < fNPHOSClustersMin) || (EvTag->GetNumOfPHOSClusters() > fNPHOSClustersMax))
    1395           0 :       return kFALSE; 
    1396           0 :   if(fNEMCALClustersFlag)
    1397           0 :     if((EvTag->GetNumOfEMCALClusters() < fNEMCALClustersMin) || (EvTag->GetNumOfEMCALClusters() > fNEMCALClustersMax))
    1398           0 :       return kFALSE; 
    1399           0 :   if(fNJetCandidatesFlag)
    1400           0 :     if((EvTag->GetNumOfJetCandidates() < fNJetCandidatesMin) || (EvTag->GetNumOfJetCandidates() > fNJetCandidatesMax))
    1401           0 :       return kFALSE; 
    1402             : 
    1403             : 
    1404           0 :   if(fTopJetEnergyMinFlag)
    1405           0 :     if((EvTag->GetMaxJetEnergy() < fTopJetEnergyMin))
    1406           0 :       return kFALSE; 
    1407             :   
    1408           0 :   if(fNHardPhotonCandidatesFlag)
    1409           0 :     if((EvTag->GetNumOfHardPhotonsCandidates() < fNHardPhotonCandidatesMin) || (EvTag->GetNumOfHardPhotonsCandidates() > fNHardPhotonCandidatesMax))
    1410           0 :       return kFALSE; 
    1411             :   
    1412           0 :   if(fTopNeutralEnergyMinFlag)
    1413           0 :     if((EvTag->GetMaxNeutralEnergy() < fTopNeutralEnergyMin))
    1414           0 :       return kFALSE; 
    1415             :   
    1416           0 :   if(fNChargedAbove1GeVFlag)
    1417           0 :     if((EvTag->GetNumOfChargedAbove1GeV() < fNChargedAbove1GeVMin) || (EvTag->GetNumOfChargedAbove1GeV() > fNChargedAbove1GeVMax))
    1418           0 :       return kFALSE; 
    1419             :   
    1420           0 :   if(fNChargedAbove3GeVFlag)
    1421           0 :     if((EvTag->GetNumOfChargedAbove3GeV() < fNChargedAbove3GeVMin) || (EvTag->GetNumOfChargedAbove3GeV() > fNChargedAbove3GeVMax))
    1422           0 :       return kFALSE; 
    1423             :   
    1424           0 :   if(fNChargedAbove10GeVFlag)
    1425           0 :     if((EvTag->GetNumOfChargedAbove10GeV() < fNChargedAbove10GeVMin) || (EvTag->GetNumOfChargedAbove10GeV() > fNChargedAbove10GeVMax))
    1426           0 :       return kFALSE; 
    1427             :   
    1428           0 :   if(fNMuonsAbove1GeVFlag)
    1429           0 :     if((EvTag->GetNumOfMuonsAbove1GeV() < fNMuonsAbove1GeVMin) || (EvTag->GetNumOfMuonsAbove1GeV() > fNMuonsAbove1GeVMax))
    1430           0 :       return kFALSE; 
    1431             :   
    1432           0 :   if(fNMuonsAbove3GeVFlag)
    1433           0 :     if((EvTag->GetNumOfMuonsAbove3GeV() < fNMuonsAbove3GeVMin) || (EvTag->GetNumOfMuonsAbove3GeV() > fNMuonsAbove3GeVMax))
    1434           0 :       return kFALSE; 
    1435             :   
    1436           0 :   if(fNMuonsAbove10GeVFlag)
    1437           0 :     if((EvTag->GetNumOfMuonsAbove10GeV() < fNMuonsAbove10GeVMin) || (EvTag->GetNumOfMuonsAbove10GeV() > fNMuonsAbove10GeVMax))
    1438           0 :       return kFALSE; 
    1439             :   
    1440           0 :   if(fNElectronsAbove1GeVFlag)
    1441           0 :     if((EvTag->GetNumOfElectronsAbove1GeV()  < fNElectronsAbove1GeVMin) || (EvTag->GetNumOfElectronsAbove1GeV()  > fNElectronsAbove1GeVMax))
    1442           0 :       return kFALSE; 
    1443             :   
    1444           0 :   if(fNElectronsAbove3GeVFlag)
    1445           0 :     if((EvTag->GetNumOfElectronsAbove3GeV() < fNElectronsAbove3GeVMin) || (EvTag->GetNumOfElectronsAbove3GeV() > fNElectronsAbove3GeVMax))
    1446           0 :       return kFALSE; 
    1447             :   
    1448           0 :   if(fNElectronsAbove10GeVFlag)
    1449           0 :     if((EvTag->GetNumOfElectronsAbove10GeV() < fNElectronsAbove10GeVMin) || (EvTag->GetNumOfElectronsAbove10GeV() > fNElectronsAbove10GeVMax))
    1450           0 :       return kFALSE; 
    1451             :   
    1452           0 :   if(fNElectronsFlag)
    1453           0 :     if((EvTag->GetNumOfElectrons() < fNElectronsMin) || (EvTag->GetNumOfElectrons() > fNElectronsMax))
    1454           0 :       return kFALSE; 
    1455             :   
    1456           0 :   if(fNFWMuonsFlag)
    1457           0 :     if((EvTag->GetNumOfFWMuons() < fNFWMuonsMin) || (EvTag->GetNumOfFWMuons() > fNFWMuonsMax))
    1458           0 :       return kFALSE; 
    1459             :   
    1460           0 :   if(fNFWMatchedMuonsFlag)
    1461           0 :     if((EvTag->GetNumOfFWMatchedMuons() < fNFWMatchedMuonsMin) || (EvTag->GetNumOfFWMatchedMuons() > fNFWMatchedMuonsMax))
    1462           0 :       return kFALSE; 
    1463             :   
    1464           0 :   if(fNMuonsFlag)
    1465           0 :     if((EvTag->GetNumOfMuons() < fNMuonsMin) || (EvTag->GetNumOfMuons() > fNMuonsMax))
    1466           0 :       return kFALSE; 
    1467             :   
    1468           0 :   if(fNPionsFlag)
    1469           0 :     if((EvTag->GetNumOfPions() < fNPionsMin) || (EvTag->GetNumOfPions() > fNPionsMax))
    1470           0 :       return kFALSE; 
    1471             :   
    1472           0 :   if(fNKaonsFlag)
    1473           0 :     if((EvTag->GetNumOfKaons() < fNKaonsMin) || (EvTag->GetNumOfKaons() > fNKaonsMax))
    1474           0 :       return kFALSE; 
    1475             :   
    1476           0 :   if(fNProtonsFlag)
    1477           0 :     if((EvTag->GetNumOfProtons() < fNProtonsMin) || (EvTag->GetNumOfProtons() > fNProtonsMax))
    1478           0 :       return kFALSE; 
    1479             :   
    1480           0 :   if(fNLambdasFlag)
    1481           0 :     if((EvTag->GetNumOfLambdas() < fNLambdasMin) || (EvTag->GetNumOfLambdas() > fNLambdasMax))
    1482           0 :       return kFALSE; 
    1483             :   
    1484           0 :   if(fNPhotonFlag)
    1485           0 :     if((EvTag->GetNumOfPhotons() < fNPhotonsMin) || (EvTag->GetNumOfPhotons() > fNPhotonsMax))
    1486           0 :       return kFALSE; 
    1487             :   
    1488           0 :   if(fNPi0sFlag)
    1489           0 :     if((EvTag->GetNumOfPi0s() < fNPi0sMin) || (EvTag->GetNumOfPi0s() > fNPi0sMax))
    1490           0 :       return kFALSE; 
    1491             :   
    1492           0 :   if(fNNeutronsFlag)
    1493           0 :     if((EvTag->GetNumOfNeutrons() < fNNeutronsMin) || (EvTag->GetNumOfNeutrons() > fNNeutronsMax))
    1494           0 :       return kFALSE; 
    1495             :   
    1496           0 :   if(fNKaon0sFlag)
    1497           0 :     if((EvTag->GetNumOfKaon0s() < fNKaon0sMin) || (EvTag->GetNumOfKaon0s() > fNKaon0sMax))
    1498           0 :       return kFALSE; 
    1499             :   
    1500           0 :   if(fTotalPFlag)
    1501           0 :     if((EvTag->GetTotalMomentum() < fTotalPMin) || (EvTag->GetTotalMomentum() > fTotalPMax))
    1502           0 :       return kFALSE; 
    1503             :   
    1504           0 :   if(fMeanPtFlag)
    1505           0 :     if((EvTag->GetMeanPt() < fMeanPtMin) || (EvTag->GetMeanPt() > fMeanPtMax))
    1506           0 :       return kFALSE; 
    1507             :   
    1508           0 :   if(fTopPtMinFlag)
    1509           0 :     if((EvTag->GetMaxPt() < fTopPtMin))
    1510           0 :       return kFALSE; 
    1511             :   
    1512           0 :   if(fTotalNeutralPFlag)
    1513           0 :     if((EvTag->GetNeutralTotalMomentum() < fTotalNeutralPMin) || (EvTag->GetNeutralTotalMomentum() > fTotalNeutralPMax))
    1514           0 :       return kFALSE; 
    1515             :   
    1516           0 :   if(fMeanNeutralPtFlag)
    1517           0 :     if((EvTag->GetNeutralMeanPt() < fMeanNeutralPtMin) || (EvTag->GetNeutralMeanPt() >fMeanNeutralPtMax ))
    1518           0 :       return kFALSE; 
    1519             :   
    1520           0 :   if(fTopNeutralPtMinFlag)
    1521           0 :     if((EvTag->GetNeutralMaxPt() < fTopNeutralPtMin))
    1522           0 :       return kFALSE; 
    1523             :   
    1524           0 :   if(fEventPlaneAngleFlag)
    1525           0 :     if((EvTag->GetEventPlaneAngle() < fEventPlaneAngleMin) || (EvTag->GetEventPlaneAngle() > fEventPlaneAngleMax))
    1526           0 :       return kFALSE; 
    1527             :   
    1528           0 :   if(fHBTRadiiFlag)
    1529           0 :     if((EvTag->GetHBTRadii() < fHBTRadiiMin) || (EvTag->GetHBTRadii() > fHBTRadiiMax))
    1530           0 :       return kFALSE; 
    1531             : 
    1532           0 :   if (fFiredTriggerClassFlag) {
    1533           0 :     if (fActiveTriggerClasses.Length() == 0) {
    1534           0 :       AliWarning("Attempt to select Trigger classes but Active trigger classes not set in AliEventTagCuts. Cannot make the selection on Fired Trigger classes");
    1535           0 :     }
    1536             :     else {
    1537           0 :       TObjArray *tClasses = fFiredTriggerClass.Tokenize(" ");
    1538             :       Bool_t tTrig = kFALSE;
    1539             :     
    1540           0 :       for (int itrig=0; itrig<tClasses->GetEntries(); itrig++)
    1541           0 :         if (EvTag->GetFiredTriggerClasses(fActiveTriggerClasses).Contains(((TObjString *) tClasses->At(itrig))->GetString()))
    1542           0 :           tTrig = kTRUE;
    1543             :       
    1544           0 :       tClasses->Delete();
    1545           0 :       delete tClasses;
    1546             :       
    1547           0 :       if (!tTrig)
    1548           0 :         return kFALSE;
    1549           0 :     }
    1550             :   }
    1551             :   
    1552           0 :   return kTRUE;
    1553             :   
    1554           0 : }

Generated by: LCOV version 1.11