]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/qaRec/AliTRDrecoTask.h
Remove CreateGraphs() and AliTRDpidRefMaker(const Char_t*,cons tChar_t*)
[u/mrichter/AliRoot.git] / TRD / qaRec / AliTRDrecoTask.h
1 #ifndef ALITRDRECOTASK_H
2 #define ALITRDRECOTASK_H
3
4
5 // Author: Alexandru Bercuci, 10/09/2008
6
7 #ifndef ALIANALYSISTASK_H
8 #include "AliAnalysisTask.h"
9 #endif
10
11 #ifndef ALITRDTRACKINFO_H
12 #include "info/AliTRDtrackInfo.h"
13 #endif
14
15 class TH1;
16 class TF1;
17 class TList;
18 class TObjArray;
19 class TTreeSRedirector;
20 class AliTRDtrackV1;
21 class AliTRDtrackInfo;
22 class AliTRDrecoTask : public AliAnalysisTask 
23 {
24 public:
25   enum AliTRDrecoSteeringBits{
26     kMCdata       = BIT(20)
27     ,kFriends     = BIT(21)
28     ,kPostProcess = BIT(22)
29   };
30   AliTRDrecoTask(const char *name, const char *title);
31   virtual ~AliTRDrecoTask();
32   
33   
34   void           ConnectInputData(Option_t *);
35   virtual void   CreateOutputObjects() = 0;
36   virtual void   Exec(Option_t *);
37
38   Int_t          GetDebugLevel() const { return fDebugLevel;}
39   Int_t          GetNRefFigures() const { return fNRefFigures; } 
40   TList*         GetPlotFunctors() const { return fPlotFuncList;}
41   virtual Bool_t GetRefFigure(Int_t ifig);
42
43   Bool_t         HasFriends() const {return TestBit(kFriends);};
44   Bool_t         HasMCdata() const {return TestBit(kMCdata);};
45   Bool_t         HasPostProcess() const {return TestBit(kPostProcess);};
46   virtual TObjArray* Histos() {return fContainer;}
47
48   virtual Bool_t Load(const Char_t *filename);
49   virtual Bool_t Save(TObjArray *res);
50   virtual Bool_t PostProcess();
51   virtual void   SetDebugLevel(Int_t level);
52   virtual void   SetFriends(Bool_t fr = kTRUE) {SetBit(kFriends, fr);}
53   virtual void   SetMCdata(Bool_t mc = kTRUE) {SetBit(kMCdata, mc);}
54   virtual void   SetPostProcess(Bool_t pp = kTRUE) {SetBit(kPostProcess, pp);}
55   virtual void   Terminate(Option_t *) = 0;
56
57 protected:
58   void   InitFunctorList();
59   void   Adjust(TF1 *f, TH1 *h);
60
61
62 private:
63   AliTRDrecoTask(const AliTRDrecoTask&);
64   AliTRDrecoTask& operator=(const AliTRDrecoTask&);
65
66 protected:
67   UChar_t   fNRefFigures;  //! no of reference figures reported by task
68   UChar_t   fDebugLevel;   //! Debug level 
69   TList     *fPlotFuncList;//! plot functors list
70   TObjArray *fContainer;   //! container to store results
71   TObjArray *fTracks;      //! Array of tracks
72   const AliTRDtrackV1    *fTrack;         //! current track
73   const AliTRDtrackInfo::AliMCinfo  *fMC; //! MC info
74   const AliTRDtrackInfo::AliESDinfo *fESD;//! ESD info
75   TTreeSRedirector *fDebugStream;   //! Debug stream 
76
77   ClassDef(AliTRDrecoTask, 0) // base TRD reconstruction task
78 };
79
80 #endif
81