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" 63 fRejectPileUpTight(kTRUE),
64 bFillAvgTPCQn(kFALSE),
65 bFillEtaPhiNUA(kFALSE),
66 bApplyNUACorr(kFALSE),
67 bApplyZDCCorr(kFALSE),
68 bApplyNUAforEP(kFALSE),
70 bSkipNestedTrk(kFALSE),
71 bRemNegTrkRndm(kFALSE),
72 bApplyV0MCorr(kFALSE),
74 sAnalysisSet("DoGainEq"),
85 fPileUpSlopeParm(3.43),
87 fHist_Event_count(NULL),
88 fPileUpMultSelCount(NULL),
90 fTaskConfigParm(NULL),
100 fHV0AEventPlaneVsCent(NULL),
101 fHV0CEventPlaneVsCent(NULL),
102 fHTPCEventPlaneVsCent(NULL),
103 fHEnergyZNCvsCent(NULL),
104 fHEnergyZNAvsCent(NULL),
105 fHEnergyZPCvsCent(NULL),
106 fHEnergyZPAvsCent(NULL),
107 fHEnergyZNCvsCentRun(NULL),
108 fHEnergyZNAvsCentRun(NULL),
109 fHEnergyZPCvsCentRun(NULL),
110 fHEnergyZPAvsCentRun(NULL),
111 fHEnergyZPCvsZPA(NULL),
112 fHEnergyZNCvsZNA(NULL),
113 hUnderOverBinNUApos(NULL),
114 hUnderOverBinNUAneg(NULL),
115 fHCentBinTrkRecenter(NULL),
117 fV0AQ2xVsCentRun(NULL),
118 fV0AQ2yVsCentRun(NULL),
119 fV0CQ2xVsCentRun(NULL),
120 fV0CQ2yVsCentRun(NULL),
121 fV0AQ3xVsCentRun(NULL),
122 fV0AQ3yVsCentRun(NULL),
123 fV0CQ3xVsCentRun(NULL),
124 fV0CQ3yVsCentRun(NULL),
125 fTPCQ2xVsCentRun(NULL),
126 fTPCQ2yVsCentRun(NULL),
131 fAvgMultCentRun(NULL),
132 fAvgWgtMultCentRun(NULL),
133 fAvgPOIposCentRun(NULL),
134 fAvgPOInegCentRun(NULL),
135 fAvgPOIPPCentRun(NULL),
136 fAvgPOINNCentRun(NULL),
137 fAvgPOIOSCentRun(NULL),
138 fV0MultChVsRun(NULL),
139 fEventStatvsRun(NULL),
140 fEtaBinFinderForQA(NULL),
141 fVzBinFinderForNUA(NULL),
142 fHistVtxZvsRun(NULL),
143 fHistVtxXvsRun(NULL),
144 fHistVtxYvsRun(NULL),
145 fRejectRatioVsCR(NULL),
146 fCentDistvsRun(NULL),
148 fCentV0MvsVzRun(NULL),
149 fCent3pvsVzRun(NULL),
150 fTPCvsGlobalTrk(NULL),
151 fTPCuncutvsGlobal(NULL),
155 fTPCFEvsITSfb96(NULL),
156 fCentCL1vsVzRun(NULL),
159 for(
int i=0;i<5;i++){
160 fHCorrectNUApos[i] = NULL;
161 fHCorrectNUAneg[i] = NULL;
163 for(
int i=0;i<90;i++){
165 for(
int j=0;j<5;j++){
166 fHist3DEtaPhiVz_Pos_Run[j][i] = NULL;
167 fHist3DEtaPhiVz_Neg_Run[j][i] = NULL;
170 for(
int i=0;i<10;i++){
171 fFB_Efficiency_Cent[i] = NULL;
172 fFB_Efficiency_Pos[i] = NULL;
173 fFB_Efficiency_Neg[i] = NULL;
175 for(
int i=0;i<2;i++){
176 for(
int j=0;j<3;j++){
177 fHist_Corr3p_SP_Norm_PN[i][j] = NULL;
178 fHist_Corr3p_SP_Norm_PP[i][j] = NULL;
179 fHist_Corr3p_SP_Norm_NN[i][j] = NULL;
180 fHist_Reso2n_SP_Norm_Det[i][j] = NULL;
183 for(
int i=0;i<2;i++){
184 for(
int j=0;j<3;j++){
185 fHist_Corr3p_EP_Norm_PN[i][j] = NULL;
186 fHist_Corr3p_EP_Norm_PP[i][j] = NULL;
187 fHist_Corr3p_EP_Norm_NN[i][j] = NULL;
188 fHist_Reso2n_EP_Norm_Det[i][j] = NULL;
191 for(
int i=0;i<2;i++){
192 fHist_Corr3p_vsRun_EP_PN[i] = NULL;
193 fHist_Corr3p_vsRun_EP_PP[i] = NULL;
194 fHist_Corr3p_vsRun_EP_NN[i] = NULL;
196 for(
int i=0;i<3;i++){
197 fHist_Corr3p_ZDN_SP_PN[i] = NULL;
198 fHist_Corr3p_ZDN_SP_PP[i] = NULL;
199 fHist_Corr3p_ZDN_SP_NN[i] = NULL;
200 fHist_Reso2n_ZDN_SP_Det[i] = NULL;
202 for(
int i=0;i<2;i++){
203 for(
int j=0;j<6;j++){
204 fHist_Corr3p_pTSum_EP_V0A_PN[i][j] = NULL;
205 fHist_Corr3p_pTSum_EP_V0A_PP[i][j] = NULL;
206 fHist_Corr3p_pTSum_EP_V0A_NN[i][j] = NULL;
207 fHist_Corr3p_pTSum_EP_V0C_PN[i][j] = NULL;
208 fHist_Corr3p_pTSum_EP_V0C_PP[i][j] = NULL;
209 fHist_Corr3p_pTSum_EP_V0C_NN[i][j] = NULL;
211 fHist_Corr3p_pTDiff_EP_V0A_PN[i][j] = NULL;
212 fHist_Corr3p_pTDiff_EP_V0A_PP[i][j] = NULL;
213 fHist_Corr3p_pTDiff_EP_V0A_NN[i][j] = NULL;
214 fHist_Corr3p_pTDiff_EP_V0C_PN[i][j] = NULL;
215 fHist_Corr3p_pTDiff_EP_V0C_PP[i][j] = NULL;
216 fHist_Corr3p_pTDiff_EP_V0C_NN[i][j] = NULL;
218 fHist_Corr3p_EtaDiff_EP_V0A_PN[i][j] = NULL;
219 fHist_Corr3p_EtaDiff_EP_V0A_PP[i][j] = NULL;
220 fHist_Corr3p_EtaDiff_EP_V0A_NN[i][j] = NULL;
221 fHist_Corr3p_EtaDiff_EP_V0C_PN[i][j] = NULL;
222 fHist_Corr3p_EtaDiff_EP_V0C_PP[i][j] = NULL;
223 fHist_Corr3p_EtaDiff_EP_V0C_NN[i][j] = NULL;
226 for(
int i=0;i<10;i++){
227 fHistChPosvsEtaPtRun[i] = NULL;
228 fHistChNegvsEtaPtRun[i] = NULL;
230 for(
int i=0;i<2;i++){
231 fHist_Corr3p_QAEta_SP_V0A_PN[i] = NULL;
232 fHist_Corr3p_QAEta_SP_V0A_PP[i] = NULL;
233 fHist_Corr3p_QAEta_SP_V0A_NN[i] = NULL;
235 for(
int i=0;i<2;i++){
236 fHist_Corr3p_QAEta_SP_V0C_PN[i] = NULL;
237 fHist_Corr3p_QAEta_SP_V0C_PP[i] = NULL;
238 fHist_Corr3p_QAEta_SP_V0C_NN[i] = NULL;
240 for(
int i=0;i<4;i++){
241 fHCos1nPosChEtaVz[i] = NULL;
242 fHCos2nPosChEtaVz[i] = NULL;
243 fHCos3nPosChEtaVz[i] = NULL;
244 fHCos4nPosChEtaVz[i] = NULL;
245 fHSin1nPosChEtaVz[i] = NULL;
246 fHSin2nPosChEtaVz[i] = NULL;
247 fHSin3nPosChEtaVz[i] = NULL;
248 fHSin4nPosChEtaVz[i] = NULL;
250 fHCos1nNegChEtaVz[i] = NULL;
251 fHCos2nNegChEtaVz[i] = NULL;
252 fHCos3nNegChEtaVz[i] = NULL;
253 fHCos4nNegChEtaVz[i] = NULL;
254 fHSin1nNegChEtaVz[i] = NULL;
255 fHSin2nNegChEtaVz[i] = NULL;
256 fHSin3nNegChEtaVz[i] = NULL;
257 fHSin4nNegChEtaVz[i] = NULL;
259 fHCos2nDWPosChEtaVz[i] = NULL;
260 fHSin2nDWPosChEtaVz[i] = NULL;
261 fHCos2nDWNegChEtaVz[i] = NULL;
262 fHSin2nDWNegChEtaVz[i] = NULL;
264 for(
int i=0;i<2;i++){
265 fHist_NonIso_SP_PP_Mag0[i] = NULL;
266 fHist_NonIso_SP_NN_Mag0[i] = NULL;
267 fHist_NonIso_SP_PP_Mag1[i] = NULL;
268 fHist_NonIso_SP_NN_Mag1[i] = NULL;
270 for(
int i=0;i<2;i++){
271 fHist_Corr2p_EP_Norm_PN[i] = NULL;
272 fHist_Corr2p_EP_Norm_PP[i] = NULL;
273 fHist_Corr2p_EP_Norm_NN[i] = NULL;
276 DefineInput(1, AliFlowEventSimple::Class());
278 DefineOutput(1,TList::Class());
279 DefineOutput(2,TList::Class());
280 DefineOutput(3,TList::Class());
286 fMultSelection(NULL),
295 fRejectPileUp(kTRUE),
296 fRejectPileUpTight(kTRUE),
297 bFillAvgTPCQn(kFALSE),
298 bFillEtaPhiNUA(kFALSE),
299 bApplyNUACorr(kFALSE),
300 bApplyZDCCorr(kFALSE),
301 bApplyNUAforEP(kFALSE),
302 bFillZDCinfo(kFALSE),
303 bSkipNestedTrk(kFALSE),
304 bRemNegTrkRndm(kFALSE),
305 bApplyV0MCorr(kFALSE),
307 sAnalysisSet(
"DoGainEq"),
308 sCentEstimator(
"V0"),
318 fPileUpSlopeParm(3.43),
319 fPileUpConstParm(43),
320 fHist_Event_count(NULL),
321 fPileUpMultSelCount(NULL),
323 fTaskConfigParm(NULL),
333 fHV0AEventPlaneVsCent(NULL),
334 fHV0CEventPlaneVsCent(NULL),
335 fHTPCEventPlaneVsCent(NULL),
336 fHEnergyZNCvsCent(NULL),
337 fHEnergyZNAvsCent(NULL),
338 fHEnergyZPCvsCent(NULL),
339 fHEnergyZPAvsCent(NULL),
340 fHEnergyZNCvsCentRun(NULL),
341 fHEnergyZNAvsCentRun(NULL),
342 fHEnergyZPCvsCentRun(NULL),
343 fHEnergyZPAvsCentRun(NULL),
344 fHEnergyZPCvsZPA(NULL),
345 fHEnergyZNCvsZNA(NULL),
346 hUnderOverBinNUApos(NULL),
347 hUnderOverBinNUAneg(NULL),
348 fHCentBinTrkRecenter(NULL),
350 fV0AQ2xVsCentRun(NULL),
351 fV0AQ2yVsCentRun(NULL),
352 fV0CQ2xVsCentRun(NULL),
353 fV0CQ2yVsCentRun(NULL),
354 fV0AQ3xVsCentRun(NULL),
355 fV0AQ3yVsCentRun(NULL),
356 fV0CQ3xVsCentRun(NULL),
357 fV0CQ3yVsCentRun(NULL),
358 fTPCQ2xVsCentRun(NULL),
359 fTPCQ2yVsCentRun(NULL),
364 fAvgMultCentRun(NULL),
365 fAvgWgtMultCentRun(NULL),
366 fAvgPOIposCentRun(NULL),
367 fAvgPOInegCentRun(NULL),
368 fAvgPOIPPCentRun(NULL),
369 fAvgPOINNCentRun(NULL),
370 fAvgPOIOSCentRun(NULL),
371 fV0MultChVsRun(NULL),
372 fEventStatvsRun(NULL),
373 fEtaBinFinderForQA(NULL),
374 fVzBinFinderForNUA(NULL),
375 fHistVtxZvsRun(NULL),
376 fHistVtxXvsRun(NULL),
377 fHistVtxYvsRun(NULL),
378 fRejectRatioVsCR(NULL),
379 fCentDistvsRun(NULL),
381 fCentV0MvsVzRun(NULL),
382 fCent3pvsVzRun(NULL),
383 fTPCvsGlobalTrk(NULL),
384 fTPCuncutvsGlobal(NULL),
388 fTPCFEvsITSfb96(NULL),
389 fCentCL1vsVzRun(NULL),
392 for(
int i=0;i<5;i++){
396 for(
int i=0;i<90;i++){
398 for(
int j=0;j<5;j++){
403 for(
int i=0;i<10;i++){
408 for(
int i=0;i<2;i++){
409 for(
int j=0;j<3;j++){
416 for(
int i=0;i<2;i++){
417 for(
int j=0;j<3;j++){
424 for(
int i=0;i<2;i++){
429 for(
int i=0;i<3;i++){
435 for(
int i=0;i<2;i++){
436 for(
int j=0;j<6;j++){
459 for(
int i=0;i<10;i++){
463 for(
int i=0;i<2;i++){
468 for(
int i=0;i<2;i++){
473 for(
int i=0;i<4;i++){
497 for(
int i=0;i<2;i++){
503 for(
int i=0;i<2;i++){
525 for(
int i=0;i<10;i++) {
530 Int_t centFB[11] = {0,5,10,20,30,40,50,60,70,80,90};
531 for(
int i=0;i<10;i++) {
537 printf(
"\n\n!!***** Warning *****!!\n Enter correct Dimention !!\n\n"); exit(1);
541 printf(
"\n\n!!***** Warning *****!!\n FilterBit efficiency not found, use = 1.0 !!\n\n");
542 for(
int i=0;i<10;i++){
545 fFB_Efficiency_Pos[i] =
new TH3F(Form(
"eff_unbiased_Pos_%d",i),
"",1,-0.9,0.9,1,0,50,1,0,7);
547 fFB_Efficiency_Neg[i] =
new TH3F(Form(
"eff_unbiased_Neg_%d",i),
"",1,-0.9,0.9,1,0,50,1,0,7);
601 for(
int i=0;i<5;i++){
605 for(
int i=0;i<10;i++){
629 printf(
"\n ... ::UserExec = no AOD or Flow Event, \n.... EXIT ..... \n");
639 Bool_t kPileupEvent = kFALSE;
643 if(kPileupEvent)
return;
659 centrV0M = ((AliVAODHeader*)aod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"V0M");
660 centrCL1 = ((AliVAODHeader*)aod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"CL1");
661 centrCL0 = ((AliVAODHeader*)aod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"CL0");
662 centrTRK = ((AliVAODHeader*)aod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"TRK");
665 fMultSelection = (AliMultSelection*) InputEvent()->FindListObject(
"MultSelection");
667 printf(
"\n\n **WARNING** ::UserExec() AliMultSelection object not found.\n\n");
686 Int_t iCentSPD = centrCL1;
688 if(iCentSPD > 90)
return;
711 cIndex = abs(
EvtCent/10.0) + 1;
729 Int_t runindex = -111;
730 Int_t runNumber = aod->GetRunNumber();
756 Double_t fMagField = aod->GetMagneticField();
765 const AliAODVZERO *fAODV0 = aod->GetVZEROData();
768 Double_t QyanCor = 0., QycnCor = 0.;
769 Double_t QxanCor = 0., QxcnCor = 0.;
780 QyanCor = (Qyan2 -
fQynmV0A->GetBinContent(iCentSPD+1))/
fQynsV0A->GetBinContent(iCentSPD+1);
781 QycnCor = (Qycn2 -
fQynmV0C->GetBinContent(iCentSPD+1))/
fQynsV0C->GetBinContent(iCentSPD+1);
787 QxanCor = (Qxan2 -
fQxnmV0A->GetBinContent(iCentSPD+1))/
fQxnsV0A->GetBinContent(iCentSPD+1);
788 QxcnCor = (Qxcn2 -
fQxnmV0C->GetBinContent(iCentSPD+1))/
fQxnsV0C->GetBinContent(iCentSPD+1);
795 Qxan2 = 0., Qyan2 = 0.;
796 Qxcn2 = 0., Qycn2 = 0.;
798 for(
int iV0 = 0; iV0 < 64; iV0++) {
800 fMultv0 = fAODV0->GetMultiplicity(iV0);
808 phiV0 = TMath::PiOver4()*(0.5 + iV0 % 8);
811 Qxcn2 += TMath::Cos(2*phiV0) * fMultv0;
812 Qycn2 += TMath::Sin(2*phiV0) * fMultv0;
813 Qxcn3 += TMath::Cos(3*phiV0) * fMultv0;
814 Qycn3 += TMath::Sin(3*phiV0) * fMultv0;
818 Qxan2 += TMath::Cos(2*phiV0) * fMultv0;
819 Qyan2 += TMath::Sin(2*phiV0) * fMultv0;
820 Qxan3 += TMath::Cos(3*phiV0) * fMultv0;
821 Qyan3 += TMath::Sin(3*phiV0) * fMultv0;
856 if(sumMa <= 0 || sumMc <= 0)
return;
861 AliAODVertex *pVertex = aod->GetPrimaryVertex();
870 if(VtxZ < 1.e-4 && VtxX < 1.e-4 && VtxY < 1.e-4)
880 Double_t energyZNC=0.,energyZNA=0.,energyZPC=0.,energyZPA=0.;
882 energyZNC = ((AliVAODHeader*)aod->GetHeader())->GetZDCN1Energy();
883 energyZNA = ((AliVAODHeader*)aod->GetHeader())->GetZDCN2Energy();
884 energyZPC = ((AliVAODHeader*)aod->GetHeader())->GetZDCP1Energy();
885 energyZPA = ((AliVAODHeader*)aod->GetHeader())->GetZDCP2Energy();
914 Int_t BadRuns[10] = {246871,246870,246867,246865,246864,246859,246858,246676,246675,246540};
918 for(
int ib=0;ib<iBadrun;ib++){
919 if(runNumber==BadRuns[ib]){
945 Double_t QxAutoPosQAEta[16] = {0.,};
946 Double_t QyAutoPosQAEta[16] = {0.,};
947 Double_t QxAutoNegQAEta[16] = {0.,};
948 Double_t QyAutoNegQAEta[16] = {0.,};
955 Double_t AvgDWCos2n=0.,AvgDWSin2n=0.;
989 Double_t Psi2V0C = 1./psiN*TMath::ATan2(QycnCor,QxcnCor);
990 if(Psi2V0C<0.) Psi2V0C += 2*pi/psiN;
992 Double_t Psi2V0A = 1./psiN*TMath::ATan2(QyanCor,QxanCor);
993 if(Psi2V0A<0.) Psi2V0A += 2*pi/psiN;
1026 for(
int i=0; i<iTracks; i++) {
1028 if(!pTrack1)
continue;
1029 dPhi1 = pTrack1->
Phi();
1030 dPt1 = pTrack1-> Pt();
1031 dEta1 = pTrack1->
Eta();
1032 dChrg1 = pTrack1->
Charge();
1083 if(
sFileNUA==
"OldJ") w1NUA = 1./w1NUA;
1095 if(w1NUA > 1e3 ) w1NUA = 1.0;
1124 if (ptw1>1e3) ptw1 = 1.0;
1236 if(isBadRun)
continue;
1243 QxPos[0] += (ptw1*w1NUA*TMath::Cos(n*dPhi1) - AvgCos1n);
1244 QyPos[0] += (ptw1*w1NUA*TMath::Sin(n*dPhi1) - AvgSin1n);
1245 QxAutoPos[0] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Cos(2.*n*dPhi1) - AvgDWCos2n);
1246 QyAutoPos[0] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Sin(2.*n*dPhi1) - AvgDWSin2n);
1247 MPOIpos += w1NUA*ptw1;
1248 McorrPos += w1NUA*ptw1*w1NUA*ptw1;
1251 QxPosQAEta[iEtaQA] += (ptw1*w1NUA*TMath::Cos(n*dPhi1) - AvgCos1n);
1252 QyPosQAEta[iEtaQA] += (ptw1*w1NUA*TMath::Sin(n*dPhi1) - AvgSin1n);
1253 QxAutoPosQAEta[iEtaQA] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Cos(2.*n*dPhi1) - AvgDWCos2n);
1254 QyAutoPosQAEta[iEtaQA] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Sin(2.*n*dPhi1) - AvgDWSin2n);
1255 MPOIposQAEta[iEtaQA] += ptw1*w1NUA;
1259 QxNeg[0] += (ptw1*w1NUA*TMath::Cos(n*dPhi1) - AvgCos1n);
1260 QyNeg[0] += (ptw1*w1NUA*TMath::Sin(n*dPhi1) - AvgSin1n);
1261 QxAutoNeg[0] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Cos(2.*n*dPhi1) - AvgDWCos2n);
1262 QyAutoNeg[0] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Sin(2.*n*dPhi1) - AvgDWSin2n);
1263 MPOIneg += w1NUA*ptw1;
1264 McorrNeg += w1NUA*ptw1*w1NUA*ptw1;
1267 QxNegQAEta[iEtaQA] += (ptw1*w1NUA*TMath::Cos(n*dPhi1) - AvgCos1n);
1268 QyNegQAEta[iEtaQA] += (ptw1*w1NUA*TMath::Sin(n*dPhi1) - AvgSin1n);
1269 QxAutoNegQAEta[iEtaQA] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Cos(2.*n*dPhi1) - AvgDWCos2n);
1270 QyAutoNegQAEta[iEtaQA] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Sin(2.*n*dPhi1) - AvgDWSin2n);
1271 MPOInegQAEta[iEtaQA] += ptw1*w1NUA;
1277 QxTPC[1] += ptw1*w1NUA*TMath::Cos(psiN*dPhi1);
1278 QyTPC[1] += ptw1*w1NUA*TMath::Sin(psiN*dPhi1);
1281 nRefMultWgt += ptw1*w1NUA;
1291 for(
int j=0; j<iTracks; j++) {
1296 if(!pTrack2)
continue;
1297 dPhi2 = pTrack2->
Phi();
1298 dPt2 = pTrack2-> Pt();
1299 dEta2 = pTrack2->
Eta();
1300 dChrg2 = pTrack2->
Charge();
1326 if (ptw2>1e3) ptw1 = 1.0;
1350 if(
sFileNUA==
"OldJ") w2NUA = 1./w2NUA;
1362 if(w2NUA > 1e3 ) w2NUA = 1.0;
1365 WgtEP = ptw1*ptw2*w1NUA*w2NUA;
1376 fCent3pvsVzRun->Fill(VtxZ,runindex,TMath::Cos(n*dPhi1 + m*dPhi2 - p*Psi2V0A));
1396 else if(dChrg1>0 && dChrg2>0){
1417 else if(dChrg1<0 && dChrg2<0){
1455 Double_t Psi2TPC = 1./psiN*(TMath::ATan2(QTPCIm,QTPCRe));
1456 if(Psi2TPC < 0.) Psi2TPC += 2*pi/psiN;
1464 if(QTPCRe==0 && QTPCIm==0)
return;
1469 if(isBadRun)
return;
1475 Float_t fNegTracks = iTracks*0.5;
1505 Double_t uPRe=0.,uNRe=0.,uPIm=0.,uNIm=0.,uN2Re=0.,uN2Im=0.,uP2Re=0.,uP2Im=0.;
1510 uPM = MPOIpos; uNM = MPOIneg;
1512 uPRe = QxPos[0]; uNRe = QxNeg[0];
1513 uPIm = QyPos[0]; uNIm = QyNeg[0];
1515 uP2Re = QxAutoPos[0]; uP2Im = QyAutoPos[0];
1516 uN2Re = QxAutoNeg[0]; uN2Im = QyAutoNeg[0];
1518 Double_t TwoQpQnV = 0.,TwoQpQpV=0.,TwoQnQnV=0.;
1520 if(uPM > 1 && uNM > 1) {
1522 TwoQpQnV = ((uPRe*uNRe-uPIm*uNIm)*QxanCor + (uPRe*uNIm+uPIm*uNRe)*QyanCor) / (uPM*uNM) ;
1523 TwoQpQpV = ((uPRe*uPRe-uPIm*uPIm-uP2Re)*QxanCor + (2.*uPRe*uPIm-uP2Im)*QyanCor) / (uPM*(uPM-1)) ;
1524 TwoQnQnV = ((uNRe*uNRe-uNIm*uNIm-uN2Re)*QxanCor + (2.*uNRe*uNIm-uN2Im)*QyanCor) / (uNM*(uNM-1)) ;
1532 Double_t QnNonIsoRe = 0.,QnNonIsoIm=0.;
1539 QnNonIsoRe = (uPRe*QxanCor + uPIm*QyanCor)/uPM;
1540 QnNonIsoIm = (uPIm*QxanCor - uPRe*QyanCor)/uPM;
1544 QnNonIsoRe = (uPRe*uPRe-uPIm*uPIm-uP2Re)/(uPM*(uPM-1));
1545 QnNonIsoIm = (2.*uPRe*uPIm-uP2Im)/(uPM*(uPM-1));
1549 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1550 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1561 QnNonIsoRe = (uNRe*QxanCor + uNIm*QyanCor)/uNM;
1562 QnNonIsoIm = (uNIm*QxanCor - uNRe*QyanCor)/uNM;
1566 QnNonIsoRe = (uNRe*uNRe-uNIm*uNIm-uN2Re)/(uNM*(uNM-1));
1567 QnNonIsoIm = (2.*uNRe*uNIm-uN2Im)/(uNM*(uNM-1));
1571 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1572 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1579 else if(QAindex==1){
1584 QnNonIsoRe = (uPRe*QxanCor + uPIm*QyanCor)/uPM;
1585 QnNonIsoIm = (uPIm*QxanCor - uPRe*QyanCor)/uPM;
1589 QnNonIsoRe = (uPRe*uPRe-uPIm*uPIm-uP2Re)/(uPM*(uPM-1));
1590 QnNonIsoIm = (2.*uPRe*uPIm-uP2Im)/(uPM*(uPM-1));
1594 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1595 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1606 QnNonIsoRe = (uNRe*QxanCor + uNIm*QyanCor)/uNM;
1607 QnNonIsoIm = (uNIm*QxanCor - uNRe*QyanCor)/uNM;
1611 QnNonIsoRe = (uNRe*uNRe-uNIm*uNIm-uN2Re)/(uNM*(uNM-1));
1612 QnNonIsoIm = (2.*uNRe*uNIm-uN2Im)/(uNM*(uNM-1));
1616 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1617 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1674 TwoQpQnV = 0.; TwoQpQpV = 0.; TwoQnQnV = 0.;
1675 TwoQpQnV = ((uPRe*uNRe-uPIm*uNIm)*QxcnCor + (uPRe*uNIm+uPIm*uNRe)*QycnCor) / (uPM*uNM) ;
1676 TwoQpQpV = ((uPRe*uPRe-uPIm*uPIm-uP2Re)*QxcnCor + (2.*uPRe*uPIm-uP2Im)*QycnCor) / (uPM*(uPM-1)) ;
1677 TwoQnQnV = ((uNRe*uNRe-uNIm*uNIm-uN2Re)*QxcnCor + (2.*uNRe*uNIm-uN2Im)*QycnCor) / (uNM*(uNM-1)) ;
1689 QnNonIsoRe = (uPRe*QxcnCor + uPIm*QycnCor)/uPM;
1690 QnNonIsoIm = (uPIm*QxcnCor - uPRe*QycnCor)/uPM;
1694 QnNonIsoRe = (uPRe*uPRe-uPIm*uPIm-uP2Re)/(uPM*(uPM-1));
1695 QnNonIsoIm = (2.*uPRe*uPIm-uP2Im)/(uPM*(uPM-1));
1699 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1700 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1711 QnNonIsoRe = (uNRe*QxcnCor + uNIm*QycnCor)/uNM;
1712 QnNonIsoIm = (uNIm*QxcnCor - uNRe*QycnCor)/uNM;
1716 QnNonIsoRe = (uNRe*uNRe-uNIm*uNIm-uN2Re)/(uNM*(uNM-1));
1717 QnNonIsoIm = (2.*uNRe*uNIm-uN2Im)/(uNM*(uNM-1));
1721 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1722 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1729 else if(QAindex==1) {
1734 QnNonIsoRe = (uPRe*QxcnCor + uPIm*QycnCor)/uPM;
1735 QnNonIsoIm = (uPIm*QxcnCor - uPRe*QycnCor)/uPM;
1739 QnNonIsoRe = (uPRe*uPRe-uPIm*uPIm-uP2Re)/(uPM*(uPM-1));
1740 QnNonIsoIm = (2.*uPRe*uPIm-uP2Im)/(uPM*(uPM-1));
1744 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1745 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1756 QnNonIsoRe = (uNRe*QxcnCor + uNIm*QycnCor)/uNM;
1757 QnNonIsoIm = (uNIm*QxcnCor - uNRe*QycnCor)/uNM;
1761 QnNonIsoRe = (uNRe*uNRe-uNIm*uNIm-uN2Re)/(uNM*(uNM-1));
1762 QnNonIsoIm = (2.*uNRe*uNIm-uN2Im)/(uNM*(uNM-1));
1766 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1767 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1835 for(
int ie=0; ie<16; ie++){
1837 uPM = MPOIposQAEta[ie];
1838 uNM = MPOInegQAEta[ie];
1842 uPRe = QxPosQAEta[ie];
1843 uNRe = QxNegQAEta[ie];
1844 uPIm = QyPosQAEta[ie];
1845 uNIm = QyNegQAEta[ie];
1847 uP2Re = QxAutoPosQAEta[ie];
1848 uP2Im = QyAutoPosQAEta[ie];
1849 uN2Re = QxAutoNegQAEta[ie];
1850 uN2Im = QyAutoNegQAEta[ie];
1856 TwoQpQnV = 0.; TwoQpQpV = 0.; TwoQnQnV = 0.;
1857 TwoQpQnV = ((uPRe*uNRe-uPIm*uNIm)*QxanCor + (uPRe*uNIm+uPIm*uNRe)*QyanCor) / (uPM*uNM) ;
1858 TwoQpQpV = ((uPRe*uPRe-uPIm*uPIm-uP2Re)*QxanCor + (2.*uPRe*uPIm-uP2Im)*QyanCor) / (uPM*(uPM-1.)) ;
1859 TwoQnQnV = ((uNRe*uNRe-uNIm*uNIm-uN2Re)*QxanCor + (2.*uNRe*uNIm-uN2Im)*QyanCor) / (uNM*(uNM-1.)) ;
1866 TwoQpQnV = 0.; TwoQpQpV = 0.; TwoQnQnV = 0.;
1867 TwoQpQnV = ((uPRe*uNRe-uPIm*uNIm)*QxcnCor + (uPRe*uNIm+uPIm*uNRe)*QycnCor) / (uPM*uNM) ;
1868 TwoQpQpV = ((uPRe*uPRe-uPIm*uPIm-uP2Re)*QxcnCor + (2.*uPRe*uPIm-uP2Im)*QycnCor) / (uPM*(uPM-1.)) ;
1869 TwoQnQnV = ((uNRe*uNRe-uNIm*uNIm-uN2Re)*QxcnCor + (2.*uNRe*uNIm-uN2Im)*QycnCor) / (uNM*(uNM-1.)) ;
1881 if(MPOIpos>1 && MPOIneg>1){
1940 AliDebug(2,
"\n ... AliAnalysisTaskCMEV0::Terminate() is being called ... \n");
1957 for(
Int_t iV0 = 0; iV0 < 64; iV0++) {
1962 Double_t phiV0 = TMath::PiOver4()*(0.5 + iV0 % 8);
1963 Float_t multv0 = aodV0->GetMultiplicity(iV0);
1969 multCorC = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(1);
1970 else if(iV0 >= 8 && iV0 < 16)
1971 multCorC = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(9);
1972 else if(iV0 >= 16 && iV0 < 24)
1973 multCorC = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(17);
1974 else if(iV0 >= 24 && iV0 < 32)
1975 multCorC = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(25);
1978 cout<<
"Problem with multiplicity in V0C"<<endl;
1981 Qxcn += TMath::Cos(fHarmonic*phiV0) * multCorC;
1982 Qycn += TMath::Sin(fHarmonic*phiV0) * multCorC;
1984 sumMc = sumMc + multCorC;
1989 if(iV0 >= 32 && iV0 < 40)
1990 multCorA = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(33);
1991 else if(iV0 >= 40 && iV0 < 48)
1992 multCorA = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(41);
1993 else if(iV0 >= 48 && iV0 < 56)
1994 multCorA = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(49);
1995 else if(iV0 >= 56 && iV0 < 64)
1996 multCorA = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(57);
1999 cout<<
"Problem with multiplicity in V0A"<<endl;
2002 Qxan += TMath::Cos(fHarmonic*phiV0) * multCorA;
2003 Qyan += TMath::Sin(fHarmonic*phiV0) * multCorA;
2005 sumMa = sumMa + multCorA;
2017 for(
int i=1;i<=100;i++){
2018 for(
int j=1;j<=4;j++){
2043 for(
int i=0;i<5;i++){
2050 for(
int i=0;i<4;i++){
2056 else if(sfileNUA==
"NewPt"|| sfileNUA==
"NewpT"){
2058 for(
int i=0;i<4;i++){
2064 else if(sfileNUA==
"OldJ") {
2066 TGrid::Connect(
"alien://");
2069 fileNUApos = TFile::Open(
"alien:///alice/cern.ch/user/m/mhaque/calib_files/15oHI_FB768_PosCh_CenPhiEtaWeights_VtxRbR.root");
2073 fileNUAneg = TFile::Open(
"alien:///alice/cern.ch/user/m/mhaque/calib_files/15oHI_FB768_NegCh_CenPhiEtaWeights_VtxRbR.root");
2077 for(
int i=0;i<4;i++){
2082 for(
int i=0;i<4;i++){
2090 printf(
"\n\n ******** could not open NUA Histograms for run %d, Use Wgt = 1.0 *********\n\n",run);
2091 if(sfileNUA==
"New2018"){
2092 for(
int i=0;i<5;i++){
2093 fHCorrectNUApos[i] =
new TH3D(Form(
"fHCorrectNUApos_cent%d",i),
"",1,-10,10,1,0,6.284,1,-0.9,0.9);
2094 fHCorrectNUAneg[i] =
new TH3D(Form(
"fHCorrectNUAneg_cent%d",i),
"",1,-10,10,1,0,6.284,1,-0.9,0.9);
2100 else if(sfileNUA==
"OldJ"|| sfileNUA==
"NewR"){
2101 for(
int i=0;i<4;i++){
2102 fHCorrectNUApos[i] =
new TH3D(Form(
"fHCorrectNUApos_cent%d",i),
"",1,-10,10,1,0,6.284,1,-0.9,0.9);
2103 fHCorrectNUAneg[i] =
new TH3D(Form(
"fHCorrectNUAneg_cent%d",i),
"",1,-10,10,1,0,6.284,1,-0.9,0.9);
2109 else if(sfileNUA==
"NewPt"|| sfileNUA==
"NewpT"){
2110 for(
int i=0;i<4;i++){
2111 fHCorrectNUApos[i] =
new TH3D(Form(
"fHCorrectNUApos_cent%d",i),
"",1,0,10,1,0,6.284,1,-0.9,0.9);
2112 fHCorrectNUAneg[i] =
new TH3D(Form(
"fHCorrectNUAneg_cent%d",i),
"",1,0,10,1,0,6.284,1,-0.9,0.9);
2126 TGrid::Connect(
"alien://");
2131 foadb = TFile::Open(
"alien:///alice/cern.ch/user/a/adobrin/calibV0HIR.root");
2136 printf(
"OADB V0 calibration file cannot be opened\n");
2140 AliOADBContainer* cont = (AliOADBContainer*) foadb->Get(
"hMultV0BefCorPfpx");
2142 printf(
"OADB object hMultV0BefCorr is not available in the file\n");
2145 if(!(cont->GetObject(run))){
2146 printf(
"OADB object hMultV0BefCorPfpx is not available for run %i\n", run);
2151 AliOADBContainer* contQxnam = 0;
2152 if (fHarmonic == 2.)
2153 contQxnam = (AliOADBContainer*) foadb->Get(
"fqxa2m");
2155 contQxnam = (AliOADBContainer*) foadb->Get(
"fqxa3m");
2158 printf(
"OADB object fqxanm is not available in the file\n");
2161 if(!(contQxnam->GetObject(run))){
2162 printf(
"OADB object fqxanm is not available for run %i\n", run);
2167 AliOADBContainer* contQynam = 0;
2168 if (fHarmonic == 2.)
2169 contQynam = (AliOADBContainer*) foadb->Get(
"fqya2m");
2170 else if (fHarmonic == 3.)
2171 contQynam = (AliOADBContainer*) foadb->Get(
"fqya3m");
2172 else if (fHarmonic == 4.)
2173 contQynam = (AliOADBContainer*) foadb->Get(
"fqya4m");
2176 printf(
"OADB object fqyanm is not available in the file\n");
2179 if(!(contQynam->GetObject(run))){
2180 printf(
"OADB object fqyanm is not available for run %i\n", run);
2185 AliOADBContainer* contQxnas = 0;
2186 if (fHarmonic == 2.)
2187 contQxnas = (AliOADBContainer*) foadb->Get(
"fqxa2s");
2189 contQxnas = (AliOADBContainer*) foadb->Get(
"fqxa3s");
2192 printf(
"OADB object fqxans is not available in the file\n");
2195 if(!(contQxnas->GetObject(run))){
2196 printf(
"OADB object fqxans is not available for run %i\n", run);
2201 AliOADBContainer* contQynas = 0;
2202 if (fHarmonic == 2.)
2203 contQynas = (AliOADBContainer*) foadb->Get(
"fqya2s");
2204 else if (fHarmonic == 3.)
2205 contQynas = (AliOADBContainer*) foadb->Get(
"fqya3s");
2206 else if (fHarmonic == 4.)
2207 contQynas = (AliOADBContainer*) foadb->Get(
"fqya4s");
2210 printf(
"OADB object fqyans is not available in the file\n");
2213 if(!(contQynas->GetObject(run))){
2214 printf(
"OADB object fqyans is not available for run %i\n", run);
2221 AliOADBContainer* contQxncm = 0;
2222 if (fHarmonic == 2.)
2223 contQxncm = (AliOADBContainer*) foadb->Get(
"fqxc2m");
2225 contQxncm = (AliOADBContainer*) foadb->Get(
"fqxc3m");
2228 printf(
"OADB object fqxcnm is not available in the file\n");
2231 if(!(contQxncm->GetObject(run))){
2232 printf(
"OADB object fqxcnm is not available for run %i\n", run);
2239 AliOADBContainer* contQyncm = 0;
2240 if (fHarmonic == 2.)
2241 contQyncm = (AliOADBContainer*) foadb->Get(
"fqyc2m");
2242 else if (fHarmonic == 3.)
2243 contQyncm = (AliOADBContainer*) foadb->Get(
"fqyc3m");
2244 else if (fHarmonic == 4.)
2245 contQyncm = (AliOADBContainer*) foadb->Get(
"fqyc4m");
2248 printf(
"OADB object fqyc2m is not available in the file\n");
2251 if(!(contQyncm->GetObject(run))){
2252 printf(
"OADB object fqyc2m is not available for run %i\n", run);
2258 AliOADBContainer* contQxncs = 0;
2259 if (fHarmonic == 2.)
2260 contQxncs = (AliOADBContainer*) foadb->Get(
"fqxc2s");
2262 contQxncs = (AliOADBContainer*) foadb->Get(
"fqxc3s");
2265 printf(
"OADB object fqxc2s is not available in the file\n");
2268 if(!(contQxncs->GetObject(run))){
2269 printf(
"OADB object fqxc2s is not available for run %i\n", run);
2275 AliOADBContainer* contQyncs = 0;
2276 if (fHarmonic == 2.)
2277 contQyncs = (AliOADBContainer*) foadb->Get(
"fqyc2s");
2278 else if (fHarmonic == 3.)
2279 contQyncs = (AliOADBContainer*) foadb->Get(
"fqyc3s");
2280 else if (fHarmonic == 4.)
2281 contQyncs = (AliOADBContainer*) foadb->Get(
"fqyc4s");
2284 printf(
"OADB object fqycnm is not available in the file\n");
2287 if(!(contQyncs->GetObject(run))){
2288 printf(
"OADB object fqycns is not available for run %i\n", run);
2301 AliDebug(2,
"\n\n ::GetWDist => One of vertices is not valid\n\n");
2304 static TMatrixDSym vVb(3);
2306 double dx = v0->GetX()-v1->GetX();
2307 double dy = v0->GetY()-v1->GetY();
2308 double dz = v0->GetZ()-v1->GetZ();
2309 double cov0[6],cov1[6];
2310 v0->GetCovarianceMatrix(cov0);
2311 v1->GetCovarianceMatrix(cov1);
2312 vVb(0,0) = cov0[0]+cov1[0];
2313 vVb(1,1) = cov0[2]+cov1[2];
2314 vVb(2,2) = cov0[5]+cov1[5];
2315 vVb(1,0) = vVb(0,1) = cov0[1]+cov1[1];
2316 vVb(0,2) = vVb(1,2) = vVb(2,0) = vVb(2,1) = 0.;
2318 if (!vVb.IsValid()) {
2319 AliDebug(2,
"Singular Matrix\n");
2322 dist = vVb(0,0)*dx*dx + vVb(1,1)*dy*dy + vVb(2,2)*dz*dz
2323 + 2*vVb(0,1)*dx*dy + 2*vVb(0,2)*dx*dz + 2*vVb(1,2)*dy*dz;
2324 return dist>0 ? TMath::Sqrt(dist) : -1;
2329 const int kMinPlpContrib = 5;
2330 const double kMaxPlpChi2 = 5.0;
2331 const double kMinWDist = 15;
2333 const AliVVertex* vtPrm = 0;
2334 const AliVVertex* vtPlp = 0;
2338 if(!(nPlp=faod->GetNumberOfPileupVerticesTracks()))
2341 vtPrm = faod->GetPrimaryVertex();
2342 if(vtPrm == faod->GetPrimaryVertexSPD())
2347 for(
int ipl=0;ipl<nPlp;ipl++) {
2348 vtPlp = (
const AliVVertex*)faod->GetPileupVertexTracks(ipl);
2349 if (vtPlp->GetNContributors() < kMinPlpContrib)
continue;
2350 if (vtPlp->GetChi2perNDF() > kMaxPlpChi2)
continue;
2355 double wDst =
GetWDist(vtPrm,vtPlp);
2356 if (wDst<kMinWDist)
continue;
2388 for(
int i=1;i<=64;i++){
2413 centrV0M = ((AliVAODHeader*)faod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"V0M");
2414 centrCL1 = ((AliVAODHeader*)faod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"CL1");
2415 centrCL0 = ((AliVAODHeader*)faod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"CL0");
2416 centrTRK = ((AliVAODHeader*)faod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"TRK");
2419 fMultSelection = (AliMultSelection*) InputEvent()->FindListObject(
"MultSelection");
2421 printf(
"\n\n **WARNING** ::UserExec() AliMultSelection object not found.\n\n");
2438 Int_t isPileup = faod->IsPileupFromSPD(3);
2443 if(((AliAODHeader*)faod->GetHeader())->GetRefMultiplicityComb08() < 0) {
2447 if(faod->IsIncompleteDAQ()) {
2453 const AliAODVertex* vtTrc = faod->GetPrimaryVertex();
2454 const AliAODVertex* vtSPD = faod->GetPrimaryVertexSPD();
2456 if(vtTrc->GetNContributors() < 2 || vtSPD->GetNContributors()<1) {
2461 double covTrc[6], covSPD[6];
2462 vtTrc->GetCovarianceMatrix(covTrc);
2463 vtSPD->GetCovarianceMatrix(covSPD);
2465 double dz = vtTrc->GetZ() - vtSPD->GetZ();
2467 double errTot = TMath::Sqrt(covTrc[5]+covSPD[5]);
2468 double errTrc = TMath::Sqrt(covTrc[5]);
2469 double nsigTot = dz/errTot;
2470 double nsigTrc = dz/errTrc;
2472 if(TMath::Abs(dz)>0.2 || TMath::Abs(nsigTot)>10 || TMath::Abs(nsigTrc)>20) {
2507 Int_t isPileup = faod->IsPileupFromSPD(3);
2512 if(((AliAODHeader*)faod->GetHeader())->GetRefMultiplicityComb08() < 0) {
2516 if(faod->IsIncompleteDAQ()) {
2520 if(fabs(centrV0M-centrCL1)> 5.0) {
2526 const AliAODVertex* vtTrc = faod->GetPrimaryVertex();
2527 const AliAODVertex* vtSPD = faod->GetPrimaryVertexSPD();
2529 if(vtTrc->GetNContributors() < 2 || vtSPD->GetNContributors()<1) {
2534 double covTrc[6], covSPD[6];
2535 vtTrc->GetCovarianceMatrix(covTrc);
2536 vtSPD->GetCovarianceMatrix(covSPD);
2538 double dz = vtTrc->GetZ() - vtSPD->GetZ();
2540 double errTot = TMath::Sqrt(covTrc[5]+covSPD[5]);
2541 double errTrc = TMath::Sqrt(covTrc[5]);
2542 double nsigTot = dz/errTot;
2543 double nsigTrc = dz/errTrc;
2545 if(TMath::Abs(dz)>0.2 || TMath::Abs(nsigTot)>10 || TMath::Abs(nsigTrc)>20) {
2556 Int_t multITSfb96 = 0;
2557 Int_t multITSfb32 = 0;
2559 Int_t multTPCFE = 0;
2560 Int_t multGlobal = 0;
2561 Int_t multTPCuncut = 0;
2563 Int_t multEsd = ((AliAODHeader*)faod->GetHeader())->GetNumberOfESDTracks();
2565 const Int_t nTracks = faod->GetNumberOfTracks();
2567 for(
Int_t iTracks = 0; iTracks < nTracks; iTracks++) {
2569 AliAODTrack* track = (AliAODTrack*)faod->GetTrack(iTracks);
2570 if(!track)
continue;
2572 if(track->TestFilterBit(128))
2574 if(track->TestFilterBit(96))
2577 if(track->TestFilterBit(1)) multTPCuncut++;
2578 if(track->TestFilterBit(32)) multITSfb32++;
2581 if(track->Pt()<0.2 || track->Pt()>5.0 || TMath::Abs(track->Eta())>0.8 || track->GetTPCNcls()<70 || track->GetTPCsignal()<10.0)
2583 if(track->TestFilterBit(1) && track->Chi2perNDF()>0.2) multTPCFE++;
2584 if(!track->TestFilterBit(16) || track->Chi2perNDF()<0.1)
continue;
2587 Double_t bCov[3] = {-99., -99., -99.};
2589 AliAODTrack copy(*track);
2590 Double_t magField = faod->GetMagneticField();
2593 if(track->PropagateToDCA(faod->GetPrimaryVertex(), magField, 100., b, bCov) && TMath::Abs(b[0]) < 0.3 && TMath::Abs(b[1]) < 0.3) multGlobal++;
2654 if(BisPileup==kFALSE) {
2656 if(!
fMultSelection->GetThisEventIsNotPileupMV()) BisPileup=kTRUE;
2657 if(!
fMultSelection->GetThisEventIsNotPileupInMultBins()) BisPileup=kTRUE;
2658 if(!
fMultSelection->GetThisEventHasNoInconsistentVertices()) BisPileup=kTRUE;
2659 if(!
fMultSelection->GetThisEventPassesTrackletVsCluster()) BisPileup=kTRUE;
2660 if(!
fMultSelection->GetThisEventIsNotIncompleteDAQ()) BisPileup=kTRUE;
2661 if(!
fMultSelection->GetThisEventHasGoodVertex2016()) BisPileup=kTRUE;
2686 printf(
"\n ... **WARNING** \n::UserExec() runnumber not listed.\n EXIT..\n");
2695 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};
2697 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};
2699 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};
2701 Int_t runArray_2015LI[13] = {244917, 244918, 244975, 244980, 244982, 244983, 245061, 245064, 245066, 245068, 246390, 246391, 246392};
2705 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};
2710 if(sPeriod==
"2010"){
2713 runNums[i] = runArray_2010[i];
2715 else if(sPeriod==
"2011"){
2718 runNums[i] = runArray_2011[i];
2720 else if(sPeriod==
"2015" || sPeriod==
"2015PbPb"){
2723 runNums[i] = runArray_2015[i];
2725 else if(sPeriod==
"2015pPb" || sPeriod==
"pPb"){
2728 runNums[i] = runArray_pPb_16q_pass1[i];
2730 else if(sPeriod==
"2015LI"){
2733 runNums[i] = runArray_2015LI[i];
2738 printf(
"\n\n ***** Run Number not defined for this data set. *******\n\n Please modify code..\n\n");
2761 fPileUpMultSelCount =
new TH1F(
"fPileUpMultSelCount",
"fPileUpMultSelCount", 10, 0., 10.);
2772 fPileUpCount =
new TH1F(
"fPileUpCount",
"fPileUpCount", 12, 0., 12.);
2775 fPileUpCount->GetXaxis()->SetBinLabel(3,
"RefMultiplicityComb08");
2776 fPileUpCount->GetXaxis()->SetBinLabel(4,
"IncompleteDAQ");
2777 fPileUpCount->GetXaxis()->SetBinLabel(5,
"abs(V0M-CL1)>5.0");
2779 fPileUpCount->GetXaxis()->SetBinLabel(7,
"inconsistentVtx");
2781 fPileUpCount->GetXaxis()->SetBinLabel(8,Form(
"multESDTPCDif>%d",puConst));
2782 fPileUpCount->GetXaxis()->SetBinLabel(9,Form(
"multGlobTPCDif>%d",puConst));
2783 fPileUpCount->GetXaxis()->SetBinLabel(10,
"extraPileUpMultSel");
2787 fTaskConfigParm =
new TH1F(
"fTaskConfigParm",
"Connfig Values", 20, 0., 20.);
2818 for(
int i=0;i<3;i++){
2820 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,
"");
2823 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,
"");
2826 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,
"");
2831 for(
int i=0;i<3;i++){
2833 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,
"");
2839 Double_t centRange[11] = {0,5,10,20,30,40,50,60,70,80,90};
2848 for(
int i=0;i<2;i++){
2849 for(
int j=0;j<3;j++){
2851 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,
"");
2854 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,
"");
2857 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,
"");
2862 for(
int j=0;j<3;j++){
2864 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,
"");
2873 for(
int i=0;i<2;i++){
2874 for(
int j=0;j<3;j++){
2876 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,
"");
2879 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,
"");
2882 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,
"");
2887 for(
int j=0;j<3;j++){
2889 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,
"");
2919 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};
2921 for(
int i=0;i<2;i++){
2922 for(
int j=0;j<6;j++){
2923 sprintf(name,
"fHist_Corr3p_pTSum_EP_V0A_PN_Mag%d_Cent%d",i,j);
2924 sprintf(title,
"PN 3p vs (pT1+pT2)/2, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2929 sprintf(name,
"fHist_Corr3p_pTSum_EP_V0A_PP_Mag%d_Cent%d",i,j);
2930 sprintf(title,
"PP 3p vs (pT1+pT2)/2, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2935 sprintf(name,
"fHist_Corr3p_pTSum_EP_V0A_NN_Mag%d_Cent%d",i,j);
2936 sprintf(title,
"NN 3p vs (pT1+pT2)/2, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2941 sprintf(name,
"fHist_Corr3p_pTSum_EP_V0C_PN_Mag%d_Cent%d",i,j);
2942 sprintf(title,
"PN 3p vs (pT1+pT2)/2, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2947 sprintf(name,
"fHist_Corr3p_pTSum_EP_V0C_PP_Mag%d_Cent%d",i,j);
2948 sprintf(title,
"PP 3p vs (pT1+pT2)/2, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2953 sprintf(name,
"fHist_Corr3p_pTSum_EP_V0C_NN_Mag%d_Cent%d",i,j);
2954 sprintf(title,
"NN 3p vs (pT1+pT2)/2, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2961 for(
int i=0;i<2;i++){
2962 for(
int j=0;j<6;j++){
2963 sprintf(name,
"fHist_Corr3p_pTDiff_EP_V0A_PN_Mag%d_Cent%d",i,j);
2964 sprintf(title,
"PN 3p vs |pT1-pT2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2969 sprintf(name,
"fHist_Corr3p_pTDiff_EP_V0A_PP_Mag%d_Cent%d",i,j);
2970 sprintf(title,
"PP 3p vs |pT1-pT2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2975 sprintf(name,
"fHist_Corr3p_pTDiff_EP_V0A_NN_Mag%d_Cent%d",i,j);
2976 sprintf(title,
"NN 3p vs |pT1-pT2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2981 sprintf(name,
"fHist_Corr3p_pTDiff_EP_V0C_PN_Mag%d_Cent%d",i,j);
2982 sprintf(title,
"PN 3p vs |pT1-pT2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2987 sprintf(name,
"fHist_Corr3p_pTDiff_EP_V0C_PP_Mag%d_Cent%d",i,j);
2988 sprintf(title,
"PP 3p vs |pT1-pT2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2993 sprintf(name,
"fHist_Corr3p_pTDiff_EP_V0C_NN_Mag%d_Cent%d",i,j);
2994 sprintf(title,
"NN 3p vs |pT1-pT2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
3001 Double_t EtaRange[9] = {0.0,0.2,0.4,0.6,0.8,1.0,1.2,1.4,1.6};
3003 for(
int i=0;i<2;i++){
3004 for(
int j=0;j<6;j++){
3005 sprintf(name,
"fHist_Corr3p_EtaDiff_EP_V0A_PN_Mag%d_Cent%d",i,j);
3006 sprintf(title,
"PN 3p vs |Eta1-Eta2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
3011 sprintf(name,
"fHist_Corr3p_EtaDiff_EP_V0A_PP_Mag%d_Cent%d",i,j);
3012 sprintf(title,
"PP 3p vs |Eta1-Eta2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
3017 sprintf(name,
"fHist_Corr3p_EtaDiff_EP_V0A_NN_Mag%d_Cent%d",i,j);
3018 sprintf(title,
"NN 3p vs |Eta1-Eta2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
3023 sprintf(name,
"fHist_Corr3p_EtaDiff_EP_V0C_PN_Mag%d_Cent%d",i,j);
3024 sprintf(title,
"PN 3p vs |Eta1-Eta2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
3029 sprintf(name,
"fHist_Corr3p_EtaDiff_EP_V0C_PP_Mag%d_Cent%d",i,j);
3030 sprintf(title,
"PP 3p vs |Eta1-Eta2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
3035 sprintf(name,
"fHist_Corr3p_EtaDiff_EP_V0C_NN_Mag%d_Cent%d",i,j);
3036 sprintf(title,
"NN 3p vs |Eta1-Eta2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
3047 for(
int i=0;i<2;i++){
3048 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,
"");
3050 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,
"");
3053 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,
"");
3055 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,
"");
3059 for(
int i=0;i<2;i++){
3060 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,
"");
3062 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,
"");
3064 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,
"");
3082 fVzDistribuion =
new TH1F(
"fVzDistribuion",
"Vz (cm)",100,-10,10);
3098 fCentCL1vsVzRun =
new TH3F(
"fCentCL1vsVzRun",
"",80,-10,10,
fRunFlag,0,
fRunFlag,20,-10,10);
3103 fTPCvsGlobalTrk =
new TH2F(
"fTPCvsGlobalTrk",
"ESDTrk vs TPC(FB128)",500,0,5000,500,0,5000);
3109 fTPCvsITSfb96 =
new TH2F(
"fTPCvsITSfb96",
"FB96 vs TPC(FB128)",500,0,5000,500,0,5000);
3112 fTPCvsITSfb32 =
new TH2F(
"fTPCvsITSfb32",
"FB32 vs TPC(FB128)",500,0,5000,500,0,5000);
3118 fGlobalTracks =
new TH1F(
"fGlobalTracks",
"Global Multiplilcity",5000,0,5000);
3128 Double_t fCentBinQvect[16] = {0.,2.5,5,10,15,20,25,30,35,40,45,50,60,70,80,90};
3130 fHEnergyZNCvsCent =
new TH2F(
"fHEnergyZNCvsCent",
"ZNC Energy vs cent",15,fCentBinQvect,4000,0,200000);
3132 fHEnergyZNAvsCent =
new TH2F(
"fHEnergyZNAvsCent",
"ZNA Energy vs cent",15,fCentBinQvect,4000,0,200000);
3134 fHEnergyZPCvsCent =
new TH2F(
"fHEnergyZPCvsCent",
"ZPC Energy vs cent",15,fCentBinQvect,2000,0,50000);
3136 fHEnergyZPAvsCent =
new TH2F(
"fHEnergyZPAvsCent",
"ZPA Energy vs cent",15,fCentBinQvect,2000,0,50000);
3150 fHEnergyZNCvsZNA =
new TH2F(
"fHEnergyZNCvsZNA",
"ZNC Energy vs cent",500,50000,150000,500,50000,150000);
3158 Int_t magField[2] = {0,1};
3160 for(
int i=0;i<2;i++){
3161 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,
"");
3164 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,
"");
3167 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,
"");
3171 for(
int i=0;i<2;i++){
3172 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,
"");
3175 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,
"");
3178 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,
"");
3191 Int_t suffixEta[4] = {1,0,1,0};
3192 Int_t suffixVz[4] = {1,1,0,0};
3195 for(
int i=0;i<4;i++){
3318 for(
int i=0;i<10;i++){
3319 sprintf(name,
"fHistChPosvsEtaPtRun_Cent%d",i);
3320 sprintf(title,
"Pos Ch, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
3321 fHistChPosvsEtaPtRun[i] =
new TH3F(name,title,25,0.2,5.2,16,-0.8,0.8,
fRunFlag,0,
fRunFlag);
3323 sprintf(name,
"fHistChNegvsEtaPtRun_Cent%d",i);
3324 sprintf(title,
"Neg Ch, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
3325 fHistChNegvsEtaPtRun[i] =
new TH3F(name,title,25,0.2,5.2,16,-0.8,0.8,
fRunFlag,0,
fRunFlag);
3330 Int_t gCentForNUA[6] = {0,5,10,20,40,90};
3333 for(
int i=0;i<5;i++){
3335 sprintf(name,
"fHistEtaPhiVz_Pos_Cent%d_Run%d",i,
runNums[j]);
3336 sprintf(title,
"eta,phi,Vz Pos Cent%d-%d%%",gCentForNUA[i],gCentForNUA[i+1]);
3337 fHist3DEtaPhiVz_Pos_Run[i][j] =
new TH3F(name,title,10,-10,10,50,0,6.283185,16,-0.8,0.8);
3340 sprintf(name,
"fHistEtaPhiVz_Neg_Cent%d_Run%d",i,
runNums[j]);
3341 sprintf(title,
"eta,phi,Vz Pos Cent%d-%d%%",gCentForNUA[i],gCentForNUA[i+1]);
3342 fHist3DEtaPhiVz_Neg_Run[i][j] =
new TH3F(name,title,10,-10,10,50,0,6.283185,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 * fTPCQ2xVsCentRun
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 * fV0AQ3yVsCentRun
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 NUA Histograms
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]
TH3F * fFB_Efficiency_Neg[10]
3d correction Map
TProfile * fHist_Corr3p_pTDiff_EP_V0A_NN[2][6]
TH1F * fVzBinFinderForNUA
TProfile2D * fV0CQ2yVsCentRun
TProfile2D * fHist_Corr3p_ZDN_SP_PN[3]
TH3D * fHCorrectNUApos[5]
TProfile2D * fHCos1nPosChEtaVz[4]
TH1F * hUnderOverBinNUAneg
//temporary Debug, remove for stable code
TProfile * fHist_Corr3p_EP_Norm_NN[2][3]
TProfile2D * fHist_Corr3p_vsRun_EP_PN[2]
TProfile2D * fCentV0MvsVzRun
for V0-Mult Gain Correction per channel.
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]
TH3F * fHist3DEtaPhiVz_Neg_Run[5][90]
5 centrality bin 90 Bins for Run. NUA
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]
TList * fListNUAHist
collection of Calib Histos
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)
TProfile2D * fCent3pvsVzRun
TProfile2D * fTPCQ2yVsCentRun
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 * fV0CQ2xVsCentRun
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]
void GetV0MCorrectionHist(Int_t run)
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]
TProfile2D * fV0CQ3yVsCentRun
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)
TProfile2D * fV0AQ2xVsCentRun
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]
TProfile2D * fRejectRatioVsCR
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 * fV0AQ3xVsCentRun
TProfile2D * fHEnergyZNAvsCentRun
TProfile2D * fHist_Corr3p_vsRun_EP_PP[2]
TProfile * fHist_Corr3p_SP_Norm_NN[2][3]
TProfile2D * fHSin1nPosChEtaVz[4]
TH3D * fHCorrectNUAneg[5]
5 centrality bin
virtual void UserExec(Option_t *option)
TProfile2D * fV0CQ3xVsCentRun
TH3F * fFB_Efficiency_Pos[10]
TH1F * hUnderOverBinNUApos
Bool_t fRejectPileUpTight
TProfile * fHist_Corr3p_pTDiff_EP_V0C_NN[2][6]
TH1D * fFB_Efficiency_Cent[10]
5 centrality bin 90 Bins for Run. NUA
TProfile2D * fV0AQ2yVsCentRun
double GetWDist(const AliVVertex *v0, const AliVVertex *v1)
TProfile2D * fHSin2nDWNegChEtaVz[4]
TProfile2D * fAvgPOINNCentRun
same sign Pos-Pos pairs
TH3F * fHist3DEtaPhiVz_Pos_Run[5][90]
5 centrality bin
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.