]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/BalanceFunctions/AliAnalysisTaskEfficiencyBF.h
Simulating detector effects (more later)
[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),
d9906391 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.), fdPhiRangeMax(180.), fEtaBin(100),fdEtaBin(64),fPtBin(49),fPhiBin(100),fdPhiBin(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;}
d9906391 93
94 void SetEtaRange(Double_t minEta, Double_t maxEta, Int_t binEta, Double_t minRangeEta, Double_t maxRangeEta, Int_t bindEta){
95 fMinEta = minEta;
96 fMaxEta = maxEta;
97 fEtaBin = binEta;
622c9e7f 98 fEtaRangeMax = maxRangeEta;
99 fEtaRangeMin = minRangeEta;
d9906391 100 fdEtaBin = bindEta;
101 }
622c9e7f 102 void SetPtRange(Double_t minRangePt, Double_t maxRangePt,Int_t binPt){
103 fPtRangeMin = minRangePt;
104 fPtRangeMax = maxRangePt;
105 fPtBin = binPt;}
77e61e9e 106 void SetPhiRange(Double_t minRangePhi, Double_t maxRangePhi,Int_t binPhi,Double_t maxRangedPhi,Int_t bindPhi ){
622c9e7f 107 fPhiRangeMin = minRangePhi;
108 fPhiRangeMax = maxRangePhi;
77e61e9e 109 fPhiBin = binPhi;
110 fdPhiRangeMax = maxRangedPhi;
111 fdPhiBin = bindPhi;
112 }
84164254 113
114 private:
115 AliESDEvent *fESD; //! ESD object
116 TList *fQAList; //! QA list
117 TList *fOutputList; //! Output list
118
119 // QA histograms
120 TH1F *fHistEventStats; //!event stats
121 TH1F *fHistCentrality; //!centrality
122 TH1F *fHistNMult; //! nmult
123
124 // output histograms (single particles)
40b41983 125 TH3D *fHistGeneratedEtaPtPhiPlus;//!correction map for positives (generated)
126 TH3D *fHistFindableEtaPtPhiPlus;//!correction map for positives (findable)
127 TH3D *fHistReconstructedEtaPtPhiPlus;//!correction map for positives (reconstructed)
128 TH3D *fHistSurvivedEtaPtPhiPlus;//!correction map positives (survived)
84164254 129
40b41983 130 TH3D *fHistGeneratedEtaPtPhiMinus;//!correction map for negatives (generated)
131 TH3D *fHistFindableEtaPtPhiMinus;//!correction map for negatives (findable)
132 TH3D *fHistReconstructedEtaPtPhiMinus;//!correction map for negatives (reconstructed)
133 TH3D *fHistSurvivedEtaPtPhiMinus;//!correction map negatives (survived)
84164254 134
135 TH2F *fHistGeneratedEtaPtPlusControl;//!correction map for positives (generated)
136 TH2F *fHistFindableEtaPtPlusControl;//!correction map for positives (findable)
137 TH2F *fHistReconstructedEtaPtPlusControl;//!correction map for positives (reconstructed)
138 TH2F *fHistSurvivedEtaPtPlusControl;//!correction map positives (survived)
139
140 TH2F *fHistGeneratedEtaPtMinusControl;//!correction map for negatives (generated)
141 TH2F *fHistFindableEtaPtMinusControl;//!correction map for negatives (findable)
142 TH2F *fHistReconstructedEtaPtMinusControl;//!correction map for negatives (reconstructed)
143 TH2F *fHistSurvivedEtaPtMinusControl;//!correction map negatives (survived)
144
145 // output histograms (pairs)
146 TH2F *fHistGeneratedEtaPtPlusPlus;//!correction map for ++ (generated)
147 TH2F *fHistFindableEtaPtPlusPlus;//!correction map for ++ (findable)
148 TH2F *fHistReconstructedEtaPtPlusPlus;//!correction map for ++ (reconstructed)
149 TH2F *fHistSurvivedEtaPtPlusPlus;//!correction map ++ (survived)
150
151 TH2F *fHistGeneratedEtaPtMinusMinus;//!correction map for -- (generated)
152 TH2F *fHistFindableEtaPtMinusMinus;//!correction map for -- (findable)
153 TH2F *fHistReconstructedEtaPtMinusMinus;//!correction map for -- (reconstructed)
154 TH2F *fHistSurvivedEtaPtMinusMinus;//!correction map -- (survived)
155
156 TH2F *fHistGeneratedEtaPtPlusMinus;//!correction map for +- (generated)
157 TH2F *fHistFindableEtaPtPlusMinus;//!correction map for +- (findable)
158 TH2F *fHistReconstructedEtaPtPlusMinus;//!correction map for +- (reconstructed)
159 TH2F *fHistSurvivedEtaPtPlusMinus;//!correction map +- (survived)
160
40b41983 161 //============//
162 TH2F *fHistGeneratedPhiEtaPlusPlus;//!correction map for ++ (generated)
163 TH2F *fHistFindablePhiEtaPlusPlus;//!correction map for ++ (findable)
164 TH2F *fHistReconstructedPhiEtaPlusPlus;//!correction map for ++ (reconstructed)
165 TH2F *fHistSurvivedPhiEtaPlusPlus;//!correction map ++ (survived)
84164254 166
40b41983 167 TH2F *fHistGeneratedPhiEtaMinusMinus;//!correction map for -- (generated)
168 TH2F *fHistFindablePhiEtaMinusMinus;//!correction map for -- (findable)
169 TH2F *fHistReconstructedPhiEtaMinusMinus;//!correction map for -- (reconstructed)
170 TH2F *fHistSurvivedPhiEtaMinusMinus;//!correction map -- (survived)
171
172 TH2F *fHistGeneratedPhiEtaPlusMinus;//!correction map for +- (generated)
173 TH2F *fHistFindablePhiEtaPlusMinus;//!correction map for +- (findable)
174 TH2F *fHistReconstructedPhiEtaPlusMinus;//!correction map for +- (reconstructed)
175 TH2F *fHistSurvivedPhiEtaPlusMinus;//!correction map +- (survived)
176 //============//
84164254 177
178 AliESDtrackCuts *fESDtrackCuts; //ESD track cuts
179
180 TString fAnalysisMode;//"TPC", "Global"
181
182 TString fCentralityEstimator;//"V0M","TRK","TKL","ZDC","FMD"
183 Float_t fCentralityPercentileMin, fCentralityPercentileMax; //min-max centrality percentile
184
185 Double_t fVxMax;//vxmax
186 Double_t fVyMax;//vymax
187 Double_t fVzMax;//vzmax
188
40b41983 189 Double_t fMinNumberOfTPCClusters;
190 Double_t fMaxChi2PerTPCCluster;
191 Double_t fMaxDCAxy, fMaxDCAz;
84164254 192 Double_t fMinPt, fMaxPt;
622c9e7f 193 Double_t fMinEta, fMaxEta;
194 Double_t fEtaRangeMin;// acceptance cuts
40b41983 195 Double_t fEtaRangeMax; // acceptance cuts
196 Double_t fPtRangeMin; //acceptance cuts
197 Double_t fPtRangeMax; //acceptance cuts
198 Double_t fPhiRangeMin; //acceptance cuts
199 Double_t fPhiRangeMax; // acceptance cuts
77e61e9e 200 Double_t fdPhiRangeMax; // acceptance cuts
622c9e7f 201
202 Int_t fEtaBin; //acceptance cuts
d9906391 203 Int_t fdEtaBin; //acceptance cuts
622c9e7f 204 Int_t fPtBin; //acceptance cuts
205 Int_t fPhiBin; // acceptance cuts
77e61e9e 206 Int_t fdPhiBin; // acceptance cuts
84164254 207
208 AliAnalysisTaskEfficiencyBF(const AliAnalysisTaskEfficiencyBF&); // not implemented
209 AliAnalysisTaskEfficiencyBF& operator=(const AliAnalysisTaskEfficiencyBF&); // not implemented
210
211 ClassDef(AliAnalysisTaskEfficiencyBF, 1); // example of analysis
212};
213
214#endif