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