]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/qaRec/AliTRDrecoTask.h
Upgrades and improvements and fixes of warnings. There will be more upgrades in the...
[u/mrichter/AliRoot.git] / TRD / qaRec / AliTRDrecoTask.h
CommitLineData
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
15class TList;
3d86166d 16class TObjArray;
17class TTreeSRedirector;
de520d8f 18class AliTRDtrackV1;
19class AliTRDtrackInfo;
3d86166d 20class AliTRDrecoTask : public AliAnalysisTask
21{
22public:
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 53protected:
54 void InitFunctorList();
55
3d86166d 56private:
57 AliTRDrecoTask(const AliTRDrecoTask&);
58 AliTRDrecoTask& operator=(const AliTRDrecoTask&);
59
60protected:
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