New shortcut methods for setting range of primary vertex
[u/mrichter/AliRoot.git] / ANALYSIS / AliEventCut.h
index 7cb041d6382f75d90022a2160be69823afaf25c3..3bc0fcbf23dc7620f02d369155e21b0292e2df22 100644 (file)
 
 #include <TObject.h>
 #include <TObjArray.h>
-#include "AliBaseEventCut.h"
+#include "AliEventBaseCut.h"
 
 class AliAOD;
+enum AliEventBaseCut::EEventCutProperty;
 
 class AliEventCut: public TObject
 {
@@ -25,26 +26,33 @@ class AliEventCut: public TObject
     AliEventCut(const AliEventCut& in);
     virtual ~AliEventCut();
     
-    virtual Bool_t Pass(AliAOD* aod) const;//returns kTRUE if rejected
-    void AddBasePartCut(AliBaseEventCut* ebcut){fBaseCuts.Add(ebcut);}
+    virtual Bool_t Rejected(AliAOD* aod) const;//returns kTRUE if rejected
+    void           AddBasePartCut(AliEventBaseCut* ebcut);
+
+    void           SetNChargedRange(Int_t min,Int_t max, Double_t etamin = -10.0,Double_t etamax = 10.0);
+    void           SetVertexXRange(Int_t min,Int_t max);
+    void           SetVertexYRange(Int_t min,Int_t max);
+    void           SetVertexZRange(Int_t min,Int_t max);
     
   protected:
+    AliEventBaseCut* FindCut(AliEventBaseCut::EEventCutProperty prop);
+    
     TObjArray fBaseCuts;
   private:
     ClassDef(AliEventCut,1)
 };
 
-class AliEmptyEventCut: public TObject
+class AliEventEmptyCut: public TObject
 {
   public: 
-    AliEmptyEventCut(){}
-    virtual ~AliEmptyEventCut(){}
+    AliEventEmptyCut(){}
+    virtual ~AliEventEmptyCut(){}
     
-    Bool_t Pass(AliAOD* aod) const {return kFALSE;}//always accept
+    Bool_t Rejected(AliAOD* /*aod*/) const {return kFALSE;}//always accept
     
   protected:
   private:
-    ClassDef(AliEmptyEventCut,1)
+    ClassDef(AliEventEmptyCut,1)
 };
 
 #endif