]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ANALYSIS/AliAnalysisEventCuts.h
EMCAL geometry can be created independently form anything now
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisEventCuts.h
1 #ifndef ALIANALYSISEVENTCUTS_H
2 #define ALIANALYSISEVENTCUTS_H
3 /*  See cxx source for full Copyright notice */
4
5
6 /* $Id$ */
7
8 //-------------------------------------------------------------------------
9 //                       Class AliAnalysisEventCuts
10 //   This is the class for the cuts in event & track level
11 //
12 //    Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
13 //-------------------------------------------------------------------------
14
15 #include <TObject.h>
16
17 class TPaveText;
18 class AliESD;
19
20 class AliAnalysisEventCuts : public TObject
21 {
22  public:
23   AliAnalysisEventCuts();
24   
25   ~AliAnalysisEventCuts();
26
27   void Reset();
28   
29   void SetPrimaryVertexXRange(Float_t r1, Float_t r2);
30   void SetPrimaryVertexYRange(Float_t r1, Float_t r2);
31   void SetPrimaryVertexZRange(Float_t r1, Float_t r2);
32   void SetPrimaryVertexZFlag() {fVzFlagType = "reconstructed";fFlagVzType = 1;};
33   void SetMultiplicityRange(Int_t n1, Int_t n2);
34   void SetVerboseOff() {fVerboseOff = kTRUE;};
35  
36   Bool_t IsAccepted(AliESD *esd);
37
38   TPaveText *GetEventCuts();
39   void PrintEventCuts(); 
40   void GetEventStats();
41   void GetMultStats();
42   void GetVxStats();
43   void GetVyStats();
44   void GetVzStats();
45  
46  private:
47   Bool_t fVerboseOff; //cancel the output
48
49   Float_t fVxMin, fVxMax;  //Definition of the range of the Vx
50   Float_t fVyMin, fVyMax;  //Definition of the range of the Vy
51   Float_t fVzMin, fVzMax;  //Definition of the range of the Vz
52   Int_t fMultMin, fMultMax;  //Definition of the range of the multiplicity
53   TString fVzFlagType; //Flag for the primary vertex(good: "reconstructed" -- fake: "default")
54
55   Int_t fMult;  //Number of events rejected due to multiplicity cut
56   Int_t fVx;  //Number of events rejected due to Vx cut
57   Int_t fVy;  //Number of events rejected due to Vy cut
58   Int_t fVz;  //Number of events rejected due to Vz cut
59   Int_t fVzFlag;  //Number of events rejected due to Vz flag cut
60   Int_t fTotalEvents;  //Total number of events
61   Int_t fAcceptedEvents;  //Total number of events accepted
62
63   Int_t fFlagMult; //Flag that shows if the multiplicity cut was imposed
64   Int_t fFlagVx; //Flag that shows if the Vx cut was imposed
65   Int_t fFlagVy; //Flag that shows if the Vy cut was imposed
66   Int_t fFlagVz; //Flag that shows if the Vz cut was imposed
67   Int_t fFlagVzType; //Flag that shows if the Vz flag cut was imposed
68  
69   ClassDef(AliAnalysisEventCuts, 2)
70 } ;
71
72 #endif