1 #ifndef ALIGENINFOTASK_H
2 #define ALIGENINFOTASK_H
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;
25 class AliComparisonObject;
27 class AliGenInfoTask : public AliAnalysisTask {
30 AliGenInfoTask(const char *name);
31 virtual ~AliGenInfoTask();
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();
41 void ProcessESDInfo();
42 void ProcessComparison();
46 // debug streamer part
48 TTreeSRedirector *GetDebugStreamer();
49 void SetStreamLevel(Int_t streamLevel){fStreamLevel=streamLevel;}
50 void SetDebugLevel(Int_t level) {fDebugLevel = level;}
51 Int_t GetStreamLevel() const {return fStreamLevel;}
52 Int_t GetDebugLevel() const {return fDebugLevel;}
54 Bool_t AcceptParticle(TParticle *part);
55 AliMCInfo *GetTrack(Int_t index, Bool_t force=kFALSE);
56 AliESDRecInfo *GetRecTrack(Int_t index, Bool_t force=kFALSE);
57 Bool_t AddComparisonObject(AliComparisonObject *pObj);
58 void RegisterDebugOutput(const char *path);
59 void SetDebugOuputhPath(const char * name){fDebugOutputPath=name;}
61 AliGenInfoTask(const AliGenInfoTask& /*info*/);
62 AliGenInfoTask& operator=(const AliGenInfoTask& /*info*/) { return *this;}
63 AliMCEvent * fMCinfo; //! MC event handler
64 AliESDEvent * fESD; //! current esd event
65 AliESDfriend * fESDfriend; //! current esd event
67 TObjArray *fCompList; // comparison object list
69 TClonesArray *fGenTracksArray; //clones array with filtered particles
70 TClonesArray *fGenKinkArray; //clones array with filtered Kinks
71 TClonesArray *fGenV0Array; //clones array with filtered V0s
73 TClonesArray *fRecTracksArray; //clones array with filtered tracks
76 TTreeSRedirector *fDebugStreamer; //! debug streamer
77 Int_t fStreamLevel; // debug stream level
78 Int_t fDebugLevel; // debug level
79 TString fDebugOutputPath; // debug output path
80 ClassDef(AliGenInfoTask, 1); // Analysis task base class for tracks