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 fHistContaminationSecondariesPlus(0),
34 fHistContaminationSecondariesMinus(0),
35 fHistContaminationPrimariesPlus(0),
36 fHistContaminationPrimariesMinus(0),
37 fHistGeneratedEtaPtPhiPlus(0),
38 fHistSurvivedEtaPtPhiPlus(0),
39 fHistGeneratedEtaPtPhiMinus(0),
40 fHistSurvivedEtaPtPhiMinus(0),
41 fHistGeneratedEtaPtPlusControl(0),
42 fHistSurvivedEtaPtPlusControl(0),
43 fHistGeneratedEtaPtMinusControl(0),
44 fHistSurvivedEtaPtMinusControl(0),
45 fHistGeneratedEtaPtPlusPlus(0),
46 fHistSurvivedEtaPtPlusPlus(0),
47 fHistGeneratedEtaPtMinusMinus(0),
48 fHistSurvivedEtaPtMinusMinus(0),
49 fHistGeneratedEtaPtPlusMinus(0),
50 fHistSurvivedEtaPtPlusMinus(0),
51 fHistGeneratedPhiEtaPlusPlus(0),
52 fHistSurvivedPhiEtaPlusPlus(0),
53 fHistGeneratedPhiEtaMinusMinus(0),
54 fHistSurvivedPhiEtaMinusMinus(0),
55 fHistGeneratedPhiEtaPlusMinus(0),
56 fHistSurvivedPhiEtaPlusMinus(0),
57 fUseCentrality(kFALSE),
58 fCentralityEstimator("V0M"),
59 fCentralityPercentileMin(0.0),
60 fCentralityPercentileMax(5.0),
65 fMinNumberOfTPCClusters(80),
66 fMaxChi2PerTPCCluster(4.0),
80 fHistSurvived4EtaPtPhiPlus(0),
81 fHistSurvived8EtaPtPhiPlus(0){}
82 AliAnalysisTaskEffContBF(const char *name);
83 virtual ~AliAnalysisTaskEffContBF() {}
85 virtual void UserCreateOutputObjects();
86 virtual void UserExec(Option_t *option);
87 virtual void Terminate(Option_t *);
89 Bool_t IsLabelUsed(TArrayI array, Int_t label);
91 void SetAODtrackCutBit(Int_t bit){
92 fAODTrackCutBit = bit;
94 void SetVertexDiamond(Double_t vx, Double_t vy, Double_t vz) {
101 void UseCentrality() { fUseCentrality = kTRUE;}
102 void SetCentralityEstimator(const char* centralityEstimator) {
103 fCentralityEstimator = centralityEstimator;}
104 void SetCentralityPercentileRange(Float_t min, Float_t max) {
105 fCentralityPercentileMin=min;
106 fCentralityPercentileMax=max;
110 void SetMinNumberOfTPCClusters(Double_t min) {
111 fMinNumberOfTPCClusters = min;}
112 void SetMaxChi2PerTPCCluster(Double_t max) {
113 fMaxChi2PerTPCCluster = max;}
114 void SetMaxDCAxy(Double_t max) {
116 void SetMaxDCAz(Double_t max) {
118 void SetMinPt(Double_t minPt) {
120 void SetMaxPt(Double_t maxPt) {
123 void SetEtaRange(Double_t minEta, Double_t maxEta, Int_t binEta, Double_t minRangeEta, Double_t maxRangeEta, Int_t bindEta){
127 fEtaRangeMax = maxRangeEta;
128 fEtaRangeMin = minRangeEta;
131 void SetPtRange(Double_t minRangePt, Double_t maxRangePt,Int_t binPt){
132 fPtRangeMin = minRangePt;
133 fPtRangeMax = maxRangePt;
136 AliAODEvent* fAOD; //! AOD object
137 TClonesArray *fArrayMC; //! array of MC particles
138 TList *fQAList; //! QA list
139 TList *fOutputList; //! Output list
142 TH1F *fHistEventStats; //!event stats
143 TH1F *fHistCentrality; //!centrality
144 TH1F *fHistNMult; //! nmult
148 TH3D *fHistContaminationSecondariesPlus;//!
149 TH3D *fHistContaminationSecondariesMinus;//!
150 TH3D *fHistContaminationPrimariesPlus;//!
151 TH3D *fHistContaminationPrimariesMinus;//!
153 // output histograms (single particles)
154 TH3D *fHistGeneratedEtaPtPhiPlus;//!correction map for positives (generated)
155 TH3D *fHistSurvivedEtaPtPhiPlus;//!correction map positives (survived)
157 TH3D *fHistGeneratedEtaPtPhiMinus;//!correction map for negatives (generated)
158 TH3D *fHistSurvivedEtaPtPhiMinus;//!correction map negatives (survived)
160 TH2F *fHistGeneratedEtaPtPlusControl;//!correction map for positives (generated)
161 TH2F *fHistSurvivedEtaPtPlusControl;//!correction map positives (survived)
163 TH2F *fHistGeneratedEtaPtMinusControl;//!correction map for negatives (generated)
164 TH2F *fHistSurvivedEtaPtMinusControl;//!correction map negatives (survived)
166 // output histograms (pairs)
167 TH2F *fHistGeneratedEtaPtPlusPlus;//!correction map for ++ (generated)
168 TH2F *fHistSurvivedEtaPtPlusPlus;//!correction map ++ (survived)
170 TH2F *fHistGeneratedEtaPtMinusMinus;//!correction map for -- (generated)
171 TH2F *fHistSurvivedEtaPtMinusMinus;//!correction map -- (survived)
173 TH2F *fHistGeneratedEtaPtPlusMinus;//!correction map for +- (generated)
174 TH2F *fHistSurvivedEtaPtPlusMinus;//!correction map +- (survived)
176 TH2F *fHistGeneratedPhiEtaPlusPlus;//!correction map for ++ (generated)
177 TH2F *fHistSurvivedPhiEtaPlusPlus;//!correction map ++ (survived)
179 TH2F *fHistGeneratedPhiEtaMinusMinus;//!correction map for -- (generated)
180 TH2F *fHistSurvivedPhiEtaMinusMinus;//!correction map -- (survived)
182 TH2F *fHistGeneratedPhiEtaPlusMinus;//!correction map for +- (generated)
183 TH2F *fHistSurvivedPhiEtaPlusMinus;//!correction map +- (survived)
185 Bool_t fUseCentrality;// Bool_t use centrality or not
186 TString fCentralityEstimator;//"V0M","TRK","TKL","ZDC","FMD"
187 Float_t fCentralityPercentileMin, fCentralityPercentileMax; //min-max centrality percentile
189 Double_t fVxMax;//vxmax
190 Double_t fVyMax;//vymax
191 Double_t fVzMax;//vzmax
193 Int_t fAODTrackCutBit;//track cut bit from track selection (only used for AODs)
195 Double_t fMinNumberOfTPCClusters;//!
196 Double_t fMaxChi2PerTPCCluster;//!
197 Double_t fMaxDCAxy, fMaxDCAz;//!
198 Double_t fMinPt, fMaxPt;//!
199 Double_t fMinEta, fMaxEta;//!
200 Double_t fEtaRangeMin;// acceptance cuts
201 Double_t fEtaRangeMax; // acceptance cuts
202 Double_t fPtRangeMin; //acceptance cuts
203 Double_t fPtRangeMax; //acceptance cuts
205 Int_t fEtaBin; //acceptance cuts
206 Int_t fdEtaBin; //acceptance cuts
207 Int_t fPtBin; //acceptance cuts
209 TH3F *fHistSurvived4EtaPtPhiPlus;//!
210 TH3F *fHistSurvived8EtaPtPhiPlus;//!
212 AliAnalysisTaskEffContBF(const AliAnalysisTaskEffContBF&); // not implemented
213 AliAnalysisTaskEffContBF& operator=(const AliAnalysisTaskEffContBF&); // not implemented
215 ClassDef(AliAnalysisTaskEffContBF, 1); // example of analysis