]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/TPC/AliPerformanceTask.h
Changes to compile with Root6 on macosx64
[u/mrichter/AliRoot.git] / PWGPP / TPC / AliPerformanceTask.h
1 #ifndef AliPERFORMANCETASK_H
2 #define AliPERFORMANCETASK_H
3
4 //------------------------------------------------------------------------------
5 // Task to run reconstruction performance. 
6 // 
7 // Author: J.Otwinowski 01/04/2009 
8 // Changes by M.Knichel 15/10/2010
9 //------------------------------------------------------------------------------
10
11 class AliESDEvent;
12 class AliESDfriend;
13 class AliMCEvent;
14 class AliPerformanceObject;
15 class AliMagF;
16 class TList;
17 class TTree;
18
19 #include "AliAnalysisTaskSE.h"
20
21 class AliPerformanceTask : public AliAnalysisTaskSE {
22  public:
23   AliPerformanceTask();
24   AliPerformanceTask(const char *name, const char *title);
25   virtual ~AliPerformanceTask();
26   
27   virtual void   UserCreateOutputObjects();
28   virtual void   UserExec(Option_t *option);
29   virtual void   Terminate(Option_t *);
30   virtual void   FinishTaskOutput();
31   virtual Bool_t Notify();
32
33   // Add comparison objects
34   Bool_t AddPerformanceObject(AliPerformanceObject* comp);
35
36   // Use MC
37   void SetUseMCInfo(Bool_t useMCInfo = kFALSE) {fUseMCInfo = useMCInfo;}
38
39   // Use ESD friend
40   void SetUseESDfriend(Bool_t useESDFriend = kFALSE) {fUseESDfriend = useESDFriend;}
41
42   // Use HLT ESD
43   void SetUseHLT(Bool_t useHLT = kFALSE) {fUseHLT = useHLT;}
44
45   // Use Terminate function
46   void SetUseTerminate(Bool_t useTerminate = kTRUE) {fUseTerminate = useTerminate;}
47
48   // Use centrality - if yes, which one
49   void  SetUseCentrality(Int_t cent)   { fUseCentrality = cent; }
50   Int_t GetUseCentrality()             { return fUseCentrality; }
51
52   // use OCDB
53   void  SetUseOCDB(Bool_t bOCDB) { fUseOCDB = bOCDB;  }
54   Bool_t  GetUseOCDB() { return fUseOCDB; }
55
56   // Centrality bin to be used
57   void  SetUseCentralityBin(Int_t bin) { fUseCentralityBin = bin; }
58   Int_t GetUseCentralityBin()          { return fUseCentralityBin; }
59
60  private:
61
62   // Calculate centrality
63   Int_t CalculateCentralityBin();
64
65   AliESDEvent *fESD;          //! ESD event
66   AliESDfriend *fESDfriend;   //! ESD friend event
67   AliMCEvent *fMC;            //! MC event
68
69   TList *fOutput;             //! list send on output container 1
70   TTree* fOutputSummary;      //! tree to dump summary values (output container 2)
71   TIterator *fPitList;        //! iterator over the output objetcs  
72   TList *fCompList;           // list of comparison objects
73
74   Bool_t fUseMCInfo;          // use MC information
75   Bool_t fUseESDfriend;       // use ESD friend
76   Bool_t fUseHLT;             // use HLT ESD
77
78   Bool_t fUseTerminate;       // use terminate function
79
80   Int_t  fUseCentrality;      // use centrality (0=off(default),1=VZERO,2=SPD)
81
82   Bool_t  fUseOCDB;           // use OCDB
83
84   Int_t fUseCentralityBin;  // centrality bin to be used 
85
86   AliPerformanceTask(const AliPerformanceTask&); // not implemented
87   AliPerformanceTask& operator=(const AliPerformanceTask&); // not implemented
88   
89   ClassDef(AliPerformanceTask, 5); // example of analysis
90 };
91
92 #endif