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),
61 fInjectedSignals(kFALSE),
66 fMinNumberOfTPCClusters(80),
67 fMaxChi2PerTPCCluster(4.0),
81 fHistSurvived4EtaPtPhiPlus(0),
82 fHistSurvived8EtaPtPhiPlus(0){}
83 AliAnalysisTaskEffContBF(const char *name);
84 virtual ~AliAnalysisTaskEffContBF() {}
86 virtual void UserCreateOutputObjects();
87 virtual void UserExec(Option_t *option);
88 virtual void Terminate(Option_t *);
90 Bool_t IsLabelUsed(TArrayI array, Int_t label);
92 void SetAODtrackCutBit(Int_t bit){
93 fAODTrackCutBit = bit;
95 void SetVertexDiamond(Double_t vx, Double_t vy, Double_t vz) {
102 void UseCentrality() { fUseCentrality = kTRUE;}
103 void SetCentralityEstimator(const char* centralityEstimator) {
104 fCentralityEstimator = centralityEstimator;}
105 void SetCentralityPercentileRange(Float_t min, Float_t max) {
106 fCentralityPercentileMin=min;
107 fCentralityPercentileMax=max;
111 void SetRejectInjectedSignals() {fInjectedSignals = kTRUE;}
114 void SetMinNumberOfTPCClusters(Double_t min) {
115 fMinNumberOfTPCClusters = min;}
116 void SetMaxChi2PerTPCCluster(Double_t max) {
117 fMaxChi2PerTPCCluster = max;}
118 void SetMaxDCAxy(Double_t max) {
120 void SetMaxDCAz(Double_t max) {
122 void SetMinPt(Double_t minPt) {
124 void SetMaxPt(Double_t maxPt) {
127 void SetEtaRange(Double_t minEta, Double_t maxEta, Int_t binEta, Double_t minRangeEta, Double_t maxRangeEta, Int_t bindEta){
131 fEtaRangeMax = maxRangeEta;
132 fEtaRangeMin = minRangeEta;
135 void SetPtRange(Double_t minRangePt, Double_t maxRangePt,Int_t binPt){
136 fPtRangeMin = minRangePt;
137 fPtRangeMax = maxRangePt;
140 AliAODEvent* fAOD; //! AOD object
141 TClonesArray *fArrayMC; //! array of MC particles
142 TList *fQAList; //! QA list
143 TList *fOutputList; //! Output list
146 TH1F *fHistEventStats; //!event stats
147 TH1F *fHistCentrality; //!centrality
148 TH1F *fHistNMult; //! nmult
152 TH3D *fHistContaminationSecondariesPlus;//!
153 TH3D *fHistContaminationSecondariesMinus;//!
154 TH3D *fHistContaminationPrimariesPlus;//!
155 TH3D *fHistContaminationPrimariesMinus;//!
157 // output histograms (single particles)
158 TH3D *fHistGeneratedEtaPtPhiPlus;//!correction map for positives (generated)
159 TH3D *fHistSurvivedEtaPtPhiPlus;//!correction map positives (survived)
161 TH3D *fHistGeneratedEtaPtPhiMinus;//!correction map for negatives (generated)
162 TH3D *fHistSurvivedEtaPtPhiMinus;//!correction map negatives (survived)
164 TH2F *fHistGeneratedEtaPtPlusControl;//!correction map for positives (generated)
165 TH2F *fHistSurvivedEtaPtPlusControl;//!correction map positives (survived)
167 TH2F *fHistGeneratedEtaPtMinusControl;//!correction map for negatives (generated)
168 TH2F *fHistSurvivedEtaPtMinusControl;//!correction map negatives (survived)
170 // output histograms (pairs)
171 TH2F *fHistGeneratedEtaPtPlusPlus;//!correction map for ++ (generated)
172 TH2F *fHistSurvivedEtaPtPlusPlus;//!correction map ++ (survived)
174 TH2F *fHistGeneratedEtaPtMinusMinus;//!correction map for -- (generated)
175 TH2F *fHistSurvivedEtaPtMinusMinus;//!correction map -- (survived)
177 TH2F *fHistGeneratedEtaPtPlusMinus;//!correction map for +- (generated)
178 TH2F *fHistSurvivedEtaPtPlusMinus;//!correction map +- (survived)
180 TH2F *fHistGeneratedPhiEtaPlusPlus;//!correction map for ++ (generated)
181 TH2F *fHistSurvivedPhiEtaPlusPlus;//!correction map ++ (survived)
183 TH2F *fHistGeneratedPhiEtaMinusMinus;//!correction map for -- (generated)
184 TH2F *fHistSurvivedPhiEtaMinusMinus;//!correction map -- (survived)
186 TH2F *fHistGeneratedPhiEtaPlusMinus;//!correction map for +- (generated)
187 TH2F *fHistSurvivedPhiEtaPlusMinus;//!correction map +- (survived)
189 Bool_t fUseCentrality;// Bool_t use centrality or not
190 TString fCentralityEstimator;//"V0M","TRK","TKL","ZDC","FMD"
191 Float_t fCentralityPercentileMin, fCentralityPercentileMax; //min-max centrality percentile
193 Bool_t fInjectedSignals;//Flag for using the rejection of injected signals
195 Double_t fVxMax;//vxmax
196 Double_t fVyMax;//vymax
197 Double_t fVzMax;//vzmax
199 Int_t fAODTrackCutBit;//track cut bit from track selection (only used for AODs)
201 Double_t fMinNumberOfTPCClusters;//!
202 Double_t fMaxChi2PerTPCCluster;//!
203 Double_t fMaxDCAxy, fMaxDCAz;//!
204 Double_t fMinPt, fMaxPt;//!
205 Double_t fMinEta, fMaxEta;//!
206 Double_t fEtaRangeMin;// acceptance cuts
207 Double_t fEtaRangeMax; // acceptance cuts
208 Double_t fPtRangeMin; //acceptance cuts
209 Double_t fPtRangeMax; //acceptance cuts
211 Int_t fEtaBin; //acceptance cuts
212 Int_t fdEtaBin; //acceptance cuts
213 Int_t fPtBin; //acceptance cuts
215 TH3F *fHistSurvived4EtaPtPhiPlus;//!
216 TH3F *fHistSurvived8EtaPtPhiPlus;//!
218 AliAnalysisTaskEffContBF(const AliAnalysisTaskEffContBF&); // not implemented
219 AliAnalysisTaskEffContBF& operator=(const AliAnalysisTaskEffContBF&); // not implemented
221 ClassDef(AliAnalysisTaskEffContBF, 1); // example of analysis