AliPhysics  31210d0 (31210d0)
AliAnalysisTaskCMEV0PID.h
Go to the documentation of this file.
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice */
3 /* $Id: $ */
4 
6 // AliAnalysisTaskCMEV0PID:
7 // analysis task for ZDC gain Equalization
8 // and CME analysis for identified particles
9 // using VZERO (and ZDC) Detector
10 // Author: Rihan Haque (mhaque@cern.ch)
11 // and R Sultana
13 
14 #ifndef ALIANALYSISTASKCMEV0PID_H
15 #define ALIANALYSISTASKCMEV0PID_H
16 
17 #include "AliAnalysisTaskSE.h"
18 #include "TH1F.h"
19 #include "TH2F.h"
20 #include "TH3F.h"
21 #include "TH1D.h"
22 #include "TH2D.h"
23 #include "TList.h"
24 #include "TFile.h"
25 #include "TString.h"
26 #include "TProfile.h"
27 #include "TProfile2D.h"
28 //#include "TStopwatch.h"
29 
30 class AliVEvent;
31 class AliVVertex;
32 class AliESDEvent;
33 class AliAODEvent;
34 class AliPIDResponse;
35 class AliMultSelection;
36 class AliAnalysisUtils;
37 
38 
39 
40 
42 
43  public:
44 
46  AliAnalysisTaskCMEV0PID(const char *name);
47  virtual ~AliAnalysisTaskCMEV0PID();
48  virtual void UserCreateOutputObjects();
49  virtual void UserExec(Option_t * /*option*/);
50 
51  //User Defined Functions:
52  void SetFilterBit(Int_t b) {this->fFilterBit = b;}
53  void SetNSigmaCutTPC(Double_t b) {this->fNSigmaCut = b;}
54  void SetPtRangeMin(Double_t b) {this->fMinPtCut = b;}
55  void SetPtRangeMax(Double_t b) {this->fMaxPtCut = b;}
56  void SetEtaRangeMin(Double_t b) {this->fMinEtaCut = b;}
57  void SetEtaRangeMax(Double_t b) {this->fMaxEtaCut = b;}
58 
59  void SetVzRangeMin(Double_t b) {this->fMinVzCut = b;}
60  void SetVzRangeMax(Double_t b) {this->fMaxVzCut = b;}
61 
62  void SetTrackCutdEdxMin(Float_t dEd) {this->fdEdxMin = dEd; }
63  void SetTrackCutDCAxyMax(Double_t dc) {this->fDCAxyMax = dc; }
64  void SetTrackCutDCAzMax(Double_t dc) {this->fDCAzMax = dc; }
65  void SetTrackCutChi2Min(Double_t chi) {this->fTrkChi2Min = chi; }
66  void SetTrackCutNclusterMin(Int_t ncl) {this->fTPCclustMin = ncl; }
67  void SetFlagUseKinkTracks(Bool_t kink) {this->bUseKinkTracks = kink; }
68 
69 
70  void SetEventPlaneHarmonic(Int_t pn) {this->gPsiN = pn;}
71  void SetHarmonicsFor3Particle(Int_t n, Int_t m) {this->gN = n; this->gM = m;}
72 
73 
74 
75 
76  void SetCentralityEstimator(TString sCent) {this->sCentrEstimator = sCent;}
77  void SetCollisionSystem(TString s) {this->sNucleiTP = s;}
81 
83  void SetFlagV0MGainCorr(Bool_t b) {this->bV0MGainCorr = b;}
86 
87 
88 
89 
90  void SetFBEfficiencyFilePath(TString path) {this->sPathOfMCFile = path;}
91  //void SetFBEfficiencyList(TList *flist) {this->fListFBHijing = flist;}
92  //void SetListForNUACorr(TList *fln) {this->fListNUACorr = fln;}
93  //void SetListForV0MCorr(TList *flv) {this->fListV0MCorr = flv;}
94  void SetFBEfficiencyList(TList *flist) {this->fListFBHijing = (TList *) flist->Clone(); }
95  void SetListForNUACorr(TList *flist) {this->fListNUACorr = (TList *) flist->Clone(); }
96  void SetListForV0MCorr(TList *flist) {this->fListV0MCorr = (TList *) flist->Clone(); }
97 
98 
99  protected:
100 
101 
102  private:
103 
104  AliVEvent *fVevent;
107  AliPIDResponse *fPIDResponse;
108  AliMultSelection *fMultSelection;
109  AliAnalysisUtils *fAnalysisUtil;
111  TFile *mfileFBHijing;
115 
116  //histograms:
124 
130 
132 
135 
142 
145 
152 
158 
160 
165 
166 
167 
168 
169 
170 
171  TProfile *fV0AQ2xVsCentRun;
172  TProfile *fV0AQ2yVsCentRun;
173  TProfile *fV0CQ2xVsCentRun;
174  TProfile *fV0CQ2yVsCentRun;
175  TProfile *fV0AQ3xVsCentRun;
176  TProfile *fV0AQ3yVsCentRun;
177  TProfile *fV0CQ3xVsCentRun;
178  TProfile *fV0CQ3yVsCentRun;
179 
180 
181  TProfile *fTPCAQ2xVsCentRun;
182  TProfile *fTPCAQ2yVsCentRun;
183  TProfile *fTPCCQ2xVsCentRun;
184  TProfile *fTPCCQ2yVsCentRun;
185  TProfile *fTPCAQ3xVsCentRun;
186  TProfile *fTPCAQ3yVsCentRun;
187  TProfile *fTPCCQ3xVsCentRun;
188  TProfile *fTPCCQ3yVsCentRun;
189  TProfile *fTPCAQ4xVsCentRun;
190  TProfile *fTPCAQ4yVsCentRun;
191  TProfile *fTPCCQ4xVsCentRun;
192  TProfile *fTPCCQ4yVsCentRun;
193 
194  TProfile *fTPCFQ2xVsCentRun;
195  TProfile *fTPCFQ2yVsCentRun;
196 //TProfile *fTPCFQ3xVsCentRun; //!
197 //TProfile *fTPCFQ3yVsCentRun; //!
198 
199 
200 
201 
202  //TStopwatch watch; //!
203 
205  Int_t gN; //
206  Int_t gM; //
211 
212 
222 
227 
230 
231 
237 
241 
242 
243 
245 
246 
247 
248 
249 
250 
251 
252 
253 
254 
255 
256 
257  //-------- Arrays ----------
265 
266 
267 
270 
273 
276 
279 
280 
281 
282 
283 
285 
286 
287 
288 
289 
290  // 3p correlator vs Centrality, EP method:
291  //Charge:
292  TProfile *fHist_Corr3p_EP_Norm_PN[2][4];
293  TProfile *fHist_Corr3p_EP_Norm_PP[2][4];
294  TProfile *fHist_Corr3p_EP_Norm_NN[2][4];
295  TProfile *fHist_Reso2n_EP_Norm_Det[2][4];
296  //Pion:
300  //Kaon:
304  //Proton:
308 
309 
310 
311  // 3p correlator vs RefMult, EP method:
312  //Charge:
313  TProfile *fHist_Corr3p_EP_Refm_PN[2][4];
314  TProfile *fHist_Corr3p_EP_Refm_PP[2][4];
315  TProfile *fHist_Corr3p_EP_Refm_NN[2][4];
316  TProfile *fHist_Reso2n_EP_Refm_Det[2][4];
317  //Pion:
321  //Kaon:
325  //Proton:
329 
330 
331 
332 
333 
334 
335 
336 
337 
338 
339  // 2p correlator vs Centrality EP method:
340 
341  // 2p correlator vs RefMult, EP method:
342 
343 
344 
345 
346 
347  //3particle Differential Histograms:
348  //(pT_A + pT_B)/2.0
355  // |(pT_A - pT_B)|
362  // |(Eta_A - Eta_B)|
369 
370 
371  //CME PID differential Histograms:
372  //(pT_A + pT_B)/2.0
379  // |(pT_A - pT_B)|
386  // |(Eta_A - Eta_B)|
393 
394 
395  //(pT_A + pT_B)/2.0
402  // |(pT_A - pT_B)|
409  // |(Eta_A - Eta_B)|
416 
417 
418  //(pT_A + pT_B)/2.0
425  // |(pT_A - pT_B)|
432  // |(Eta_A - Eta_B)|
439 
440 
441 
442 
443  //2 particle Differential Histograms:
444 
445 
446  // NUA histograms:
449 
450 
451 
455 //TH1D *fFB_Efficiency_Proton_Cent[10]; //!
458 
459 
460 
461 
462 
463 
464  //--------- PileUp Functions -----------
466  Bool_t PileUpMultiVertex(const AliAODEvent* faod);
467  double GetWDist(const AliVVertex* v0, const AliVVertex* v1);
468 
469  //for NUA and gain corrections:
470  void GetNUACorrectionHist(Int_t run);
471  void GetV0MCorrectionHist(Int_t run);
472 
473 
474 
475  //----------- other functions ----------
478  void SetupMCcorrectionMap();
480 
481 
482 
483 
484 
487  ClassDef(AliAnalysisTaskCMEV0PID, 1)
488 
489 };
490 
491 #endif
TProfile * fHist_Corr3p_pTSum_EP_V0C_PP[2][6]
TProfile * fHist_Corr3p_Pion_pTDiff_EP_V0A_NN[2][6]
TProfile * fHist_Corr3p_EP_Refm_NN[2][4]
AliAnalysisTaskCMEV0PID & operator=(const AliAnalysisTaskCMEV0PID &other)
TProfile * fHist_Corr3p_Pion_pTDiff_EP_V0C_PP[2][6]
TProfile * fHist_Corr3p_Proton_EtaDiff_EP_V0A_PP[2][6]
TProfile * fHist_Corr3p_Proton_EP_Refm_PN[2][4]
TProfile * fHist_Corr3p_Kaon_pTSum_EP_V0A_PP[2][6]
TProfile * fHist_Corr3p_Kaon_EP_Refm_NN[2][4]
TProfile * fHist_Corr3p_Pion_pTSum_EP_V0C_PP[2][6]
Int_t GetCentralityScaled0to10(Double_t fCent)
double Double_t
Definition: External.C:58
TProfile * fHist_Corr3p_Kaon_pTDiff_EP_V0C_PN[2][6]
Definition: External.C:260
TProfile * fHist_Corr3p_Kaon_EtaDiff_EP_V0A_PN[2][6]
TH2D * fHAvgerageQnV0A
To read Gain Correction file.
TProfile * fHist_Corr3p_pTDiff_EP_V0C_PP[2][6]
TProfile * fHist_Corr3p_Kaon_pTSum_EP_V0C_NN[2][6]
Definition: External.C:236
TProfile * fHist_Corr3p_Kaon_EP_Norm_PP[2][4]
TProfile * fHist_Corr3p_pTSum_EP_V0A_PN[2][6]
TProfile * fHist_Corr3p_pTSum_EP_V0C_NN[2][6]
TProfile * fHist_Corr3p_Pion_EtaDiff_EP_V0A_PN[2][6]
TProfile * fHist_Corr3p_Proton_EP_Norm_NN[2][4]
TProfile * fHist_Corr3p_Kaon_EtaDiff_EP_V0A_PP[2][6]
AliMultSelection * fMultSelection
PID response Handler.
void SetListForV0MCorr(TList *flist)
TProfile * fHist_Corr3p_Kaon_EP_Norm_PN[2][4]
void SetCentralityPercentileMax(Double_t b)
TProfile * fHist_Corr3p_EtaDiff_EP_V0A_PN[2][6]
TH1F * fHistPtwithTPCNsigma[3]
last in the list
TProfile * fHist_Reso2n_EP_Norm_Det[2][4]
TCanvas * c
Definition: TestFitELoss.C:172
TProfile * fHist_Corr3p_Pion_EtaDiff_EP_V0C_PP[2][6]
TH1D * fFB_Efficiency_Pion_Cent[10]
for charge
TProfile * fHist_Corr3p_Pion_pTDiff_EP_V0A_PP[2][6]
TProfile * fHist_Corr3p_Pion_pTSum_EP_V0C_PN[2][6]
TProfile * fHist_Corr3p_Proton_pTSum_EP_V0C_PN[2][6]
TProfile * fHist_Corr3p_Proton_pTSum_EP_V0A_NN[2][6]
TProfile * fHist_Corr3p_Kaon_pTDiff_EP_V0C_NN[2][6]
void SetListForNUACorr(TList *flist)
TH2F * fHistEtaPtAfter
Eta-Pt acceptance.
TProfile * fHist_Corr3p_EP_Norm_NN[2][4]
TProfile * fHist_Corr3p_pTDiff_EP_V0C_PN[2][6]
TProfile * fHist_Corr3p_Proton_pTDiff_EP_V0C_NN[2][6]
TProfile * fHist_Corr3p_EtaDiff_EP_V0C_PP[2][6]
TH3D * fHCorrectNUAnegProton[5]
5 centrality bin, read NUA from file
TProfile * fHist_Corr3p_Proton_pTSum_EP_V0C_NN[2][6]
Bool_t CheckEventIsPileUp(AliAODEvent *faod)
TProfile * fHist_Corr3p_Proton_pTDiff_EP_V0C_PP[2][6]
TProfile * fHist_Corr3p_Pion_pTDiff_EP_V0A_PN[2][6]
TH3D * fHCorrectNUAposPion[5]
5 centrality bin, read NUA from file
TProfile * fHist_Corr3p_Proton_EtaDiff_EP_V0C_PP[2][6]
TH1F * fCentDistAfter
without PileUp cut
TProfile * fHist_Corr3p_Pion_EP_Norm_PP[2][4]
TH3D * fHCorrectNUAnegPion[5]
5 centrality bin, read NUA from file
TProfile * fHist_Corr3p_Proton_EtaDiff_EP_V0A_NN[2][6]
TProfile * fHist_Corr3p_Kaon_pTSum_EP_V0A_PN[2][6]
TProfile * fHist_Corr3p_Pion_pTSum_EP_V0C_NN[2][6]
TProfile * fHist_Corr3p_EtaDiff_EP_V0A_NN[2][6]
AliPIDResponse * fPIDResponse
aod
TProfile * fHist_Corr3p_pTSum_EP_V0C_PN[2][6]
TH1D * fHCentWeightForRun
V0C Average <Qn>, n=2,3.
TProfile * fHist_Corr3p_EtaDiff_EP_V0A_PP[2][6]
int Int_t
Definition: External.C:63
TProfile * fHist_Corr3p_Kaon_pTSum_EP_V0C_PP[2][6]
float Float_t
Definition: External.C:68
TProfile * fHist_Corr3p_Kaon_EtaDiff_EP_V0C_NN[2][6]
void SetPileUpCutParam(Float_t m, Float_t c)
TProfile * fHist_Corr3p_Kaon_pTDiff_EP_V0A_PP[2][6]
TProfile * fHist_Corr3p_Pion_pTDiff_EP_V0C_NN[2][6]
Definition: External.C:252
TH3F * fHist3DEtaPhiVz_Neg_Run[4][5]
4 particle 5 centrality bin
TProfile * fHist_Corr3p_Proton_EP_Norm_PP[2][4]
Definition: External.C:228
TProfile * fHist_Corr3p_Pion_EtaDiff_EP_V0A_NN[2][6]
Definition: External.C:212
TProfile * fHist_Corr3p_Proton_pTSum_EP_V0A_PP[2][6]
void SetTrackCutdEdxMin(Float_t dEd)
void SetFlagUseKinkTracks(Bool_t kink)
TProfile * fHist_Corr3p_Proton_pTDiff_EP_V0A_NN[2][6]
void SetCentralityPercentileMin(Double_t b)
TProfile * fHist_Corr3p_Kaon_EP_Refm_PN[2][4]
TProfile * fHist_Corr3p_Kaon_EtaDiff_EP_V0C_PP[2][6]
TProfile * fHist_Corr3p_Pion_pTSum_EP_V0A_PN[2][6]
TProfile * fHist_Corr3p_Pion_pTSum_EP_V0A_PP[2][6]
TProfile * fHist_Corr3p_Kaon_pTDiff_EP_V0C_PP[2][6]
TH1D * fHCorrectV0M
with PileUp cut
TProfile * fHist_Corr3p_Proton_pTSum_EP_V0A_PN[2][6]
TProfile * fHist_Corr3p_Kaon_pTDiff_EP_V0A_NN[2][6]
TProfile * fHist_Corr3p_Pion_EtaDiff_EP_V0C_NN[2][6]
TH2F * fHistTPCvsGlobalMultBefore
Eta-Pt acceptance.
TH3D * fHCorrectNUAposKaon[5]
5 centrality bin, read NUA from file
TProfile * fHist_Corr3p_Pion_EP_Norm_PN[2][4]
TProfile * fHist_Corr3p_Kaon_EP_Norm_NN[2][4]
TProfile * fHist_Corr3p_Pion_EP_Norm_NN[2][4]
void SetCentralityEstimator(TString sCent)
TProfile * fHist_Corr3p_Pion_EP_Refm_PN[2][4]
void SetTrackCutDCAxyMax(Double_t dc)
TProfile * fHist_Corr3p_Proton_pTDiff_EP_V0A_PN[2][6]
TProfile * fHist_Corr3p_pTDiff_EP_V0A_PP[2][6]
TProfile * fHist_Corr3p_Proton_EP_Norm_PN[2][4]
TH1F * fCentDistBefore
To fill VOM multiplicity.
TList * fListHist
Event selection.
void SetFBEfficiencyList(TList *flist)
virtual void UserExec(Option_t *)
TH1F * fHistPileUpCount
Task input parameters FB / cut values etc.
Bool_t PileUpMultiVertex(const AliAODEvent *faod)
void SetTrackCutNclusterMin(Int_t ncl)
TH3D * fHCorrectNUAnegKaon[5]
5 centrality bin, read NUA from file
TH3D * fHCorrectNUAneg[5]
5 centrality bin, read NUA from file
TProfile * fHist_Corr3p_Kaon_EP_Refm_PP[2][4]
double GetWDist(const AliVVertex *v0, const AliVVertex *v1)
TH1D * fFB_Efficiency_Cent[10]
4 particle 5 centrality bin
TProfile * fHist_Corr3p_EP_Norm_PN[2][4]
5 centrality bin, read NUA from file
TProfile * fHist_Corr3p_EtaDiff_EP_V0C_PN[2][6]
TProfile * fHist_Corr3p_pTSum_EP_V0A_NN[2][6]
TProfile * fHist_Corr3p_Proton_EtaDiff_EP_V0C_NN[2][6]
void SetFBEfficiencyFilePath(TString path)
TProfile * fHist_Corr3p_pTDiff_EP_V0C_NN[2][6]
TProfile * fHist_Corr3p_Kaon_EtaDiff_EP_V0A_NN[2][6]
TProfile * fHist_Corr3p_Pion_EP_Refm_PP[2][4]
TProfile * fHist_Corr3p_Pion_pTSum_EP_V0A_NN[2][6]
TH2F * fQAEtaPhiAfterNUA
Event weights for non-flat centrality.
const char Option_t
Definition: External.C:48
TProfile * fHist_Corr3p_Kaon_pTDiff_EP_V0A_PN[2][6]
TProfile * fHist_Corr3p_Proton_EtaDiff_EP_V0A_PN[2][6]
TH3D * fHCorrectNUAposProton[5]
5 centrality bin, read NUA from file
TProfile * fHist_Corr3p_EP_Refm_PN[2][4]
void SetHarmonicsFor3Particle(Int_t n, Int_t m)
bool Bool_t
Definition: External.C:53
TProfile * fHist_Corr3p_Proton_pTDiff_EP_V0C_PN[2][6]
TProfile * fHist_Corr3p_Pion_pTDiff_EP_V0C_PN[2][6]
TProfile * fHist_Corr3p_pTDiff_EP_V0A_PN[2][6]
TProfile * fHist_Corr3p_pTDiff_EP_V0A_NN[2][6]
TProfile * fHist_Corr3p_Pion_EP_Refm_NN[2][4]
TH2F * fV0MultChVsRun
Full Event plane.
TProfile * fHist_Corr3p_Proton_pTSum_EP_V0C_PP[2][6]
TProfile * fHist_Corr3p_Kaon_EtaDiff_EP_V0C_PN[2][6]
void SetTrackCutChi2Min(Double_t chi)
TProfile * fHist_Corr3p_Kaon_pTSum_EP_V0C_PN[2][6]
TProfile * fHist_Corr3p_Proton_EP_Refm_PP[2][4]
TProfile * fHist_Corr3p_EP_Refm_PP[2][4]
TProfile * fHist_Reso2n_EP_Refm_Det[2][4]
TProfile * fHist_Corr3p_Kaon_pTSum_EP_V0A_NN[2][6]
TProfile * fHist_Corr3p_Pion_EtaDiff_EP_V0C_PN[2][6]
TProfile * fHist_Corr3p_Pion_EtaDiff_EP_V0A_PP[2][6]
TProfile * fHist_Corr3p_pTSum_EP_V0A_PP[2][6]
TProfile * fHist_Corr3p_Proton_EP_Refm_NN[2][4]
TProfile * fHist_Corr3p_Proton_EtaDiff_EP_V0C_PN[2][6]
TProfile * fHist_Corr3p_Proton_pTDiff_EP_V0A_PP[2][6]
TProfile * fHist_Corr3p_EtaDiff_EP_V0C_NN[2][6]
TH2D * fHAvgerageQnV0C
V0A Average <Qn>, n=2,3.
void SetTrackCutDCAzMax(Double_t dc)
TProfile * fHist_Corr3p_EP_Norm_PP[2][4]