]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/BalanceFunctions/AliAnalysisTaskEfficiencyBF.h
Fixes for std:: need with the trunk of Root (Jochen, Yves)
[u/mrichter/AliRoot.git] / PWGCF / EBYE / BalanceFunctions / AliAnalysisTaskEfficiencyBF.h
CommitLineData
84164254 1#ifndef ALIANALYSISTASKEFFICIENCYBF_cxx
2#define ALIANALYSISTASKEFFICIENCYBF_cxx
3
4// ---------------------------------------------------------------------
5//
6// Task for calculating the efficiency of the Balance Function
7// for single particles and pairs
8//
9// Authors: Panos Christakoglou, Michael Weber
10//
11// ---------------------------------------------------------------------
12
13class TH1F;
40b41983 14class TH3D;
84164254 15class TH2F;
16class TString;
17class AliESDEvent;
18class AliESDtrackCuts;
19
20#include "AliAnalysisTaskSE.h"
21
22class AliAnalysisTaskEfficiencyBF : public AliAnalysisTaskSE {
23 public:
24 AliAnalysisTaskEfficiencyBF() : AliAnalysisTaskSE(),
25 fESD(0), fQAList(0), fOutputList(0),
26 fHistEventStats(0), fHistCentrality(0), fHistNMult(0),
40b41983 27 fHistGeneratedEtaPtPhiPlus(0), fHistFindableEtaPtPhiPlus(0),
28 fHistReconstructedEtaPtPhiPlus(0), fHistSurvivedEtaPtPhiPlus(0),
29 fHistGeneratedEtaPtPhiMinus(0), fHistFindableEtaPtPhiMinus(0),
30 fHistReconstructedEtaPtPhiMinus(0), fHistSurvivedEtaPtPhiMinus(0),
84164254 31 fHistGeneratedEtaPtPlusControl(0), fHistFindableEtaPtPlusControl(0),
32 fHistReconstructedEtaPtPlusControl(0), fHistSurvivedEtaPtPlusControl(0),
33 fHistGeneratedEtaPtMinusControl(0), fHistFindableEtaPtMinusControl(0),
34 fHistReconstructedEtaPtMinusControl(0), fHistSurvivedEtaPtMinusControl(0),
35 fHistGeneratedEtaPtPlusPlus(0), fHistFindableEtaPtPlusPlus(0),
36 fHistReconstructedEtaPtPlusPlus(0), fHistSurvivedEtaPtPlusPlus(0),
37 fHistGeneratedEtaPtMinusMinus(0), fHistFindableEtaPtMinusMinus(0),
38 fHistReconstructedEtaPtMinusMinus(0), fHistSurvivedEtaPtMinusMinus(0),
39 fHistGeneratedEtaPtPlusMinus(0), fHistFindableEtaPtPlusMinus(0),
40 fHistReconstructedEtaPtPlusMinus(0), fHistSurvivedEtaPtPlusMinus(0),
40b41983 41 fHistGeneratedPhiEtaPlusPlus(0), fHistFindablePhiEtaPlusPlus(0),
42 fHistReconstructedPhiEtaPlusPlus(0), fHistSurvivedPhiEtaPlusPlus(0),
43 fHistGeneratedPhiEtaMinusMinus(0), fHistFindablePhiEtaMinusMinus(0),
44 fHistReconstructedPhiEtaMinusMinus(0), fHistSurvivedPhiEtaMinusMinus(0),
45 fHistGeneratedPhiEtaPlusMinus(0), fHistFindablePhiEtaPlusMinus(0),
46 fHistReconstructedPhiEtaPlusMinus(0), fHistSurvivedPhiEtaPlusMinus(0),
84164254 47 fESDtrackCuts(0), fAnalysisMode(0),
48 fCentralityEstimator("V0M"), fCentralityPercentileMin(0.0), fCentralityPercentileMax(5.0),
49 fVxMax(3.0), fVyMax(3.0), fVzMax(10.),
50 fMinNumberOfTPCClusters(80), fMaxChi2PerTPCCluster(4.0), fMaxDCAxy(3.0), fMaxDCAz(3.0),
622c9e7f 51 fMinPt(0.3), fMaxPt(1.5), fMinEta(-0.8),fMaxEta(0.8), fEtaRangeMin(0.0), fEtaRangeMax(1.6), fPtRangeMin(0.1), fPtRangeMax(5.0), fPhiRangeMin(0.0),fPhiRangeMax(360.), fEtaBin(64),fPtBin(49),fPhiBin(90){}
84164254 52 AliAnalysisTaskEfficiencyBF(const char *name);
53 virtual ~AliAnalysisTaskEfficiencyBF() {}
54
55 virtual void UserCreateOutputObjects();
56 virtual void UserExec(Option_t *option);
57 virtual void Terminate(Option_t *);
58
59 Bool_t IsLabelUsed(TArrayI array, Int_t label);
60
61 void SetAnalysisCutObject(AliESDtrackCuts *const trackCuts) {
62 fESDtrackCuts = trackCuts;}
63 void SetVertexDiamond(Double_t vx, Double_t vy, Double_t vz) {
64 fVxMax = vx;
65 fVyMax = vy;
66 fVzMax = vz;
67 }
68
69 //Centrality
70 void SetCentralityEstimator(const char* centralityEstimator) {
71 fCentralityEstimator = centralityEstimator;}
72 void SetCentralityPercentileRange(Float_t min, Float_t max) {
73 fCentralityPercentileMin=min;
74 fCentralityPercentileMax=max;
75 }
76
77 void SetAnalysisMode(const char* analysisMode) {
78 fAnalysisMode = analysisMode;}
79
80 //Track cuts
81 void SetMinNumberOfTPCClusters(Double_t min) {
82 fMinNumberOfTPCClusters = min;}
83 void SetMaxChi2PerTPCCluster(Double_t max) {
84 fMaxChi2PerTPCCluster = max;}
85 void SetMaxDCAxy(Double_t max) {
86 fMaxDCAxy = max;}
87 void SetMaxDCAz(Double_t max) {
88 fMaxDCAz = max;}
89 void SetMinPt(Double_t minPt) {
90 fMinPt = minPt;}
91 void SetMaxPt(Double_t maxPt) {
92 fMaxPt = maxPt;}
622c9e7f 93 void SetMinEta(Double_t minEta) {
94 fMinEta = minEta;}
84164254 95 void SetMaxEta(Double_t maxEta) {
96 fMaxEta = maxEta;}
97
622c9e7f 98 void SetEtaRange(Double_t minRangeEta, Double_t maxRangeEta, Int_t binEta){
99 fEtaRangeMax = maxRangeEta;
100 fEtaRangeMin = minRangeEta;
101 fEtaBin = binEta;}
102 void SetPtRange(Double_t minRangePt, Double_t maxRangePt,Int_t binPt){
103 fPtRangeMin = minRangePt;
104 fPtRangeMax = maxRangePt;
105 fPtBin = binPt;}
106 //void SetPtRangeMax(Double_t maxRangePt){
107 //fPtRangeMax = maxRangePt;}
108 void SetPhiRange(Double_t minRangePhi, Double_t maxRangePhi,Int_t binPhi){
109 fPhiRangeMin = minRangePhi;
110 fPhiRangeMax = maxRangePhi;
111 fPhiBin = binPhi;}
84164254 112
622c9e7f 113 //void SetPhiRangeMax(Double_t maxRangePhi){
114 //fPhiRangeMax = maxRangePhi;}
115
116 /*void SetEtaBin(Double_t binEta){
117 fEtaBin = binEta;}
118 void SetPtBin(Double_t binPt){
119 fPtBin = binPt;}
120 void SetPhiBin(Double_t binPhi){
121 fPhiBin = binPhi;}*/
40b41983 122
84164254 123 private:
124 AliESDEvent *fESD; //! ESD object
125 TList *fQAList; //! QA list
126 TList *fOutputList; //! Output list
127
128 // QA histograms
129 TH1F *fHistEventStats; //!event stats
130 TH1F *fHistCentrality; //!centrality
131 TH1F *fHistNMult; //! nmult
132
133 // output histograms (single particles)
40b41983 134 TH3D *fHistGeneratedEtaPtPhiPlus;//!correction map for positives (generated)
135 TH3D *fHistFindableEtaPtPhiPlus;//!correction map for positives (findable)
136 TH3D *fHistReconstructedEtaPtPhiPlus;//!correction map for positives (reconstructed)
137 TH3D *fHistSurvivedEtaPtPhiPlus;//!correction map positives (survived)
84164254 138
40b41983 139 TH3D *fHistGeneratedEtaPtPhiMinus;//!correction map for negatives (generated)
140 TH3D *fHistFindableEtaPtPhiMinus;//!correction map for negatives (findable)
141 TH3D *fHistReconstructedEtaPtPhiMinus;//!correction map for negatives (reconstructed)
142 TH3D *fHistSurvivedEtaPtPhiMinus;//!correction map negatives (survived)
84164254 143
144 TH2F *fHistGeneratedEtaPtPlusControl;//!correction map for positives (generated)
145 TH2F *fHistFindableEtaPtPlusControl;//!correction map for positives (findable)
146 TH2F *fHistReconstructedEtaPtPlusControl;//!correction map for positives (reconstructed)
147 TH2F *fHistSurvivedEtaPtPlusControl;//!correction map positives (survived)
148
149 TH2F *fHistGeneratedEtaPtMinusControl;//!correction map for negatives (generated)
150 TH2F *fHistFindableEtaPtMinusControl;//!correction map for negatives (findable)
151 TH2F *fHistReconstructedEtaPtMinusControl;//!correction map for negatives (reconstructed)
152 TH2F *fHistSurvivedEtaPtMinusControl;//!correction map negatives (survived)
153
154 // output histograms (pairs)
155 TH2F *fHistGeneratedEtaPtPlusPlus;//!correction map for ++ (generated)
156 TH2F *fHistFindableEtaPtPlusPlus;//!correction map for ++ (findable)
157 TH2F *fHistReconstructedEtaPtPlusPlus;//!correction map for ++ (reconstructed)
158 TH2F *fHistSurvivedEtaPtPlusPlus;//!correction map ++ (survived)
159
160 TH2F *fHistGeneratedEtaPtMinusMinus;//!correction map for -- (generated)
161 TH2F *fHistFindableEtaPtMinusMinus;//!correction map for -- (findable)
162 TH2F *fHistReconstructedEtaPtMinusMinus;//!correction map for -- (reconstructed)
163 TH2F *fHistSurvivedEtaPtMinusMinus;//!correction map -- (survived)
164
165 TH2F *fHistGeneratedEtaPtPlusMinus;//!correction map for +- (generated)
166 TH2F *fHistFindableEtaPtPlusMinus;//!correction map for +- (findable)
167 TH2F *fHistReconstructedEtaPtPlusMinus;//!correction map for +- (reconstructed)
168 TH2F *fHistSurvivedEtaPtPlusMinus;//!correction map +- (survived)
169
40b41983 170 //============//
171 TH2F *fHistGeneratedPhiEtaPlusPlus;//!correction map for ++ (generated)
172 TH2F *fHistFindablePhiEtaPlusPlus;//!correction map for ++ (findable)
173 TH2F *fHistReconstructedPhiEtaPlusPlus;//!correction map for ++ (reconstructed)
174 TH2F *fHistSurvivedPhiEtaPlusPlus;//!correction map ++ (survived)
84164254 175
40b41983 176 TH2F *fHistGeneratedPhiEtaMinusMinus;//!correction map for -- (generated)
177 TH2F *fHistFindablePhiEtaMinusMinus;//!correction map for -- (findable)
178 TH2F *fHistReconstructedPhiEtaMinusMinus;//!correction map for -- (reconstructed)
179 TH2F *fHistSurvivedPhiEtaMinusMinus;//!correction map -- (survived)
180
181 TH2F *fHistGeneratedPhiEtaPlusMinus;//!correction map for +- (generated)
182 TH2F *fHistFindablePhiEtaPlusMinus;//!correction map for +- (findable)
183 TH2F *fHistReconstructedPhiEtaPlusMinus;//!correction map for +- (reconstructed)
184 TH2F *fHistSurvivedPhiEtaPlusMinus;//!correction map +- (survived)
185 //============//
84164254 186
187 AliESDtrackCuts *fESDtrackCuts; //ESD track cuts
188
189 TString fAnalysisMode;//"TPC", "Global"
190
191 TString fCentralityEstimator;//"V0M","TRK","TKL","ZDC","FMD"
192 Float_t fCentralityPercentileMin, fCentralityPercentileMax; //min-max centrality percentile
193
194 Double_t fVxMax;//vxmax
195 Double_t fVyMax;//vymax
196 Double_t fVzMax;//vzmax
197
40b41983 198 Double_t fMinNumberOfTPCClusters;
199 Double_t fMaxChi2PerTPCCluster;
200 Double_t fMaxDCAxy, fMaxDCAz;
84164254 201 Double_t fMinPt, fMaxPt;
622c9e7f 202 Double_t fMinEta, fMaxEta;
203 Double_t fEtaRangeMin;// acceptance cuts
40b41983 204 Double_t fEtaRangeMax; // acceptance cuts
205 Double_t fPtRangeMin; //acceptance cuts
206 Double_t fPtRangeMax; //acceptance cuts
207 Double_t fPhiRangeMin; //acceptance cuts
208 Double_t fPhiRangeMax; // acceptance cuts
622c9e7f 209
210 Int_t fEtaBin; //acceptance cuts
211 Int_t fPtBin; //acceptance cuts
212 Int_t fPhiBin; // acceptance cuts
84164254 213
214 AliAnalysisTaskEfficiencyBF(const AliAnalysisTaskEfficiencyBF&); // not implemented
215 AliAnalysisTaskEfficiencyBF& operator=(const AliAnalysisTaskEfficiencyBF&); // not implemented
216
217 ClassDef(AliAnalysisTaskEfficiencyBF, 1); // example of analysis
218};
219
220#endif