]>
Commit | Line | Data |
---|---|---|
74a4d448 | 1 | #ifndef ALIANALYSISTASKEFFICIENCYBFPSI_cxx |
2 | #define ALIANALYSISTASKEFFICIENCYBFPSI_cxx | |
3 | ||
4 | // --------------------------------------------------------------------- | |
5 | // | |
6 | // Task for calculating the efficiency of the Balance Function | |
7 | // for single particles and pairs: multi-D analysis | |
8 | // | |
9 | // Authors: Panos Christakoglou, Michael Weber | |
10 | // | |
11 | // --------------------------------------------------------------------- | |
12 | ||
13 | class TH1F; | |
14 | class TH3D; | |
15 | class TH2F; | |
16 | class TString; | |
17 | class AliESDEvent; | |
18 | class AliESDtrackCuts; | |
19 | #include "AliTHn.h" | |
20 | ||
21 | #include "AliAnalysisTaskSE.h" | |
22 | ||
23 | const Int_t kVariablesSingle = 2; // track variables in histogram (phi-Psi2, pTtrig) | |
24 | const Int_t kVariablesPair = 5; // track variables in histogram (phi-Psi2, dEta, dPhi, pTtrig, ptAssociated) | |
25 | ||
26 | class AliAnalysisTaskEfficiencyBFPsi : public AliAnalysisTaskSE { | |
27 | public: | |
28 | AliAnalysisTaskEfficiencyBFPsi() : AliAnalysisTaskSE(), | |
29 | fESD(0), fQAList(0), fOutputList(0), | |
30 | fHistEventStats(0), fHistCentrality(0), fHistNMult(0), | |
31 | fHistGeneratedPlus(0), fHistSurvivedPlus(0), | |
32 | fHistGeneratedMinus(0),fHistSurvivedMinus(0), | |
33 | fHistGeneratedPlusPlus(0), fHistSurvivedPlusPlus(0), | |
34 | fHistGeneratedMinusMinus(0), fHistSurvivedMinusMinus(0), | |
35 | fHistGeneratedPlusMinus(0), fHistSurvivedPlusMinus(0), | |
36 | fHistGeneratedMinusPlus(0), fHistSurvivedMinusPlus(0), | |
37 | fESDtrackCuts(0), fAnalysisMode(0), | |
38 | fCentralityEstimator("V0M"), | |
39 | fCentralityPercentileMin(0.0), fCentralityPercentileMax(10.0), | |
40 | fVxMax(3.0), fVyMax(3.0), fVzMax(10.), | |
41 | fMinNumberOfTPCClusters(80), fMaxChi2PerTPCCluster(4.0), | |
42 | fMaxDCAxy(3.0), fMaxDCAz(3.0), | |
43 | fMinPt(0.3), fMaxPt(1.5), fMaxEta(0.8), fEtaRangeMax(0.8), | |
44 | fPtRangeMin(0.1), fPtRangeMax(5.0), fPhiRangeMin(0.0),fPhiRangeMax(6.28){} | |
45 | AliAnalysisTaskEfficiencyBFPsi(const char *name); | |
46 | virtual ~AliAnalysisTaskEfficiencyBFPsi() {} | |
47 | ||
48 | virtual void UserCreateOutputObjects(); | |
49 | virtual void UserExec(Option_t *option); | |
50 | virtual void Terminate(Option_t *); | |
51 | ||
52 | Bool_t IsLabelUsed(TArrayI array, Int_t label); | |
53 | ||
54 | void SetAnalysisCutObject(AliESDtrackCuts *const trackCuts) { | |
55 | fESDtrackCuts = trackCuts;} | |
56 | void SetVertexDiamond(Double_t vx, Double_t vy, Double_t vz) { | |
57 | fVxMax = vx; | |
58 | fVyMax = vy; | |
59 | fVzMax = vz; | |
60 | } | |
61 | ||
62 | //Centrality | |
63 | void SetCentralityEstimator(const char* centralityEstimator) { | |
64 | fCentralityEstimator = centralityEstimator;} | |
65 | void SetCentralityPercentileRange(Float_t min, Float_t max) { | |
66 | fCentralityPercentileMin=min; | |
67 | fCentralityPercentileMax=max; | |
68 | } | |
69 | ||
70 | void SetAnalysisMode(const char* analysisMode) { | |
71 | fAnalysisMode = analysisMode;} | |
72 | ||
73 | //Track cuts | |
74 | void SetMinNumberOfTPCClusters(Double_t min) { | |
75 | fMinNumberOfTPCClusters = min;} | |
76 | void SetMaxChi2PerTPCCluster(Double_t max) { | |
77 | fMaxChi2PerTPCCluster = max;} | |
78 | void SetMaxDCAxy(Double_t max) { | |
79 | fMaxDCAxy = max;} | |
80 | void SetMaxDCAz(Double_t max) { | |
81 | fMaxDCAz = max;} | |
82 | void SetMinPt(Double_t minPt) { | |
83 | fMinPt = minPt;} | |
84 | void SetMaxPt(Double_t maxPt) { | |
85 | fMaxPt = maxPt;} | |
86 | void SetMaxEta(Double_t maxEta) { | |
87 | fMaxEta = maxEta;} | |
88 | ||
89 | void SetEtaRangeMax(Double_t maxRangeEta){ | |
90 | fEtaRangeMax = maxRangeEta;}// | |
91 | void SetPtRangeMin(Double_t minRangePt){ | |
92 | fPtRangeMin = minRangePt;} // | |
93 | void SetPtRangeMax(Double_t maxRangePt){ | |
94 | fPtRangeMax = maxRangePt;} // | |
95 | void SetPhiRangeMin(Double_t minRangePhi){ | |
96 | fPhiRangeMin = minRangePhi;} // | |
97 | void SetPhiRangeMax(Double_t maxRangePhi){ | |
98 | fPhiRangeMax = maxRangePhi;} // | |
99 | ||
100 | ||
101 | private: | |
102 | AliESDEvent *fESD; //! ESD object | |
103 | TList *fQAList; //! QA list | |
104 | TList *fOutputList; //! Output list | |
105 | ||
106 | // QA histograms | |
107 | TH1F *fHistEventStats; //!event stats | |
108 | TH1F *fHistCentrality; //!centrality | |
109 | TH1F *fHistNMult; //! nmult | |
110 | ||
111 | // output histograms (single particles) | |
112 | AliTHn *fHistGeneratedPlus;//!correction map for positives (generated) | |
113 | AliTHn *fHistSurvivedPlus;//!correction map positives (survived) | |
114 | AliTHn *fHistGeneratedMinus;//!correction map for negatives (generated) | |
115 | AliTHn *fHistSurvivedMinus;//!correction map negatives (survived) | |
116 | ||
117 | // output histograms (pairs) | |
118 | AliTHn *fHistGeneratedPlusPlus;//!correction map for ++ (generated) | |
119 | AliTHn *fHistSurvivedPlusPlus;//!correction map ++ (survived) | |
120 | AliTHn *fHistGeneratedMinusMinus;//!correction map for -- (generated) | |
121 | AliTHn *fHistSurvivedMinusMinus;//!correction map -- (survived) | |
122 | AliTHn *fHistGeneratedPlusMinus;//!correction map for +- (generated) | |
123 | AliTHn *fHistSurvivedPlusMinus;//!correction map +- (survived) | |
124 | AliTHn *fHistGeneratedMinusPlus;//!correction map for -+ (generated) | |
125 | AliTHn *fHistSurvivedMinusPlus;//!correction map -+ (survived) | |
126 | //============// | |
127 | ||
128 | AliESDtrackCuts *fESDtrackCuts; //ESD track cuts | |
129 | ||
130 | TString fAnalysisMode;//"TPC", "Global" | |
131 | ||
132 | TString fCentralityEstimator;//"V0M","TRK","TKL","ZDC","FMD" | |
133 | Float_t fCentralityPercentileMin, fCentralityPercentileMax; //min-max centrality percentile | |
134 | ||
135 | Double_t fVxMax;//vxmax | |
136 | Double_t fVyMax;//vymax | |
137 | Double_t fVzMax;//vzmax | |
138 | ||
139 | Double_t fMinNumberOfTPCClusters; | |
140 | Double_t fMaxChi2PerTPCCluster; | |
141 | Double_t fMaxDCAxy, fMaxDCAz; | |
142 | Double_t fMinPt, fMaxPt; | |
143 | Double_t fMaxEta; | |
144 | Double_t fEtaRangeMax; // acceptance cuts | |
145 | Double_t fPtRangeMin; //acceptance cuts | |
146 | Double_t fPtRangeMax; //acceptance cuts | |
147 | Double_t fPhiRangeMin; //acceptance cuts | |
148 | Double_t fPhiRangeMax; // acceptance cuts | |
149 | ||
150 | AliAnalysisTaskEfficiencyBFPsi(const AliAnalysisTaskEfficiencyBFPsi&); // not implemented | |
151 | AliAnalysisTaskEfficiencyBFPsi& operator=(const AliAnalysisTaskEfficiencyBFPsi&); // not implemented | |
152 | ||
153 | ClassDef(AliAnalysisTaskEfficiencyBFPsi, 1); // example of analysis | |
154 | }; | |
155 | ||
156 | #endif |