]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliEventTagCuts.h
New base class AliPIDResponse
[u/mrichter/AliRoot.git] / STEER / AliEventTagCuts.h
index e2f9ff76ecb3c545056a37f7ffac84688b356af3..ad9063d3a004c111706bce773fb16eba0f3ff6df 100644 (file)
@@ -23,10 +23,18 @@ class AliEventTagCuts : public TObject {
   ~AliEventTagCuts();
   void Reset();
   
- //____________________________________________________//
+  //____________________________________________________//
+  void SetPeriodNumberRange(UInt_t n1, UInt_t n2);
+  void SetOrbitNumberRange(UInt_t n1, UInt_t n2);
+  void SetBunchCrossNumberRange(UShort_t n1, UShort_t n2);
+
+  void SetEventType(UInt_t ntype);
+
   void SetNParticipantsRange(Int_t low, Int_t high);
   void SetImpactParamRange(Float_t low, Float_t high);
 
+  void SetEtaLeadingParticleRange(Float_t low, Float_t high);
+  void SetPhiLeadingParticleRange(Float_t low, Float_t high);
   void SetPrimaryVertexXRange(Float_t low, Float_t high);
   void SetPrimaryVertexYRange(Float_t low, Float_t high);
   void SetPrimaryVertexZRange(Float_t low, Float_t high);
@@ -71,6 +79,7 @@ class AliEventTagCuts : public TObject {
   void SetNElectronsAbove10GeVRange(Int_t low, Int_t high);
   void SetNElectronRange(Int_t low, Int_t high);
   void SetNFWMuonRange(Int_t low, Int_t high);
+  void SetNFWMatchedMuonRange(Int_t low, Int_t high);
   void SetNMuonRange(Int_t low, Int_t high);
   void SetNPionRange(Int_t low, Int_t high);
   void SetNKaonRange(Int_t low, Int_t high);
@@ -89,15 +98,43 @@ class AliEventTagCuts : public TObject {
   void SetEventPlaneAngleRange(Float_t low, Float_t high);
   void SetHBTRadiiRange(Float_t low, Float_t high);
  
+  //First physics
+  void SetNumberOfFiredChipsLayer1Range(Int_t low, Int_t high);
+  void SetNumberOfFiredChipsLayer2Range(Int_t low, Int_t high);
+  void SetNumberOfSPDTrackletsRange(Int_t low, Int_t high);
+
+  // Trigger
+  void ResetTriggerClasses();
+  void AddRequiredFiredTriggerClass(TString aclass);
+  void InitializeTriggerClasses(TString aclass);
+
   Bool_t IsAccepted(AliEventTag *EvTag) const;
+  Bool_t IsAccepted(const AliEventTag *EvTag) const;
 
   //____________________________________________________//
  private:
+  UInt_t fPeriodNumberMin, fPeriodNumberMax;                    //min/max value of the period number
+  Bool_t fPeriodNumberFlag;                                   // Shows whether this cut is used or not
+
+  UInt_t fOrbitNumberMin, fOrbitNumberMax;                    //min/max value of the orbit number
+  Bool_t fOrbitNumberFlag;                                   // Shows whether this cut is used or not
+
+  UShort_t fBunchCrossNumberMin, fBunchCrossNumberMax;                    //min/max value of the bunch crossing number
+  Bool_t fBunchCrossNumberFlag;                                   // Shows whether this cut is used or not
+
+  UInt_t fEventType;                                          //event type == 7 ==> PHYSICS_EVENT
+  Bool_t fEventTypeFlag;                                      // Shows whether this cut is used or not
+
   Int_t fNParticipantsMin, fNParticipantsMax;                 // # participants range
   Bool_t fNParticipantsFlag;                                  // Shows whether this cut is used or not
   Float_t fImpactParamMin, fImpactParamMax;                   // Impact parameter range
   Bool_t fImpactParamFlag;                                    // Shows whether this cut is used or not
 
+  Float_t fEtaMin, fEtaMax;                                   // Definition of the range of the eta leading
+  Bool_t fEtaFlag;                                            // Shows whether this cut is used or not
+  Float_t fPhiMin, fPhiMax;                                   // Definition of the range of the phi leading
+  Bool_t fPhiFlag;                                            // Shows whether this cut is used or not  
+         
   Float_t fVxMin, fVxMax;                                     // Definition of the range of the Vx
   Bool_t fVxFlag;                                             // Shows whether this cut is used or not
   Float_t fVyMin, fVyMax;                                     // Definition of the range of the Vy
@@ -182,6 +219,8 @@ class AliEventTagCuts : public TObject {
   Bool_t fNElectronsFlag;                                     // Shows whether this cut is used or not
   Int_t fNFWMuonsMin, fNFWMuonsMax;                           // # of forward muons range
   Bool_t fNFWMuonsFlag;                                       // Shows whether this cut is used or not
+  Int_t fNFWMatchedMuonsMin, fNFWMatchedMuonsMax;             // # of forward matched muons range
+  Bool_t fNFWMatchedMuonsFlag;                                // Shows whether this cut is used or not
   Int_t fNMuonsMin, fNMuonsMax;                               // # of muons range
   Bool_t fNMuonsFlag;                                         // Shows whether this cut is used or not
   Int_t fNPionsMin, fNPionsMax;                               // # of pions range
@@ -217,7 +256,19 @@ class AliEventTagCuts : public TObject {
   Float_t fHBTRadiiMin, fHBTRadiiMax;                         // HBT info
   Bool_t fHBTRadiiFlag;                                       // Shows whether this cut is used or not
 
-  ClassDef(AliEventTagCuts, 2)
+  Int_t fNumberOfFiredChipsLayer1Min, fNumberOfFiredChipsLayer1Max; //min/max number of fired chips - layer 1
+  Bool_t fNumberOfFiredChipsLayer1Flag;                       // Shows whether this cut is used or not
+  Int_t fNumberOfFiredChipsLayer2Min, fNumberOfFiredChipsLayer2Max; //min/max number of fired chips - layer 2
+  Bool_t fNumberOfFiredChipsLayer2Flag;                       // Shows whether this cut is used or not
+  Int_t fNumberOfSPDTrackletsMin, fNumberOfSPDTrackletsMax;   //min/max number of SPD tracklets
+  Bool_t fNumberOfSPDTrackletsFlag;                          // Shows whether this cut is used or not
+
+  Bool_t fFiredTriggerClassFlag;                              // Shows whether this cut is used or not
+  TString fFiredTriggerClass;                                 // Triger class must be present to accept event
+
+  TString fActiveTriggerClasses;                              // Trigger classes active for this run
+
+  ClassDef(AliEventTagCuts, 4)
 };
 
 #endif