]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/EBYE/BalanceFunctions/AliAnalysisTaskEfficiencyBF.h
added efficiency task for Balance Function (ESD-MC analyis), added V0 analysis for...
[u/mrichter/AliRoot.git] / PWGCF / EBYE / BalanceFunctions / AliAnalysisTaskEfficiencyBF.h
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
13 class TH1F;
14 class TH2F;
15 class TString;
16 class AliESDEvent;
17 class AliESDtrackCuts;
18
19 #include "AliAnalysisTaskSE.h"
20
21 class AliAnalysisTaskEfficiencyBF : public AliAnalysisTaskSE {
22  public:
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() {}
47   
48   virtual void   UserCreateOutputObjects();
49   virtual void   UserExec(Option_t *option);
50   virtual void   Terminate(Option_t *);
51   
52   Bool_t   IsLabelUsed(TArrayI array, Int_t label);
53
54   void SetAnalysisCutObject(AliESDtrackCuts *const trackCuts) {
55     fESDtrackCuts = trackCuts;}
56   void SetVertexDiamond(Double_t vx, Double_t vy, Double_t vz) {
57     fVxMax = vx;
58     fVyMax = vy;
59     fVzMax = vz;
60   }
61  
62   //Centrality
63   void SetCentralityEstimator(const char* centralityEstimator) {
64     fCentralityEstimator = centralityEstimator;}
65   void SetCentralityPercentileRange(Float_t min, Float_t max) { 
66     fCentralityPercentileMin=min;
67     fCentralityPercentileMax=max;
68   }
69
70   void SetAnalysisMode(const char* analysisMode) {
71     fAnalysisMode = analysisMode;}
72
73   //Track cuts
74   void SetMinNumberOfTPCClusters(Double_t min) {
75     fMinNumberOfTPCClusters = min;}
76   void SetMaxChi2PerTPCCluster(Double_t max) {
77     fMaxChi2PerTPCCluster = max;}
78   void SetMaxDCAxy(Double_t max) {
79     fMaxDCAxy = max;}
80   void SetMaxDCAz(Double_t max) {
81     fMaxDCAz = max;}
82   void SetMinPt(Double_t minPt) {
83     fMinPt = minPt;}
84   void SetMaxPt(Double_t maxPt) {
85     fMaxPt = maxPt;}
86   void SetMaxEta(Double_t maxEta) {
87     fMaxEta = maxEta;}
88
89   
90  private:
91   AliESDEvent *fESD;    //! ESD object
92   TList       *fQAList; //! QA list
93   TList       *fOutputList; //! Output list
94   
95   // QA histograms
96   TH1F        *fHistEventStats; //!event stats
97   TH1F        *fHistCentrality; //!centrality
98   TH1F        *fHistNMult; //! nmult   
99
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)
105
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)
110
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)
115
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)
120
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)
126
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)
131
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)
136
137
138
139   AliESDtrackCuts *fESDtrackCuts; //ESD track cuts
140
141   TString fAnalysisMode;//"TPC", "Global"
142
143   TString fCentralityEstimator;//"V0M","TRK","TKL","ZDC","FMD"
144   Float_t fCentralityPercentileMin, fCentralityPercentileMax; //min-max centrality percentile
145
146   Double_t fVxMax;//vxmax
147   Double_t fVyMax;//vymax
148   Double_t fVzMax;//vzmax
149
150   Double_t fMinNumberOfTPCClusters; //
151   Double_t fMaxChi2PerTPCCluster; //
152   Double_t fMaxDCAxy, fMaxDCAz;//
153   Double_t fMinPt, fMaxPt;
154   Double_t fMaxEta;
155
156   AliAnalysisTaskEfficiencyBF(const AliAnalysisTaskEfficiencyBF&); // not implemented
157   AliAnalysisTaskEfficiencyBF& operator=(const AliAnalysisTaskEfficiencyBF&); // not implemented
158   
159   ClassDef(AliAnalysisTaskEfficiencyBF, 1); // example of analysis
160 };
161
162 #endif