]>
Commit | Line | Data |
---|---|---|
b938b7fc | 1 | #ifndef ALIANALYSISTRACKINGUNCERTAINTIES_H |
2 | #define ALIANALYSISTRACKINGUNCERTAINTIES_H | |
3 | ||
4 | ////////////////////////////////////////////////////////////////////////////// | |
5 | // // | |
6 | // Analysis task for the systematic study of the uncertainties related to // | |
7 | // the tracking and ITS-TPC matching efficiency for different particle // | |
8 | // species. // | |
9 | // // | |
10 | ////////////////////////////////////////////////////////////////////////////// | |
11 | ||
12 | class TList; | |
13 | class AliESDEvent; | |
14 | class AliMCEvent; | |
15 | class AliESDtrack; | |
16 | class AliESDtrackCuts; | |
17 | class AliESDpid; | |
18 | ||
19 | ||
20 | #include "AliAnalysisTaskSE.h" | |
21 | #include "AliAnalysisUtils.h" | |
e476333f | 22 | #include "THn.h" |
b938b7fc | 23 | |
24 | // ITS->TPC matching constants | |
25 | const int kMaxMatch=5; | |
26 | const double kMaxChi2 = 200; | |
27 | ||
28 | ||
29 | class AliAnalysisTrackingUncertainties : public AliAnalysisTaskSE { | |
30 | public: | |
31 | AliAnalysisTrackingUncertainties(const char *name); | |
32 | AliAnalysisTrackingUncertainties(); | |
33 | virtual ~AliAnalysisTrackingUncertainties() {} | |
34 | // | |
35 | virtual void UserCreateOutputObjects(); | |
36 | virtual void UserExec(Option_t *option); | |
37 | virtual void Terminate(Option_t *); | |
38 | // | |
39 | void ProcessTrackCutVariation(); | |
40 | void ProcessItsTpcMatching(); | |
48b2ef2f | 41 | void Match(const AliESDtrack* tr0, const AliESDtrack* tr1, Int_t & nmatch, Double_t rotate = 0); |
b938b7fc | 42 | // |
43 | void SetESDtrackCuts(AliESDtrackCuts * trackCuts){fESDtrackCuts = trackCuts;}; | |
44 | void InitializeTrackCutHistograms(); | |
45 | // | |
46 | ||
47 | ||
48 | private: | |
4d737435 | 49 | enum ESpecies_t{ |
50 | kSpecElectron = 0, | |
51 | kSpecPion = 1, | |
52 | kSpecKaon = 2, | |
53 | kSpecProton = 3, | |
a95c2a62 | 54 | kUndef = 4, |
55 | kAll = 5 | |
4d737435 | 56 | }; |
b938b7fc | 57 | // |
58 | void BinLogAxis(const THn *h, Int_t axisNumber); | |
59 | Bool_t IsVertexAccepted(AliESDEvent * esd, Float_t &vertexZ); | |
4d737435 | 60 | ESpecies_t GetPid(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const; |
61 | Bool_t IsElectron(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const; | |
a95c2a62 | 62 | Bool_t IsPion(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const; |
63 | Bool_t IsKaon(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const; | |
64 | Bool_t IsProton(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const; | |
65 | // | |
66 | Bool_t IsConsistentWithPid(Int_t type, const AliESDtrack * const tr); | |
b938b7fc | 67 | // |
68 | // | |
69 | // | |
70 | AliESDEvent * fESD; //! ESD object | |
71 | AliESDpid * fESDpid; //! basic pid object | |
72 | AliAnalysisUtils * fUtils; //! vertex and event selection classes | |
73 | Bool_t fMCtrue; // flag if real data or MC is processed | |
74 | // | |
75 | // | |
76 | TList * fListHist; //! output list for histograms | |
77 | AliESDtrackCuts * fESDtrackCuts; // cut set which is under study | |
78 | // | |
79 | // helper variables for ITS->TPC matching | |
80 | // | |
81 | const AliESDtrack * fMatchTr[kMaxMatch]; | |
82 | Double_t fMatchChi[kMaxMatch]; | |
83 | // | |
84 | // | |
85 | AliAnalysisTrackingUncertainties(const AliAnalysisTrackingUncertainties&); | |
86 | AliAnalysisTrackingUncertainties& operator=(const AliAnalysisTrackingUncertainties&); | |
87 | ||
88 | ClassDef(AliAnalysisTrackingUncertainties, 1); | |
89 | }; | |
90 | ||
91 | #endif |