Event cut added
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysis.h
1 #ifndef ALIANALYSIS_H
2 #define ALIANALYSIS_H
3 //________________________________
4 ///////////////////////////////////////////////////////////
5 //
6 // class AliAnalysis
7 //
8 // Base class for analysis
9 //
10 //
11 // Piotr.Skowronski@cern.ch
12 //
13 ///////////////////////////////////////////////////////////
14
15 #include <TTask.h>
16
17 class AliAOD;
18 class AliStack;
19 class AliEventCut;
20  
21 class AliAnalysis: public TTask
22 {
23   public: 
24     AliAnalysis();
25     AliAnalysis(const char* name,const char* title);
26     virtual ~AliAnalysis();
27     
28     virtual Int_t Init() = 0;
29     virtual Int_t ProcessEvent(AliAOD* aodrec, AliAOD* aodsim = 0x0) = 0;
30     virtual Int_t Finish() = 0;
31
32     void          EventCutOnRec(Bool_t flag){fCutOnRec = flag;}
33     void          EventCutOnSim(Bool_t flag){fCutOnSim = flag;}
34     void          SetEventCut(AliEventCut* evcut);
35     
36   protected:
37     Bool_t        Pass(AliAOD* recevent, AliAOD* simevent);
38     AliEventCut*  fEventCut;//event cut
39
40     Bool_t        fCutOnSim;//flag indicating that event cut is performed on simulated particles 
41     Bool_t        fCutOnRec;//flag indicating that event cut is performed on reconstructed tracks
42     
43   private:
44     ClassDef(AliAnalysis,1)
45 };
46
47 #endif