]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliEventTagCuts.h
From Ludovic: new files for visualization of V0s.
[u/mrichter/AliRoot.git] / STEER / AliEventTagCuts.h
index a1dc30adcfa3bf6c6ddcbbe2baf23299b4bfcad2..76a787be018e4b41d46593d1c869580c20221d5c 100644 (file)
 
 class AliEventTag;
 
-class AliEventTagCuts : public TObject
-{
+//___________________________________________________________________________
+class AliEventTagCuts : public TObject {
  public:
   AliEventTagCuts();
-  
   ~AliEventTagCuts();
-
   void Reset();
   
+ //____________________________________________________//
   void SetParticipantsRange(Int_t i1, Int_t i2);
   void SetImpactParamRange(Float_t r1, Float_t r2);
-
   void SetPrimaryVertexXRange(Float_t r1, Float_t r2);
   void SetPrimaryVertexYRange(Float_t r1, Float_t r2);
   void SetPrimaryVertexZRange(Float_t r1, Float_t r2);
-
   void SetPrimaryVertexFlag(Int_t i);
 
-  void SetZDCNeutrRange(Float_t r1, Float_t r2);
-  void SetZDCProtRange(Float_t r1, Float_t r2);
+  void SetPrimaryVertexZErrorRange(Float_t r1, Float_t r2) {fPrimaryVertexZErrorMin = r1; fPrimaryVertexZErrorMax = r2; fPVzErrorFlag = kTRUE;}
+  void SetTriggerMask(ULong64_t trmask) {fTriggerMask = trmask; fTriggerMaskFlag = kTRUE;}
+  void SetTriggerCluster(UChar_t trcluster) {fTriggerCluster = trcluster;fTriggerClusterFlag = kTRUE;}
+
+  void SetZDCNeutr1Range(Float_t r1, Float_t r2);
+  void SetZDCProt1Range(Float_t r1, Float_t r2);
   void SetZDCEMRange(Float_t r1, Float_t r2);
+  void SetZDCNeutr2Range(Float_t r1, Float_t r2);
+  void SetZDCProt2Range(Float_t r1, Float_t r2);
   void SetT0VertexZRange(Float_t r1, Float_t r2);
-
   void SetMultiplicityRange(Int_t n1, Int_t n2);
   void SetPosMultiplicityRange(Int_t n1, Int_t n2);
   void SetNegMultiplicityRange(Int_t n1, Int_t n2);
@@ -47,10 +49,15 @@ class AliEventTagCuts : public TObject
   void SetCascadesRange(Int_t n1, Int_t n2);
   void SetKinksRange(Int_t n1, Int_t n2);
  
+  void SetNumOfPMDTracksRange(Int_t n1, Int_t n2) {fPMDTracksMin = n1; fPMDTracksMax = n2; fPMDTracksFlag = kTRUE;}
+  void SetNumOfFMDTracksRange(Int_t n1, Int_t n2) {fFMDTracksMin = n1; fFMDTracksMax = n2; fFMDTracksFlag = kTRUE;}
+  void SetNumOfPHOSClustersRange(Int_t n1, Int_t n2) {fPHOSClustersMin = n1; fPHOSClustersMax = n2; fPHOSClustersFlag = kTRUE;}
+  void SetNumOfEMCALClustersRange(Int_t n1, Int_t n2) {fEMCALClustersMin = n1; fEMCALClustersMax = n2; fEMCALClustersFlag = kTRUE;}
+  void SetNumOfJetCandidatesRange(Int_t n1, Int_t n2) {fJetCandidatesMin = n1; fJetCandidatesMax = n2; fJetCandidatesFlag = kTRUE;}
+
   void SetMaxJetEnergy(Float_t r1);
   void SetMaxNeutralEnergy(Float_t r1);
   void SetHardPhotonsRange(Int_t i1, Int_t i2);
   void SetNChargedAbove1GeVRange(Int_t i1, Int_t i2);
   void SetNChargedAbove3GeVRange(Int_t i1, Int_t i2);
   void SetNChargedAbove10GeVRange(Int_t i1, Int_t i2);
@@ -60,7 +67,6 @@ class AliEventTagCuts : public TObject
   void SetNElectronsAbove1GeVRange(Int_t i1, Int_t i2);
   void SetNElectronsAbove3GeVRange(Int_t i1, Int_t i2);
   void SetNElectronsAbove10GeVRange(Int_t i1, Int_t i2);
   void SetNElectronRange(Int_t n1, Int_t n2);
   void SetNMuonRange(Int_t n1, Int_t n2);
   void SetNPionRange(Int_t n1, Int_t n2);
@@ -70,8 +76,7 @@ class AliEventTagCuts : public TObject
   void SetNPhotonRange(Int_t n1, Int_t n2);
   void SetNPi0Range(Int_t n1, Int_t n2);
   void SetNNeutronRange(Int_t n1, Int_t n2);
-  void SetNKaon0Range(Int_t n1, Int_t n2);
+  void SetNKaon0Range(Int_t n1, Int_t n2); 
   void SetTotalPRange(Float_t r1, Float_t r2);
   void SetMeanPtRange(Float_t r1, Float_t r2);
   void SetMaxPt(Float_t r1);
@@ -83,6 +88,7 @@ class AliEventTagCuts : public TObject
  
   Bool_t IsAccepted(AliEventTag *EvTag) const;
 
+  //____________________________________________________//
  private:
   Float_t fVxMin, fVxMax;  //Definition of the range of the Vx
   Bool_t fVxFlag;          //Shows whether this cut is used or not
@@ -96,16 +102,26 @@ class AliEventTagCuts : public TObject
   Bool_t fImpactParamFlag; //Shows whether this cut is used or not
   Int_t fPrimaryVertexFlag; //Primary vertex flag: 0->not found, 1->found
   Bool_t fPVFlag;          //Shows whether this cut is used or not
+
+  Float_t fPrimaryVertexZErrorMin, fPrimaryVertexZErrorMax; //Range of the primary vertex z error
+  Bool_t fPVzErrorFlag;          //Shows whether this cut is used or not
+  ULong64_t fTriggerMask;  //trigger mask definition
+  Bool_t fTriggerMaskFlag; //Shows whether this cut is used or not
+  UChar_t fTriggerCluster;  //trigger cluster definition
+  Bool_t fTriggerClusterFlag; //Shows whether this cut is used or not
   
-  Float_t fZDCNeutronEnergyMin, fZDCNeutronEnergyMax; //ZDC min,max - neutron
-  Bool_t fZDCNeutronEnergyFlag;//Shows whether this cut is used or not
-  Float_t fZDCProtonEnergyMin, fZDCProtonEnergyMax; //ZDC min,max - proton
-  Bool_t fZDCProtonEnergyFlag;//Shows whether this cut is used or not
+  Float_t fZDCNeutron1EnergyMin, fZDCNeutron1EnergyMax; //ZDC min,max - neutron
+  Bool_t fZDCNeutron1EnergyFlag;//Shows whether this cut is used or not
+  Float_t fZDCProton1EnergyMin, fZDCProton1EnergyMax; //ZDC min,max - proton
+  Bool_t fZDCProton1EnergyFlag;//Shows whether this cut is used or not
+  Float_t fZDCNeutron2EnergyMin, fZDCNeutron2EnergyMax; //ZDC min,max - neutron
+  Bool_t fZDCNeutron2EnergyFlag;//Shows whether this cut is used or not
+  Float_t fZDCProton2EnergyMin, fZDCProton2EnergyMax; //ZDC min,max - proton
+  Bool_t fZDCProton2EnergyFlag;//Shows whether this cut is used or not
   Float_t fZDCEMEnergyMin, fZDCEMEnergyMax; //ZDC min,max - em
   Bool_t fZDCEMEnergyFlag;//Shows whether this cut is used or not
   Float_t fT0VertexZMin, fT0VertexZMax; //T0 min, max
-  Bool_t fT0VertexZFlag;//Shows whether this cut is used or not
-  
+  Bool_t fT0VertexZFlag;//Shows whether this cut is used or not  
   Int_t fMultMin, fMultMax;  //Definition of the range of the multiplicity
   Bool_t fMultFlag;//Shows whether this cut is used or not
   Int_t fMultPosMin, fMultPosMax; //Positive tracks multiplicity range
@@ -121,14 +137,24 @@ class AliEventTagCuts : public TObject
   Int_t fkinksMin, fkinksMax; //Range of kinks
   Bool_t fkinksFlag;//Shows whether this cut is used or not
   
+  Int_t fPMDTracksMin, fPMDTracksMax; //Range of PMD tracks
+  Bool_t fPMDTracksFlag;//Shows whether this cut is used or not
+  Int_t fFMDTracksMin, fFMDTracksMax; //Range of FMD tracks
+  Bool_t fFMDTracksFlag;//Shows whether this cut is used or not
+  Int_t fPHOSClustersMin, fPHOSClustersMax; //Range of PHOS clusters
+  Bool_t fPHOSClustersFlag;//Shows whether this cut is used or not
+  Int_t fEMCALClustersMin, fEMCALClustersMax; //Range of EMCAL clusters
+  Bool_t fEMCALClustersFlag;//Shows whether this cut is used or not
+  Int_t fJetCandidatesMin, fJetCandidatesMax; //Range of jet candidates
+  Bool_t fJetCandidatesFlag;//Shows whether this cut is used or not
+
   Float_t fMaxJetEnergy; //max jet energy info
   Bool_t fMaxJetEnergyFlag;//Shows whether this cut is used or not
   
   Int_t fNHardPhotonsCandidatesMin, fNHardPhotonsCandidatesMax; //Hard photons candidates
   Bool_t fNHardPhotonsCandidatesFlag;//Shows whether this cut is used or not
   Float_t fMaxNeutralEnergy; //max neutral energy info
-  Bool_t fMaxNeutralFlag;//Shows whether this cut is used or not
-  
+  Bool_t fMaxNeutralFlag;//Shows whether this cut is used or not  
   Int_t fChargedAbove1GeVMin, fChargedAbove1GeVMax;//Definition of the range of the number of charged above 1GeV
   Bool_t fChargedAbove1GeVFlag;//Shows whether this cut is used or not
   Int_t fChargedAbove3GeVMin, fChargedAbove3GeVMax;//Definition of the range of the number of charged above 3GeV
@@ -146,8 +172,7 @@ class AliEventTagCuts : public TObject
   Int_t fElectronsAbove3GeVMin, fElectronsAbove3GeVMax;//Definition of the range of the number of electorns above 3GeV
   Bool_t fElectronsAbove3GeVFlag;//Shows whether this cut is used or not
   Int_t fElectronsAbove10GeVMin,fElectronsAbove10GeVMax;//Definition of the range of the number of electorns above 10GeV
-  Bool_t fElectronsAbove10GeVFlag;//Shows whether this cut is used or not
-  
+  Bool_t fElectronsAbove10GeVFlag;//Shows whether this cut is used or not  
   Int_t fElectronsMin, fElectronsMax; //Number of electrons range
   Bool_t fElectronsFlag;//Shows whether this cut is used or not
   Int_t fMuonsMin, fMuonsMax;  //Number of muons range
@@ -167,8 +192,7 @@ class AliEventTagCuts : public TObject
   Int_t fNeutronsMin, fNeutronsMax; //Number of neutrons range
   Bool_t fNeutronsFlag;//Shows whether this cut is used or not
   Int_t fKaon0sMin, fKaon0sMax; //Number of K0s range
-  Bool_t fKaon0sFlag;//Shows whether this cut is used or not
-  
+  Bool_t fKaon0sFlag;//Shows whether this cut is used or not  
   Float_t fTotalPMin, fTotalPMax; //Range of the sum of the momentum per event
   Bool_t fTotalPFlag;//Shows whether this cut is used or not
   Float_t fMeanPtMin, fMeanPtMax; //Range of mean Pt per event
@@ -186,7 +210,7 @@ class AliEventTagCuts : public TObject
   Float_t fHBTRadiiMin, fHBTRadiiMax; //HBT info
   Bool_t fHBTRadiiFlag;//Shows whether this cut is used or not
 
-  ClassDef(AliEventTagCuts, 1)
-} ;
+  ClassDef(AliEventTagCuts, 2)
+};
 
 #endif