]>
Commit | Line | Data |
---|---|---|
3d86166d | 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 | ||
de520d8f | 11 | #ifndef ALITRDTRACKINFO_H |
12 | #include "AliTRDtrackInfo/AliTRDtrackInfo.h" | |
13 | #endif | |
14 | ||
fc0946a7 | 15 | class TH1; |
16 | class TF1; | |
de520d8f | 17 | class TList; |
3d86166d | 18 | class TObjArray; |
19 | class TTreeSRedirector; | |
de520d8f | 20 | class AliTRDtrackV1; |
21 | class AliTRDtrackInfo; | |
3d86166d | 22 | class AliTRDrecoTask : public AliAnalysisTask |
23 | { | |
24 | public: | |
25 | enum AliTRDrecoSteeringBits{ | |
d85cd79c | 26 | kMCdata = BIT(20) |
27 | ,kFriends = BIT(21) | |
28 | ,kPostProcess = BIT(22) | |
3d86166d | 29 | }; |
30 | AliTRDrecoTask(const char *name, const char *title); | |
31 | virtual ~AliTRDrecoTask(); | |
d85cd79c | 32 | |
33 | ||
3d86166d | 34 | void ConnectInputData(Option_t *); |
35 | virtual void CreateOutputObjects() = 0; | |
de520d8f | 36 | virtual void Exec(Option_t *); |
3d86166d | 37 | |
38 | Int_t GetDebugLevel() const { return fDebugLevel;} | |
39 | Int_t GetNRefFigures() const { return fNRefFigures; } | |
de520d8f | 40 | TList* GetPlotFunctors() const { return fPlotFuncList;} |
e15179be | 41 | virtual Bool_t GetRefFigure(Int_t ifig); |
d85cd79c | 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);}; | |
cf194b94 | 46 | virtual TObjArray* Histos() {return fContainer;} |
d85cd79c | 47 | |
28efdace | 48 | virtual Bool_t Load(const Char_t *filename); |
fbb00452 | 49 | virtual Bool_t Save(TObjArray *res); |
3d86166d | 50 | virtual Bool_t PostProcess(); |
51 | virtual void SetDebugLevel(Int_t level); | |
d85cd79c | 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);} | |
3d86166d | 55 | virtual void Terminate(Option_t *) = 0; |
56 | ||
de520d8f | 57 | protected: |
58 | void InitFunctorList(); | |
fc0946a7 | 59 | void Adjust(TF1 *f, TH1 *h); |
60 | ||
de520d8f | 61 | |
3d86166d | 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 | |
de520d8f | 69 | TList *fPlotFuncList;//! plot functors list |
3d86166d | 70 | TObjArray *fContainer; //! container to store results |
71 | TObjArray *fTracks; //! Array of tracks | |
de520d8f | 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 | |
3d86166d | 76 | |
77 | ClassDef(AliTRDrecoTask, 0) // base TRD reconstruction task | |
78 | }; | |
79 | ||
80 | #endif | |
81 |