]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/qaRec/AliTRDrecoTask.h
restructure error calculation :
[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
873458ab 12#include "info/AliTRDtrackInfo.h"
de520d8f 13#endif
14
fc0946a7 15class TH1;
16class TF1;
de520d8f 17class TList;
3d86166d 18class TObjArray;
19class TTreeSRedirector;
de520d8f 20class AliTRDtrackV1;
21class AliTRDtrackInfo;
3d86166d 22class AliTRDrecoTask : public AliAnalysisTask
23{
24public:
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
1fd9389f 48 virtual Bool_t Load(const Char_t *filename = "TRD.Performance.root");
fbb00452 49 virtual Bool_t Save(TObjArray *res);
3d86166d 50 virtual Bool_t PostProcess();
a63b505e 51 virtual Bool_t PutTrendValue(Char_t *name, Double_t val, Double_t err);
3d86166d 52 virtual void SetDebugLevel(Int_t level);
d85cd79c 53 virtual void SetFriends(Bool_t fr = kTRUE) {SetBit(kFriends, fr);}
54 virtual void SetMCdata(Bool_t mc = kTRUE) {SetBit(kMCdata, mc);}
55 virtual void SetPostProcess(Bool_t pp = kTRUE) {SetBit(kPostProcess, pp);}
3d86166d 56 virtual void Terminate(Option_t *) = 0;
57
de520d8f 58protected:
59 void InitFunctorList();
fc0946a7 60 void Adjust(TF1 *f, TH1 *h);
61
de520d8f 62
3d86166d 63private:
64 AliTRDrecoTask(const AliTRDrecoTask&);
65 AliTRDrecoTask& operator=(const AliTRDrecoTask&);
66
67protected:
68 UChar_t fNRefFigures; //! no of reference figures reported by task
69 UChar_t fDebugLevel; //! Debug level
de520d8f 70 TList *fPlotFuncList;//! plot functors list
3d86166d 71 TObjArray *fContainer; //! container to store results
72 TObjArray *fTracks; //! Array of tracks
de520d8f 73 const AliTRDtrackV1 *fTrack; //! current track
74 const AliTRDtrackInfo::AliMCinfo *fMC; //! MC info
75 const AliTRDtrackInfo::AliESDinfo *fESD;//! ESD info
76 TTreeSRedirector *fDebugStream; //! Debug stream
a63b505e 77 static FILE *fgFile; //! trend file streamer
3d86166d 78
a63b505e 79 ClassDef(AliTRDrecoTask, 1) // base TRD reconstruction task
3d86166d 80};
81
82#endif
83