]>
Commit | Line | Data |
---|---|---|
54709d62 | 1 | #ifndef ALIMATERIALBUDGET_H |
2 | #define ALIMATERIALBUDGET_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; | |
26 | ||
27 | class AliMaterialBudget : public AliAnalysisTask { | |
28 | public: | |
29 | AliMaterialBudget(); | |
30 | AliMaterialBudget(const char *name); | |
31 | virtual ~AliMaterialBudget(); | |
32 | ||
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;} | |
39 | ||
40 | // | |
41 | void FindPairs(AliESDEvent * event); | |
42 | Bool_t IsPair(AliExternalTrackParam *tr0, AliExternalTrackParam *tr1); | |
43 | // | |
44 | void ProcessMCInfo(); | |
45 | void ProcessRefTracker(AliTrackReference* refIn, AliTrackReference* refOut, TParticle*part, Int_t type); | |
46 | ||
47 | void FitTrackRefs(TParticle * part, TClonesArray * trefs); | |
48 | ||
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 Bool_t PropagateCosmicToDCA(AliExternalTrackParam *param0, AliExternalTrackParam *param1, Double_t mass); | |
59 | static AliExternalTrackParam * MakeTrack(const AliTrackReference* ref, TParticle*part); | |
60 | static Bool_t PropagateToPoint(AliExternalTrackParam *param, Double_t *xyz, Double_t mass, Float_t step); | |
61 | // | |
62 | AliTrackReference * GetFirstTPCTrackRef(AliMCParticle *mcParticle); | |
63 | AliTrackReference * GetAllTOFinfo(AliMCParticle *mcParticle, Int_t & nTrackRef, Int_t &nTrackRefITS, Int_t retValue =0); | |
64 | protected: | |
65 | void RegisterDebugOutput(); | |
66 | AliMaterialBudget(const AliMaterialBudget& /*info*/); | |
67 | AliMaterialBudget& operator=(const AliMaterialBudget& /*info*/) { return *this;} | |
68 | AliMCEvent * fMCinfo; //! MC event handler | |
69 | AliESDEvent * fESD; //! current esd event | |
70 | // | |
71 | // | |
72 | // | |
73 | TTreeSRedirector *fDebugStreamer; //! debug streamer | |
74 | Int_t fStreamLevel; // debug stream level | |
75 | Int_t fDebugLevel; // debug level | |
76 | TString fDebugOutputPath; // debug output path | |
77 | // | |
78 | // histogran | |
79 | // | |
80 | TList * fListHist; // list for histograms | |
81 | TH1F * fHistMult; // track multiplicity histograms | |
82 | // | |
83 | // cuts | |
84 | // | |
85 | Float_t fCutMaxD; // maximal distance in rfi ditection | |
86 | Float_t fCutMaxDz; // maximal distance in z ditection | |
87 | Float_t fCutTheta; // maximal distance in theta ditection | |
88 | Float_t fCutMinDir; // direction vector products | |
89 | // | |
90 | ClassDef(AliMaterialBudget, 1); // Analysis task base class for tracks | |
91 | }; | |
92 | ||
93 | #endif |