1 #ifndef ALIMCTRACKINGTESTTASK_H
2 #define ALIMCTRACKINGTESTTASK_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>
17 class AliGenInfoMaker;
18 class TTreeSRedirector;
19 class AliMCEventHadnler;
25 class AliComparisonObject;
26 class AliTrackComparison;
28 class AliMCTrackingTestTask : public AliAnalysisTask {
30 AliMCTrackingTestTask();
31 AliMCTrackingTestTask(const char *name);
32 virtual ~AliMCTrackingTestTask();
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;}
43 void ProcessRefTracker(AliTrackReference* refIn, AliTrackReference* refOut, TParticle*part, Int_t type);
45 void FitTrackRefs(TParticle * part, TClonesArray * trefs);
47 Bool_t IsFindable(Int_t label, Float_t minTrackLength);
48 Bool_t AddComparisonObject(AliTrackComparison* comp);
50 // debug streamer part
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;}
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);
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
67 Int_t fCurrentRun; // current run number
72 TTreeSRedirector *fDebugStreamer; //! debug streamer
73 Int_t fStreamLevel; // debug stream level
74 Int_t fDebugLevel; // debug level
75 TString fDebugOutputPath; // debug output path
78 TIterator *fPitList; //! iterator over the output objetcs
81 ClassDef(AliMCTrackingTestTask, 1); // Analysis task base class for tracks