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;
27 class AliMCTrackingTestTask : public AliAnalysisTask {
29 AliMCTrackingTestTask();
30 AliMCTrackingTestTask(const char *name);
31 virtual ~AliMCTrackingTestTask();
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 void SetDebugOuputhPath(const char * name){fDebugOutputPath=name;}
42 void ProcessRefTracker(AliTrackReference* refIn, AliTrackReference* refOut, TParticle*part, Int_t type);
44 // debug streamer part
46 TTreeSRedirector *GetDebugStreamer();
47 void SetStreamLevel(Int_t streamLevel){fStreamLevel=streamLevel;}
48 void SetDebugLevel(Int_t level) {fDebugLevel = level;}
49 Int_t GetStreamLevel() const {return fStreamLevel;}
50 Int_t GetDebugLevel() const {return fDebugLevel;}
52 static AliExternalTrackParam * MakeTrack(const AliTrackReference* ref, TParticle*part);
53 static Bool_t PropagateToPoint(AliExternalTrackParam *param, Double_t *xyz, Double_t mass, Float_t step);
55 void RegisterDebugOutput();
56 AliMCTrackingTestTask(const AliMCTrackingTestTask& /*info*/);
57 AliMCTrackingTestTask& operator=(const AliMCTrackingTestTask& /*info*/) { return *this;}
58 AliMCEvent * fMCinfo; //! MC event handler
59 AliESDEvent * fESD; //! current esd event
63 TTreeSRedirector *fDebugStreamer; //! debug streamer
64 Int_t fStreamLevel; // debug stream level
65 Int_t fDebugLevel; // debug level
66 TString fDebugOutputPath; // debug output path
67 ClassDef(AliMCTrackingTestTask, 1); // Analysis task base class for tracks