1 #ifndef ALIANALYSISTASKEFFICIENCYBF_cxx
2 #define ALIANALYSISTASKEFFICIENCYBF_cxx
4 // ---------------------------------------------------------------------
6 // Task for calculating the efficiency of the Balance Function
7 // for single particles and pairs
9 // Authors: Panos Christakoglou, Michael Weber
11 // ---------------------------------------------------------------------
17 class AliESDtrackCuts;
19 #include "AliAnalysisTaskSE.h"
21 class AliAnalysisTaskEfficiencyBF : public AliAnalysisTaskSE {
23 AliAnalysisTaskEfficiencyBF() : AliAnalysisTaskSE(),
24 fESD(0), fQAList(0), fOutputList(0),
25 fHistEventStats(0), fHistCentrality(0), fHistNMult(0),
26 fHistGeneratedEtaPtPlus(0), fHistFindableEtaPtPlus(0),
27 fHistReconstructedEtaPtPlus(0), fHistSurvivedEtaPtPlus(0),
28 fHistGeneratedEtaPtMinus(0), fHistFindableEtaPtMinus(0),
29 fHistReconstructedEtaPtMinus(0), fHistSurvivedEtaPtMinus(0),
30 fHistGeneratedEtaPtPlusControl(0), fHistFindableEtaPtPlusControl(0),
31 fHistReconstructedEtaPtPlusControl(0), fHistSurvivedEtaPtPlusControl(0),
32 fHistGeneratedEtaPtMinusControl(0), fHistFindableEtaPtMinusControl(0),
33 fHistReconstructedEtaPtMinusControl(0), fHistSurvivedEtaPtMinusControl(0),
34 fHistGeneratedEtaPtPlusPlus(0), fHistFindableEtaPtPlusPlus(0),
35 fHistReconstructedEtaPtPlusPlus(0), fHistSurvivedEtaPtPlusPlus(0),
36 fHistGeneratedEtaPtMinusMinus(0), fHistFindableEtaPtMinusMinus(0),
37 fHistReconstructedEtaPtMinusMinus(0), fHistSurvivedEtaPtMinusMinus(0),
38 fHistGeneratedEtaPtPlusMinus(0), fHistFindableEtaPtPlusMinus(0),
39 fHistReconstructedEtaPtPlusMinus(0), fHistSurvivedEtaPtPlusMinus(0),
40 fESDtrackCuts(0), fAnalysisMode(0),
41 fCentralityEstimator("V0M"), fCentralityPercentileMin(0.0), fCentralityPercentileMax(5.0),
42 fVxMax(3.0), fVyMax(3.0), fVzMax(10.),
43 fMinNumberOfTPCClusters(80), fMaxChi2PerTPCCluster(4.0), fMaxDCAxy(3.0), fMaxDCAz(3.0),
44 fMinPt(0.3), fMaxPt(1.5), fMaxEta(0.8) {}
45 AliAnalysisTaskEfficiencyBF(const char *name);
46 virtual ~AliAnalysisTaskEfficiencyBF() {}
48 virtual void UserCreateOutputObjects();
49 virtual void UserExec(Option_t *option);
50 virtual void Terminate(Option_t *);
52 Bool_t IsLabelUsed(TArrayI array, Int_t label);
54 void SetAnalysisCutObject(AliESDtrackCuts *const trackCuts) {
55 fESDtrackCuts = trackCuts;}
56 void SetVertexDiamond(Double_t vx, Double_t vy, Double_t vz) {
63 void SetCentralityEstimator(const char* centralityEstimator) {
64 fCentralityEstimator = centralityEstimator;}
65 void SetCentralityPercentileRange(Float_t min, Float_t max) {
66 fCentralityPercentileMin=min;
67 fCentralityPercentileMax=max;
70 void SetAnalysisMode(const char* analysisMode) {
71 fAnalysisMode = analysisMode;}
74 void SetMinNumberOfTPCClusters(Double_t min) {
75 fMinNumberOfTPCClusters = min;}
76 void SetMaxChi2PerTPCCluster(Double_t max) {
77 fMaxChi2PerTPCCluster = max;}
78 void SetMaxDCAxy(Double_t max) {
80 void SetMaxDCAz(Double_t max) {
82 void SetMinPt(Double_t minPt) {
84 void SetMaxPt(Double_t maxPt) {
86 void SetMaxEta(Double_t maxEta) {
91 AliESDEvent *fESD; //! ESD object
92 TList *fQAList; //! QA list
93 TList *fOutputList; //! Output list
96 TH1F *fHistEventStats; //!event stats
97 TH1F *fHistCentrality; //!centrality
98 TH1F *fHistNMult; //! nmult
100 // output histograms (single particles)
101 TH2F *fHistGeneratedEtaPtPlus;//!correction map for positives (generated)
102 TH2F *fHistFindableEtaPtPlus;//!correction map for positives (findable)
103 TH2F *fHistReconstructedEtaPtPlus;//!correction map for positives (reconstructed)
104 TH2F *fHistSurvivedEtaPtPlus;//!correction map positives (survived)
106 TH2F *fHistGeneratedEtaPtMinus;//!correction map for negatives (generated)
107 TH2F *fHistFindableEtaPtMinus;//!correction map for negatives (findable)
108 TH2F *fHistReconstructedEtaPtMinus;//!correction map for negatives (reconstructed)
109 TH2F *fHistSurvivedEtaPtMinus;//!correction map negatives (survived)
111 TH2F *fHistGeneratedEtaPtPlusControl;//!correction map for positives (generated)
112 TH2F *fHistFindableEtaPtPlusControl;//!correction map for positives (findable)
113 TH2F *fHistReconstructedEtaPtPlusControl;//!correction map for positives (reconstructed)
114 TH2F *fHistSurvivedEtaPtPlusControl;//!correction map positives (survived)
116 TH2F *fHistGeneratedEtaPtMinusControl;//!correction map for negatives (generated)
117 TH2F *fHistFindableEtaPtMinusControl;//!correction map for negatives (findable)
118 TH2F *fHistReconstructedEtaPtMinusControl;//!correction map for negatives (reconstructed)
119 TH2F *fHistSurvivedEtaPtMinusControl;//!correction map negatives (survived)
121 // output histograms (pairs)
122 TH2F *fHistGeneratedEtaPtPlusPlus;//!correction map for ++ (generated)
123 TH2F *fHistFindableEtaPtPlusPlus;//!correction map for ++ (findable)
124 TH2F *fHistReconstructedEtaPtPlusPlus;//!correction map for ++ (reconstructed)
125 TH2F *fHistSurvivedEtaPtPlusPlus;//!correction map ++ (survived)
127 TH2F *fHistGeneratedEtaPtMinusMinus;//!correction map for -- (generated)
128 TH2F *fHistFindableEtaPtMinusMinus;//!correction map for -- (findable)
129 TH2F *fHistReconstructedEtaPtMinusMinus;//!correction map for -- (reconstructed)
130 TH2F *fHistSurvivedEtaPtMinusMinus;//!correction map -- (survived)
132 TH2F *fHistGeneratedEtaPtPlusMinus;//!correction map for +- (generated)
133 TH2F *fHistFindableEtaPtPlusMinus;//!correction map for +- (findable)
134 TH2F *fHistReconstructedEtaPtPlusMinus;//!correction map for +- (reconstructed)
135 TH2F *fHistSurvivedEtaPtPlusMinus;//!correction map +- (survived)
139 AliESDtrackCuts *fESDtrackCuts; //ESD track cuts
141 TString fAnalysisMode;//"TPC", "Global"
143 TString fCentralityEstimator;//"V0M","TRK","TKL","ZDC","FMD"
144 Float_t fCentralityPercentileMin, fCentralityPercentileMax; //min-max centrality percentile
146 Double_t fVxMax;//vxmax
147 Double_t fVyMax;//vymax
148 Double_t fVzMax;//vzmax
150 Double_t fMinNumberOfTPCClusters; //
151 Double_t fMaxChi2PerTPCCluster; //
152 Double_t fMaxDCAxy, fMaxDCAz;//
153 Double_t fMinPt, fMaxPt;
156 AliAnalysisTaskEfficiencyBF(const AliAnalysisTaskEfficiencyBF&); // not implemented
157 AliAnalysisTaskEfficiencyBF& operator=(const AliAnalysisTaskEfficiencyBF&); // not implemented
159 ClassDef(AliAnalysisTaskEfficiencyBF, 1); // example of analysis