]>
Commit | Line | Data |
---|---|---|
cd875161 | 1 | #ifndef ALIGENINFOTASK_H |
2 | #define ALIGENINFOTASK_H | |
3 | ||
4 | // ROOT includes | |
5 | #include <TList.h> | |
6 | #include <TH1.h> | |
7 | #include <TH2.h> | |
8 | ||
9 | // AliRoot includes | |
10 | #include <AliAnalysisTask.h> | |
11 | #include <AliESDEvent.h> | |
12 | #include <AliESDfriend.h> | |
13 | #include <AliESDtrack.h> | |
14 | #include <AliESDfriendTrack.h> | |
15 | #include <AliTPCseed.h> | |
16 | class AliGenInfoMaker; | |
9c3fd353 | 17 | class TTreeSRedirector; |
18 | class AliMCEventHadnler; | |
19 | class TParticle; | |
20 | class AliMCInfo; | |
21 | class AliESDRecInfo; | |
22 | class AliESDEvent; | |
d3eddc56 | 23 | class AliESDfriend; |
9c3fd353 | 24 | class AliMCEvent; |
25 | class AliComparisonObject; | |
cd875161 | 26 | |
27 | class AliGenInfoTask : public AliAnalysisTask { | |
28 | public: | |
29 | AliGenInfoTask(); | |
30 | AliGenInfoTask(const char *name); | |
9c3fd353 | 31 | virtual ~AliGenInfoTask(); |
cd875161 | 32 | |
33 | virtual void ConnectInputData(Option_t *); | |
34 | virtual void CreateOutputObjects(); | |
35 | virtual void Exec(Option_t *option); | |
36 | virtual void Terminate(Option_t *); | |
d3eddc56 | 37 | virtual void FinishTaskOutput(); |
9c3fd353 | 38 | // |
39 | // | |
40 | void ProcessMCInfo(); | |
41 | void ProcessESDInfo(); | |
42 | void ProcessComparison(); | |
76421d44 | 43 | void DumpInfo(); |
44 | static Float_t GetTPCTrackLength(const TClonesArray& trackRefs, TParticle*part, Float_t bz, Int_t &counter, Float_t deadWidth); | |
9c3fd353 | 45 | // |
46 | // | |
47 | // debug streamer part | |
48 | // | |
49 | TTreeSRedirector *GetDebugStreamer(); | |
50 | void SetStreamLevel(Int_t streamLevel){fStreamLevel=streamLevel;} | |
51 | void SetDebugLevel(Int_t level) {fDebugLevel = level;} | |
52 | Int_t GetStreamLevel() const {return fStreamLevel;} | |
53 | Int_t GetDebugLevel() const {return fDebugLevel;} | |
54 | // | |
55 | Bool_t AcceptParticle(TParticle *part); | |
56 | AliMCInfo *GetTrack(Int_t index, Bool_t force=kFALSE); | |
57 | AliESDRecInfo *GetRecTrack(Int_t index, Bool_t force=kFALSE); | |
58 | Bool_t AddComparisonObject(AliComparisonObject *pObj); | |
d3eddc56 | 59 | void RegisterDebugOutput(const char *path); |
60 | void SetDebugOuputhPath(const char * name){fDebugOutputPath=name;} | |
cd875161 | 61 | protected: |
62 | AliGenInfoTask(const AliGenInfoTask& /*info*/); | |
63 | AliGenInfoTask& operator=(const AliGenInfoTask& /*info*/) { return *this;} | |
9c3fd353 | 64 | AliMCEvent * fMCinfo; //! MC event handler |
65 | AliESDEvent * fESD; //! current esd event | |
d3eddc56 | 66 | AliESDfriend * fESDfriend; //! current esd event |
9c3fd353 | 67 | // |
68 | TObjArray *fCompList; // comparison object list | |
69 | // | |
70 | TClonesArray *fGenTracksArray; //clones array with filtered particles | |
71 | TClonesArray *fGenKinkArray; //clones array with filtered Kinks | |
72 | TClonesArray *fGenV0Array; //clones array with filtered V0s | |
73 | // | |
74 | TClonesArray *fRecTracksArray; //clones array with filtered tracks | |
75 | // | |
76 | // | |
77 | TTreeSRedirector *fDebugStreamer; //! debug streamer | |
78 | Int_t fStreamLevel; // debug stream level | |
79 | Int_t fDebugLevel; // debug level | |
d3eddc56 | 80 | TString fDebugOutputPath; // debug output path |
9c3fd353 | 81 | ClassDef(AliGenInfoTask, 1); // Analysis task base class for tracks |
cd875161 | 82 | }; |
83 | ||
84 | #endif |