LCOV - code coverage report
Current view: top level - STEER/STEERBase - AliEventTagCuts.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 2 50.0 %
Date: 2016-06-14 17:26:59 Functions: 1 8 12.5 %

          Line data    Source code
       1             : #ifndef ALIEVENTTAGCUTS_H
       2             : #define ALIEVENTTAGCUTS_H
       3             : /*  See cxx source for full Copyright notice */
       4             : 
       5             : 
       6             : /* $Id$ */
       7             : 
       8             : //-------------------------------------------------------------------------
       9             : //                       Class AliEventTagCuts
      10             : //   This is the class for the cuts in event tags
      11             : //
      12             : //    Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
      13             : //-------------------------------------------------------------------------
      14             : 
      15             : #include <TObject.h>
      16             : 
      17             : class AliEventTag;
      18             : 
      19             : //___________________________________________________________________________
      20           0 : class AliEventTagCuts : public TObject {
      21             :  public:
      22             :   AliEventTagCuts();
      23             :   ~AliEventTagCuts();
      24             :   void Reset();
      25             :   
      26             :   //____________________________________________________//
      27             :   void SetPeriodNumberRange(UInt_t n1, UInt_t n2);
      28             :   void SetOrbitNumberRange(UInt_t n1, UInt_t n2);
      29             :   void SetBunchCrossNumberRange(UShort_t n1, UShort_t n2);
      30             : 
      31             :   void SetEventType(UInt_t ntype);
      32             : 
      33             :   void SetNParticipantsRange(Int_t low, Int_t high);
      34             :   void SetImpactParamRange(Float_t low, Float_t high);
      35             : 
      36             :   void SetEtaLeadingParticleRange(Float_t low, Float_t high);
      37             :   void SetPhiLeadingParticleRange(Float_t low, Float_t high);
      38             :   void SetPrimaryVertexXRange(Float_t low, Float_t high);
      39             :   void SetPrimaryVertexYRange(Float_t low, Float_t high);
      40             :   void SetPrimaryVertexZRange(Float_t low, Float_t high);
      41             :   void SetPrimaryVertexFlag(Int_t flag);
      42             :   void SetPrimaryVertexZErrorRange(Float_t low, Float_t high);
      43             : 
      44             :   void SetTriggerMask(ULong64_t trmask);
      45             :   void SetTriggerCluster(UChar_t trcluster);
      46             : 
      47             :   void SetZDCNeutron1Range(Float_t low, Float_t high);
      48             :   void SetZDCProton1Range(Float_t low, Float_t high);
      49             :   void SetZDCEMRange(Float_t low, Float_t high);
      50             :   void SetZDCNeutron2Range(Float_t low, Float_t high);
      51             :   void SetZDCProton2Range(Float_t low, Float_t high);
      52             :   void SetT0VertexZRange(Float_t low, Float_t high);
      53             : 
      54             :   void SetMultiplicityRange(Int_t low, Int_t high);
      55             :   void SetPosMultiplicityRange(Int_t low, Int_t high);
      56             :   void SetNegMultiplicityRange(Int_t low, Int_t high);
      57             :   void SetNeutrMultiplicityRange(Int_t low, Int_t high);
      58             :   void SetNV0sRange(Int_t low, Int_t high);
      59             :   void SetNCascadesRange(Int_t low, Int_t high);
      60             :   void SetNKinksRange(Int_t low, Int_t high);
      61             :  
      62             :   void SetNPMDTracksRange(Int_t low, Int_t high);
      63             :   void SetNFMDTracksRange(Int_t low, Int_t high);
      64             :   void SetNPHOSClustersRange(Int_t low, Int_t high);
      65             :   void SetNEMCALClustersRange(Int_t low, Int_t high);
      66             :   void SetNJetCandidatesRange(Int_t low, Int_t high);
      67             : 
      68             :   void SetTopJetEnergyMin(Float_t low);
      69             :   void SetTopNeutralEnergyMin(Float_t low);
      70             :   void SetNHardPhotonsRange(Int_t low, Int_t high);
      71             :   void SetNChargedAbove1GeVRange(Int_t low, Int_t high);
      72             :   void SetNChargedAbove3GeVRange(Int_t low, Int_t high);
      73             :   void SetNChargedAbove10GeVRange(Int_t low, Int_t high);
      74             :   void SetNMuonsAbove1GeVRange(Int_t low, Int_t high);
      75             :   void SetNMuonsAbove3GeVRange(Int_t low, Int_t high);
      76             :   void SetNMuonsAbove10GeVRange(Int_t low, Int_t high);
      77             :   void SetNElectronsAbove1GeVRange(Int_t low, Int_t high);
      78             :   void SetNElectronsAbove3GeVRange(Int_t low, Int_t high);
      79             :   void SetNElectronsAbove10GeVRange(Int_t low, Int_t high);
      80             :   void SetNElectronRange(Int_t low, Int_t high);
      81             :   void SetNFWMuonRange(Int_t low, Int_t high);
      82             :   void SetNFWMatchedMuonRange(Int_t low, Int_t high);
      83             :   void SetNMuonRange(Int_t low, Int_t high);
      84             :   void SetNPionRange(Int_t low, Int_t high);
      85             :   void SetNKaonRange(Int_t low, Int_t high);
      86             :   void SetNProtonRange(Int_t low, Int_t high);
      87             :   void SetNLambdaRange(Int_t low, Int_t high);
      88             :   void SetNPhotonRange(Int_t low, Int_t high);
      89             :   void SetNPi0Range(Int_t low, Int_t high);
      90             :   void SetNNeutronRange(Int_t low, Int_t high);
      91             :   void SetNKaon0Range(Int_t low, Int_t high); 
      92             :   void SetTotalPRange(Float_t low, Float_t high);
      93             :   void SetMeanPtRange(Float_t low, Float_t high);
      94             :   void SetTopPtMin(Float_t low);
      95             :   void SetTotalNeutralPRange(Float_t low, Float_t high);
      96             :   void SetMeanNeutralPtPRange(Float_t low, Float_t high);
      97             :   void SetTopNeutralPtMin(Float_t low);
      98             :   void SetEventPlaneAngleRange(Float_t low, Float_t high);
      99             :   void SetHBTRadiiRange(Float_t low, Float_t high);
     100             :  
     101             :   //First physics
     102             :   void SetNumberOfFiredChipsLayer1Range(Int_t low, Int_t high);
     103             :   void SetNumberOfFiredChipsLayer2Range(Int_t low, Int_t high);
     104             :   void SetNumberOfSPDTrackletsRange(Int_t low, Int_t high);
     105             : 
     106             :   // Trigger
     107             :   void ResetTriggerClasses();
     108             :   void AddRequiredFiredTriggerClass(TString aclass);
     109             :   void InitializeTriggerClasses(TString aclass);
     110             : 
     111             :   Bool_t IsAccepted(AliEventTag *EvTag) const;
     112             :   Bool_t IsAccepted(const AliEventTag *EvTag) const;
     113             : 
     114             :   //____________________________________________________//
     115             :  private:
     116             :   UInt_t fPeriodNumberMin, fPeriodNumberMax;                    //min/max value of the period number
     117             :   Bool_t fPeriodNumberFlag;                                   // Shows whether this cut is used or not
     118             : 
     119             :   UInt_t fOrbitNumberMin, fOrbitNumberMax;                    //min/max value of the orbit number
     120             :   Bool_t fOrbitNumberFlag;                                   // Shows whether this cut is used or not
     121             : 
     122             :   UShort_t fBunchCrossNumberMin, fBunchCrossNumberMax;                    //min/max value of the bunch crossing number
     123             :   Bool_t fBunchCrossNumberFlag;                                   // Shows whether this cut is used or not
     124             : 
     125             :   UInt_t fEventType;                                          //event type == 7 ==> PHYSICS_EVENT
     126             :   Bool_t fEventTypeFlag;                                      // Shows whether this cut is used or not
     127             : 
     128             :   Int_t fNParticipantsMin, fNParticipantsMax;                 // # participants range
     129             :   Bool_t fNParticipantsFlag;                                  // Shows whether this cut is used or not
     130             :   Float_t fImpactParamMin, fImpactParamMax;                   // Impact parameter range
     131             :   Bool_t fImpactParamFlag;                                    // Shows whether this cut is used or not
     132             : 
     133             :   Float_t fEtaMin, fEtaMax;                                   // Definition of the range of the eta leading
     134             :   Bool_t fEtaFlag;                                            // Shows whether this cut is used or not
     135             :   Float_t fPhiMin, fPhiMax;                                   // Definition of the range of the phi leading
     136             :   Bool_t fPhiFlag;                                            // Shows whether this cut is used or not  
     137             :          
     138             :   Float_t fVxMin, fVxMax;                                     // Definition of the range of the Vx
     139             :   Bool_t fVxFlag;                                             // Shows whether this cut is used or not
     140             :   Float_t fVyMin, fVyMax;                                     // Definition of the range of the Vy
     141             :   Bool_t fVyFlag;                                             // Shows whether this cut is used or not
     142             :   Float_t fVzMin, fVzMax;                                     // Definition of the range of the Vz
     143             :   Bool_t fVzFlag;                                             // Shows whether this cut is used or not
     144             :   Int_t fPrimaryVertexFlag;                                   // Primary vertex flag: 0->not found, 1->found
     145             :   Bool_t fPVFlag;                                             // Shows whether this cut is used or not
     146             :   Float_t fPrimaryVertexZErrorMin, fPrimaryVertexZErrorMax;   // Range of the primary vertex z error
     147             :   Bool_t fPVzErrorFlag;                                       // Shows whether this cut is used or not
     148             : 
     149             :   ULong64_t fTriggerMask;                                     // trigger mask definition
     150             :   Bool_t fTriggerMaskFlag;                                    // Shows whether this cut is used or not
     151             :   UChar_t fTriggerCluster;                                    // trigger cluster definition
     152             :   Bool_t fTriggerClusterFlag;                                 // Shows whether this cut is used or not
     153             :   
     154             :   Float_t fZDCNeutron1EnergyMin, fZDCNeutron1EnergyMax;       // ZDC min,max - neutron
     155             :   Bool_t fZDCNeutron1EnergyFlag;                              // Shows whether this cut is used or not
     156             :   Float_t fZDCProton1EnergyMin, fZDCProton1EnergyMax;         // ZDC min,max - proton
     157             :   Bool_t fZDCProton1EnergyFlag;                               // Shows whether this cut is used or not
     158             :   Float_t fZDCNeutron2EnergyMin, fZDCNeutron2EnergyMax;       // ZDC min,max - neutron
     159             :   Bool_t fZDCNeutron2EnergyFlag;                              // Shows whether this cut is used or not
     160             :   Float_t fZDCProton2EnergyMin, fZDCProton2EnergyMax;         // ZDC min,max - proton
     161             :   Bool_t fZDCProton2EnergyFlag;                               // Shows whether this cut is used or not
     162             :   Float_t fZDCEMEnergyMin, fZDCEMEnergyMax;                   // ZDC min,max - em
     163             :   Bool_t fZDCEMEnergyFlag;                                    // Shows whether this cut is used or not
     164             :   Float_t fT0VertexZMin, fT0VertexZMax;                       // T0 min, max
     165             :   Bool_t fT0VertexZFlag;                                      // Shows whether this cut is used or not  
     166             : 
     167             :   Int_t fMultMin, fMultMax;                                   // Definition of the range of the multiplicity
     168             :   Bool_t fMultFlag;                                           // Shows whether this cut is used or not
     169             :   Int_t fPosMultMin, fPosMultMax;                             // Positive tracks multiplicity range
     170             :   Bool_t fPosMultFlag;                                        // Shows whether this cut is used or not
     171             :   Int_t fNegMultMin, fNegMultMax;                             // Negative tracks multiplicity range
     172             :   Bool_t fNegMultFlag;                                        // Shows whether this cut is used or not
     173             :   Int_t fNeutrMultMin, fNeutrMultMax;                         // Neutral tracks multiplicity range
     174             :   Bool_t fNeutrMultFlag;                                      // Shows whether this cut is used or not
     175             :   Int_t fNV0sMin, fNV0sMax;                                   // Range of # of V0s
     176             :   Bool_t fNV0sFlag;                                           // Shows whether this cut is used or not
     177             :   Int_t fNCascadesMin, fNCascadesMax;                         // Range of # of cascades
     178             :   Bool_t fNCascadesFlag;                                      // Shows whether this cut is used or not
     179             :   Int_t fNKinksMin, fNKinksMax;                               // Range of # of kinks
     180             :   Bool_t fNKinksFlag;                                         // Shows whether this cut is used or not
     181             :   
     182             :   Int_t fNPMDTracksMin, fNPMDTracksMax;                       // Range of # of PMD tracks
     183             :   Bool_t fNPMDTracksFlag;                                     // Shows whether this cut is used or not
     184             :   Int_t fNFMDTracksMin, fNFMDTracksMax;                       // Range of # of FMD tracks
     185             :   Bool_t fNFMDTracksFlag;                                     // Shows whether this cut is used or not
     186             :   Int_t fNPHOSClustersMin, fNPHOSClustersMax;                 // Range of # of PHOS clusters
     187             :   Bool_t fNPHOSClustersFlag;                                  // Shows whether this cut is used or not
     188             :   Int_t fNEMCALClustersMin, fNEMCALClustersMax;               // Range of # of EMCAL clusters
     189             :   Bool_t fNEMCALClustersFlag;                                 // Shows whether this cut is used or not
     190             :   Int_t fNJetCandidatesMin, fNJetCandidatesMax;               // Range of # of jet candidates
     191             :   Bool_t fNJetCandidatesFlag;                                 // Shows whether this cut is used or not
     192             : 
     193             :   Float_t fTopJetEnergyMin;                                   // top jet energy minimum value
     194             :   Bool_t fTopJetEnergyMinFlag;                                // Shows whether this cut is used or not
     195             :   Float_t fTopNeutralEnergyMin;                               // top neutral energy minimum value
     196             :   Bool_t fTopNeutralEnergyMinFlag;                            // Shows whether this cut is used or not  
     197             :   
     198             :   Int_t fNHardPhotonCandidatesMin, fNHardPhotonCandidatesMax; // # of hard photons candidates
     199             :   Bool_t fNHardPhotonCandidatesFlag;                          // Shows whether this cut is used or not
     200             :   Int_t fNChargedAbove1GeVMin, fNChargedAbove1GeVMax;         // Definition of the range of the # of charged above 1GeV
     201             :   Bool_t fNChargedAbove1GeVFlag;                              // Shows whether this cut is used or not
     202             :   Int_t fNChargedAbove3GeVMin, fNChargedAbove3GeVMax;         // Definition of the range of the # of charged above 3GeV
     203             :   Bool_t fNChargedAbove3GeVFlag;                              // Shows whether this cut is used or not
     204             :   Int_t fNChargedAbove10GeVMin, fNChargedAbove10GeVMax;       // Definition of the range of the # of charged above 10GeV
     205             :   Bool_t fNChargedAbove10GeVFlag;                             // Shows whether this cut is used or not
     206             :   Int_t fNMuonsAbove1GeVMin, fNMuonsAbove1GeVMax;             // Definition of the range of the # of muons above 1GeV
     207             :   Bool_t fNMuonsAbove1GeVFlag;                                // Shows whether this cut is used or not
     208             :   Int_t fNMuonsAbove3GeVMin, fNMuonsAbove3GeVMax;             // Definition of the range of the # of muons above 3GeV
     209             :   Bool_t fNMuonsAbove3GeVFlag;                                // Shows whether this cut is used or not
     210             :   Int_t fNMuonsAbove10GeVMin, fNMuonsAbove10GeVMax;           // Definition of the range of the # of muons above 10GeV
     211             :   Bool_t fNMuonsAbove10GeVFlag;                               // Shows whether this cut is used or not
     212             :   Int_t fNElectronsAbove1GeVMin, fNElectronsAbove1GeVMax;     // Definition of the range of the # of electorns above 1GeV
     213             :   Bool_t fNElectronsAbove1GeVFlag;                            // Shows whether this cut is used or not
     214             :   Int_t fNElectronsAbove3GeVMin, fNElectronsAbove3GeVMax;     // Definition of the range of the # of electorns above 3GeV
     215             :   Bool_t fNElectronsAbove3GeVFlag;                            // Shows whether this cut is used or not
     216             :   Int_t fNElectronsAbove10GeVMin,fNElectronsAbove10GeVMax;    // Definition of the range of the # of electorns above 10GeV
     217             :   Bool_t fNElectronsAbove10GeVFlag;                           // Shows whether this cut is used or not  
     218             :   Int_t fNElectronsMin, fNElectronsMax;                       // # of electrons range
     219             :   Bool_t fNElectronsFlag;                                     // Shows whether this cut is used or not
     220             :   Int_t fNFWMuonsMin, fNFWMuonsMax;                           // # of forward muons range
     221             :   Bool_t fNFWMuonsFlag;                                       // Shows whether this cut is used or not
     222             :   Int_t fNFWMatchedMuonsMin, fNFWMatchedMuonsMax;             // # of forward matched muons range
     223             :   Bool_t fNFWMatchedMuonsFlag;                                // Shows whether this cut is used or not
     224             :   Int_t fNMuonsMin, fNMuonsMax;                               // # of muons range
     225             :   Bool_t fNMuonsFlag;                                         // Shows whether this cut is used or not
     226             :   Int_t fNPionsMin, fNPionsMax;                               // # of pions range
     227             :   Bool_t fNPionsFlag;                                         // Shows whether this cut is used or not
     228             :   Int_t fNKaonsMin, fNKaonsMax;                               // # of kaons range
     229             :   Bool_t fNKaonsFlag;                                         // Shows whether this cut is used or not
     230             :   Int_t fNProtonsMin, fNProtonsMax;                           // # of protons range
     231             :   Bool_t fNProtonsFlag;                                       // Shows whether this cut is used or not
     232             :   Int_t fNLambdasMin, fNLambdasMax;                           // # of lambdas range
     233             :   Bool_t fNLambdasFlag;                                       // Shows whether this cut is used or not
     234             :   Int_t fNPhotonsMin, fNPhotonsMax;                           // # of photons range
     235             :   Bool_t fNPhotonFlag;                                        // Shows whether this cut is used or not
     236             :   Int_t fNPi0sMin, fNPi0sMax;                                 // # of Pi0s range
     237             :   Bool_t fNPi0sFlag;                                          // Shows whether this cut is used or not
     238             :   Int_t fNNeutronsMin, fNNeutronsMax;                         // # of neutrons range
     239             :   Bool_t fNNeutronsFlag;                                      // Shows whether this cut is used or not
     240             :   Int_t fNKaon0sMin, fNKaon0sMax;                             // # of K0s range
     241             :   Bool_t fNKaon0sFlag;                                        // Shows whether this cut is used or not  
     242             :   Float_t fTotalPMin, fTotalPMax;                             // Range of the sum of the momentum per event
     243             :   Bool_t fTotalPFlag;                                         // Shows whether this cut is used or not
     244             :   Float_t fMeanPtMin, fMeanPtMax;                             // Range of mean Pt per event
     245             :   Bool_t fMeanPtFlag;                                         // Shows whether this cut is used or not
     246             :   Float_t fTopPtMin;                                          // Max Pt for each event
     247             :   Bool_t fTopPtMinFlag;                                       // Shows whether this cut is used or not
     248             :   Float_t fTotalNeutralPMin, fTotalNeutralPMax;               // Sum of the momentum per event for neutral
     249             :   Bool_t fTotalNeutralPFlag;                                  // Shows whether this cut is used or not
     250             :   Float_t fMeanNeutralPtMin, fMeanNeutralPtMax;               // Mean Pt per event for neutral
     251             :   Bool_t fMeanNeutralPtFlag;                                  // Shows whether this cut is used or not
     252             :   Float_t fTopNeutralPtMin;                                   // Minimum value for highest Pt for the event for neutral
     253             :   Bool_t fTopNeutralPtMinFlag;                                // Shows whether this cut is used or not
     254             :   Float_t fEventPlaneAngleMin, fEventPlaneAngleMax;           // event plane info
     255             :   Bool_t fEventPlaneAngleFlag;                                // Shows whether this cut is used or not
     256             :   Float_t fHBTRadiiMin, fHBTRadiiMax;                         // HBT info
     257             :   Bool_t fHBTRadiiFlag;                                       // Shows whether this cut is used or not
     258             : 
     259             :   Int_t fNumberOfFiredChipsLayer1Min, fNumberOfFiredChipsLayer1Max; //min/max number of fired chips - layer 1
     260             :   Bool_t fNumberOfFiredChipsLayer1Flag;                       // Shows whether this cut is used or not
     261             :   Int_t fNumberOfFiredChipsLayer2Min, fNumberOfFiredChipsLayer2Max; //min/max number of fired chips - layer 2
     262             :   Bool_t fNumberOfFiredChipsLayer2Flag;                       // Shows whether this cut is used or not
     263             :   Int_t fNumberOfSPDTrackletsMin, fNumberOfSPDTrackletsMax;   //min/max number of SPD tracklets
     264             :   Bool_t fNumberOfSPDTrackletsFlag;                          // Shows whether this cut is used or not
     265             : 
     266             :   Bool_t fFiredTriggerClassFlag;                              // Shows whether this cut is used or not
     267             :   TString fFiredTriggerClass;                                 // Triger class must be present to accept event
     268             : 
     269             :   TString fActiveTriggerClasses;                              // Trigger classes active for this run
     270             : 
     271         176 :   ClassDef(AliEventTagCuts, 4)
     272             : };
     273             : 
     274             : #endif

Generated by: LCOV version 1.11