]>
Commit | Line | Data |
---|---|---|
7cc34f08 | 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; | |
17 | class TTreeSRedirector; | |
18 | class AliMCEventHadnler; | |
19 | class TParticle; | |
20 | class AliMCInfo; | |
21 | class AliESDRecInfo; | |
22 | class AliESDEvent; | |
23 | class AliESDfriend; | |
24 | class AliMCEvent; | |
25 | class AliComparisonObject; | |
26 | ||
27 | class AliGenInfoTask : public AliAnalysisTask { | |
28 | public: | |
29 | AliGenInfoTask(); | |
30 | AliGenInfoTask(const char *name); | |
31 | virtual ~AliGenInfoTask(); | |
32 | ||
33 | virtual void ConnectInputData(Option_t *); | |
34 | virtual void CreateOutputObjects(); | |
35 | virtual void Exec(Option_t *option); | |
36 | virtual void Terminate(Option_t *); | |
37 | virtual void FinishTaskOutput(); | |
38 | // | |
39 | // | |
40 | void ProcessMCInfo(); | |
41 | void ProcessESDInfo(); | |
42 | void ProcessComparison(); | |
43 | void DumpInfo(); | |
44 | static Float_t GetTPCTrackLength(const TClonesArray& trackRefs, TParticle*part, Float_t bz, Int_t &counter, Float_t deadWidth); | |
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); | |
59 | void RegisterDebugOutput(const char *path); | |
60 | void SetDebugOuputhPath(const char * name){fDebugOutputPath=name;} | |
61 | protected: | |
62 | AliGenInfoTask(const AliGenInfoTask& /*info*/); | |
63 | AliGenInfoTask& operator=(const AliGenInfoTask& /*info*/) { return *this;} | |
64 | AliMCEvent * fMCinfo; //! MC event handler | |
65 | AliESDEvent * fESD; //! current esd event | |
66 | AliESDfriend * fESDfriend; //! current esd event | |
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 | |
80 | TString fDebugOutputPath; // debug output path | |
81 | ClassDef(AliGenInfoTask, 1); // Analysis task base class for tracks | |
82 | }; | |
83 | ||
84 | #endif |