]>
Commit | Line | Data |
---|---|---|
7cc34f08 | 1 | #ifndef ALIMCTRACKINGTESTTASK_H |
2 | #define ALIMCTRACKINGTESTTASK_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 | #include <TString.h> | |
17 | class AliGenInfoMaker; | |
18 | class TTreeSRedirector; | |
19 | class AliMCEventHadnler; | |
20 | class TParticle; | |
21 | class AliMCInfo; | |
22 | class AliESDRecInfo; | |
23 | class AliESDEvent; | |
24 | class AliMCEvent; | |
25 | class AliComparisonObject; | |
40d962ff | 26 | class AliTrackComparison; |
7cc34f08 | 27 | |
28 | class AliMCTrackingTestTask : public AliAnalysisTask { | |
29 | public: | |
30 | AliMCTrackingTestTask(); | |
31 | AliMCTrackingTestTask(const char *name); | |
32 | virtual ~AliMCTrackingTestTask(); | |
33 | ||
34 | virtual void ConnectInputData(Option_t *); | |
35 | virtual void CreateOutputObjects(); | |
36 | virtual void Exec(Option_t *option); | |
37 | virtual void Terminate(Option_t *); | |
38 | virtual void FinishTaskOutput(); | |
39 | void SetDebugOuputhPath(const char * name){fDebugOutputPath=name;} | |
40 | ||
41 | // | |
42 | void ProcessMCInfo(); | |
43 | void ProcessRefTracker(AliTrackReference* refIn, AliTrackReference* refOut, TParticle*part, Int_t type); | |
44 | ||
45 | void FitTrackRefs(TParticle * part, TClonesArray * trefs); | |
46 | ||
40d962ff | 47 | Bool_t IsFindable(Int_t label, Float_t minTrackLength); |
48 | Bool_t AddComparisonObject(AliTrackComparison* comp); | |
7cc34f08 | 49 | // |
50 | // debug streamer part | |
51 | // | |
52 | TTreeSRedirector *GetDebugStreamer(); | |
53 | void SetStreamLevel(Int_t streamLevel){fStreamLevel=streamLevel;} | |
54 | void SetDebugLevel(Int_t level) {fDebugLevel = level;} | |
55 | Int_t GetStreamLevel() const {return fStreamLevel;} | |
56 | Int_t GetDebugLevel() const {return fDebugLevel;} | |
57 | // | |
58 | static AliExternalTrackParam * MakeTrack(const AliTrackReference* ref, TParticle*part); | |
59 | static Bool_t PropagateToPoint(AliExternalTrackParam *param, Double_t *xyz, Double_t mass, Float_t step); | |
60 | protected: | |
61 | void RegisterDebugOutput(); | |
62 | AliMCTrackingTestTask(const AliMCTrackingTestTask& /*info*/); | |
63 | AliMCTrackingTestTask& operator=(const AliMCTrackingTestTask& /*info*/) { return *this;} | |
64 | AliMCEvent * fMCinfo; //! MC event handler | |
65 | AliESDEvent * fESD; //! current esd event | |
40d962ff | 66 | |
67 | Int_t fCurrentRun; // current run number | |
68 | ||
7cc34f08 | 69 | // |
70 | // | |
71 | // | |
72 | TTreeSRedirector *fDebugStreamer; //! debug streamer | |
73 | Int_t fStreamLevel; // debug stream level | |
74 | Int_t fDebugLevel; // debug level | |
75 | TString fDebugOutputPath; // debug output path | |
40d962ff | 76 | |
77 | TList* fOutList; | |
78 | TIterator *fPitList; //! iterator over the output objetcs | |
79 | TList *fCompList; | |
80 | ||
7cc34f08 | 81 | ClassDef(AliMCTrackingTestTask, 1); // Analysis task base class for tracks |
82 | }; | |
83 | ||
84 | #endif |