don't lie in the log!
[u/mrichter/AliRoot.git] / PWGPP / TPC / AliMCTrackingTestTask.h
CommitLineData
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>
17class AliGenInfoMaker;
18class TTreeSRedirector;
19class AliMCEventHadnler;
20class TParticle;
21class AliMCInfo;
22class AliESDRecInfo;
23class AliESDEvent;
24class AliMCEvent;
25class AliComparisonObject;
40d962ff 26class AliTrackComparison;
7cc34f08 27
28class 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