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"
62 fRejectPileUpTight(kTRUE),
63 bFillAvgTPCQn(kFALSE),
64 bFillEtaPhiNUA(kFALSE),
65 bApplyNUACorr(kFALSE),
66 bApplyZDCCorr(kFALSE),
67 bApplyNUAforEP(kFALSE),
69 bSkipNestedTrk(kFALSE),
70 bRemNegTrkRndm(kFALSE),
71 bApplyV0MCorr(kFALSE),
73 sAnalysisSet("DoGainEq"),
84 fHist_Event_count(NULL),
85 fPileUpMultSelCount(NULL),
87 fTaskConfigParm(NULL),
97 fHV0AEventPlaneVsCent(NULL),
98 fHV0CEventPlaneVsCent(NULL),
99 fHTPCEventPlaneVsCent(NULL),
100 fHEnergyZNCvsCent(NULL),
101 fHEnergyZNAvsCent(NULL),
102 fHEnergyZPCvsCent(NULL),
103 fHEnergyZPAvsCent(NULL),
104 fHEnergyZNCvsCentRun(NULL),
105 fHEnergyZNAvsCentRun(NULL),
106 fHEnergyZPCvsCentRun(NULL),
107 fHEnergyZPAvsCentRun(NULL),
108 fHEnergyZPCvsZPA(NULL),
109 fHEnergyZNCvsZNA(NULL),
110 hUnderOverBinNUApos(NULL),
111 hUnderOverBinNUAneg(NULL),
112 fHCentBinTrkRecenter(NULL),
114 fV0AQnxVsCentRun(NULL),
115 fV0AQnyVsCentRun(NULL),
116 fV0CQnxVsCentRun(NULL),
117 fV0CQnyVsCentRun(NULL),
118 fTPCQnxVsCentRun(NULL),
119 fTPCQnyVsCentRun(NULL),
124 fAvgMultCentRun(NULL),
125 fAvgWgtMultCentRun(NULL),
126 fAvgPOIposCentRun(NULL),
127 fAvgPOInegCentRun(NULL),
128 fAvgPOIPPCentRun(NULL),
129 fAvgPOINNCentRun(NULL),
130 fAvgPOIOSCentRun(NULL),
131 fV0MultChVsRun(NULL),
132 fEventStatvsRun(NULL),
133 fEtaBinFinderForQA(NULL),
134 fVzBinFinderForNUA(NULL),
135 fHistVtxZvsRun(NULL),
136 fHistVtxXvsRun(NULL),
137 fHistVtxYvsRun(NULL),
138 fRejectRatioVsCR(NULL),
139 fCentDistvsRun(NULL),
141 fCentV0MvsVzRun(NULL),
142 fCent3pvsVzRun(NULL),
143 fTPCvsGlobalTrk(NULL),
146 fGlobalITSMult(NULL),
147 fCentCL1vsVzRun(NULL)
149 for(
int i=0;i<4;i++){
150 fHCorrectNUApos[i] = NULL;
151 fHCorrectNUAneg[i] = NULL;
153 for(
int i=0;i<90;i++){
155 for(
int j=0;j<5;j++){
156 fHist3DEtaPhiVz_Pos_Run[j][i] = NULL;
157 fHist3DEtaPhiVz_Neg_Run[j][i] = NULL;
160 for(
int i=0;i<10;i++){
161 fFB_Efficiency_Cent[i] = NULL;
162 fFB_Efficiency_Pos[i] = NULL;
163 fFB_Efficiency_Neg[i] = NULL;
165 for(
int i=0;i<2;i++){
166 for(
int j=0;j<3;j++){
167 fHist_Corr3p_SP_Norm_PN[i][j] = NULL;
168 fHist_Corr3p_SP_Norm_PP[i][j] = NULL;
169 fHist_Corr3p_SP_Norm_NN[i][j] = NULL;
170 fHist_Reso2n_SP_Norm_Det[i][j] = NULL;
173 for(
int i=0;i<2;i++){
174 for(
int j=0;j<3;j++){
175 fHist_Corr3p_EP_Norm_PN[i][j] = NULL;
176 fHist_Corr3p_EP_Norm_PP[i][j] = NULL;
177 fHist_Corr3p_EP_Norm_NN[i][j] = NULL;
178 fHist_Reso2n_EP_Norm_Det[i][j] = NULL;
181 for(
int i=0;i<2;i++){
182 fHist_Corr3p_vsRun_EP_PN[i] = NULL;
183 fHist_Corr3p_vsRun_EP_PP[i] = NULL;
184 fHist_Corr3p_vsRun_EP_NN[i] = NULL;
186 for(
int i=0;i<3;i++){
187 fHist_Corr3p_ZDN_SP_PN[i] = NULL;
188 fHist_Corr3p_ZDN_SP_PP[i] = NULL;
189 fHist_Corr3p_ZDN_SP_NN[i] = NULL;
190 fHist_Reso2n_ZDN_SP_Det[i] = NULL;
192 for(
int i=0;i<2;i++){
193 for(
int j=0;j<6;j++){
194 fHist_Corr3p_pTSum_EP_V0A_PN[i][j] = NULL;
195 fHist_Corr3p_pTSum_EP_V0A_PP[i][j] = NULL;
196 fHist_Corr3p_pTSum_EP_V0A_NN[i][j] = NULL;
197 fHist_Corr3p_pTSum_EP_V0C_PN[i][j] = NULL;
198 fHist_Corr3p_pTSum_EP_V0C_PP[i][j] = NULL;
199 fHist_Corr3p_pTSum_EP_V0C_NN[i][j] = NULL;
201 fHist_Corr3p_pTDiff_EP_V0A_PN[i][j] = NULL;
202 fHist_Corr3p_pTDiff_EP_V0A_PP[i][j] = NULL;
203 fHist_Corr3p_pTDiff_EP_V0A_NN[i][j] = NULL;
204 fHist_Corr3p_pTDiff_EP_V0C_PN[i][j] = NULL;
205 fHist_Corr3p_pTDiff_EP_V0C_PP[i][j] = NULL;
206 fHist_Corr3p_pTDiff_EP_V0C_NN[i][j] = NULL;
208 fHist_Corr3p_EtaDiff_EP_V0A_PN[i][j] = NULL;
209 fHist_Corr3p_EtaDiff_EP_V0A_PP[i][j] = NULL;
210 fHist_Corr3p_EtaDiff_EP_V0A_NN[i][j] = NULL;
211 fHist_Corr3p_EtaDiff_EP_V0C_PN[i][j] = NULL;
212 fHist_Corr3p_EtaDiff_EP_V0C_PP[i][j] = NULL;
213 fHist_Corr3p_EtaDiff_EP_V0C_NN[i][j] = NULL;
216 for(
int i=0;i<10;i++){
217 fHistChPosvsEtaPtRun[i] = NULL;
218 fHistChNegvsEtaPtRun[i] = NULL;
220 for(
int i=0;i<2;i++){
221 fHist_Corr3p_QAEta_SP_V0A_PN[i] = NULL;
222 fHist_Corr3p_QAEta_SP_V0A_PP[i] = NULL;
223 fHist_Corr3p_QAEta_SP_V0A_NN[i] = NULL;
225 for(
int i=0;i<2;i++){
226 fHist_Corr3p_QAEta_SP_V0C_PN[i] = NULL;
227 fHist_Corr3p_QAEta_SP_V0C_PP[i] = NULL;
228 fHist_Corr3p_QAEta_SP_V0C_NN[i] = NULL;
230 for(
int i=0;i<4;i++){
231 fHCos1nPosChEtaVz[i] = NULL;
232 fHCos2nPosChEtaVz[i] = NULL;
233 fHCos3nPosChEtaVz[i] = NULL;
234 fHCos4nPosChEtaVz[i] = NULL;
235 fHSin1nPosChEtaVz[i] = NULL;
236 fHSin2nPosChEtaVz[i] = NULL;
237 fHSin3nPosChEtaVz[i] = NULL;
238 fHSin4nPosChEtaVz[i] = NULL;
240 fHCos1nNegChEtaVz[i] = NULL;
241 fHCos2nNegChEtaVz[i] = NULL;
242 fHCos3nNegChEtaVz[i] = NULL;
243 fHCos4nNegChEtaVz[i] = NULL;
244 fHSin1nNegChEtaVz[i] = NULL;
245 fHSin2nNegChEtaVz[i] = NULL;
246 fHSin3nNegChEtaVz[i] = NULL;
247 fHSin4nNegChEtaVz[i] = NULL;
249 fHCos2nDWPosChEtaVz[i] = NULL;
250 fHSin2nDWPosChEtaVz[i] = NULL;
251 fHCos2nDWNegChEtaVz[i] = NULL;
252 fHSin2nDWNegChEtaVz[i] = NULL;
254 for(
int i=0;i<2;i++){
255 fHist_NonIso_SP_PP_Mag0[i] = NULL;
256 fHist_NonIso_SP_NN_Mag0[i] = NULL;
257 fHist_NonIso_SP_PP_Mag1[i] = NULL;
258 fHist_NonIso_SP_NN_Mag1[i] = NULL;
260 for(
int i=0;i<2;i++){
261 fHist_Corr2p_EP_Norm_PN[i] = NULL;
262 fHist_Corr2p_EP_Norm_PP[i] = NULL;
263 fHist_Corr2p_EP_Norm_NN[i] = NULL;
266 DefineInput(1, AliFlowEventSimple::Class());
268 DefineOutput(1,TList::Class());
269 DefineOutput(2,TList::Class());
274 fMultSelection(NULL),
282 fRejectPileUp(kTRUE),
283 fRejectPileUpTight(kTRUE),
284 bFillAvgTPCQn(kFALSE),
285 bFillEtaPhiNUA(kFALSE),
286 bApplyNUACorr(kFALSE),
287 bApplyZDCCorr(kFALSE),
288 bApplyNUAforEP(kFALSE),
289 bFillZDCinfo(kFALSE),
290 bSkipNestedTrk(kFALSE),
291 bRemNegTrkRndm(kFALSE),
292 bApplyV0MCorr(kFALSE),
294 sAnalysisSet(
"DoGainEq"),
295 sCentEstimator(
"V0"),
305 fHist_Event_count(NULL),
306 fPileUpMultSelCount(NULL),
308 fTaskConfigParm(NULL),
318 fHV0AEventPlaneVsCent(NULL),
319 fHV0CEventPlaneVsCent(NULL),
320 fHTPCEventPlaneVsCent(NULL),
321 fHEnergyZNCvsCent(NULL),
322 fHEnergyZNAvsCent(NULL),
323 fHEnergyZPCvsCent(NULL),
324 fHEnergyZPAvsCent(NULL),
325 fHEnergyZNCvsCentRun(NULL),
326 fHEnergyZNAvsCentRun(NULL),
327 fHEnergyZPCvsCentRun(NULL),
328 fHEnergyZPAvsCentRun(NULL),
329 fHEnergyZPCvsZPA(NULL),
330 fHEnergyZNCvsZNA(NULL),
331 hUnderOverBinNUApos(NULL),
332 hUnderOverBinNUAneg(NULL),
333 fHCentBinTrkRecenter(NULL),
335 fV0AQnxVsCentRun(NULL),
336 fV0AQnyVsCentRun(NULL),
337 fV0CQnxVsCentRun(NULL),
338 fV0CQnyVsCentRun(NULL),
339 fTPCQnxVsCentRun(NULL),
340 fTPCQnyVsCentRun(NULL),
345 fAvgMultCentRun(NULL),
346 fAvgWgtMultCentRun(NULL),
347 fAvgPOIposCentRun(NULL),
348 fAvgPOInegCentRun(NULL),
349 fAvgPOIPPCentRun(NULL),
350 fAvgPOINNCentRun(NULL),
351 fAvgPOIOSCentRun(NULL),
352 fV0MultChVsRun(NULL),
353 fEventStatvsRun(NULL),
354 fEtaBinFinderForQA(NULL),
355 fVzBinFinderForNUA(NULL),
356 fHistVtxZvsRun(NULL),
357 fHistVtxXvsRun(NULL),
358 fHistVtxYvsRun(NULL),
359 fRejectRatioVsCR(NULL),
360 fCentDistvsRun(NULL),
362 fCentV0MvsVzRun(NULL),
363 fCent3pvsVzRun(NULL),
364 fTPCvsGlobalTrk(NULL),
367 fGlobalITSMult(NULL),
368 fCentCL1vsVzRun(NULL)
370 for(
int i=0;i<4;i++){
374 for(
int i=0;i<90;i++){
376 for(
int j=0;j<5;j++){
381 for(
int i=0;i<10;i++){
386 for(
int i=0;i<2;i++){
387 for(
int j=0;j<3;j++){
394 for(
int i=0;i<2;i++){
395 for(
int j=0;j<3;j++){
402 for(
int i=0;i<2;i++){
407 for(
int i=0;i<3;i++){
413 for(
int i=0;i<2;i++){
414 for(
int j=0;j<6;j++){
437 for(
int i=0;i<10;i++){
441 for(
int i=0;i<2;i++){
446 for(
int i=0;i<2;i++){
451 for(
int i=0;i<4;i++){
475 for(
int i=0;i<2;i++){
481 for(
int i=0;i<2;i++){
503 for(
int i=0;i<10;i++) {
508 Int_t centFB[11] = {0,5,10,20,30,40,50,60,70,80,90};
509 for(
int i=0;i<10;i++) {
515 printf(
"\n\n!!***** Warning *****!!\n Enter correct Dimention !!\n\n"); exit(1);
519 printf(
"\n\n!!***** Warning *****!!\n FilterBit efficiency not found, use = 1.0 !!\n\n");
520 for(
int i=0;i<10;i++){
523 fFB_Efficiency_Pos[i] =
new TH3F(Form(
"eff_unbiased_Pos_%d",i),
"",1,-0.9,0.9,1,0,50,1,0,7);
525 fFB_Efficiency_Neg[i] =
new TH3F(Form(
"eff_unbiased_Neg_%d",i),
"",1,-0.9,0.9,1,0,50,1,0,7);
563 for(
int i=0;i<4;i++){
567 for(
int i=0;i<10;i++){
591 printf(
"\n ... ::UserExec = no AOD or Flow Event, \n.... EXIT ..... \n");
601 Bool_t kPileupEvent = kFALSE;
605 if(kPileupEvent)
return;
621 centrV0M = ((AliVAODHeader*)aod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"V0M");
622 centrCL1 = ((AliVAODHeader*)aod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"CL1");
623 centrCL0 = ((AliVAODHeader*)aod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"CL0");
624 centrTRK = ((AliVAODHeader*)aod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"TRK");
627 fMultSelection = (AliMultSelection*) InputEvent()->FindListObject(
"MultSelection");
629 printf(
"\n\n **WARNING** ::UserExec() AliMultSelection object not found.\n\n");
648 Int_t iCentSPD = centrCL1;
650 if(iCentSPD > 90)
return;
673 cIndex = abs(
EvtCent/10.0) + 1;
691 Int_t runindex = -111;
692 Int_t runNumber = aod->GetRunNumber();
718 Double_t fMagField = aod->GetMagneticField();
727 const AliAODVZERO *fAODV0 = aod->GetVZEROData();
731 Double_t QyanCor = 0., QycnCor = 0.;
732 Double_t QxanCor = 0., QxcnCor = 0.;
743 QyanCor = (Qyan -
fQynmV0A->GetBinContent(iCentSPD+1))/
fQynsV0A->GetBinContent(iCentSPD+1);
744 QycnCor = (Qycn -
fQynmV0C->GetBinContent(iCentSPD+1))/
fQynsV0C->GetBinContent(iCentSPD+1);
750 QxanCor = (Qxan -
fQxnmV0A->GetBinContent(iCentSPD+1))/
fQxnsV0A->GetBinContent(iCentSPD+1);
751 QxcnCor = (Qxcn -
fQxnmV0C->GetBinContent(iCentSPD+1))/
fQxnsV0C->GetBinContent(iCentSPD+1);
756 for(
int iV0 = 0; iV0 < 64; iV0++) {
758 fMultv0 = fAODV0->GetMultiplicity(iV0);
764 phiV0 = TMath::PiOver4()*(0.5 + iV0 % 8);
787 for(
int iV0 = 0; iV0 < 64; iV0++) {
788 fMultv0 = fAODV0->GetMultiplicity(iV0);
795 if(sumMa < 0 || sumMc < 0)
return;
800 AliAODVertex *pVertex = aod->GetPrimaryVertex();
807 if(VtxZ < 1.e-4 && VtxX < 1.e-4 && VtxY < 1.e-4)
817 Double_t energyZNC=0.,energyZNA=0.,energyZPC=0.,energyZPA=0.;
819 energyZNC = ((AliVAODHeader*)aod->GetHeader())->GetZDCN1Energy();
820 energyZNA = ((AliVAODHeader*)aod->GetHeader())->GetZDCN2Energy();
821 energyZPC = ((AliVAODHeader*)aod->GetHeader())->GetZDCP1Energy();
822 energyZPA = ((AliVAODHeader*)aod->GetHeader())->GetZDCP2Energy();
855 Int_t BadRuns[10] = {246871,246870,246867,246865,246864,246859,246858,246676,246675,246540};
859 for(
int ib=0;ib<iBadrun;ib++){
860 if(runNumber==BadRuns[ib]){
886 Double_t QxAutoPosQAEta[16] = {0.,};
887 Double_t QyAutoPosQAEta[16] = {0.,};
888 Double_t QxAutoNegQAEta[16] = {0.,};
889 Double_t QyAutoNegQAEta[16] = {0.,};
896 Double_t AvgDWCos2n=0.,AvgDWSin2n=0.;
930 Double_t Psi2V0C = 1./psiN*TMath::ATan2(QycnCor,QxcnCor);
931 if(Psi2V0C<0.) Psi2V0C += 2*pi/psiN;
933 Double_t Psi2V0A = 1./psiN*TMath::ATan2(QyanCor,QxanCor);
934 if(Psi2V0A<0.) Psi2V0A += 2*pi/psiN;
966 for(
int i=0; i<iTracks; i++) {
968 if(!pTrack1)
continue;
969 dPhi1 = pTrack1->
Phi();
970 dPt1 = pTrack1-> Pt();
971 dEta1 = pTrack1->
Eta();
972 dChrg1 = pTrack1->
Charge();
1013 if(
sFileNUA==
"OldJ") w1NUA = 1./w1NUA;
1025 if(w1NUA > 1e3 ) w1NUA = 1.0;
1054 if (ptw1>1e3) ptw1 = 1.0;
1166 if(isBadRun)
continue;
1173 QxPos[0] += (ptw1*w1NUA*TMath::Cos(n*dPhi1) - AvgCos1n);
1174 QyPos[0] += (ptw1*w1NUA*TMath::Sin(n*dPhi1) - AvgSin1n);
1175 QxAutoPos[0] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Cos(2.*n*dPhi1) - AvgDWCos2n);
1176 QyAutoPos[0] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Sin(2.*n*dPhi1) - AvgDWSin2n);
1177 MPOIpos += w1NUA*ptw1;
1178 McorrPos += w1NUA*ptw1*w1NUA*ptw1;
1181 QxPosQAEta[iEtaQA] += (ptw1*w1NUA*TMath::Cos(n*dPhi1) - AvgCos1n);
1182 QyPosQAEta[iEtaQA] += (ptw1*w1NUA*TMath::Sin(n*dPhi1) - AvgSin1n);
1183 QxAutoPosQAEta[iEtaQA] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Cos(2.*n*dPhi1) - AvgDWCos2n);
1184 QyAutoPosQAEta[iEtaQA] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Sin(2.*n*dPhi1) - AvgDWSin2n);
1185 MPOIposQAEta[iEtaQA] += ptw1*w1NUA;
1189 QxNeg[0] += (ptw1*w1NUA*TMath::Cos(n*dPhi1) - AvgCos1n);
1190 QyNeg[0] += (ptw1*w1NUA*TMath::Sin(n*dPhi1) - AvgSin1n);
1191 QxAutoNeg[0] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Cos(2.*n*dPhi1) - AvgDWCos2n);
1192 QyAutoNeg[0] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Sin(2.*n*dPhi1) - AvgDWSin2n);
1193 MPOIneg += w1NUA*ptw1;
1194 McorrNeg += w1NUA*ptw1*w1NUA*ptw1;
1197 QxNegQAEta[iEtaQA] += (ptw1*w1NUA*TMath::Cos(n*dPhi1) - AvgCos1n);
1198 QyNegQAEta[iEtaQA] += (ptw1*w1NUA*TMath::Sin(n*dPhi1) - AvgSin1n);
1199 QxAutoNegQAEta[iEtaQA] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Cos(2.*n*dPhi1) - AvgDWCos2n);
1200 QyAutoNegQAEta[iEtaQA] += (ptw1*ptw1*w1NUA*w1NUA*TMath::Sin(2.*n*dPhi1) - AvgDWSin2n);
1201 MPOInegQAEta[iEtaQA] += ptw1*w1NUA;
1207 QxTPC[1] += ptw1*w1NUA*TMath::Cos(psiN*dPhi1);
1208 QyTPC[1] += ptw1*w1NUA*TMath::Sin(psiN*dPhi1);
1211 nRefMultWgt += ptw1*w1NUA;
1221 for(
int j=0; j<iTracks; j++) {
1226 if(!pTrack2)
continue;
1227 dPhi2 = pTrack2->
Phi();
1228 dPt2 = pTrack2-> Pt();
1229 dEta2 = pTrack2->
Eta();
1230 dChrg2 = pTrack2->
Charge();
1256 if (ptw2>1e3) ptw1 = 1.0;
1270 if(
sFileNUA==
"OldJ") w2NUA = 1./w2NUA;
1282 if(w2NUA > 1e3 ) w2NUA = 1.0;
1285 WgtEP = ptw1*ptw2*w1NUA*w2NUA;
1296 fCent3pvsVzRun->Fill(VtxZ,runindex,TMath::Cos(n*dPhi1 + m*dPhi2 - p*Psi2V0A));
1316 else if(dChrg1>0 && dChrg2>0){
1337 else if(dChrg1<0 && dChrg2<0){
1377 if(QTPCRe==0 && QTPCIm==0)
return;
1383 Double_t Psi2TPC = 1./psiN*(TMath::ATan2(QTPCIm,QTPCRe));
1384 if(Psi2TPC < 0.) Psi2TPC += 2*pi/psiN;
1393 if(isBadRun)
return;
1400 Float_t fNegTracks = iTracks*0.5;
1430 Double_t uPRe=0.,uNRe=0.,uPIm=0.,uNIm=0.,uN2Re=0.,uN2Im=0.,uP2Re=0.,uP2Im=0.;
1435 uPM = MPOIpos; uNM = MPOIneg;
1437 uPRe = QxPos[0]; uNRe = QxNeg[0];
1438 uPIm = QyPos[0]; uNIm = QyNeg[0];
1440 uP2Re = QxAutoPos[0]; uP2Im = QyAutoPos[0];
1441 uN2Re = QxAutoNeg[0]; uN2Im = QyAutoNeg[0];
1443 Double_t TwoQpQnV = 0.,TwoQpQpV=0.,TwoQnQnV=0.;
1445 if(uPM > 1 && uNM > 1) {
1447 TwoQpQnV = ((uPRe*uNRe-uPIm*uNIm)*QxanCor + (uPRe*uNIm+uPIm*uNRe)*QyanCor) / (uPM*uNM) ;
1448 TwoQpQpV = ((uPRe*uPRe-uPIm*uPIm-uP2Re)*QxanCor + (2.*uPRe*uPIm-uP2Im)*QyanCor) / (uPM*(uPM-1)) ;
1449 TwoQnQnV = ((uNRe*uNRe-uNIm*uNIm-uN2Re)*QxanCor + (2.*uNRe*uNIm-uN2Im)*QyanCor) / (uNM*(uNM-1)) ;
1457 Double_t QnNonIsoRe = 0.,QnNonIsoIm=0.;
1464 QnNonIsoRe = (uPRe*QxanCor + uPIm*QyanCor)/uPM;
1465 QnNonIsoIm = (uPIm*QxanCor - uPRe*QyanCor)/uPM;
1469 QnNonIsoRe = (uPRe*uPRe-uPIm*uPIm-uP2Re)/(uPM*(uPM-1));
1470 QnNonIsoIm = (2.*uPRe*uPIm-uP2Im)/(uPM*(uPM-1));
1474 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1475 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1486 QnNonIsoRe = (uNRe*QxanCor + uNIm*QyanCor)/uNM;
1487 QnNonIsoIm = (uNIm*QxanCor - uNRe*QyanCor)/uNM;
1491 QnNonIsoRe = (uNRe*uNRe-uNIm*uNIm-uN2Re)/(uNM*(uNM-1));
1492 QnNonIsoIm = (2.*uNRe*uNIm-uN2Im)/(uNM*(uNM-1));
1496 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1497 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1504 else if(QAindex==1){
1509 QnNonIsoRe = (uPRe*QxanCor + uPIm*QyanCor)/uPM;
1510 QnNonIsoIm = (uPIm*QxanCor - uPRe*QyanCor)/uPM;
1514 QnNonIsoRe = (uPRe*uPRe-uPIm*uPIm-uP2Re)/(uPM*(uPM-1));
1515 QnNonIsoIm = (2.*uPRe*uPIm-uP2Im)/(uPM*(uPM-1));
1519 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1520 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1531 QnNonIsoRe = (uNRe*QxanCor + uNIm*QyanCor)/uNM;
1532 QnNonIsoIm = (uNIm*QxanCor - uNRe*QyanCor)/uNM;
1536 QnNonIsoRe = (uNRe*uNRe-uNIm*uNIm-uN2Re)/(uNM*(uNM-1));
1537 QnNonIsoIm = (2.*uNRe*uNIm-uN2Im)/(uNM*(uNM-1));
1541 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1542 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1599 TwoQpQnV = 0.; TwoQpQpV = 0.; TwoQnQnV = 0.;
1600 TwoQpQnV = ((uPRe*uNRe-uPIm*uNIm)*QxcnCor + (uPRe*uNIm+uPIm*uNRe)*QycnCor) / (uPM*uNM) ;
1601 TwoQpQpV = ((uPRe*uPRe-uPIm*uPIm-uP2Re)*QxcnCor + (2.*uPRe*uPIm-uP2Im)*QycnCor) / (uPM*(uPM-1)) ;
1602 TwoQnQnV = ((uNRe*uNRe-uNIm*uNIm-uN2Re)*QxcnCor + (2.*uNRe*uNIm-uN2Im)*QycnCor) / (uNM*(uNM-1)) ;
1614 QnNonIsoRe = (uPRe*QxcnCor + uPIm*QycnCor)/uPM;
1615 QnNonIsoIm = (uPIm*QxcnCor - uPRe*QycnCor)/uPM;
1619 QnNonIsoRe = (uPRe*uPRe-uPIm*uPIm-uP2Re)/(uPM*(uPM-1));
1620 QnNonIsoIm = (2.*uPRe*uPIm-uP2Im)/(uPM*(uPM-1));
1624 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1625 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1636 QnNonIsoRe = (uNRe*QxcnCor + uNIm*QycnCor)/uNM;
1637 QnNonIsoIm = (uNIm*QxcnCor - uNRe*QycnCor)/uNM;
1641 QnNonIsoRe = (uNRe*uNRe-uNIm*uNIm-uN2Re)/(uNM*(uNM-1));
1642 QnNonIsoIm = (2.*uNRe*uNIm-uN2Im)/(uNM*(uNM-1));
1646 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1647 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1654 else if(QAindex==1) {
1659 QnNonIsoRe = (uPRe*QxcnCor + uPIm*QycnCor)/uPM;
1660 QnNonIsoIm = (uPIm*QxcnCor - uPRe*QycnCor)/uPM;
1664 QnNonIsoRe = (uPRe*uPRe-uPIm*uPIm-uP2Re)/(uPM*(uPM-1));
1665 QnNonIsoIm = (2.*uPRe*uPIm-uP2Im)/(uPM*(uPM-1));
1669 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1670 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1681 QnNonIsoRe = (uNRe*QxcnCor + uNIm*QycnCor)/uNM;
1682 QnNonIsoIm = (uNIm*QxcnCor - uNRe*QycnCor)/uNM;
1686 QnNonIsoRe = (uNRe*uNRe-uNIm*uNIm-uN2Re)/(uNM*(uNM-1));
1687 QnNonIsoIm = (2.*uNRe*uNIm-uN2Im)/(uNM*(uNM-1));
1691 QnNonIsoRe = (uPRe*uNRe-uPIm*uNIm)/(uPM*uNM);
1692 QnNonIsoIm = (uPRe*uNIm+uPIm*uNRe)/(uPM*uNM);
1760 for(
int ie=0; ie<16; ie++){
1762 uPM = MPOIposQAEta[ie];
1763 uNM = MPOInegQAEta[ie];
1767 uPRe = QxPosQAEta[ie];
1768 uNRe = QxNegQAEta[ie];
1769 uPIm = QyPosQAEta[ie];
1770 uNIm = QyNegQAEta[ie];
1772 uP2Re = QxAutoPosQAEta[ie];
1773 uP2Im = QyAutoPosQAEta[ie];
1774 uN2Re = QxAutoNegQAEta[ie];
1775 uN2Im = QyAutoNegQAEta[ie];
1781 TwoQpQnV = 0.; TwoQpQpV = 0.; TwoQnQnV = 0.;
1782 TwoQpQnV = ((uPRe*uNRe-uPIm*uNIm)*QxanCor + (uPRe*uNIm+uPIm*uNRe)*QyanCor) / (uPM*uNM) ;
1783 TwoQpQpV = ((uPRe*uPRe-uPIm*uPIm-uP2Re)*QxanCor + (2.*uPRe*uPIm-uP2Im)*QyanCor) / (uPM*(uPM-1.)) ;
1784 TwoQnQnV = ((uNRe*uNRe-uNIm*uNIm-uN2Re)*QxanCor + (2.*uNRe*uNIm-uN2Im)*QyanCor) / (uNM*(uNM-1.)) ;
1791 TwoQpQnV = 0.; TwoQpQpV = 0.; TwoQnQnV = 0.;
1792 TwoQpQnV = ((uPRe*uNRe-uPIm*uNIm)*QxcnCor + (uPRe*uNIm+uPIm*uNRe)*QycnCor) / (uPM*uNM) ;
1793 TwoQpQpV = ((uPRe*uPRe-uPIm*uPIm-uP2Re)*QxcnCor + (2.*uPRe*uPIm-uP2Im)*QycnCor) / (uPM*(uPM-1.)) ;
1794 TwoQnQnV = ((uNRe*uNRe-uNIm*uNIm-uN2Re)*QxcnCor + (2.*uNRe*uNIm-uN2Im)*QycnCor) / (uNM*(uNM-1.)) ;
1863 AliDebug(2,
"\n ... AliAnalysisTaskCMEV0::Terminate() is being called ... \n");
1880 for(
Int_t iV0 = 0; iV0 < 64; iV0++) {
1885 Double_t phiV0 = TMath::PiOver4()*(0.5 + iV0 % 8);
1886 Float_t multv0 = aodV0->GetMultiplicity(iV0);
1892 multCorC = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(1);
1893 else if(iV0 >= 8 && iV0 < 16)
1894 multCorC = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(9);
1895 else if(iV0 >= 16 && iV0 < 24)
1896 multCorC = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(17);
1897 else if(iV0 >= 24 && iV0 < 32)
1898 multCorC = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(25);
1901 cout<<
"Problem with multiplicity in V0C"<<endl;
1904 Qxcn += TMath::Cos(fHarmonic*phiV0) * multCorC;
1905 Qycn += TMath::Sin(fHarmonic*phiV0) * multCorC;
1907 sumMc = sumMc + multCorC;
1912 if(iV0 >= 32 && iV0 < 40)
1913 multCorA = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(33);
1914 else if(iV0 >= 40 && iV0 < 48)
1915 multCorA = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(41);
1916 else if(iV0 >= 48 && iV0 < 56)
1917 multCorA = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(49);
1918 else if(iV0 >= 56 && iV0 < 64)
1919 multCorA = multv0/
fMultV0->GetBinContent(iV0+1)*
fMultV0->GetBinContent(57);
1922 cout<<
"Problem with multiplicity in V0A"<<endl;
1925 Qxan += TMath::Cos(fHarmonic*phiV0) * multCorA;
1926 Qyan += TMath::Sin(fHarmonic*phiV0) * multCorA;
1928 sumMa = sumMa + multCorA;
1940 printf(
"\n\n ********** ZDC Wgt Histograms NotFound ***************\n\n");
1961 for(
int i=0;i<4;i++){
1967 else if(sfileNUA==
"NewPt"|| sfileNUA==
"NewpT"){
1969 for(
int i=0;i<4;i++){
1975 else if(sfileNUA==
"OldJ") {
1977 TGrid::Connect(
"alien://");
1980 fileNUApos = TFile::Open(
"alien:///alice/cern.ch/user/m/mhaque/calib_files/15oHI_FB768_PosCh_CenPhiEtaWeights_VtxRbR.root");
1984 fileNUAneg = TFile::Open(
"alien:///alice/cern.ch/user/m/mhaque/calib_files/15oHI_FB768_NegCh_CenPhiEtaWeights_VtxRbR.root");
1988 for(
int i=0;i<4;i++){
1993 for(
int i=0;i<4;i++){
2001 printf(
"\n\n ******** could not open NUA Histograms for run %d, Use Wgt = 1.0 *********\n\n",run);
2002 if(sfileNUA==
"OldJ"|| sfileNUA==
"NewR"){
2003 for(
int i=0;i<4;i++){
2004 fHCorrectNUApos[i] =
new TH3D(Form(
"fHCorrectNUApos_cent%d",i),
"",1,-10,10,1,0,6.284,1,-0.9,0.9);
2005 fHCorrectNUAneg[i] =
new TH3D(Form(
"fHCorrectNUAneg_cent%d",i),
"",1,-10,10,1,0,6.284,1,-0.9,0.9);
2011 else if(sfileNUA==
"NewPt"|| sfileNUA==
"NewpT"){
2012 for(
int i=0;i<4;i++){
2013 fHCorrectNUApos[i] =
new TH3D(Form(
"fHCorrectNUApos_cent%d",i),
"",1,0,10,1,0,6.284,1,-0.9,0.9);
2014 fHCorrectNUAneg[i] =
new TH3D(Form(
"fHCorrectNUAneg_cent%d",i),
"",1,0,10,1,0,6.284,1,-0.9,0.9);
2028 TGrid::Connect(
"alien://");
2033 foadb = TFile::Open(
"alien:///alice/cern.ch/user/a/adobrin/calibV0HIR.root");
2038 printf(
"OADB V0 calibration file cannot be opened\n");
2042 AliOADBContainer* cont = (AliOADBContainer*) foadb->Get(
"hMultV0BefCorPfpx");
2044 printf(
"OADB object hMultV0BefCorr is not available in the file\n");
2047 if(!(cont->GetObject(run))){
2048 printf(
"OADB object hMultV0BefCorPfpx is not available for run %i\n", run);
2053 AliOADBContainer* contQxnam = 0;
2054 if (fHarmonic == 2.)
2055 contQxnam = (AliOADBContainer*) foadb->Get(
"fqxa2m");
2057 contQxnam = (AliOADBContainer*) foadb->Get(
"fqxa3m");
2060 printf(
"OADB object fqxanm is not available in the file\n");
2063 if(!(contQxnam->GetObject(run))){
2064 printf(
"OADB object fqxanm is not available for run %i\n", run);
2069 AliOADBContainer* contQynam = 0;
2070 if (fHarmonic == 2.)
2071 contQynam = (AliOADBContainer*) foadb->Get(
"fqya2m");
2072 else if (fHarmonic == 3.)
2073 contQynam = (AliOADBContainer*) foadb->Get(
"fqya3m");
2074 else if (fHarmonic == 4.)
2075 contQynam = (AliOADBContainer*) foadb->Get(
"fqya4m");
2078 printf(
"OADB object fqyanm is not available in the file\n");
2081 if(!(contQynam->GetObject(run))){
2082 printf(
"OADB object fqyanm is not available for run %i\n", run);
2087 AliOADBContainer* contQxnas = 0;
2088 if (fHarmonic == 2.)
2089 contQxnas = (AliOADBContainer*) foadb->Get(
"fqxa2s");
2091 contQxnas = (AliOADBContainer*) foadb->Get(
"fqxa3s");
2094 printf(
"OADB object fqxans is not available in the file\n");
2097 if(!(contQxnas->GetObject(run))){
2098 printf(
"OADB object fqxans is not available for run %i\n", run);
2103 AliOADBContainer* contQynas = 0;
2104 if (fHarmonic == 2.)
2105 contQynas = (AliOADBContainer*) foadb->Get(
"fqya2s");
2106 else if (fHarmonic == 3.)
2107 contQynas = (AliOADBContainer*) foadb->Get(
"fqya3s");
2108 else if (fHarmonic == 4.)
2109 contQynas = (AliOADBContainer*) foadb->Get(
"fqya4s");
2112 printf(
"OADB object fqyans is not available in the file\n");
2115 if(!(contQynas->GetObject(run))){
2116 printf(
"OADB object fqyans is not available for run %i\n", run);
2123 AliOADBContainer* contQxncm = 0;
2124 if (fHarmonic == 2.)
2125 contQxncm = (AliOADBContainer*) foadb->Get(
"fqxc2m");
2127 contQxncm = (AliOADBContainer*) foadb->Get(
"fqxc3m");
2130 printf(
"OADB object fqxcnm is not available in the file\n");
2133 if(!(contQxncm->GetObject(run))){
2134 printf(
"OADB object fqxcnm is not available for run %i\n", run);
2141 AliOADBContainer* contQyncm = 0;
2142 if (fHarmonic == 2.)
2143 contQyncm = (AliOADBContainer*) foadb->Get(
"fqyc2m");
2144 else if (fHarmonic == 3.)
2145 contQyncm = (AliOADBContainer*) foadb->Get(
"fqyc3m");
2146 else if (fHarmonic == 4.)
2147 contQyncm = (AliOADBContainer*) foadb->Get(
"fqyc4m");
2150 printf(
"OADB object fqyc2m is not available in the file\n");
2153 if(!(contQyncm->GetObject(run))){
2154 printf(
"OADB object fqyc2m is not available for run %i\n", run);
2160 AliOADBContainer* contQxncs = 0;
2161 if (fHarmonic == 2.)
2162 contQxncs = (AliOADBContainer*) foadb->Get(
"fqxc2s");
2164 contQxncs = (AliOADBContainer*) foadb->Get(
"fqxc3s");
2167 printf(
"OADB object fqxc2s is not available in the file\n");
2170 if(!(contQxncs->GetObject(run))){
2171 printf(
"OADB object fqxc2s is not available for run %i\n", run);
2177 AliOADBContainer* contQyncs = 0;
2178 if (fHarmonic == 2.)
2179 contQyncs = (AliOADBContainer*) foadb->Get(
"fqyc2s");
2180 else if (fHarmonic == 3.)
2181 contQyncs = (AliOADBContainer*) foadb->Get(
"fqyc3s");
2182 else if (fHarmonic == 4.)
2183 contQyncs = (AliOADBContainer*) foadb->Get(
"fqyc4s");
2186 printf(
"OADB object fqycnm is not available in the file\n");
2189 if(!(contQyncs->GetObject(run))){
2190 printf(
"OADB object fqycns is not available for run %i\n", run);
2203 AliDebug(2,
"\n\n ::GetWDist => One of vertices is not valid\n\n");
2206 static TMatrixDSym vVb(3);
2208 double dx = v0->GetX()-v1->GetX();
2209 double dy = v0->GetY()-v1->GetY();
2210 double dz = v0->GetZ()-v1->GetZ();
2211 double cov0[6],cov1[6];
2212 v0->GetCovarianceMatrix(cov0);
2213 v1->GetCovarianceMatrix(cov1);
2214 vVb(0,0) = cov0[0]+cov1[0];
2215 vVb(1,1) = cov0[2]+cov1[2];
2216 vVb(2,2) = cov0[5]+cov1[5];
2217 vVb(1,0) = vVb(0,1) = cov0[1]+cov1[1];
2218 vVb(0,2) = vVb(1,2) = vVb(2,0) = vVb(2,1) = 0.;
2220 if (!vVb.IsValid()) {
2221 AliDebug(2,
"Singular Matrix\n");
2224 dist = vVb(0,0)*dx*dx + vVb(1,1)*dy*dy + vVb(2,2)*dz*dz
2225 + 2*vVb(0,1)*dx*dy + 2*vVb(0,2)*dx*dz + 2*vVb(1,2)*dy*dz;
2226 return dist>0 ? TMath::Sqrt(dist) : -1;
2231 const int kMinPlpContrib = 5;
2232 const double kMaxPlpChi2 = 5.0;
2233 const double kMinWDist = 15;
2235 const AliVVertex* vtPrm = 0;
2236 const AliVVertex* vtPlp = 0;
2240 if(!(nPlp=faod->GetNumberOfPileupVerticesTracks()))
2243 vtPrm = faod->GetPrimaryVertex();
2244 if(vtPrm == faod->GetPrimaryVertexSPD())
2249 for(
int ipl=0;ipl<nPlp;ipl++) {
2250 vtPlp = (
const AliVVertex*)faod->GetPileupVertexTracks(ipl);
2251 if (vtPlp->GetNContributors() < kMinPlpContrib)
continue;
2252 if (vtPlp->GetChi2perNDF() > kMaxPlpChi2)
continue;
2257 double wDst =
GetWDist(vtPrm,vtPlp);
2258 if (wDst<kMinWDist)
continue;
2290 for(
int i=1;i<=64;i++){
2295 printf(
"\n\n ********** V0M ch wgt Histograms NotFound, use Wgt = 1.0 ***************\n\n");
2315 centrV0M = ((AliVAODHeader*)faod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"V0M");
2316 centrCL1 = ((AliVAODHeader*)faod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"CL1");
2317 centrCL0 = ((AliVAODHeader*)faod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"CL0");
2318 centrTRK = ((AliVAODHeader*)faod->GetHeader())->GetCentralityP()->GetCentralityPercentile(
"TRK");
2321 fMultSelection = (AliMultSelection*) InputEvent()->FindListObject(
"MultSelection");
2323 printf(
"\n\n **WARNING** ::UserExec() AliMultSelection object not found.\n\n");
2340 Int_t isPileup = faod->IsPileupFromSPD(3);
2345 if(((AliAODHeader*)faod->GetHeader())->GetRefMultiplicityComb08() < 0) {
2349 if(faod->IsIncompleteDAQ()) {
2355 const AliAODVertex* vtTrc = faod->GetPrimaryVertex();
2356 const AliAODVertex* vtSPD = faod->GetPrimaryVertexSPD();
2358 if(vtTrc->GetNContributors() < 2 || vtSPD->GetNContributors()<1) {
2363 double covTrc[6], covSPD[6];
2364 vtTrc->GetCovarianceMatrix(covTrc);
2365 vtSPD->GetCovarianceMatrix(covSPD);
2367 double dz = vtTrc->GetZ() - vtSPD->GetZ();
2369 double errTot = TMath::Sqrt(covTrc[5]+covSPD[5]);
2370 double errTrc = TMath::Sqrt(covTrc[5]);
2371 double nsigTot = dz/errTot;
2372 double nsigTrc = dz/errTrc;
2374 if(TMath::Abs(dz)>0.2 || TMath::Abs(nsigTot)>10 || TMath::Abs(nsigTrc)>20) {
2409 Int_t isPileup = faod->IsPileupFromSPD(3);
2414 if(((AliAODHeader*)faod->GetHeader())->GetRefMultiplicityComb08() < 0) {
2418 if(faod->IsIncompleteDAQ()) {
2422 if(fabs(centrV0M-centrCL1)> 7.5) {
2428 const AliAODVertex* vtTrc = faod->GetPrimaryVertex();
2429 const AliAODVertex* vtSPD = faod->GetPrimaryVertexSPD();
2431 if(vtTrc->GetNContributors() < 2 || vtSPD->GetNContributors()<1) {
2436 double covTrc[6], covSPD[6];
2437 vtTrc->GetCovarianceMatrix(covTrc);
2438 vtSPD->GetCovarianceMatrix(covSPD);
2440 double dz = vtTrc->GetZ() - vtSPD->GetZ();
2442 double errTot = TMath::Sqrt(covTrc[5]+covSPD[5]);
2443 double errTrc = TMath::Sqrt(covTrc[5]);
2444 double nsigTot = dz/errTot;
2445 double nsigTrc = dz/errTrc;
2447 if(TMath::Abs(dz)>0.2 || TMath::Abs(nsigTot)>10 || TMath::Abs(nsigTrc)>20) {
2453 const Int_t nTracks = faod->GetNumberOfTracks();
2454 Int_t multEsd = ((AliAODHeader*)faod->GetHeader())->GetNumberOfESDTracks();
2462 for(
Int_t it = 0; it < nTracks; it++) {
2463 AliAODTrack* aodTrk = (AliAODTrack*)faod->GetTrack(it);
2475 if(aodTrk->TestFilterBit(128))
2477 if(aodTrk->TestFilterBit(96))
2483 Double_t multESDTPCDif = multEsdn - multTPCn*3.39;
2498 if(multESDTPCDif > 15000.){
2503 if(multESDTPCDif > 20.) {
2507 if(BisPileup==kFALSE) {
2509 if(!
fMultSelection->GetThisEventIsNotPileupMV()) BisPileup=kTRUE;
2510 if(!
fMultSelection->GetThisEventIsNotPileupInMultBins()) BisPileup=kTRUE;
2511 if(!
fMultSelection->GetThisEventHasNoInconsistentVertices()) BisPileup=kTRUE;
2512 if(!
fMultSelection->GetThisEventPassesTrackletVsCluster()) BisPileup=kTRUE;
2513 if(!
fMultSelection->GetThisEventIsNotIncompleteDAQ()) BisPileup=kTRUE;
2514 if(!
fMultSelection->GetThisEventHasGoodVertex2016()) BisPileup=kTRUE;
2539 printf(
"\n ... **WARNING** \n::UserExec() runnumber not listed.\n EXIT..\n");
2548 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};
2550 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};
2552 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};
2556 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};
2561 if(sPeriod==
"2010"){
2564 runNums[i] = runArray_2010[i];
2566 else if(sPeriod==
"2011"){
2569 runNums[i] = runArray_2011[i];
2571 else if(sPeriod==
"2015" || sPeriod==
"2015PbPb"){
2574 runNums[i] = runArray_2015[i];
2576 else if(sPeriod==
"2015pPb" || sPeriod==
"pPb"){
2579 runNums[i] = runArray_pPb_16q_pass1[i];
2584 printf(
"\n\n ***** Run Number not defined for this data set. *******\n\n Please modify code..\n\n");
2607 fPileUpMultSelCount =
new TH1F(
"fPileUpMultSelCount",
"fPileUpMultSelCount", 10, 0., 10.);
2618 fPileUpCount =
new TH1F(
"fPileUpCount",
"fPileUpCount", 12, 0., 12.);
2621 fPileUpCount->GetXaxis()->SetBinLabel(3,
"RefMultiplicityComb08");
2622 fPileUpCount->GetXaxis()->SetBinLabel(4,
"IncompleteDAQ");
2623 fPileUpCount->GetXaxis()->SetBinLabel(5,
"abs(V0M-CL1)>7.5");
2625 fPileUpCount->GetXaxis()->SetBinLabel(7,
"inconsistentVtx");
2626 fPileUpCount->GetXaxis()->SetBinLabel(8,
"multESDTPCDif=15000");
2627 fPileUpCount->GetXaxis()->SetBinLabel(9,
"multESDTPCDif=700");
2628 fPileUpCount->GetXaxis()->SetBinLabel(10,
"extraPileUpMultSel");
2632 fTaskConfigParm =
new TH1F(
"fTaskConfigParm",
"Connfig Values", 20, 0., 20.);
2663 for(
int i=0;i<3;i++){
2665 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,
"");
2668 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,
"");
2671 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,
"");
2676 for(
int i=0;i<3;i++){
2678 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,
"");
2684 Double_t centRange[11] = {0,5,10,20,30,40,50,60,70,80,90};
2693 for(
int i=0;i<2;i++){
2694 for(
int j=0;j<3;j++){
2696 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,
"");
2699 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,
"");
2702 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,
"");
2707 for(
int j=0;j<3;j++){
2709 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,
"");
2718 for(
int i=0;i<2;i++){
2719 for(
int j=0;j<3;j++){
2721 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,
"");
2724 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,
"");
2727 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,
"");
2732 for(
int j=0;j<3;j++){
2734 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,
"");
2764 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};
2766 for(
int i=0;i<2;i++){
2767 for(
int j=0;j<6;j++){
2768 sprintf(name,
"fHist_Corr3p_pTSum_EP_V0A_PN_Mag%d_Cent%d",i,j);
2769 sprintf(title,
"PN 3p vs (pT1+pT2)/2, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2774 sprintf(name,
"fHist_Corr3p_pTSum_EP_V0A_PP_Mag%d_Cent%d",i,j);
2775 sprintf(title,
"PP 3p vs (pT1+pT2)/2, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2780 sprintf(name,
"fHist_Corr3p_pTSum_EP_V0A_NN_Mag%d_Cent%d",i,j);
2781 sprintf(title,
"NN 3p vs (pT1+pT2)/2, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2786 sprintf(name,
"fHist_Corr3p_pTSum_EP_V0C_PN_Mag%d_Cent%d",i,j);
2787 sprintf(title,
"PN 3p vs (pT1+pT2)/2, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2792 sprintf(name,
"fHist_Corr3p_pTSum_EP_V0C_PP_Mag%d_Cent%d",i,j);
2793 sprintf(title,
"PP 3p vs (pT1+pT2)/2, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2798 sprintf(name,
"fHist_Corr3p_pTSum_EP_V0C_NN_Mag%d_Cent%d",i,j);
2799 sprintf(title,
"NN 3p vs (pT1+pT2)/2, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2806 for(
int i=0;i<2;i++){
2807 for(
int j=0;j<6;j++){
2808 sprintf(name,
"fHist_Corr3p_pTDiff_EP_V0A_PN_Mag%d_Cent%d",i,j);
2809 sprintf(title,
"PN 3p vs |pT1-pT2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2814 sprintf(name,
"fHist_Corr3p_pTDiff_EP_V0A_PP_Mag%d_Cent%d",i,j);
2815 sprintf(title,
"PP 3p vs |pT1-pT2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2820 sprintf(name,
"fHist_Corr3p_pTDiff_EP_V0A_NN_Mag%d_Cent%d",i,j);
2821 sprintf(title,
"NN 3p vs |pT1-pT2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2826 sprintf(name,
"fHist_Corr3p_pTDiff_EP_V0C_PN_Mag%d_Cent%d",i,j);
2827 sprintf(title,
"PN 3p vs |pT1-pT2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2832 sprintf(name,
"fHist_Corr3p_pTDiff_EP_V0C_PP_Mag%d_Cent%d",i,j);
2833 sprintf(title,
"PP 3p vs |pT1-pT2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2838 sprintf(name,
"fHist_Corr3p_pTDiff_EP_V0C_NN_Mag%d_Cent%d",i,j);
2839 sprintf(title,
"NN 3p vs |pT1-pT2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2846 Double_t EtaRange[9] = {0.0,0.2,0.4,0.6,0.8,1.0,1.2,1.4,1.6};
2848 for(
int i=0;i<2;i++){
2849 for(
int j=0;j<6;j++){
2850 sprintf(name,
"fHist_Corr3p_EtaDiff_EP_V0A_PN_Mag%d_Cent%d",i,j);
2851 sprintf(title,
"PN 3p vs |Eta1-Eta2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2856 sprintf(name,
"fHist_Corr3p_EtaDiff_EP_V0A_PP_Mag%d_Cent%d",i,j);
2857 sprintf(title,
"PP 3p vs |Eta1-Eta2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2862 sprintf(name,
"fHist_Corr3p_EtaDiff_EP_V0A_NN_Mag%d_Cent%d",i,j);
2863 sprintf(title,
"NN 3p vs |Eta1-Eta2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2868 sprintf(name,
"fHist_Corr3p_EtaDiff_EP_V0C_PN_Mag%d_Cent%d",i,j);
2869 sprintf(title,
"PN 3p vs |Eta1-Eta2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2874 sprintf(name,
"fHist_Corr3p_EtaDiff_EP_V0C_PP_Mag%d_Cent%d",i,j);
2875 sprintf(title,
"PP 3p vs |Eta1-Eta2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2880 sprintf(name,
"fHist_Corr3p_EtaDiff_EP_V0C_NN_Mag%d_Cent%d",i,j);
2881 sprintf(title,
"NN 3p vs |Eta1-Eta2|, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
2892 for(
int i=0;i<2;i++){
2893 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,
"");
2895 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,
"");
2898 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,
"");
2900 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,
"");
2904 for(
int i=0;i<2;i++){
2905 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,
"");
2907 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,
"");
2909 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,
"");
2940 fCentCL1vsVzRun =
new TH3F(
"fCentCL1vsVzRun",
"",80,-10,10,
fRunFlag,0,
fRunFlag,20,-10,10);
2945 fTPCvsGlobalTrk =
new TH2F(
"fAODvsESDTrk",
"ESDTrk vs TPC(FB128)",2000,0,20000,1000,0,10000);
2948 fTPCvsITSTrk =
new TH2F(
"fTPCvsITSTrk",
"Global(FB96) vs TPC(FB128)",1000,0,5000,1000,0,5000);
2951 fITSvsESDMult =
new TH2F(
"fITSvsESDMult",
"ESDTrk vs ITS(FB96) ",2000,0,20000,1000,0,5000);
2954 fGlobalITSMult =
new TH1F(
"fGlobalITSMult",
"Global(FB96) Multiplilcity",4000,0,4000);
2967 Double_t fCentBinQvect[16] = {0.,2.5,5,10,15,20,25,30,35,40,45,50,60,70,80,90};
2969 fHEnergyZNCvsCent =
new TH2F(
"fHEnergyZNCvsCent",
"ZNC Energy vs cent",15,fCentBinQvect,4000,0,200000);
2971 fHEnergyZNAvsCent =
new TH2F(
"fHEnergyZNAvsCent",
"ZNA Energy vs cent",15,fCentBinQvect,4000,0,200000);
2973 fHEnergyZPCvsCent =
new TH2F(
"fHEnergyZPCvsCent",
"ZPC Energy vs cent",15,fCentBinQvect,2000,0,50000);
2975 fHEnergyZPAvsCent =
new TH2F(
"fHEnergyZPAvsCent",
"ZPA Energy vs cent",15,fCentBinQvect,2000,0,50000);
2989 fHEnergyZNCvsZNA =
new TH2F(
"fHEnergyZNCvsZNA",
"ZNC Energy vs cent",500,50000,150000,500,50000,150000);
2997 Int_t magField[2] = {0,1};
2999 for(
int i=0;i<2;i++){
3000 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,
"");
3003 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,
"");
3006 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,
"");
3010 for(
int i=0;i<2;i++){
3011 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,
"");
3014 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,
"");
3017 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,
"");
3030 Int_t suffixEta[4] = {1,0,1,0};
3031 Int_t suffixVz[4] = {1,1,0,0};
3034 for(
int i=0;i<4;i++){
3137 for(
int i=0;i<10;i++){
3138 sprintf(name,
"fHistChPosvsEtaPtRun_Cent%d",i);
3139 sprintf(title,
"Pos Ch, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
3140 fHistChPosvsEtaPtRun[i] =
new TH3F(name,title,25,0.2,5.2,16,-0.8,0.8,
fRunFlag,0,
fRunFlag);
3142 sprintf(name,
"fHistChNegvsEtaPtRun_Cent%d",i);
3143 sprintf(title,
"Neg Ch, Cent %2.0f-%2.0f",centRange[i],centRange[i+1]);
3144 fHistChNegvsEtaPtRun[i] =
new TH3F(name,title,25,0.2,5.2,16,-0.8,0.8,
fRunFlag,0,
fRunFlag);
3151 Int_t gCentForNUA[6] = {0,5,10,20,40,90};
3154 for(
int i=0;i<5;i++){
3156 sprintf(name,
"fHistEtaPhiVz_Pos_Cent%d_Run%d",i,
runNums[j]);
3157 sprintf(title,
"eta,phi,Vz Pos Cent%d-%d%%",gCentForNUA[i],gCentForNUA[i+1]);
3158 fHist3DEtaPhiVz_Pos_Run[i][j] =
new TH3F(name,title,10,-10,10,50,0,6.283185,16,-0.8,0.8);
3161 sprintf(name,
"fHistEtaPhiVz_Neg_Cent%d_Run%d",i,
runNums[j]);
3162 sprintf(title,
"eta,phi,Vz Pos Cent%d-%d%%",gCentForNUA[i],gCentForNUA[i+1]);
3163 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 * 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
TH3F * fFB_Efficiency_Neg[10]
3d correction Map
TProfile * fHist_Corr3p_pTDiff_EP_V0A_NN[2][6]
TH1F * fVzBinFinderForNUA
TProfile2D * fHist_Corr3p_ZDN_SP_PN[3]
TProfile2D * fV0CQnxVsCentRun
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]
TProfile2D * fV0CQnyVsCentRun
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]
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
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]
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]
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]
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 * 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)
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 * fV0AQnxVsCentRun
TProfile2D * fTPCQnxVsCentRun
double GetWDist(const AliVVertex *v0, const AliVVertex *v1)
TProfile2D * fHSin2nDWNegChEtaVz[4]
TProfile2D * fAvgPOINNCentRun
same sign Pos-Pos pairs
TH3F * fHist3DEtaPhiVz_Pos_Run[5][90]
4 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.