AliPhysics  a8fcd8c (a8fcd8c)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskCMEV0.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 
5 #ifndef AliAnalysisTaskCMEV0_H
6 #define AliAnalysisTaskCMEV0_H
7 
9 // AliAnalysisTaskCMEV0:
10 // analysis task for ZDC gain Equalization
11 // and CME analysis using VZERO Detector
12 // Author: Rihan Haque (mhaque@cern.ch)
14 
15 #include "TH1.h"
16 #include "TH2.h"
17 #include "TH3.h"
18 #include "TProfile2D.h"
19 #include "TProfile.h"
20 #include "TString.h"
21 #include "AliAnalysisTaskSE.h"
22 
23 
24 class AliAODEvent;
25 class AliAODVZERO;
26 class AliVVertex;
27 class AliFlowEventSimple;
28 class AliMultSelection;
29 class AliAnalysisUtils;
30 class TList;
31 
33 
34 public:
35 
37 //AliAnalysisTaskCMEV0(const char *name);
38  AliAnalysisTaskCMEV0(const TString name);
39  virtual ~AliAnalysisTaskCMEV0();
40 
41  virtual void UserCreateOutputObjects();
42  virtual void UserExec(Option_t *option);
43  virtual void Terminate(Option_t *);
44 
45 
46  void SetInputListNUA(TList *finputNUA) {this->fListNUACorr = finputNUA;}
47  void SetGainCorrZDNP(TList *finputZDN) {this->fListZDNCorr = finputZDN;}
48  void SetFBEfficiencyList(TList *fFBlist) {this->fListFBHijing = fFBlist;}
49  void SetRejectPileUp(Bool_t pileup) {this->fRejectPileUp = pileup;}
50  void SetRejectPileUpTight(Bool_t pileupt8) {this->fRejectPileUpTight = pileupt8;}
51  void SetStoreTPCQnAvg(Bool_t bstoreTPCQn) {this->bFillAvgTPCQn = bstoreTPCQn;}
52  void SetFillNUAHist(Bool_t bfillNUAhist) {this->bFillEtaPhiNUA = bfillNUAhist;}
53  void SetApplyNUACorr(Bool_t fUseNUACorr) {this->bApplyNUACorr = fUseNUACorr;}
54  void SetApplyZDCCorr(Bool_t fUseZDCCorr) {this->bApplyZDCCorr = fUseZDCCorr;}
55  void SetDataSet(TString fdataset) {this->sDataSet = fdataset;}
56  void SetAnalysisSet(TString fanalysisSet) {this->sAnalysisSet = fanalysisSet;}
57  void SetCentEstimator(TString centEstim) {this->sCentEstimator = centEstim;}
58  void SetHarmonic(Float_t harmonic) {this->fHarmonic = harmonic;}
59  void SetApplyNUAinEP(Bool_t bApplyNUAEP) {this->bApplyNUAforEP = bApplyNUAEP;}
60 
61 
62 
63 
64 
65 
66 private:
67 
68  AliAnalysisTaskCMEV0(const AliAnalysisTaskCMEV0& aAnalysisTask);
70 
73  double GetWDist(const AliVVertex* v0, const AliVVertex* v1);
74 
75  void OpenInfoCalbration(Int_t run);
76  void GetV0QvectAndMult(const AliAODVZERO *aodV0,Double_t& Qxan,Double_t& Qyan,Double_t& sumMa,Double_t& Qxcn,Double_t& Qycn,Double_t& sumMc);
77  void DefineHistograms();
78  void GetNUACorrectionHist(Int_t run, Float_t cent);
79  void GetZDCCorrectionHist(Int_t run);
80 
81  void InitializeRunArray(TString sPeriod);
83 
84 
86  AliMultSelection* fMultSelection;
87  AliAnalysisUtils* fAnalysisUtil;
88 
91  TList* fListFBHijing; // Hijing Efficiency list
92  TList* fListNUACorr; // NUA Correction List
93  TList* fListZDNCorr; // ZDC gain Correction Wgts
94 
102 
103 
104  TString sDataSet; // Dataset: 2010, 2011, or 2015.
105  TString sAnalysisSet; // Values: recenter1,recenter2,analysis1
106  TString sCentEstimator; // Centrality Estimator
107 
108 
115 
118  TH1F *fPileUpCount;
119  //runtime v0 calibration info histograms:
129  //---------------------------------
130 
131  //--- profiles for TPC Q-vector recenter. (They are filled, not read)
140 
149 
153 
156 
161 
162  TProfile2D *fHEnergyZNCvsCentRun;
163  TProfile2D *fHEnergyZNAvsCentRun;
164  TProfile2D *fHEnergyZPCvsCentRun;
165  TProfile2D *fHEnergyZPAvsCentRun;
166 
169 
172 
174 
176 
177  TProfile2D *fV0AQnxVsCentRun;
178  TProfile2D *fV0AQnyVsCentRun;
179  TProfile2D *fV0CQnxVsCentRun;
180  TProfile2D *fV0CQnyVsCentRun;
181  TProfile2D *fTPCQnxVsCentRun;
182  TProfile2D *fTPCQnyVsCentRun;
183 
186  TFile *fileNUApos;
187  TFile *fileNUAneg;
188 
189  TProfile2D *fAvgMultCentRun;
190  TProfile2D *fAvgWgtMultCentRun;
191  TProfile2D *fAvgPOIposCentRun;
192  TProfile2D *fAvgPOInegCentRun;
193  TProfile2D *fAvgPOIPPCentRun;
194  TProfile2D *fAvgPOINNCentRun;
195  TProfile2D *fAvgPOIOSCentRun;
196 
197  TProfile2D *fV0MultChVsRun;
198 
201 
202 
203 
204 
205 
206 
207  // [ Arrays of Histrograms here: ]
210 
212 
213  //CME using scalar product method:
214  TProfile *fHist_Corr3p_SP_Norm_PN[2][3];
215  TProfile *fHist_Corr3p_SP_Norm_PP[2][3];
216  TProfile *fHist_Corr3p_SP_Norm_NN[2][3];
217  TProfile *fHist_Reso2n_SP_Norm_Det[2][3];
218 
219  //CME Using Event plane method:
220  TProfile *fHist_Corr3p_EP_Norm_PN[2][3];
221  TProfile *fHist_Corr3p_EP_Norm_PP[2][3];
222  TProfile *fHist_Corr3p_EP_Norm_NN[2][3];
223  TProfile *fHist_Reso2n_EP_Norm_Det[2][3];
224 
225  //CME ZDN correlator: Spectator neutron
226  TProfile2D *fHist_Corr3p_ZDN_SP_PN[3];
227  TProfile2D *fHist_Corr3p_ZDN_SP_PP[3];
228  TProfile2D *fHist_Corr3p_ZDN_SP_NN[3];
229  TProfile2D *fHist_Reso2n_ZDN_SP_Det[3];
230 
231 
232  //CME pT differential Histograms:
233 
234  //(pT_A + pT_B)/2.0
241 
242  // |(pT_A - pT_B)|
249 
250  // |(Eta_A - Eta_B)|
257 
258 
259  //QA: pos/neg ratio:
262 
263  //QA eta dependence:
267 
268  //--- profiles for TPC <Q> (They are filled)
269  TProfile2D *fHCos1nPosChEtaVz[4];
270  TProfile2D *fHCos2nPosChEtaVz[4];
271  TProfile2D *fHCos3nPosChEtaVz[4];
272  TProfile2D *fHCos4nPosChEtaVz[4];
273  TProfile2D *fHSin1nPosChEtaVz[4];
274  TProfile2D *fHSin2nPosChEtaVz[4];
275  TProfile2D *fHSin3nPosChEtaVz[4];
276  TProfile2D *fHSin4nPosChEtaVz[4];
277 
278  TProfile2D *fHCos1nNegChEtaVz[4];
279  TProfile2D *fHCos2nNegChEtaVz[4];
280  TProfile2D *fHCos3nNegChEtaVz[4];
281  TProfile2D *fHCos4nNegChEtaVz[4];
282  TProfile2D *fHSin1nNegChEtaVz[4];
283  TProfile2D *fHSin2nNegChEtaVz[4];
284  TProfile2D *fHSin3nNegChEtaVz[4];
285  TProfile2D *fHSin4nNegChEtaVz[4];
286 
287  TProfile2D *fHCos2nDWPosChEtaVz[4];
288  TProfile2D *fHSin2nDWPosChEtaVz[4];
289  TProfile2D *fHCos2nDWNegChEtaVz[4];
290  TProfile2D *fHSin2nDWNegChEtaVz[4];
291 
292 
293 
294  ClassDef(AliAnalysisTaskCMEV0, 1); //
295 };
296 
297 #endif
298 
virtual void Terminate(Option_t *)
Bool_t CheckEventIsPileUp(AliAODEvent *faod)
TProfile2D * fHist_Corr3p_ZDN_SP_NN[3]
TProfile * fHist_Corr3p_EtaDiff_EP_V0C_NN[2][6]
void SetCentEstimator(TString centEstim)
void SetApplyNUAinEP(Bool_t bApplyNUAEP)
TProfile * fHist_Reso2n_EP_Norm_Det[2][3]
TProfile2D * fHCos1nNegChEtaNegVzPos
TProfile * fHist_Corr3p_EtaDiff_EP_V0A_NN[2][6]
double Double_t
Definition: External.C:58
Definition: External.C:260
TProfile2D * fHist_Corr3p_ZDN_SP_PP[3]
Norm = 10 centrality bins along X.
void SetDataSet(TString fdataset)
TProfile2D * fHSin3nPosChEtaVz[4]
Float_t fHarmonic
Event centrality.
TH1D * fQynsV0C
sigma Qx2 V0C
Int_t fOldRunNum
number of total run
Definition: External.C:236
Bool_t PileUpMultiVertex(const AliAODEvent *faod)
TProfile * fHist_Corr3p_pTSum_EP_V0A_PP[2][6]
TProfile2D * fHCos4nPosChEtaVz[4]
TH1D * fQxnmV0A
profile from V0 multiplicity
TList * fListHistos
Event selection.
TProfile2D * fHSin1nNegChEtaPosVzPos
TProfile2D * fHCos1nNegChEtaPosVzNeg
AliAnalysisUtils * fAnalysisUtil
MultSelection (RUN2 centrality estimator)
void SetApplyZDCCorr(Bool_t fUseZDCCorr)
TProfile2D * fHCos2nNegChEtaVz[4]
TProfile * fHist_Corr3p_pTDiff_EP_V0C_PN[2][6]
TProfile2D * fHSin1nNegChEtaVz[4]
TProfile2D * fHSin1nPosChEtaNegVzPos
TList * fListFBHijing
collection of Calib Histos
Int_t GetCurrentRunIndex(Int_t run)
TProfile * fHist_Corr3p_EP_Norm_PP[2][3]
TProfile2D * fHSin3nNegChEtaVz[4]
TProfile2D * fHSin2nPosChEtaVz[4]
TList * fListCalibs
collection of output
TProfile * fHist_Corr3p_EP_Norm_PN[2][3]
TProfile2D * fHSin1nNegChEtaPosVzNeg
TProfile * fHist_Corr3p_pTDiff_EP_V0A_NN[2][6]
TProfile2D * fHist_Corr3p_ZDN_SP_PN[3]
TProfile2D * fHCos1nPosChEtaVz[4]
TH3F * fHist3DEtaPhiVz_Neg_Run[4][90]
4 centrality bin 90 Bins for Run. NUA
TH1F * hUnderOverBinNUAneg
//temporary Debug, remove for stable code
TProfile * fHist_Corr3p_EP_Norm_NN[2][3]
void SetAnalysisSet(TString fanalysisSet)
TProfile2D * fHSin1nNegChEtaNegVzNeg
TProfile2D * fHSin1nPosChEtaPosVzPos
TProfile2D * fHCos1nNegChEtaPosVzPos
AliMultSelection * fMultSelection
input event
TH1F * fPileUpMultSelCount
event count with different cuts
TProfile2D * fHCos1nPosChEtaNegVzPos
TProfile * fHist_Corr3p_pTSum_EP_V0A_PN[2][6]
void SetFillNUAHist(Bool_t bfillNUAhist)
TProfile * fHist_Corr3p_EtaDiff_EP_V0A_PN[2][6]
TProfile2D * fHCos4nNegChEtaVz[4]
TProfile2D * fHCos3nPosChEtaVz[4]
TProfile2D * fHist_Reso2n_ZDN_SP_Det[3]
int Int_t
Definition: External.C:63
TH1D * fQynsV0A
sigma Qx2 V0A
TProfile2D * fHCos2nDWPosChEtaVz[4]
void SetGainCorrZDNP(TList *finputZDN)
TProfile2D * fHSin2nNegChEtaVz[4]
float Float_t
Definition: External.C:68
TProfile * fHist_Corr3p_SP_Norm_PP[2][3]
Norm = 10 centrality bins along X.
AliAnalysisTaskCMEV0 & operator=(const AliAnalysisTaskCMEV0 &aAnalysisTask)
Definition: External.C:252
TProfile * fHist_Corr3p_pTSum_EP_V0A_NN[2][6]
Definition: External.C:228
Definition: External.C:212
TProfile * fHist_Corr3p_pTDiff_EP_V0A_PN[2][6]
TProfile * fHist_Corr3p_pTSum_EP_V0C_PN[2][6]
TProfile2D * fHSin2nDWPosChEtaVz[4]
TProfile2D * fHCos2nDWNegChEtaVz[4]
TProfile2D * fHCos3nNegChEtaVz[4]
void SetApplyNUACorr(Bool_t fUseNUACorr)
TProfile * fHist_Corr3p_QAEta_EP_V0C_NN[2]
TH3F * fHistChNegvsEtaPtRun[10]
10 Centrality Bin
TProfile2D * fHCos2nPosChEtaVz[4]
void SetHarmonic(Float_t harmonic)
Int_t fRunFlag
array of runnumbers
AliFlowEventSimple * fEvent
TProfile * fHist_Reso2n_SP_Norm_Det[2][3]
TH1F * fHist_Event_count
Harmonic.
virtual void UserCreateOutputObjects()
TProfile * fHist_Corr3p_pTDiff_EP_V0C_PP[2][6]
TProfile2D * fV0MultChVsRun
opposite sign pairs
void InitializeRunArray(TString sPeriod)
TProfile2D * fHSin1nNegChEtaNegVzPos
TProfile2D * fHCos1nPosChEtaPosVzNeg
TH3F * fHist3DEtaPhiVz_Pos_Run[4][90]
TH1F * fHCentBinTrkRecenter
//temporary Debug, remove for stable code
void GetNUACorrectionHist(Int_t run, Float_t cent)
TProfile2D * fHSin4nNegChEtaVz[4]
TProfile * fHist_Corr3p_QAEta_EP_V0C_PN[2]
TProfile * fHist_Corr3p_pTSum_EP_V0C_NN[2][6]
TProfile2D * fHSin1nPosChEtaPosVzNeg
TProfile * fHist_Corr3p_SP_Norm_PN[2][3]
void SetStoreTPCQnAvg(Bool_t bstoreTPCQn)
TProfile2D * fHSin4nPosChEtaVz[4]
TProfile * fHist_Corr3p_EtaDiff_EP_V0C_PP[2][6]
TProfile * fHist_Corr3p_EtaDiff_EP_V0A_PP[2][6]
TProfile2D * fHCos1nPosChEtaPosVzPos
sigma Qy2 V0C
Float_t EvtCent
counter of event for cout
TProfile * fHist_Corr3p_EtaDiff_EP_V0C_PN[2][6]
void GetV0QvectAndMult(const AliAODVZERO *aodV0, Double_t &Qxan, Double_t &Qyan, Double_t &sumMa, Double_t &Qxcn, Double_t &Qycn, Double_t &sumMc)
const char Option_t
Definition: External.C:48
void GetZDCCorrectionHist(Int_t run)
TProfile2D * fAvgPOIOSCentRun
same sign Neg-Neg pairs
TH1D * fQxnmV0C
sigma Qy2 V0A
TProfile2D * fHSin1nPosChEtaNegVzNeg
TProfile * fHist_Corr3p_SP_Norm_NN[2][3]
bool Bool_t
Definition: External.C:53
TProfile2D * fHSin1nPosChEtaVz[4]
void SetInputListNUA(TList *finputNUA)
void SetFBEfficiencyList(TList *fFBlist)
virtual void UserExec(Option_t *option)
void SetRejectPileUpTight(Bool_t pileupt8)
TProfile * fHist_Corr3p_pTDiff_EP_V0C_NN[2][6]
TProfile2D * fHCos1nPosChEtaNegVzNeg
TH1D * fFB_Efficiency_Cent[10]
4 centrality bin 90 Bins for Run. NUA
TProfile * fHist_Corr3p_QAEta_EP_V0C_PP[2]
Pos and Neg Mag field.
TProfile2D * fHCos1nNegChEtaNegVzNeg
double GetWDist(const AliVVertex *v0, const AliVVertex *v1)
TProfile2D * fHSin2nDWNegChEtaVz[4]
void OpenInfoCalbration(Int_t run)
TProfile2D * fAvgPOINNCentRun
same sign Pos-Pos pairs
void SetRejectPileUp(Bool_t pileup)
TProfile * fHist_Corr3p_pTSum_EP_V0C_PP[2][6]
TProfile2D * fHCos1nNegChEtaVz[4]
TProfile * fHist_Corr3p_pTDiff_EP_V0A_PP[2][6]