26 #include "TMatrixDSym.h"
27 #include "Riostream.h"
28 #include "AliAnalysisManager.h"
29 #include "AliInputEventHandler.h"
30 #include "AliOADBContainer.h"
31 #include "AliMultSelection.h"
32 #include "AliMultiplicity.h"
33 #include "AliAnalysisUtils.h"
34 #include "AliVVertex.h"
35 #include "AliAODTrack.h"
36 #include "AliAODEvent.h"
37 #include "AliAODHeader.h"
38 #include "AliAODVertex.h"
39 #include "AliAODVZERO.h"
40 #include "AliAODZDC.h"
60 fRejectPileUpTight(kTRUE),
61 bFillAvgTPCQn(kFALSE),
62 bFillEtaPhiNUA(kFALSE),
63 bApplyNUACorr(kFALSE),
64 bApplyZDCCorr(kFALSE),
65 bApplyNUAforEP(kFALSE),
67 sAnalysisSet("DoGainEq"),
77 fHist_Event_count(NULL),
78 fPileUpMultSelCount(NULL),
80 fTaskConfigParm(NULL),
90 fHV0AEventPlaneVsCent(NULL),
91 fHV0CEventPlaneVsCent(NULL),
92 fHTPCEventPlaneVsCent(NULL),
93 fHEnergyZNCvsCent(NULL),
94 fHEnergyZNAvsCent(NULL),
95 fHEnergyZPCvsCent(NULL),
96 fHEnergyZPAvsCent(NULL),
97 fHEnergyZNCvsCentRun(NULL),
98 fHEnergyZNAvsCentRun(NULL),
99 fHEnergyZPCvsCentRun(NULL),
100 fHEnergyZPAvsCentRun(NULL),
101 fHEnergyZPCvsZPA(NULL),
102 fHEnergyZNCvsZNA(NULL),
103 hUnderOverBinNUApos(NULL),
104 hUnderOverBinNUAneg(NULL),
105 fHCentBinTrkRecenter(NULL),
107 fV0AQnxVsCentRun(NULL),
108 fV0AQnyVsCentRun(NULL),
109 fV0CQnxVsCentRun(NULL),
110 fV0CQnyVsCentRun(NULL),
111 fTPCQnxVsCentRun(NULL),
112 fTPCQnyVsCentRun(NULL),
117 fAvgMultCentRun(NULL),
118 fAvgWgtMultCentRun(NULL),
119 fAvgPOIposCentRun(NULL),
120 fAvgPOInegCentRun(NULL),
121 fAvgPOIPPCentRun(NULL),
122 fAvgPOINNCentRun(NULL),
123 fAvgPOIOSCentRun(NULL),
124 fV0MultChVsRun(NULL),
125 fEventStatvsRun(NULL),
126 fEtaBinFinderForQA(NULL),
127 fVzBinFinderForNUA(NULL)
129 for(
int i=0;i<4;i++){
130 fHCorrectNUApos[i] = NULL;
131 fHCorrectNUAneg[i] = NULL;
133 for(
int i=0;i<90;i++){
135 for(
int j=0;j<4;j++){
136 fHist3DEtaPhiVz_Pos_Run[j][i] = NULL;
137 fHist3DEtaPhiVz_Neg_Run[j][i] = NULL;
140 for(
int i=0;i<10;i++){
141 fFB_Efficiency_Cent[i] = NULL;
143 for(
int i=0;i<2;i++){
144 for(
int j=0;j<3;j++){
145 fHist_Corr3p_SP_Norm_PN[i][j] = NULL;
146 fHist_Corr3p_SP_Norm_PP[i][j] = NULL;
147 fHist_Corr3p_SP_Norm_NN[i][j] = NULL;
148 fHist_Reso2n_SP_Norm_Det[i][j] = NULL;
151 for(
int i=0;i<2;i++){
152 for(
int j=0;j<3;j++){
153 fHist_Corr3p_EP_Norm_PN[i][j] = NULL;
154 fHist_Corr3p_EP_Norm_PP[i][j] = NULL;
155 fHist_Corr3p_EP_Norm_NN[i][j] = NULL;
156 fHist_Reso2n_EP_Norm_Det[i][j] = NULL;
159 for(
int i=0;i<2;i++){
160 fHist_Corr3p_vsRun_EP_PN[i] = NULL;
161 fHist_Corr3p_vsRun_EP_PP[i] = NULL;
162 fHist_Corr3p_vsRun_EP_NN[i] = NULL;
164 for(
int i=0;i<3;i++){
165 fHist_Corr3p_ZDN_SP_PN[i] = NULL;
166 fHist_Corr3p_ZDN_SP_PP[i] = NULL;
167 fHist_Corr3p_ZDN_SP_NN[i] = NULL;
168 fHist_Reso2n_ZDN_SP_Det[i] = NULL;
170 for(
int i=0;i<2;i++){
171 for(
int j=0;j<6;j++){
172 fHist_Corr3p_pTSum_EP_V0A_PN[i][j] = NULL;
173 fHist_Corr3p_pTSum_EP_V0A_PP[i][j] = NULL;
174 fHist_Corr3p_pTSum_EP_V0A_NN[i][j] = NULL;
175 fHist_Corr3p_pTSum_EP_V0C_PN[i][j] = NULL;
176 fHist_Corr3p_pTSum_EP_V0C_PP[i][j] = NULL;
177 fHist_Corr3p_pTSum_EP_V0C_NN[i][j] = NULL;
179 fHist_Corr3p_pTDiff_EP_V0A_PN[i][j] = NULL;
180 fHist_Corr3p_pTDiff_EP_V0A_PP[i][j] = NULL;
181 fHist_Corr3p_pTDiff_EP_V0A_NN[i][j] = NULL;
182 fHist_Corr3p_pTDiff_EP_V0C_PN[i][j] = NULL;
183 fHist_Corr3p_pTDiff_EP_V0C_PP[i][j] = NULL;
184 fHist_Corr3p_pTDiff_EP_V0C_NN[i][j] = NULL;
186 fHist_Corr3p_EtaDiff_EP_V0A_PN[i][j] = NULL;
187 fHist_Corr3p_EtaDiff_EP_V0A_PP[i][j] = NULL;
188 fHist_Corr3p_EtaDiff_EP_V0A_NN[i][j] = NULL;
189 fHist_Corr3p_EtaDiff_EP_V0C_PN[i][j] = NULL;
190 fHist_Corr3p_EtaDiff_EP_V0C_PP[i][j] = NULL;
191 fHist_Corr3p_EtaDiff_EP_V0C_NN[i][j] = NULL;
194 for(
int i=0;i<10;i++){
195 fHistChPosvsEtaPtRun[i] = NULL;
196 fHistChNegvsEtaPtRun[i] = NULL;
198 for(
int i=0;i<2;i++){
199 fHist_Corr3p_QAEta_SP_V0A_PN[i] = NULL;
200 fHist_Corr3p_QAEta_SP_V0A_PP[i] = NULL;
201 fHist_Corr3p_QAEta_SP_V0A_NN[i] = NULL;
203 for(
int i=0;i<2;i++){
204 fHist_Corr3p_QAEta_SP_V0C_PN[i] = NULL;
205 fHist_Corr3p_QAEta_SP_V0C_PP[i] = NULL;
206 fHist_Corr3p_QAEta_SP_V0C_NN[i] = NULL;
208 for(
int i=0;i<4;i++){
209 fHCos1nPosChEtaVz[i] = NULL;
210 fHCos2nPosChEtaVz[i] = NULL;
211 fHCos3nPosChEtaVz[i] = NULL;
212 fHCos4nPosChEtaVz[i] = NULL;
213 fHSin1nPosChEtaVz[i] = NULL;
214 fHSin2nPosChEtaVz[i] = NULL;
215 fHSin3nPosChEtaVz[i] = NULL;
216 fHSin4nPosChEtaVz[i] = NULL;
218 fHCos1nNegChEtaVz[i] = NULL;
219 fHCos2nNegChEtaVz[i] = NULL;
220 fHCos3nNegChEtaVz[i] = NULL;
221 fHCos4nNegChEtaVz[i] = NULL;
222 fHSin1nNegChEtaVz[i] = NULL;
223 fHSin2nNegChEtaVz[i] = NULL;
224 fHSin3nNegChEtaVz[i] = NULL;
225 fHSin4nNegChEtaVz[i] = NULL;
227 fHCos2nDWPosChEtaVz[i] = NULL;
228 fHSin2nDWPosChEtaVz[i] = NULL;
229 fHCos2nDWNegChEtaVz[i] = NULL;
230 fHSin2nDWNegChEtaVz[i] = NULL;
232 for(
int i=0;i<2;i++){
233 fHist_NonIso_SP_PP_Mag0[i] = NULL;
234 fHist_NonIso_SP_NN_Mag0[i] = NULL;
235 fHist_NonIso_SP_PP_Mag1[i] = NULL;
236 fHist_NonIso_SP_NN_Mag1[i] = NULL;
238 for(
int i=0;i<2;i++){
239 fHist_Corr2p_EP_Norm_PN[i] = NULL;
240 fHist_Corr2p_EP_Norm_PP[i] = NULL;
241 fHist_Corr2p_EP_Norm_NN[i] = NULL;
244 DefineInput(1, AliFlowEventSimple::Class());
246 DefineOutput(1,TList::Class());
247 DefineOutput(2,TList::Class());
252 fMultSelection(NULL),
259 fRejectPileUp(kTRUE),
260 fRejectPileUpTight(kTRUE),
261 bFillAvgTPCQn(kFALSE),
262 bFillEtaPhiNUA(kFALSE),
263 bApplyNUACorr(kFALSE),
264 bApplyZDCCorr(kFALSE),
265 bApplyNUAforEP(kFALSE),
267 sAnalysisSet(
"DoGainEq"),
268 sCentEstimator(
"V0"),
277 fHist_Event_count(NULL),
278 fPileUpMultSelCount(NULL),
280 fTaskConfigParm(NULL),
290 fHV0AEventPlaneVsCent(NULL),
291 fHV0CEventPlaneVsCent(NULL),
292 fHTPCEventPlaneVsCent(NULL),
293 fHEnergyZNCvsCent(NULL),
294 fHEnergyZNAvsCent(NULL),
295 fHEnergyZPCvsCent(NULL),
296 fHEnergyZPAvsCent(NULL),
297 fHEnergyZNCvsCentRun(NULL),
298 fHEnergyZNAvsCentRun(NULL),
299 fHEnergyZPCvsCentRun(NULL),
300 fHEnergyZPAvsCentRun(NULL),
301 fHEnergyZPCvsZPA(NULL),
302 fHEnergyZNCvsZNA(NULL),
303 hUnderOverBinNUApos(NULL),
304 hUnderOverBinNUAneg(NULL),
305 fHCentBinTrkRecenter(NULL),
307 fV0AQnxVsCentRun(NULL),
308 fV0AQnyVsCentRun(NULL),
309 fV0CQnxVsCentRun(NULL),
310 fV0CQnyVsCentRun(NULL),
311 fTPCQnxVsCentRun(NULL),
312 fTPCQnyVsCentRun(NULL),
317 fAvgMultCentRun(NULL),
318 fAvgWgtMultCentRun(NULL),
319 fAvgPOIposCentRun(NULL),
320 fAvgPOInegCentRun(NULL),
321 fAvgPOIPPCentRun(NULL),
322 fAvgPOINNCentRun(NULL),
323 fAvgPOIOSCentRun(NULL),
324 fV0MultChVsRun(NULL),
325 fEventStatvsRun(NULL),
326 fEtaBinFinderForQA(NULL),
327 fVzBinFinderForNUA(NULL)
329 for(
int i=0;i<4;i++){
333 for(
int i=0;i<90;i++){
335 for(
int j=0;j<4;j++){
340 for(
int i=0;i<10;i++){
343 for(
int i=0;i<2;i++){
344 for(
int j=0;j<3;j++){
351 for(
int i=0;i<2;i++){
352 for(
int j=0;j<3;j++){
359 for(
int i=0;i<2;i++){
364 for(
int i=0;i<3;i++){
370 for(
int i=0;i<2;i++){
371 for(
int j=0;j<6;j++){
394 for(
int i=0;i<10;i++){
398 for(
int i=0;i<2;i++){
403 for(
int i=0;i<2;i++){
408 for(
int i=0;i<4;i++){
432 for(
int i=0;i<2;i++){
438 for(
int i=0;i<2;i++){
459 for(
int i=0;i<10;i++) {
464 printf(
"\n\n!!***** Warning *****!!\n FilterBit efficiency not found, use = 1.0 !!\n\n");
465 for(
int i=0;i<10;i++){
504 for(
int i=0;i<4;i++){
526 printf(
"\n ... ::UserExec = no AOD or Flow Event, \n.... EXIT ..... \n");
537 Bool_t kPileupEvent = kFALSE;
541 if(kPileupEvent)
return;
555 centrV0M = ((AliVAODHeader*)aod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"V0M");
556 centrCL1 = ((AliVAODHeader*)aod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"CL1");
557 centrCL0 = ((AliVAODHeader*)aod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"CL0");
558 centrTRK = ((AliVAODHeader*)aod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"TRK");
561 fMultSelection = (AliMultSelection*) InputEvent()->FindListObject(
"MultSelection");
563 printf(
"\n\n **WARNING** ::UserExec() AliMultSelection object not found.\n\n");
582 Int_t iCentSPD = centrCL1;
584 if(iCentSPD >= 90)
return;
604 cIndex = abs(
EvtCent/10.0) + 1;
613 Int_t runindex = -111;
614 Int_t runNumber = aod->GetRunNumber();
633 Double_t fMagField = aod->GetMagneticField();
642 const AliAODVZERO *fAODV0 = aod->GetVZEROData();
645 Double_t QyanCor = 0., QycnCor = 0.;
646 Double_t QxanCor = 0., QxcnCor = 0.;
657 QyanCor = (Qyan -
fQynmV0A->GetBinContent(iCentSPD+1))/
fQynsV0A->GetBinContent(iCentSPD+1);
658 QycnCor = (Qycn -
fQynmV0C->GetBinContent(iCentSPD+1))/
fQynsV0C->GetBinContent(iCentSPD+1);
664 QxanCor = (Qxan -
fQxnmV0A->GetBinContent(iCentSPD+1))/
fQxnsV0A->GetBinContent(iCentSPD+1);
665 QxcnCor = (Qxcn -
fQxnmV0C->GetBinContent(iCentSPD+1))/
fQxnsV0C->GetBinContent(iCentSPD+1);
670 for(
int iV0 = 0; iV0 < 64; iV0++) {
672 fMultv0 = fAODV0->GetMultiplicity(iV0);
675 phiV0 = TMath::PiOver4()*(0.5 + iV0 % 8);
696 if(sumMa < 0 || sumMc < 0)
return;
701 AliAODVertex *pVertex = aod->GetPrimaryVertex();
707 Double_t energyZNC=0.,energyZNA=0.,energyZPC=0.,energyZPA=0.;
709 energyZNC = ((AliVAODHeader*)aod->GetHeader())->GetZDCN1Energy();
710 energyZNA = ((AliVAODHeader*)aod->GetHeader())->GetZDCN2Energy();
711 energyZPC = ((AliVAODHeader*)aod->GetHeader())->GetZDCP1Energy();
712 energyZPA = ((AliVAODHeader*)aod->GetHeader())->GetZDCP2Energy();
744 Int_t BadRuns[10] = {246871,246870,246867,246865,246864,246859,246858,246676,246675,246540};
748 for(
int ib=0;ib<iBadrun;ib++){
749 if(runNumber==BadRuns[ib]){
777 Double_t QxAutoPosQAEta[16] = {0.,};
778 Double_t QyAutoPosQAEta[16] = {0.,};
779 Double_t QxAutoNegQAEta[16] = {0.,};
780 Double_t QyAutoNegQAEta[16] = {0.,};
787 Double_t AvgDWCos2n=0.,AvgDWSin2n=0.;
821 Double_t Psi2V0C = 1./psiN*TMath::ATan2(QycnCor,QxcnCor);
822 if(Psi2V0C<0.) Psi2V0C += 2*pi/psiN;
824 Double_t Psi2V0A = 1./psiN*TMath::ATan2(QyanCor,QxanCor);
825 if(Psi2V0A<0.) Psi2V0A += 2*pi/psiN;
853 for(
int i=0; i<iTracks; i++) {
855 if(!pTrack1)
continue;
856 dPhi1 = pTrack1->
Phi();
857 dPt1 = pTrack1-> Pt();
858 dEta1 = pTrack1->
Eta();
859 dChrg1 = pTrack1->
Charge();
893 if(
sFileNUA==
"OldJ") w1NUA = 1./w1NUA;
905 if(w1NUA > 1e3 ) w1NUA = 1.0;
1032 if(isBadRun)
continue;
1039 QxPos[0] += (ptw1*w1NUA*TMath::Cos(n*dPhi1) - AvgCos1n);
1040 QyPos[0] += (ptw1*w1NUA*TMath::Sin(n*dPhi1) - AvgSin1n);
1041 QxAutoPos[0] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Cos(2.*n*dPhi1) - AvgDWCos2n);
1042 QyAutoPos[0] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Sin(2.*n*dPhi1) - AvgDWSin2n);
1043 MPOIpos += w1NUA*ptw1;
1044 McorrPos += w1NUA*ptw1*w1NUA*ptw1;
1047 QxPosQAEta[iEtaQA] += (ptw1*w1NUA*TMath::Cos(n*dPhi1) - AvgCos1n);
1048 QyPosQAEta[iEtaQA] += (ptw1*w1NUA*TMath::Sin(n*dPhi1) - AvgSin1n);
1049 QxAutoPosQAEta[iEtaQA] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Cos(2.*n*dPhi1) - AvgDWCos2n);
1050 QyAutoPosQAEta[iEtaQA] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Sin(2.*n*dPhi1) - AvgDWSin2n);
1051 MPOIposQAEta[iEtaQA] += ptw1*w1NUA;
1055 QxNeg[0] += (ptw1*w1NUA*TMath::Cos(n*dPhi1) - AvgCos1n);
1056 QyNeg[0] += (ptw1*w1NUA*TMath::Sin(n*dPhi1) - AvgSin1n);
1057 QxAutoNeg[0] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Cos(2.*n*dPhi1) - AvgDWCos2n);
1058 QyAutoNeg[0] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Sin(2.*n*dPhi1) - AvgDWSin2n);
1059 MPOIneg += w1NUA*ptw1;
1060 McorrNeg += w1NUA*ptw1*w1NUA*ptw1;
1063 QxNegQAEta[iEtaQA] += (ptw1*w1NUA*TMath::Cos(n*dPhi1) - AvgCos1n);
1064 QyNegQAEta[iEtaQA] += (ptw1*w1NUA*TMath::Sin(n*dPhi1) - AvgSin1n);
1065 QxAutoNegQAEta[iEtaQA] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Cos(2.*n*dPhi1) - AvgDWCos2n);
1066 QyAutoNegQAEta[iEtaQA] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Sin(2.*n*dPhi1) - AvgDWSin2n);
1067 MPOInegQAEta[iEtaQA] += ptw1*w1NUA;
1073 QxTPC[1] += ptw1*w1NUA*TMath::Cos(psiN*dPhi1);
1074 QyTPC[1] += ptw1*w1NUA*TMath::Sin(psiN*dPhi1);
1077 nRefMultWgt += ptw1*w1NUA;
1086 for(
int j=0; j<iTracks; j++) {
1091 if(!pTrack2)
continue;
1092 dPhi2 = pTrack2->
Phi();
1093 dPt2 = pTrack2-> Pt();
1094 dEta2 = pTrack2->
Eta();
1095 dChrg2 = pTrack2->
Charge();
1115 if(
sFileNUA==
"OldJ") w2NUA = 1./w2NUA;
1127 if(w2NUA > 1e3 ) w2NUA = 1.0;
1131 WgtEP = ptw1*ptw2*w1NUA*w2NUA;
1158 else if(dChrg1>0 && dChrg2>0){
1179 else if(dChrg1<0 && dChrg2<0){
1207 if(isBadRun)
return;
1220 Double_t Psi2TPC = 1./psiN*(TMath::ATan2(QTPCIm,QTPCRe));
1221 if(Psi2TPC < 0.) Psi2TPC += 2*pi/psiN;
1248 Double_t uPRe=0.,uNRe=0.,uPIm=0.,uNIm=0.,uN2Re=0.,uN2Im=0.,uP2Re=0.,uP2Im=0.;
1253 uPM = MPOIpos; uNM = MPOIneg;
1255 uPRe = QxPos[0]; uNRe = QxNeg[0];
1256 uPIm = QyPos[0]; uNIm = QyNeg[0];
1258 uP2Re = QxAutoPos[0]; uP2Im = QyAutoPos[0];
1259 uN2Re = QxAutoNeg[0]; uN2Im = QyAutoNeg[0];
1261 Double_t TwoQpQnV = 0.,TwoQpQpV=0.,TwoQnQnV=0.;
1263 if(uPM > 1 && uNM > 1) {
1265 TwoQpQnV = ((uPRe*uNRe-uPIm*uNIm)*QxanCor + (uPRe*uNIm+uPIm*uNRe)*QyanCor) / (uPM*uNM) ;
1266 TwoQpQpV = ((uPRe*uPRe-uPIm*uPIm-uP2Re)*QxanCor + (2.*uPRe*uPIm-uP2Im)*QyanCor) / (uPM*(uPM-1)) ;
1267 TwoQnQnV = ((uNRe*uNRe-uNIm*uNIm-uN2Re)*QxanCor + (2.*uNRe*uNIm-uN2Im)*QyanCor) / (uNM*(uNM-1)) ;
1275 Double_t QnNonIsoRe = 0.,QnNonIsoIm=0.;
1282 QnNonIsoRe = (uPRe*QxanCor + uPIm*QyanCor)/uPM;
1283 QnNonIsoIm = (uPIm*QxanCor - uPRe*QyanCor)/uPM;
1287 QnNonIsoRe = (uPRe*uPRe-uPIm*uPIm-uP2Re)/(uPM*(uPM-1));
1288 QnNonIsoIm = (2.*uPRe*uPIm-uP2Im)/(uPM*(uPM-1));
1292 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1293 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1304 QnNonIsoRe = (uNRe*QxanCor + uNIm*QyanCor)/uNM;
1305 QnNonIsoIm = (uNIm*QxanCor - uNRe*QyanCor)/uNM;
1309 QnNonIsoRe = (uNRe*uNRe-uNIm*uNIm-uN2Re)/(uNM*(uNM-1));
1310 QnNonIsoIm = (2.*uNRe*uNIm-uN2Im)/(uNM*(uNM-1));
1314 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1315 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1322 else if(QAindex==1){
1327 QnNonIsoRe = (uPRe*QxanCor + uPIm*QyanCor)/uPM;
1328 QnNonIsoIm = (uPIm*QxanCor - uPRe*QyanCor)/uPM;
1332 QnNonIsoRe = (uPRe*uPRe-uPIm*uPIm-uP2Re)/(uPM*(uPM-1));
1333 QnNonIsoIm = (2.*uPRe*uPIm-uP2Im)/(uPM*(uPM-1));
1337 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1338 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1349 QnNonIsoRe = (uNRe*QxanCor + uNIm*QyanCor)/uNM;
1350 QnNonIsoIm = (uNIm*QxanCor - uNRe*QyanCor)/uNM;
1354 QnNonIsoRe = (uNRe*uNRe-uNIm*uNIm-uN2Re)/(uNM*(uNM-1));
1355 QnNonIsoIm = (2.*uNRe*uNIm-uN2Im)/(uNM*(uNM-1));
1359 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1360 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1417 TwoQpQnV = 0.; TwoQpQpV = 0.; TwoQnQnV = 0.;
1418 TwoQpQnV = ((uPRe*uNRe-uPIm*uNIm)*QxcnCor + (uPRe*uNIm+uPIm*uNRe)*QycnCor) / (uPM*uNM) ;
1419 TwoQpQpV = ((uPRe*uPRe-uPIm*uPIm-uP2Re)*QxcnCor + (2.*uPRe*uPIm-uP2Im)*QycnCor) / (uPM*(uPM-1)) ;
1420 TwoQnQnV = ((uNRe*uNRe-uNIm*uNIm-uN2Re)*QxcnCor + (2.*uNRe*uNIm-uN2Im)*QycnCor) / (uNM*(uNM-1)) ;
1432 QnNonIsoRe = (uPRe*QxcnCor + uPIm*QycnCor)/uPM;
1433 QnNonIsoIm = (uPIm*QxcnCor - uPRe*QycnCor)/uPM;
1437 QnNonIsoRe = (uPRe*uPRe-uPIm*uPIm-uP2Re)/(uPM*(uPM-1));
1438 QnNonIsoIm = (2.*uPRe*uPIm-uP2Im)/(uPM*(uPM-1));
1442 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1443 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1454 QnNonIsoRe = (uNRe*QxcnCor + uNIm*QycnCor)/uNM;
1455 QnNonIsoIm = (uNIm*QxcnCor - uNRe*QycnCor)/uNM;
1459 QnNonIsoRe = (uNRe*uNRe-uNIm*uNIm-uN2Re)/(uNM*(uNM-1));
1460 QnNonIsoIm = (2.*uNRe*uNIm-uN2Im)/(uNM*(uNM-1));
1464 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1465 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1472 else if(QAindex==1) {
1477 QnNonIsoRe = (uPRe*QxcnCor + uPIm*QycnCor)/uPM;
1478 QnNonIsoIm = (uPIm*QxcnCor - uPRe*QycnCor)/uPM;
1482 QnNonIsoRe = (uPRe*uPRe-uPIm*uPIm-uP2Re)/(uPM*(uPM-1));
1483 QnNonIsoIm = (2.*uPRe*uPIm-uP2Im)/(uPM*(uPM-1));
1487 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1488 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1499 QnNonIsoRe = (uNRe*QxcnCor + uNIm*QycnCor)/uNM;
1500 QnNonIsoIm = (uNIm*QxcnCor - uNRe*QycnCor)/uNM;
1504 QnNonIsoRe = (uNRe*uNRe-uNIm*uNIm-uN2Re)/(uNM*(uNM-1));
1505 QnNonIsoIm = (2.*uNRe*uNIm-uN2Im)/(uNM*(uNM-1));
1509 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1510 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1578 for(
int ie=0; ie<16; ie++){
1580 uPM = MPOIposQAEta[ie];
1581 uNM = MPOInegQAEta[ie];
1585 uPRe = QxPosQAEta[ie];
1586 uNRe = QxNegQAEta[ie];
1587 uPIm = QyPosQAEta[ie];
1588 uNIm = QyNegQAEta[ie];
1590 uP2Re = QxAutoPosQAEta[ie];
1591 uP2Im = QyAutoPosQAEta[ie];
1592 uN2Re = QxAutoNegQAEta[ie];
1593 uN2Im = QyAutoNegQAEta[ie];
1599 TwoQpQnV = 0.; TwoQpQpV = 0.; TwoQnQnV = 0.;
1600 TwoQpQnV = ((uPRe*uNRe-uPIm*uNIm)*QxanCor + (uPRe*uNIm+uPIm*uNRe)*QyanCor) / (uPM*uNM) ;
1601 TwoQpQpV = ((uPRe*uPRe-uPIm*uPIm-uP2Re)*QxanCor + (2.*uPRe*uPIm-uP2Im)*QyanCor) / (uPM*(uPM-1.)) ;
1602 TwoQnQnV = ((uNRe*uNRe-uNIm*uNIm-uN2Re)*QxanCor + (2.*uNRe*uNIm-uN2Im)*QyanCor) / (uNM*(uNM-1.)) ;
1609 TwoQpQnV = 0.; TwoQpQpV = 0.; TwoQnQnV = 0.;
1610 TwoQpQnV = ((uPRe*uNRe-uPIm*uNIm)*QxcnCor + (uPRe*uNIm+uPIm*uNRe)*QycnCor) / (uPM*uNM) ;
1611 TwoQpQpV = ((uPRe*uPRe-uPIm*uPIm-uP2Re)*QxcnCor + (2.*uPRe*uPIm-uP2Im)*QycnCor) / (uPM*(uPM-1.)) ;
1612 TwoQnQnV = ((uNRe*uNRe-uNIm*uNIm-uN2Re)*QxcnCor + (2.*uNRe*uNIm-uN2Im)*QycnCor) / (uNM*(uNM-1.)) ;
1681 AliDebug(2,
"\n ... AliAnalysisTaskCMEV0::Terminate() is being called ... \n");
1698 for(
Int_t iV0 = 0; iV0 < 64; iV0++) {
1703 Double_t phiV0 = TMath::PiOver4()*(0.5 + iV0 % 8);
1704 Float_t multv0 = aodV0->GetMultiplicity(iV0);
1710 multCorC = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(1);
1711 else if(iV0 >= 8 && iV0 < 16)
1712 multCorC = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(9);
1713 else if(iV0 >= 16 && iV0 < 24)
1714 multCorC = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(17);
1715 else if(iV0 >= 24 && iV0 < 32)
1716 multCorC = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(25);
1719 cout<<
"Problem with multiplicity in V0C"<<endl;
1722 Qxcn += TMath::Cos(fHarmonic*phiV0) * multCorC;
1723 Qycn += TMath::Sin(fHarmonic*phiV0) * multCorC;
1725 sumMc = sumMc + multCorC;
1730 if(iV0 >= 32 && iV0 < 40)
1731 multCorA = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(33);
1732 else if(iV0 >= 40 && iV0 < 48)
1733 multCorA = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(41);
1734 else if(iV0 >= 48 && iV0 < 56)
1735 multCorA = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(49);
1736 else if(iV0 >= 56 && iV0 < 64)
1737 multCorA = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(57);
1740 cout<<
"Problem with multiplicity in V0A"<<endl;
1743 Qxan += TMath::Cos(fHarmonic*phiV0) * multCorA;
1744 Qyan += TMath::Sin(fHarmonic*phiV0) * multCorA;
1746 sumMa = sumMa + multCorA;
1758 printf(
"\n\n ********** ZDC Wgt Histograms NotFound ***************\n\n");
1779 for(
int i=0;i<4;i++){
1785 else if(sfileNUA==
"NewPt"|| sfileNUA==
"NewpT"){
1787 for(
int i=0;i<4;i++){
1793 else if(sfileNUA==
"OldJ") {
1795 TGrid::Connect(
"alien://");
1798 fileNUApos = TFile::Open(
"alien:///alice/cern.ch/user/m/mhaque/calib_files/15oHI_FB768_PosCh_CenPhiEtaWeights_VtxRbR.root");
1802 fileNUAneg = TFile::Open(
"alien:///alice/cern.ch/user/m/mhaque/calib_files/15oHI_FB768_NegCh_CenPhiEtaWeights_VtxRbR.root");
1806 for(
int i=0;i<4;i++){
1811 for(
int i=0;i<4;i++){
1819 printf(
"\n\n ******** could not open NUA Histograms for run %d, Use Wgt = 1.0 *********\n\n",run);
1820 if(sfileNUA==
"OldJ"|| sfileNUA==
"NewR"){
1821 for(
int i=0;i<4;i++){
1822 fHCorrectNUApos[i] =
new TH3D(Form(
"fHCorrectNUApos_cent%d",i),
"",1,-10,10,1,0,6.284,1,-0.9,0.9);
1823 fHCorrectNUAneg[i] =
new TH3D(Form(
"fHCorrectNUAneg_cent%d",i),
"",1,-10,10,1,0,6.284,1,-0.9,0.9);
1829 else if(sfileNUA==
"NewPt"|| sfileNUA==
"NewpT"){
1830 for(
int i=0;i<4;i++){
1831 fHCorrectNUApos[i] =
new TH3D(Form(
"fHCorrectNUApos_cent%d",i),
"",1,0,10,1,0,6.284,1,-0.9,0.9);
1832 fHCorrectNUAneg[i] =
new TH3D(Form(
"fHCorrectNUAneg_cent%d",i),
"",1,0,10,1,0,6.284,1,-0.9,0.9);
1846 TGrid::Connect(
"alien://");
1851 foadb = TFile::Open(
"alien:///alice/cern.ch/user/a/adobrin/calibV0HIR.root");
1856 printf(
"OADB V0 calibration file cannot be opened\n");
1860 AliOADBContainer* cont = (AliOADBContainer*) foadb->Get(
"hMultV0BefCorPfpx");
1862 printf(
"OADB object hMultV0BefCorr is not available in the file\n");
1865 if(!(cont->GetObject(run))){
1866 printf(
"OADB object hMultV0BefCorPfpx is not available for run %i\n", run);
1871 AliOADBContainer* contQxnam = 0;
1872 if (fHarmonic == 2.)
1873 contQxnam = (AliOADBContainer*) foadb->Get(
"fqxa2m");
1875 contQxnam = (AliOADBContainer*) foadb->Get(
"fqxa3m");
1878 printf(
"OADB object fqxanm is not available in the file\n");
1881 if(!(contQxnam->GetObject(run))){
1882 printf(
"OADB object fqxanm is not available for run %i\n", run);
1887 AliOADBContainer* contQynam = 0;
1888 if (fHarmonic == 2.)
1889 contQynam = (AliOADBContainer*) foadb->Get(
"fqya2m");
1890 else if (fHarmonic == 3.)
1891 contQynam = (AliOADBContainer*) foadb->Get(
"fqya3m");
1892 else if (fHarmonic == 4.)
1893 contQynam = (AliOADBContainer*) foadb->Get(
"fqya4m");
1896 printf(
"OADB object fqyanm is not available in the file\n");
1899 if(!(contQynam->GetObject(run))){
1900 printf(
"OADB object fqyanm is not available for run %i\n", run);
1905 AliOADBContainer* contQxnas = 0;
1906 if (fHarmonic == 2.)
1907 contQxnas = (AliOADBContainer*) foadb->Get(
"fqxa2s");
1909 contQxnas = (AliOADBContainer*) foadb->Get(
"fqxa3s");
1912 printf(
"OADB object fqxans is not available in the file\n");
1915 if(!(contQxnas->GetObject(run))){
1916 printf(
"OADB object fqxans is not available for run %i\n", run);
1921 AliOADBContainer* contQynas = 0;
1922 if (fHarmonic == 2.)
1923 contQynas = (AliOADBContainer*) foadb->Get(
"fqya2s");
1924 else if (fHarmonic == 3.)
1925 contQynas = (AliOADBContainer*) foadb->Get(
"fqya3s");
1926 else if (fHarmonic == 4.)
1927 contQynas = (AliOADBContainer*) foadb->Get(
"fqya4s");
1930 printf(
"OADB object fqyans is not available in the file\n");
1933 if(!(contQynas->GetObject(run))){
1934 printf(
"OADB object fqyans is not available for run %i\n", run);
1941 AliOADBContainer* contQxncm = 0;
1942 if (fHarmonic == 2.)
1943 contQxncm = (AliOADBContainer*) foadb->Get(
"fqxc2m");
1945 contQxncm = (AliOADBContainer*) foadb->Get(
"fqxc3m");
1948 printf(
"OADB object fqxcnm is not available in the file\n");
1951 if(!(contQxncm->GetObject(run))){
1952 printf(
"OADB object fqxcnm is not available for run %i\n", run);
1959 AliOADBContainer* contQyncm = 0;
1960 if (fHarmonic == 2.)
1961 contQyncm = (AliOADBContainer*) foadb->Get(
"fqyc2m");
1962 else if (fHarmonic == 3.)
1963 contQyncm = (AliOADBContainer*) foadb->Get(
"fqyc3m");
1964 else if (fHarmonic == 4.)
1965 contQyncm = (AliOADBContainer*) foadb->Get(
"fqyc4m");
1968 printf(
"OADB object fqyc2m is not available in the file\n");
1971 if(!(contQyncm->GetObject(run))){
1972 printf(
"OADB object fqyc2m is not available for run %i\n", run);
1978 AliOADBContainer* contQxncs = 0;
1979 if (fHarmonic == 2.)
1980 contQxncs = (AliOADBContainer*) foadb->Get(
"fqxc2s");
1982 contQxncs = (AliOADBContainer*) foadb->Get(
"fqxc3s");
1985 printf(
"OADB object fqxc2s is not available in the file\n");
1988 if(!(contQxncs->GetObject(run))){
1989 printf(
"OADB object fqxc2s is not available for run %i\n", run);
1995 AliOADBContainer* contQyncs = 0;
1996 if (fHarmonic == 2.)
1997 contQyncs = (AliOADBContainer*) foadb->Get(
"fqyc2s");
1998 else if (fHarmonic == 3.)
1999 contQyncs = (AliOADBContainer*) foadb->Get(
"fqyc3s");
2000 else if (fHarmonic == 4.)
2001 contQyncs = (AliOADBContainer*) foadb->Get(
"fqyc4s");
2004 printf(
"OADB object fqycnm is not available in the file\n");
2007 if(!(contQyncs->GetObject(run))){
2008 printf(
"OADB object fqycns is not available for run %i\n", run);
2021 AliDebug(2,
"\n\n ::GetWDist => One of vertices is not valid\n\n");
2024 static TMatrixDSym vVb(3);
2026 double dx = v0->GetX()-v1->GetX();
2027 double dy = v0->GetY()-v1->GetY();
2028 double dz = v0->GetZ()-v1->GetZ();
2029 double cov0[6],cov1[6];
2030 v0->GetCovarianceMatrix(cov0);
2031 v1->GetCovarianceMatrix(cov1);
2032 vVb(0,0) = cov0[0]+cov1[0];
2033 vVb(1,1) = cov0[2]+cov1[2];
2034 vVb(2,2) = cov0[5]+cov1[5];
2035 vVb(1,0) = vVb(0,1) = cov0[1]+cov1[1];
2036 vVb(0,2) = vVb(1,2) = vVb(2,0) = vVb(2,1) = 0.;
2038 if (!vVb.IsValid()) {
2039 AliDebug(2,
"Singular Matrix\n");
2042 dist = vVb(0,0)*dx*dx + vVb(1,1)*dy*dy + vVb(2,2)*dz*dz
2043 + 2*vVb(0,1)*dx*dy + 2*vVb(0,2)*dx*dz + 2*vVb(1,2)*dy*dz;
2044 return dist>0 ? TMath::Sqrt(dist) : -1;
2049 const int kMinPlpContrib = 5;
2050 const double kMaxPlpChi2 = 5.0;
2051 const double kMinWDist = 15;
2053 const AliVVertex* vtPrm = 0;
2054 const AliVVertex* vtPlp = 0;
2058 if(!(nPlp=faod->GetNumberOfPileupVerticesTracks()))
2061 vtPrm = faod->GetPrimaryVertex();
2062 if(vtPrm == faod->GetPrimaryVertexSPD())
2067 for(
int ipl=0;ipl<nPlp;ipl++) {
2068 vtPlp = (
const AliVVertex*)faod->GetPileupVertexTracks(ipl);
2069 if (vtPlp->GetNContributors() < kMinPlpContrib)
continue;
2070 if (vtPlp->GetChi2perNDF() > kMaxPlpChi2)
continue;
2075 double wDst =
GetWDist(vtPrm,vtPlp);
2076 if (wDst<kMinWDist)
continue;
2098 centrV0M = ((AliVAODHeader*)faod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"V0M");
2099 centrCL1 = ((AliVAODHeader*)faod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"CL1");
2100 centrCL0 = ((AliVAODHeader*)faod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"CL0");
2101 centrTRK = ((AliVAODHeader*)faod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"TRK");
2104 fMultSelection = (AliMultSelection*) InputEvent()->FindListObject(
"MultSelection");
2106 printf(
"\n\n **WARNING** ::UserExec() AliMultSelection object not found.\n\n");
2123 Int_t isPileup = faod->IsPileupFromSPD(3);
2128 if(((AliAODHeader*)faod->GetHeader())->GetRefMultiplicityComb08() < 0) {
2132 if(faod->IsIncompleteDAQ()) {
2138 const AliAODVertex* vtTrc = faod->GetPrimaryVertex();
2139 const AliAODVertex* vtSPD = faod->GetPrimaryVertexSPD();
2141 if(vtTrc->GetNContributors() < 2 || vtSPD->GetNContributors()<1) {
2146 double covTrc[6], covSPD[6];
2147 vtTrc->GetCovarianceMatrix(covTrc);
2148 vtSPD->GetCovarianceMatrix(covSPD);
2150 double dz = vtTrc->GetZ() - vtSPD->GetZ();
2152 double errTot = TMath::Sqrt(covTrc[5]+covSPD[5]);
2153 double errTrc = TMath::Sqrt(covTrc[5]);
2154 double nsigTot = dz/errTot;
2155 double nsigTrc = dz/errTrc;
2157 if(TMath::Abs(dz)>0.2 || TMath::Abs(nsigTot)>10 || TMath::Abs(nsigTrc)>20) {
2192 Int_t isPileup = faod->IsPileupFromSPD(3);
2197 if(((AliAODHeader*)faod->GetHeader())->GetRefMultiplicityComb08() < 0) {
2201 if(faod->IsIncompleteDAQ()) {
2205 if(fabs(centrV0M-centrCL1)>7.5) {
2211 const AliAODVertex* vtTrc = faod->GetPrimaryVertex();
2212 const AliAODVertex* vtSPD = faod->GetPrimaryVertexSPD();
2214 if(vtTrc->GetNContributors() < 2 || vtSPD->GetNContributors()<1) {
2219 double covTrc[6], covSPD[6];
2220 vtTrc->GetCovarianceMatrix(covTrc);
2221 vtSPD->GetCovarianceMatrix(covSPD);
2223 double dz = vtTrc->GetZ() - vtSPD->GetZ();
2225 double errTot = TMath::Sqrt(covTrc[5]+covSPD[5]);
2226 double errTrc = TMath::Sqrt(covTrc[5]);
2227 double nsigTot = dz/errTot;
2228 double nsigTrc = dz/errTrc;
2230 if(TMath::Abs(dz)>0.2 || TMath::Abs(nsigTot)>10 || TMath::Abs(nsigTrc)>20) {
2236 const Int_t nTracks = faod->GetNumberOfTracks();
2237 Int_t multEsd = ((AliAODHeader*)faod->GetHeader())->GetNumberOfESDTracks();
2244 for(
Int_t it = 0; it < nTracks; it++) {
2245 AliAODTrack* aodTrk = (AliAODTrack*)faod->GetTrack(it);
2257 if(aodTrk->TestFilterBit(128))
2263 Double_t multESDTPCDif = multEsdn - multTPCn*3.38;
2269 if(multESDTPCDif > 15000.){
2274 if(multESDTPCDif > 700.) {
2278 if(BisPileup==kFALSE) {
2280 if(!
fMultSelection->GetThisEventIsNotPileupMV()) BisPileup=kTRUE;
2281 if(!
fMultSelection->GetThisEventIsNotPileupInMultBins()) BisPileup=kTRUE;
2282 if(!
fMultSelection->GetThisEventHasNoInconsistentVertices()) BisPileup=kTRUE;
2283 if(!
fMultSelection->GetThisEventPassesTrackletVsCluster()) BisPileup=kTRUE;
2284 if(!
fMultSelection->GetThisEventIsNotIncompleteDAQ()) BisPileup=kTRUE;
2285 if(!
fMultSelection->GetThisEventHasGoodVertex2016()) BisPileup=kTRUE;
2310 printf(
"\n ... **WARNING** \n::UserExec() runnumber not listed.\n EXIT..\n");
2319 Int_t runArray_2010[89] = {139510, 139507, 139505, 139503, 139465, 139438, 139437, 139360, 139329, 139328, 139314, 139310, 139309, 139173, 139107, 139105, 139038, 139037, 139036, 139029, 139028, 138872, 138871, 138870, 138837, 138732, 138730, 138666, 138662, 138653, 138652, 138638, 138624, 138621, 138583, 138582, 138579, 138578, 138534, 138469, 138442, 138439, 138438, 138396, 138364, 138275, 138225, 138201, 138197, 138192, 138190, 137848, 137844, 137752, 137751, 137724, 137722, 137718, 137704, 137693, 137692, 137691, 137686, 137685, 137639, 137638, 137608, 137595, 137549, 137546, 137544, 137541, 137539, 137531, 137530, 137443, 137441, 137440, 137439, 137434, 137432, 137431, 137243, 137236, 137235, 137232, 137231, 137162, 137161};
2321 Int_t runArray_2011[68] = {167915, 168115, 168460, 169035, 169238, 169859, 170228, 167920, 168310, 168464, 169091, 169411, 169923, 170230, 167985, 168311, 168467, 169094, 169415, 170027, 170268, 167987, 168322, 168511, 169138, 169417, 170081, 170269, 167988, 168325, 168512, 169144, 169835, 170155, 170270, 168069, 168341, 168514, 169145, 169837, 170159, 170306, 168076, 168342, 168777, 169148, 169838, 170163, 170308, 168105, 168361, 168826, 169156, 169846, 170193, 170309, 168107, 168362, 168988, 169160, 169855, 170203, 168108, 168458, 168992, 169167, 169858, 170204};
2323 Int_t runArray_2015[90] = {246994, 246991, 246989, 246984, 246982, 246980, 246948, 246945, 246928, 246871, 246870, 246867, 246865, 246864, 246859, 246858, 246851, 246847, 246846, 246845, 246844, 246810, 246809, 246808, 246807, 246805, 246804, 246766, 246765, 246763, 246760, 246759, 246758, 246757, 246751, 246750, 246676, 246675, 246540, 246495, 246493, 246488, 246487, 246434, 246431, 246428, 246424, 246276, 246275, 246272, 246271, 246225, 246222, 246217, 246185, 246182, 246181, 246180, 246178, 246153, 246152, 246151, 246148, 246115, 246113, 246089, 246087, 246053, 246052, 246049, 246048, 246042, 246037, 246036, 246012, 246003, 246001, 245963, 245954, 245952, 245949, 245923, 245833, 245831, 245829, 245705, 245702, 245700, 245692, 245683};
2327 Int_t runArray_pPb_16q_pass1[32] = {265309, 265332, 265334, 265335, 265336, 265338, 265339, 265342, 265343, 265344, 265377, 265378, 265381, 265383, 265384, 265385, 265387, 265388, 265419, 265420, 265421, 265422, 265424, 265425, 265426, 265427, 265435, 265499, 265500, 265501, 265521, 265525};
2332 if(sPeriod==
"2010"){
2335 runNums[i] = runArray_2010[i];
2337 else if(sPeriod==
"2011"){
2340 runNums[i] = runArray_2011[i];
2342 else if(sPeriod==
"2015" || sPeriod==
"2015PbPb"){
2345 runNums[i] = runArray_2015[i];
2347 else if(sPeriod==
"2015pPb" || sPeriod==
"pPb"){
2350 runNums[i] = runArray_pPb_16q_pass1[i];
2355 printf(
"\n\n ***** Run Number not defined for this data set. *******\n\n Please modify code..\n\n");
2377 fPileUpMultSelCount =
new TH1F(
"fPileUpMultSelCount",
"fPileUpMultSelCount", 10, 0., 10.);
2388 fPileUpCount =
new TH1F(
"fPileUpCount",
"fPileUpCount", 12, 0., 12.);
2391 fPileUpCount->GetXaxis()->SetBinLabel(3,
"RefMultiplicityComb08");
2392 fPileUpCount->GetXaxis()->SetBinLabel(4,
"IncompleteDAQ");
2393 fPileUpCount->GetXaxis()->SetBinLabel(5,
"abs(V0M-CL1)>7.5");
2395 fPileUpCount->GetXaxis()->SetBinLabel(7,
"inconsistentVtx");
2396 fPileUpCount->GetXaxis()->SetBinLabel(8,
"multESDTPCDif=15000");
2397 fPileUpCount->GetXaxis()->SetBinLabel(9,
"multESDTPCDif=700");
2398 fPileUpCount->GetXaxis()->SetBinLabel(10,
"extraPileUpMultSel");
2402 fTaskConfigParm =
new TH1F(
"fTaskConfigParm",
"Connfig Values", 20, 0., 20.);
2427 for(
int i=0;i<3;i++){
2429 fHist_Corr3p_ZDN_SP_PN[i] =
new TProfile2D(Form(
"fHist_Corr3p_ZDN_SP_PosNeg_Det%d",i+1),
"opposit charge correlator",90,0,90,15,0,15,
"");
2432 fHist_Corr3p_ZDN_SP_PP[i] =
new TProfile2D(Form(
"fHist_Corr3p_ZDN_SP_PosPos_Det%d",i+1),
"pos-pos charge correlator",90,0,90,15,0,15,
"");
2435 fHist_Corr3p_ZDN_SP_NN[i] =
new TProfile2D(Form(
"fHist_Corr3p_ZDN_SP_NegNeg_Det%d",i+1),
"neg-neg charge correlator",90,0,90,15,0,15,
"");
2440 for(
int i=0;i<3;i++){
2442 fHist_Reso2n_ZDN_SP_Det[i] =
new TProfile2D(Form(
"fHist_Reso2n_ZDN_SP_DetComb%d",i+1),
"Event plane Resolution",90,0,90,8,0,8,
"");
2448 Double_t centRange[11] = {0,5,10,20,30,40,50,60,70,80,90};
2451 for(
int i=0;i<2;i++){
2452 for(
int j=0;j<3;j++){
2454 fHist_Corr3p_SP_Norm_PN[i][j] =
new TProfile(Form(
"fHist_Corr3p_SP_Norm_PosNeg_Mag%d_Det%d",i,j+1),
"opposit charge correlator",10,centRange,
"");
2457 fHist_Corr3p_SP_Norm_PP[i][j] =
new TProfile(Form(
"fHist_Corr3p_SP_Norm_PosPos_Mag%d_Det%d",i,j+1),
"pos-pos charge correlator",10,centRange,
"");
2460 fHist_Corr3p_SP_Norm_NN[i][j] =
new TProfile(Form(
"fHist_Corr3p_SP_Norm_NegNeg_Mag%d_Det%d",i,j+1),
"neg-neg charge correlator",10,centRange,
"");
2465 for(
int j=0;j<3;j++){
2467 fHist_Reso2n_SP_Norm_Det[i][j] =
new TProfile(Form(
"fHist_Reso2n_SP_Norm_Mag%d_DetComb%d",i,j+1),
"Event plane Resolution",10,centRange,
"");
2476 for(
int i=0;i<2;i++){
2477 for(
int j=0;j<3;j++){
2479 fHist_Corr3p_EP_Norm_PN[i][j] =
new TProfile(Form(
"fHist_Corr3p_EP_Norm_PosNeg_Mag%d_Det%d",i,j+1),
"opposit charge correlator",10,centRange,
"");
2482 fHist_Corr3p_EP_Norm_PP[i][j] =
new TProfile(Form(
"fHist_Corr3p_EP_Norm_PosPos_Mag%d_Det%d",i,j+1),
"pos-pos charge correlator",10,centRange,
"");
2485 fHist_Corr3p_EP_Norm_NN[i][j] =
new TProfile(Form(
"fHist_Corr3p_EP_Norm_NegNeg_Mag%d_Det%d",i,j+1),
"neg-neg charge correlator",10,centRange,
"");
2490 for(
int j=0;j<3;j++){
2492 fHist_Reso2n_EP_Norm_Det[i][j] =
new TProfile(Form(
"fHist_Reso2n_EP_Norm_Mag%d_DetComb%d",i,j+1),
"Event plane Resolution",10,centRange,
"");
2513 TH1::SetDefaultSumw2();
2522 Double_t pTRange[21] = {0.0,0.2,0.4,0.6,0.8,1.0,1.2,1.4,1.6,1.8,2.0,2.2,2.4,2.6,2.8,3.0,3.2,3.4,3.6,3.8,4.0};
2524 for(
int i=0;i<2;i++){
2525 for(
int j=0;j<6;j++){
2526 sprintf(name,
"fHist_Corr3p_pTSum_EP_V0A_PN_Mag%d_Cent%d",i,j);
2527 sprintf(title,
"PN 3p vs (pT1+pT2)/2, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2531 sprintf(name,
"fHist_Corr3p_pTSum_EP_V0A_PP_Mag%d_Cent%d",i,j);
2532 sprintf(title,
"PP 3p vs (pT1+pT2)/2, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2536 sprintf(name,
"fHist_Corr3p_pTSum_EP_V0A_NN_Mag%d_Cent%d",i,j);
2537 sprintf(title,
"NN 3p vs (pT1+pT2)/2, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2541 sprintf(name,
"fHist_Corr3p_pTSum_EP_V0C_PN_Mag%d_Cent%d",i,j);
2542 sprintf(title,
"PN 3p vs (pT1+pT2)/2, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2546 sprintf(name,
"fHist_Corr3p_pTSum_EP_V0C_PP_Mag%d_Cent%d",i,j);
2547 sprintf(title,
"PP 3p vs (pT1+pT2)/2, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2551 sprintf(name,
"fHist_Corr3p_pTSum_EP_V0C_NN_Mag%d_Cent%d",i,j);
2552 sprintf(title,
"NN 3p vs (pT1+pT2)/2, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2558 for(
int i=0;i<2;i++){
2559 for(
int j=0;j<6;j++){
2560 sprintf(name,
"fHist_Corr3p_pTDiff_EP_V0A_PN_Mag%d_Cent%d",i,j);
2561 sprintf(title,
"PN 3p vs |pT1-pT2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2565 sprintf(name,
"fHist_Corr3p_pTDiff_EP_V0A_PP_Mag%d_Cent%d",i,j);
2566 sprintf(title,
"PP 3p vs |pT1-pT2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2570 sprintf(name,
"fHist_Corr3p_pTDiff_EP_V0A_NN_Mag%d_Cent%d",i,j);
2571 sprintf(title,
"NN 3p vs |pT1-pT2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2575 sprintf(name,
"fHist_Corr3p_pTDiff_EP_V0C_PN_Mag%d_Cent%d",i,j);
2576 sprintf(title,
"PN 3p vs |pT1-pT2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2580 sprintf(name,
"fHist_Corr3p_pTDiff_EP_V0C_PP_Mag%d_Cent%d",i,j);
2581 sprintf(title,
"PP 3p vs |pT1-pT2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2585 sprintf(name,
"fHist_Corr3p_pTDiff_EP_V0C_NN_Mag%d_Cent%d",i,j);
2586 sprintf(title,
"NN 3p vs |pT1-pT2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2592 Double_t EtaRange[9] = {0.0,0.2,0.4,0.6,0.8,1.0,1.2,1.4,1.6};
2594 for(
int i=0;i<2;i++){
2595 for(
int j=0;j<6;j++){
2596 sprintf(name,
"fHist_Corr3p_EtaDiff_EP_V0A_PN_Mag%d_Cent%d",i,j);
2597 sprintf(title,
"PN 3p vs |Eta1-Eta2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2601 sprintf(name,
"fHist_Corr3p_EtaDiff_EP_V0A_PP_Mag%d_Cent%d",i,j);
2602 sprintf(title,
"PP 3p vs |Eta1-Eta2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2606 sprintf(name,
"fHist_Corr3p_EtaDiff_EP_V0A_NN_Mag%d_Cent%d",i,j);
2607 sprintf(title,
"NN 3p vs |Eta1-Eta2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2611 sprintf(name,
"fHist_Corr3p_EtaDiff_EP_V0C_PN_Mag%d_Cent%d",i,j);
2612 sprintf(title,
"PN 3p vs |Eta1-Eta2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2616 sprintf(name,
"fHist_Corr3p_EtaDiff_EP_V0C_PP_Mag%d_Cent%d",i,j);
2617 sprintf(title,
"PP 3p vs |Eta1-Eta2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2621 sprintf(name,
"fHist_Corr3p_EtaDiff_EP_V0C_NN_Mag%d_Cent%d",i,j);
2622 sprintf(title,
"NN 3p vs |Eta1-Eta2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2632 for(
int i=0;i<2;i++){
2633 fHist_NonIso_SP_PP_Mag0[i] =
new TProfile2D(Form(
"fHist_NonIso_SP_PP_Mag0_Det%d",i),
"Non Isotropic terms",10,centRange,10,0,10,
"");
2635 fHist_NonIso_SP_NN_Mag0[i] =
new TProfile2D(Form(
"fHist_NonIso_SP_NN_Mag0_Det%d",i),
"Non Isotropic terms",10,centRange,10,0,10,
"");
2638 fHist_NonIso_SP_PP_Mag1[i] =
new TProfile2D(Form(
"fHist_NonIso_SP_PP_Mag1_Det%d",i),
"Non Isotropic terms",10,centRange,10,0,10,
"");
2640 fHist_NonIso_SP_NN_Mag1[i] =
new TProfile2D(Form(
"fHist_NonIso_SP_NN_Mag1_Det%d",i),
"Non Isotropic terms",10,centRange,10,0,10,
"");
2644 for(
int i=0;i<2;i++){
2645 fHist_Corr2p_EP_Norm_PN[i] =
new TProfile2D(Form(
"fHist_Corr2p_EP_Norm_PN_Mag%d",i),
"<cos(n(phiA-phiB))>",10,centRange,4,0,4,
"");
2647 fHist_Corr2p_EP_Norm_PP[i] =
new TProfile2D(Form(
"fHist_Corr2p_EP_Norm_PP_Mag%d",i),
"<cos(n(phiA-phiB))>",10,centRange,4,0,4,
"");
2649 fHist_Corr2p_EP_Norm_NN[i] =
new TProfile2D(Form(
"fHist_Corr2p_EP_Norm_NN_Mag%d",i),
"<cos(n(phiA-phiB))>",10,centRange,4,0,4,
"");
2668 Double_t fCentBinQvect[16] = {0.,2.5,5,10,15,20,25,30,35,40,45,50,60,70,80,90};
2670 fHEnergyZNCvsCent =
new TH2F(
"fHEnergyZNCvsCent",
"ZNC Energy vs cent",15,fCentBinQvect,4000,0,200000);
2672 fHEnergyZNAvsCent =
new TH2F(
"fHEnergyZNAvsCent",
"ZNA Energy vs cent",15,fCentBinQvect,4000,0,200000);
2674 fHEnergyZPCvsCent =
new TH2F(
"fHEnergyZPCvsCent",
"ZPC Energy vs cent",15,fCentBinQvect,2000,0,50000);
2676 fHEnergyZPAvsCent =
new TH2F(
"fHEnergyZPAvsCent",
"ZPA Energy vs cent",15,fCentBinQvect,2000,0,50000);
2690 fHEnergyZNCvsZNA =
new TH2F(
"fHEnergyZNCvsZNA",
"ZNC Energy vs cent",500,50000,150000,500,50000,150000);
2698 Int_t magField[2] = {0,1};
2700 for(
int i=0;i<2;i++){
2701 fHist_Corr3p_QAEta_SP_V0A_PN[i] =
new TProfile(Form(
"fHist_Corr3p_QAEta_SP_V0A_PN_Mag%d",magField[i]),
"PN, Cent 10-20%",16,-0.8,0.8,
"");
2703 fHist_Corr3p_QAEta_SP_V0A_PP[i] =
new TProfile(Form(
"fHist_Corr3p_QAEta_SP_V0A_PP_Mag%d",magField[i]),
"PP, Cent 10-20%",16,-0.8,0.8,
"");
2705 fHist_Corr3p_QAEta_SP_V0A_NN[i] =
new TProfile(Form(
"fHist_Corr3p_QAEta_SP_V0A_NN_Mag%d",magField[i]),
"NN, Cent 10-20%",16,-0.8,0.8,
"");
2708 for(
int i=0;i<2;i++){
2709 fHist_Corr3p_QAEta_SP_V0C_PN[i] =
new TProfile(Form(
"fHist_Corr3p_QAEta_SP_V0C_PN_Mag%d",magField[i]),
"PN, Cent 10-20%",16,-0.8,0.8,
"");
2711 fHist_Corr3p_QAEta_SP_V0C_PP[i] =
new TProfile(Form(
"fHist_Corr3p_QAEta_SP_V0C_PP_Mag%d",magField[i]),
"PP, Cent 10-20%",16,-0.8,0.8,
"");
2713 fHist_Corr3p_QAEta_SP_V0C_NN[i] =
new TProfile(Form(
"fHist_Corr3p_QAEta_SP_V0C_NN_Mag%d",magField[i]),
"NN, Cent 10-20%",16,-0.8,0.8,
"");
2725 Int_t suffixEta[4] = {1,0,1,0};
2726 Int_t suffixVz[4] = {1,1,0,0};
2729 for(
int i=0;i<4;i++){
2820 for(
int i=0;i<2;i++){
2833 for(
int i=0;i<10;i++){
2834 sprintf(name,
"fHistChPosvsEtaPtRun_Cent%d",i);
2835 sprintf(title,
"Pos Ch, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2836 fHistChPosvsEtaPtRun[i] =
new TH3F(name,title,25,0.2,5.2,16,-0.8,0.8,
fRunFlag,0,
fRunFlag);
2838 sprintf(name,
"fHistChNegvsEtaPtRun_Cent%d",i);
2839 sprintf(title,
"Neg Ch, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2840 fHistChNegvsEtaPtRun[i] =
new TH3F(name,title,25,0.2,5.2,16,-0.8,0.8,
fRunFlag,0,
fRunFlag);
2847 Int_t gCentForNUA[5] = {0,5,10,40,90};
2850 for(
int i=0;i<4;i++){
2852 sprintf(name,
"fHistEtaPhiVz_Pos_Cent%d_Run%d",i,
runNums[j]);
2853 sprintf(title,
"eta,phi,Vz Pos Cent%d-%d%%",gCentForNUA[i],gCentForNUA[i+1]);
2854 fHist3DEtaPhiVz_Pos_Run[i][j] =
new TH3F(name,title,10,-10,10,50,0,6.2832,16,-0.8,0.8);
2857 sprintf(name,
"fHistEtaPhiVz_Neg_Cent%d_Run%d",i,
runNums[j]);
2858 sprintf(title,
"eta,phi,Vz Pos Cent%d-%d%%",gCentForNUA[i],gCentForNUA[i+1]);
2859 fHist3DEtaPhiVz_Neg_Run[i][j] =
new TH3F(name,title,10,-10,10,50,0,6.2832,16,-0.8,0.8);
virtual void Terminate(Option_t *)
Bool_t CheckEventIsPileUp(AliAODEvent *faod)
TProfile2D * fHEnergyZNCvsCentRun
TProfile2D * fHist_Corr3p_ZDN_SP_NN[3]
TH2F * fHTPCEventPlaneVsCent
TProfile * fHist_Corr3p_EtaDiff_EP_V0C_NN[2][6]
TProfile2D * fTPCQnyVsCentRun
TProfile * fHist_Reso2n_EP_Norm_Det[2][3]
TProfile * fHist_Corr3p_EtaDiff_EP_V0A_NN[2][6]
TProfile2D * fHist_Corr3p_ZDN_SP_PP[3]
Norm = 10 centrality bins along X.
TProfile2D * fHSin3nPosChEtaVz[4]
TProfile2D * fHEnergyZPCvsCentRun
TH1D * fQynsV0C
sigma Qx2 V0C
Int_t fOldRunNum
number of total run
Bool_t PileUpMultiVertex(const AliAODEvent *faod)
TProfile * fHist_Corr3p_pTSum_EP_V0A_PP[2][6]
TProfile2D * fHCos4nPosChEtaVz[4]
TH1D * fQxnmV0A
profile from V0 multiplicity
AliFlowTrackSimple * GetTrack(Int_t i)
TList * fListHistos
Event selection.
TProfile2D * fAvgWgtMultCentRun
TProfile2D * fHist_Corr2p_EP_Norm_NN[2]
virtual ~AliAnalysisTaskCMEV0()
AliAnalysisUtils * fAnalysisUtil
MultSelection (RUN2 centrality estimator)
TProfile * fHist_Corr3p_QAEta_SP_V0C_PP[2]
Pos and Neg Mag field.
TProfile2D * fHCos2nNegChEtaVz[4]
TProfile * fHist_Corr3p_pTDiff_EP_V0C_PN[2][6]
TProfile2D * fAvgPOIPPCentRun
TProfile2D * fHSin1nNegChEtaVz[4]
TH2F * fHV0CEventPlaneVsCent
TList * fListFBHijing
collection of Calib Histos
TProfile * fHist_Corr3p_QAEta_SP_V0A_PP[2]
Pos and Neg Mag field.
Int_t GetCurrentRunIndex(Int_t run)
TProfile2D * fHEnergyZPAvsCentRun
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 * fV0AQnyVsCentRun
TProfile * fHist_Corr3p_pTDiff_EP_V0A_NN[2][6]
TH1F * fVzBinFinderForNUA
TProfile2D * fHist_Corr3p_ZDN_SP_PN[3]
TProfile2D * fV0CQnxVsCentRun
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]
TProfile2D * fHist_Corr3p_vsRun_EP_PN[2]
AliMultSelection * fMultSelection
input event
TH1F * fPileUpMultSelCount
event count with different cuts
TProfile * fHist_Corr3p_pTSum_EP_V0A_PN[2][6]
TProfile2D * fHist_NonIso_SP_PP_Mag0[2]
TProfile * fHist_Corr3p_EtaDiff_EP_V0A_PN[2][6]
TProfile2D * fHCos4nNegChEtaVz[4]
TProfile2D * fV0CQnyVsCentRun
TProfile * fHist_Corr3p_QAEta_SP_V0A_PN[2]
TProfile2D * fHCos3nPosChEtaVz[4]
void OpenInfoCalbration(Int_t run, Float_t fHarmonic)
TProfile2D * fAvgPOIposCentRun
TProfile2D * fHist_Reso2n_ZDN_SP_Det[3]
TH1D * fQynsV0A
sigma Qx2 V0A
TProfile2D * fHCos2nDWPosChEtaVz[4]
TH1D * fMultV0
Cut parameters which were used.
TProfile2D * fHSin2nNegChEtaVz[4]
TProfile * fHist_Corr3p_SP_Norm_PP[2][3]
Norm = 10 centrality bins along X.
void GetNUACorrectionHist(Int_t run, TString sfileNUA)
TH3D * fHCorrectNUApos[4]
TProfile * fHist_Corr3p_pTSum_EP_V0A_NN[2][6]
TProfile * fHist_Corr3p_pTDiff_EP_V0A_PN[2][6]
TProfile * fHist_Corr3p_pTSum_EP_V0C_PN[2][6]
TProfile2D * fHSin2nDWPosChEtaVz[4]
TH2F * fHV0AEventPlaneVsCent
TProfile2D * fAvgPOInegCentRun
TProfile2D * fHCos2nDWNegChEtaVz[4]
TProfile2D * fHCos3nNegChEtaVz[4]
TH3F * fHistChNegvsEtaPtRun[10]
10 Centrality Bin
TProfile2D * fHist_NonIso_SP_NN_Mag1[2]
Mag1 = B > 0.
TProfile2D * fHCos2nPosChEtaVz[4]
Int_t fRunFlag
array of runnumbers
TProfile * fHist_Corr3p_QAEta_SP_V0C_NN[2]
AliFlowEventSimple * fEvent
TProfile * fHist_Reso2n_SP_Norm_Det[2][3]
TH3F * fHistChPosvsEtaPtRun[10]
TProfile2D * fHist_Corr2p_EP_Norm_PN[2]
virtual void UserCreateOutputObjects()
TProfile * fHist_Corr3p_pTDiff_EP_V0C_PP[2][6]
TProfile2D * fV0MultChVsRun
opposite sign pairs
void InitializeRunArray(TString sPeriod)
TProfile * fHist_Corr3p_QAEta_SP_V0A_NN[2]
TH3F * fHist3DEtaPhiVz_Pos_Run[4][90]
4 centrality bin
TH1F * fHCentBinTrkRecenter
//temporary Debug, remove for stable code
TProfile2D * fHSin4nNegChEtaVz[4]
TProfile * fHist_Corr3p_pTSum_EP_V0C_NN[2][6]
TProfile2D * fHist_NonIso_SP_PP_Mag1[2]
TProfile * fHist_Corr3p_SP_Norm_PN[2][3]
TProfile2D * fHSin4nPosChEtaVz[4]
TProfile * fHist_Corr3p_EtaDiff_EP_V0C_PP[2][6]
void GetV0QvectAndMult(const AliAODVZERO *aodV0, Float_t fHarmonic, Double_t &Qxan, Double_t &Qyan, Double_t &sumMa, Double_t &Qxcn, Double_t &Qycn, Double_t &sumMc)
TH3D * fHCorrectNUAneg[4]
4 centrality bin
TProfile * fHist_Corr3p_EtaDiff_EP_V0A_PP[2][6]
Float_t EvtCent
counter of event for cout
TProfile * fHist_Corr3p_QAEta_SP_V0C_PN[2]
TProfile2D * fHist_Corr3p_vsRun_EP_NN[2]
Int_t fHarmonicN
Event centrality.
TProfile2D * fHist_NonIso_SP_NN_Mag0[2]
Mag0 = B < 0.
TProfile * fHist_Corr3p_EtaDiff_EP_V0C_PN[2][6]
void GetZDCCorrectionHist(Int_t run)
TH1F * fEtaBinFinderForQA
TProfile2D * fAvgPOIOSCentRun
same sign Neg-Neg pairs
Bool_t InPOISelection(Int_t poiType=1) const
TH1D * fQxnmV0C
sigma Qy2 V0A
TProfile2D * fHEnergyZNAvsCentRun
TProfile2D * fHist_Corr3p_vsRun_EP_PP[2]
TProfile * fHist_Corr3p_SP_Norm_NN[2][3]
TProfile2D * fHSin1nPosChEtaVz[4]
virtual void UserExec(Option_t *option)
TH1F * hUnderOverBinNUApos
Bool_t fRejectPileUpTight
TProfile * fHist_Corr3p_pTDiff_EP_V0C_NN[2][6]
TH1D * fFB_Efficiency_Cent[10]
4 centrality bin 90 Bins for Run. NUA
TProfile2D * fV0AQnxVsCentRun
TProfile2D * fTPCQnxVsCentRun
double GetWDist(const AliVVertex *v0, const AliVVertex *v1)
TProfile2D * fHSin2nDWNegChEtaVz[4]
TProfile2D * fAvgPOINNCentRun
same sign Pos-Pos pairs
TProfile * fHist_Corr3p_pTSum_EP_V0C_PP[2][6]
TProfile2D * fHCos1nNegChEtaVz[4]
TProfile2D * fAvgMultCentRun
Int_t NumberOfTracks() const
TProfile * fHist_Corr3p_pTDiff_EP_V0A_PP[2][6]
TProfile2D * fHist_Corr2p_EP_Norm_PP[2]
Two magnetic fields.