AliPhysics  41af4b0 (41af4b0)
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 
204 
205 
206 
207 
208  //TStopwatch watch; //!
209 
211  Int_t gN; //
212  Int_t gM; //
217 
218 
228 
233 
236 
237 
243 
247 
248 
249 
251 
252 
253 
254 
255 
256 
257 
258 
259 
260 
261 
262 
263  //-------- Arrays ----------
271 
272 
273 
276 
279 
282 
285 
286 
287 
288 
289 
291 
292 
293 
294 
295 
296  // 3p correlator vs Centrality, EP method:
297  //Charge:
298  TProfile *fHist_Corr3p_EP_Norm_PN[2][4];
299  TProfile *fHist_Corr3p_EP_Norm_PP[2][4];
300  TProfile *fHist_Corr3p_EP_Norm_NN[2][4];
301  TProfile *fHist_Reso2n_EP_Norm_Det[2][4];
302  //Pion:
306  //Kaon:
310  //Proton:
314 
315 
316 
317  // 3p correlator vs RefMult, EP method:
318  //Charge:
319  TProfile *fHist_Corr3p_EP_Refm_PN[2][4];
320  TProfile *fHist_Corr3p_EP_Refm_PP[2][4];
321  TProfile *fHist_Corr3p_EP_Refm_NN[2][4];
322  TProfile *fHist_Reso2n_EP_Refm_Det[2][4];
323  //Pion:
327  //Kaon:
331  //Proton:
335 
336 
337 
338 
339 
340 
341 
342 
343 
344 
345  // 2p correlator vs Centrality EP method:
346 
347  // 2p correlator vs RefMult, EP method:
348 
349 
350 
351 
352 
353  //3particle Differential Histograms:
354  //(pT_A + pT_B)/2.0
361  // |(pT_A - pT_B)|
368  // |(Eta_A - Eta_B)|
375 
376 
377  //CME PID differential Histograms:
378  //(pT_A + pT_B)/2.0
385  // |(pT_A - pT_B)|
392  // |(Eta_A - Eta_B)|
399 
400 
401  //(pT_A + pT_B)/2.0
408  // |(pT_A - pT_B)|
415  // |(Eta_A - Eta_B)|
422 
423 
424  //(pT_A + pT_B)/2.0
431  // |(pT_A - pT_B)|
438  // |(Eta_A - Eta_B)|
445 
446 
447 
448 
449  //2 particle Differential Histograms:
450 
451 
452  // NUA histograms:
455 
456 
457 
461 //TH1D *fFB_Efficiency_Proton_Cent[10]; //!
464 
465 
466 
467 
468 
469 
470  //--------- PileUp Functions -----------
472  Bool_t PileUpMultiVertex(const AliAODEvent* faod);
473  double GetWDist(const AliVVertex* v0, const AliVVertex* v1);
474 
475  //for NUA and gain corrections:
476  void GetNUACorrectionHist(Int_t run);
477  void GetV0MCorrectionHist(Int_t run);
478 
479 
480 
481  //----------- other functions ----------
484  void SetupMCcorrectionMap();
486 
487 
488 
489 
490 
493  ClassDef(AliAnalysisTaskCMEV0PID, 1)
494 
495 };
496 
497 #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]