]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/BalanceFunctions/AliAnalysisTaskEfficiencyBFPsi.h
Enlarging window for DCS DPs retrieval for short runs for GRP + Keeping connection...
[u/mrichter/AliRoot.git] / PWGCF / EBYE / BalanceFunctions / AliAnalysisTaskEfficiencyBFPsi.h
CommitLineData
74a4d448 1#ifndef ALIANALYSISTASKEFFICIENCYBFPSI_cxx
2#define ALIANALYSISTASKEFFICIENCYBFPSI_cxx
3
4// ---------------------------------------------------------------------
5//
6// Task for calculating the efficiency of the Balance Function
7// for single particles and pairs: multi-D analysis
8//
9// Authors: Panos Christakoglou, Michael Weber
10//
11// ---------------------------------------------------------------------
12
13class TH1F;
14class TH3D;
15class TH2F;
16class TString;
17class AliESDEvent;
18class AliESDtrackCuts;
19#include "AliTHn.h"
20
21#include "AliAnalysisTaskSE.h"
22
23const Int_t kVariablesSingle = 2; // track variables in histogram (phi-Psi2, pTtrig)
24const Int_t kVariablesPair = 5; // track variables in histogram (phi-Psi2, dEta, dPhi, pTtrig, ptAssociated)
25
26class AliAnalysisTaskEfficiencyBFPsi : public AliAnalysisTaskSE {
27 public:
28 AliAnalysisTaskEfficiencyBFPsi() : AliAnalysisTaskSE(),
29 fESD(0), fQAList(0), fOutputList(0),
30 fHistEventStats(0), fHistCentrality(0), fHistNMult(0),
31 fHistGeneratedPlus(0), fHistSurvivedPlus(0),
32 fHistGeneratedMinus(0),fHistSurvivedMinus(0),
33 fHistGeneratedPlusPlus(0), fHistSurvivedPlusPlus(0),
34 fHistGeneratedMinusMinus(0), fHistSurvivedMinusMinus(0),
35 fHistGeneratedPlusMinus(0), fHistSurvivedPlusMinus(0),
36 fHistGeneratedMinusPlus(0), fHistSurvivedMinusPlus(0),
37 fESDtrackCuts(0), fAnalysisMode(0),
38 fCentralityEstimator("V0M"),
39 fCentralityPercentileMin(0.0), fCentralityPercentileMax(10.0),
40 fVxMax(3.0), fVyMax(3.0), fVzMax(10.),
41 fMinNumberOfTPCClusters(80), fMaxChi2PerTPCCluster(4.0),
42 fMaxDCAxy(3.0), fMaxDCAz(3.0),
43 fMinPt(0.3), fMaxPt(1.5), fMaxEta(0.8), fEtaRangeMax(0.8),
44 fPtRangeMin(0.1), fPtRangeMax(5.0), fPhiRangeMin(0.0),fPhiRangeMax(6.28){}
45 AliAnalysisTaskEfficiencyBFPsi(const char *name);
46 virtual ~AliAnalysisTaskEfficiencyBFPsi() {}
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 void SetEtaRangeMax(Double_t maxRangeEta){
90 fEtaRangeMax = maxRangeEta;}//
91 void SetPtRangeMin(Double_t minRangePt){
92 fPtRangeMin = minRangePt;} //
93 void SetPtRangeMax(Double_t maxRangePt){
94 fPtRangeMax = maxRangePt;} //
95 void SetPhiRangeMin(Double_t minRangePhi){
96 fPhiRangeMin = minRangePhi;} //
97 void SetPhiRangeMax(Double_t maxRangePhi){
98 fPhiRangeMax = maxRangePhi;} //
99
100
101 private:
102 AliESDEvent *fESD; //! ESD object
103 TList *fQAList; //! QA list
104 TList *fOutputList; //! Output list
105
106 // QA histograms
107 TH1F *fHistEventStats; //!event stats
108 TH1F *fHistCentrality; //!centrality
109 TH1F *fHistNMult; //! nmult
110
111 // output histograms (single particles)
112 AliTHn *fHistGeneratedPlus;//!correction map for positives (generated)
113 AliTHn *fHistSurvivedPlus;//!correction map positives (survived)
114 AliTHn *fHistGeneratedMinus;//!correction map for negatives (generated)
115 AliTHn *fHistSurvivedMinus;//!correction map negatives (survived)
116
117 // output histograms (pairs)
118 AliTHn *fHistGeneratedPlusPlus;//!correction map for ++ (generated)
119 AliTHn *fHistSurvivedPlusPlus;//!correction map ++ (survived)
120 AliTHn *fHistGeneratedMinusMinus;//!correction map for -- (generated)
121 AliTHn *fHistSurvivedMinusMinus;//!correction map -- (survived)
122 AliTHn *fHistGeneratedPlusMinus;//!correction map for +- (generated)
123 AliTHn *fHistSurvivedPlusMinus;//!correction map +- (survived)
124 AliTHn *fHistGeneratedMinusPlus;//!correction map for -+ (generated)
125 AliTHn *fHistSurvivedMinusPlus;//!correction map -+ (survived)
126 //============//
127
128 AliESDtrackCuts *fESDtrackCuts; //ESD track cuts
129
130 TString fAnalysisMode;//"TPC", "Global"
131
132 TString fCentralityEstimator;//"V0M","TRK","TKL","ZDC","FMD"
133 Float_t fCentralityPercentileMin, fCentralityPercentileMax; //min-max centrality percentile
134
135 Double_t fVxMax;//vxmax
136 Double_t fVyMax;//vymax
137 Double_t fVzMax;//vzmax
138
139 Double_t fMinNumberOfTPCClusters;
140 Double_t fMaxChi2PerTPCCluster;
141 Double_t fMaxDCAxy, fMaxDCAz;
142 Double_t fMinPt, fMaxPt;
143 Double_t fMaxEta;
144 Double_t fEtaRangeMax; // acceptance cuts
145 Double_t fPtRangeMin; //acceptance cuts
146 Double_t fPtRangeMax; //acceptance cuts
147 Double_t fPhiRangeMin; //acceptance cuts
148 Double_t fPhiRangeMax; // acceptance cuts
149
150 AliAnalysisTaskEfficiencyBFPsi(const AliAnalysisTaskEfficiencyBFPsi&); // not implemented
151 AliAnalysisTaskEfficiencyBFPsi& operator=(const AliAnalysisTaskEfficiencyBFPsi&); // not implemented
152
153 ClassDef(AliAnalysisTaskEfficiencyBFPsi, 1); // example of analysis
154};
155
156#endif