1 #ifndef ALIANALYSISTASKEFFCONTBF_cxx
2 #define ALIANALYSISTASKEFFCONTBF_cxx
4 // ---------------------------------------------------------------------
6 // Task for calculating the efficiency and contamination of the Balance
7 // Function for single particles and pairs
9 // ---------------------------------------------------------------------
17 class AliAODInputHandler;
20 #include "AliAnalysisTaskSE.h"
22 class AliAnalysisTaskEffContBF : public AliAnalysisTaskSE {
24 AliAnalysisTaskEffContBF() : AliAnalysisTaskSE(),
33 fHistContaminationSecondaries(0),
34 fHistContaminationPrimaries(0),
35 fHistGeneratedEtaPtPhiPlus(0),
36 fHistSurvivedEtaPtPhiPlus(0),
37 fHistGeneratedEtaPtPhiMinus(0),
38 fHistSurvivedEtaPtPhiMinus(0),
39 fHistGeneratedEtaPtPlusControl(0),
40 fHistSurvivedEtaPtPlusControl(0),
41 fHistGeneratedEtaPtMinusControl(0),
42 fHistSurvivedEtaPtMinusControl(0),
43 fHistGeneratedEtaPtPlusPlus(0),
44 fHistSurvivedEtaPtPlusPlus(0),
45 fHistGeneratedEtaPtMinusMinus(0),
46 fHistSurvivedEtaPtMinusMinus(0),
47 fHistGeneratedEtaPtPlusMinus(0),
48 fHistSurvivedEtaPtPlusMinus(0),
49 fHistGeneratedPhiEtaPlusPlus(0),
50 fHistSurvivedPhiEtaPlusPlus(0),
51 fHistGeneratedPhiEtaMinusMinus(0),
52 fHistSurvivedPhiEtaMinusMinus(0),
53 fHistGeneratedPhiEtaPlusMinus(0),
54 fHistSurvivedPhiEtaPlusMinus(0),
56 fCentralityEstimator("V0M"),
57 fCentralityPercentileMin(0.0),
58 fCentralityPercentileMax(5.0),
63 fMinNumberOfTPCClusters(80),
64 fMaxChi2PerTPCCluster(4.0),
83 fHistSurvived4EtaPtPhiPlus(0),
84 fHistSurvived8EtaPtPhiPlus(0){}
85 AliAnalysisTaskEffContBF(const char *name);
86 virtual ~AliAnalysisTaskEffContBF() {}
88 virtual void UserCreateOutputObjects();
89 virtual void UserExec(Option_t *option);
90 virtual void Terminate(Option_t *);
92 Bool_t IsLabelUsed(TArrayI array, Int_t label);
94 void SetAODtrackCutBit(Int_t bit){
95 fAODTrackCutBit = bit;
97 void SetVertexDiamond(Double_t vx, Double_t vy, Double_t vz) {
104 void SetCentralityEstimator(const char* centralityEstimator) {
105 fCentralityEstimator = centralityEstimator;}
106 void SetCentralityPercentileRange(Float_t min, Float_t max) {
107 fCentralityPercentileMin=min;
108 fCentralityPercentileMax=max;
111 void SetAnalysisMode(const char* analysisMode) {
112 fAnalysisMode = analysisMode;}
115 void SetMinNumberOfTPCClusters(Double_t min) {
116 fMinNumberOfTPCClusters = min;}
117 void SetMaxChi2PerTPCCluster(Double_t max) {
118 fMaxChi2PerTPCCluster = max;}
119 void SetMaxDCAxy(Double_t max) {
121 void SetMaxDCAz(Double_t max) {
123 void SetMinPt(Double_t minPt) {
125 void SetMaxPt(Double_t maxPt) {
128 void SetEtaRange(Double_t minEta, Double_t maxEta, Int_t binEta, Double_t minRangeEta, Double_t maxRangeEta, Int_t bindEta){
132 fEtaRangeMax = maxRangeEta;
133 fEtaRangeMin = minRangeEta;
136 void SetPtRange(Double_t minRangePt, Double_t maxRangePt,Int_t binPt){
137 fPtRangeMin = minRangePt;
138 fPtRangeMax = maxRangePt;
140 void SetPhiRange(Double_t minRangePhi, Double_t maxRangePhi,Int_t binPhi,Double_t maxRangedPhi,Int_t bindPhi ){
141 fPhiRangeMin = minRangePhi;
142 fPhiRangeMax = maxRangePhi;
144 fdPhiRangeMax = maxRangedPhi;
149 AliAODEvent* fAOD; //! AOD object
150 TClonesArray *fArrayMC; //! array of MC particles
151 TList *fQAList; //! QA list
152 TList *fOutputList; //! Output list
155 TH1F *fHistEventStats; //!event stats
156 TH1F *fHistCentrality; //!centrality
157 TH1F *fHistNMult; //! nmult
161 TH3D *fHistContaminationSecondaries;//!
162 TH3D *fHistContaminationPrimaries;//!
163 // output histograms (single particles)
164 TH3D *fHistGeneratedEtaPtPhiPlus;//!correction map for positives (generated)
165 TH3D *fHistSurvivedEtaPtPhiPlus;//!correction map positives (survived)
167 TH3D *fHistGeneratedEtaPtPhiMinus;//!correction map for negatives (generated)
168 TH3D *fHistSurvivedEtaPtPhiMinus;//!correction map negatives (survived)
170 TH2F *fHistGeneratedEtaPtPlusControl;//!correction map for positives (generated)
171 TH2F *fHistSurvivedEtaPtPlusControl;//!correction map positives (survived)
173 TH2F *fHistGeneratedEtaPtMinusControl;//!correction map for negatives (generated)
174 TH2F *fHistSurvivedEtaPtMinusControl;//!correction map negatives (survived)
176 // output histograms (pairs)
177 TH2F *fHistGeneratedEtaPtPlusPlus;//!correction map for ++ (generated)
178 TH2F *fHistSurvivedEtaPtPlusPlus;//!correction map ++ (survived)
180 TH2F *fHistGeneratedEtaPtMinusMinus;//!correction map for -- (generated)
181 TH2F *fHistSurvivedEtaPtMinusMinus;//!correction map -- (survived)
183 TH2F *fHistGeneratedEtaPtPlusMinus;//!correction map for +- (generated)
184 TH2F *fHistSurvivedEtaPtPlusMinus;//!correction map +- (survived)
186 TH2F *fHistGeneratedPhiEtaPlusPlus;//!correction map for ++ (generated)
187 TH2F *fHistSurvivedPhiEtaPlusPlus;//!correction map ++ (survived)
189 TH2F *fHistGeneratedPhiEtaMinusMinus;//!correction map for -- (generated)
190 TH2F *fHistSurvivedPhiEtaMinusMinus;//!correction map -- (survived)
192 TH2F *fHistGeneratedPhiEtaPlusMinus;//!correction map for +- (generated)
193 TH2F *fHistSurvivedPhiEtaPlusMinus;//!correction map +- (survived)
195 TString fAnalysisMode;//"TPC", "Global"
197 TString fCentralityEstimator;//"V0M","TRK","TKL","ZDC","FMD"
198 Float_t fCentralityPercentileMin, fCentralityPercentileMax; //min-max centrality percentile
200 Double_t fVxMax;//vxmax
201 Double_t fVyMax;//vymax
202 Double_t fVzMax;//vzmax
204 Int_t fAODTrackCutBit;//track cut bit from track selection (only used for AODs)
206 Double_t fMinNumberOfTPCClusters;//!
207 Double_t fMaxChi2PerTPCCluster;//!
208 Double_t fMaxDCAxy, fMaxDCAz;//!
209 Double_t fMinPt, fMaxPt;//!
210 Double_t fMinEta, fMaxEta;//!
211 Double_t fEtaRangeMin;// acceptance cuts
212 Double_t fEtaRangeMax; // acceptance cuts
213 Double_t fPtRangeMin; //acceptance cuts
214 Double_t fPtRangeMax; //acceptance cuts
215 Double_t fPhiRangeMin; //acceptance cuts
216 Double_t fPhiRangeMax; // acceptance cuts
217 Double_t fdPhiRangeMax; // acceptance cuts
219 Int_t fEtaBin; //acceptance cuts
220 Int_t fdEtaBin; //acceptance cuts
221 Int_t fPtBin; //acceptance cuts
222 Int_t fPhiBin; // acceptance cuts
223 Int_t fdPhiBin; // acceptance cuts
225 TH3F *fHistSurvived4EtaPtPhiPlus;//!
226 TH3F *fHistSurvived8EtaPtPhiPlus;//!
228 AliAnalysisTaskEffContBF(const AliAnalysisTaskEffContBF&); // not implemented
229 AliAnalysisTaskEffContBF& operator=(const AliAnalysisTaskEffContBF&); // not implemented
231 ClassDef(AliAnalysisTaskEffContBF, 1); // example of analysis