]>
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 | ||
15 | class TList; | |
3d86166d | 16 | class TObjArray; |
17 | class TTreeSRedirector; | |
de520d8f | 18 | class AliTRDtrackV1; |
19 | class AliTRDtrackInfo; | |
3d86166d | 20 | class AliTRDrecoTask : public AliAnalysisTask |
21 | { | |
22 | public: | |
23 | enum AliTRDrecoSteeringBits{ | |
d85cd79c | 24 | kMCdata = BIT(20) |
25 | ,kFriends = BIT(21) | |
26 | ,kPostProcess = BIT(22) | |
3d86166d | 27 | }; |
28 | AliTRDrecoTask(const char *name, const char *title); | |
29 | virtual ~AliTRDrecoTask(); | |
d85cd79c | 30 | |
31 | ||
3d86166d | 32 | void ConnectInputData(Option_t *); |
33 | virtual void CreateOutputObjects() = 0; | |
de520d8f | 34 | virtual void Exec(Option_t *); |
3d86166d | 35 | |
36 | Int_t GetDebugLevel() const { return fDebugLevel;} | |
37 | Int_t GetNRefFigures() const { return fNRefFigures; } | |
de520d8f | 38 | TList* GetPlotFunctors() const { return fPlotFuncList;} |
a391a274 | 39 | virtual void GetRefFigure(Int_t ifig); |
d85cd79c | 40 | |
41 | Bool_t HasFriends() const {return TestBit(kFriends);}; | |
42 | Bool_t HasMCdata() const {return TestBit(kMCdata);}; | |
43 | Bool_t HasPostProcess() const {return TestBit(kPostProcess);}; | |
44 | ||
28efdace | 45 | virtual Bool_t Load(const Char_t *filename); |
3d86166d | 46 | virtual Bool_t PostProcess(); |
47 | virtual void SetDebugLevel(Int_t level); | |
d85cd79c | 48 | virtual void SetFriends(Bool_t fr = kTRUE) {SetBit(kFriends, fr);} |
49 | virtual void SetMCdata(Bool_t mc = kTRUE) {SetBit(kMCdata, mc);} | |
50 | virtual void SetPostProcess(Bool_t pp = kTRUE) {SetBit(kPostProcess, pp);} | |
3d86166d | 51 | virtual void Terminate(Option_t *) = 0; |
52 | ||
de520d8f | 53 | protected: |
54 | void InitFunctorList(); | |
55 | ||
3d86166d | 56 | private: |
57 | AliTRDrecoTask(const AliTRDrecoTask&); | |
58 | AliTRDrecoTask& operator=(const AliTRDrecoTask&); | |
59 | ||
60 | protected: | |
61 | UChar_t fNRefFigures; //! no of reference figures reported by task | |
62 | UChar_t fDebugLevel; //! Debug level | |
de520d8f | 63 | TList *fPlotFuncList;//! plot functors list |
3d86166d | 64 | TObjArray *fContainer; //! container to store results |
65 | TObjArray *fTracks; //! Array of tracks | |
de520d8f | 66 | const AliTRDtrackV1 *fTrack; //! current track |
67 | const AliTRDtrackInfo::AliMCinfo *fMC; //! MC info | |
68 | const AliTRDtrackInfo::AliESDinfo *fESD;//! ESD info | |
69 | TTreeSRedirector *fDebugStream; //! Debug stream | |
3d86166d | 70 | |
71 | ClassDef(AliTRDrecoTask, 0) // base TRD reconstruction task | |
72 | }; | |
73 | ||
74 | #endif | |
75 |