@@ -297,37 +297,32 @@ struct RadialFlowDecorr {
297297 {
298298 float pt = track.pt ();
299299 auto sign = track.sign ();
300- histos.fill (HIST (" h3DnsigmaTpcVsPtBefCut_Cent" ), cent, pt, track.tpcNSigmaPi ());
301- histos.fill (HIST (" h3DnsigmaTofVsPtBefCut_Cent" ), cent, pt, track.tofNSigmaPi ());
302- histos.fill (HIST (" h3DnsigmaTpcVsTofBefCut_Cent" ), cent, track.tofNSigmaPi (), track.tpcNSigmaPi ());
303300
304- histos.fill (HIST (" h3DnsigmaTpcVsPtBefCut_Cent" ), cent, pt, track.tpcNSigmaKa ());
305- histos.fill (HIST (" h3DnsigmaTofVsPtBefCut_Cent" ), cent, pt, track.tofNSigmaKa ());
306- histos.fill (HIST (" h3DnsigmaTpcVsTofBefCut_Cent" ), cent, track.tofNSigmaKa (), track.tpcNSigmaKa ());
307-
308- histos.fill (HIST (" h3DnsigmaTpcVsPtBefCut_Cent" ), cent, pt, track.tpcNSigmaPr ());
309- histos.fill (HIST (" h3DnsigmaTofVsPtBefCut_Cent" ), cent, pt, track.tofNSigmaPr ());
310- histos.fill (HIST (" h3DnsigmaTpcVsTofBefCut_Cent" ), cent, track.tofNSigmaPr (), track.tpcNSigmaPr ());
311301 if (sign > 0 ) {
312302 histos.fill (HIST (" h3DnsigmaTpcVsPtBefCut_Cent_PiPlus" ), cent, pt, track.tpcNSigmaPi ());
313303 histos.fill (HIST (" h3DnsigmaTofVsPtBefCut_Cent_PiPlus" ), cent, pt, track.tofNSigmaPi ());
314304 histos.fill (HIST (" h3DnsigmaTpcVsTofBefCut_Cent_PiPlus" ), cent, track.tofNSigmaPi (), track.tpcNSigmaPi ());
305+
315306 histos.fill (HIST (" h3DnsigmaTpcVsPtBefCut_Cent_KaPlus" ), cent, pt, track.tpcNSigmaKa ());
316307 histos.fill (HIST (" h3DnsigmaTofVsPtBefCut_Cent_KaPlus" ), cent, pt, track.tofNSigmaKa ());
317308 histos.fill (HIST (" h3DnsigmaTpcVsTofBefCut_Cent_KaPlus" ), cent, track.tofNSigmaKa (), track.tpcNSigmaKa ());
309+
318310 histos.fill (HIST (" h3DnsigmaTpcVsPtBefCut_Cent_Pr" ), cent, pt, track.tpcNSigmaPr ());
319311 histos.fill (HIST (" h3DnsigmaTofVsPtBefCut_Cent_Pr" ), cent, pt, track.tofNSigmaPr ());
320312 histos.fill (HIST (" h3DnsigmaTpcVsTofBefCut_Cent_Pr" ), cent, track.tofNSigmaPr (), track.tpcNSigmaPr ());
321313 } else if (sign < 0 ) {
322314 histos.fill (HIST (" h3DnsigmaTpcVsPtBefCut_Cent_PiMinus" ), cent, pt, track.tpcNSigmaPi ());
323315 histos.fill (HIST (" h3DnsigmaTofVsPtBefCut_Cent_PiMinus" ), cent, pt, track.tofNSigmaPi ());
324316 histos.fill (HIST (" h3DnsigmaTpcVsTofBefCut_Cent_PiMinus" ), cent, track.tofNSigmaPi (), track.tpcNSigmaPi ());
317+
325318 histos.fill (HIST (" h3DnsigmaTpcVsPtBefCut_Cent_KaMinus" ), cent, pt, track.tpcNSigmaKa ());
326319 histos.fill (HIST (" h3DnsigmaTofVsPtBefCut_Cent_KaMinus" ), cent, pt, track.tofNSigmaKa ());
327320 histos.fill (HIST (" h3DnsigmaTpcVsTofBefCut_Cent_KaMinus" ), cent, track.tofNSigmaKa (), track.tpcNSigmaKa ());
321+
328322 histos.fill (HIST (" h3DnsigmaTpcVsPtBefCut_Cent_AntiPr" ), cent, pt, track.tpcNSigmaPr ());
329323 histos.fill (HIST (" h3DnsigmaTofVsPtBefCut_Cent_AntiPr" ), cent, pt, track.tofNSigmaPr ());
330324 histos.fill (HIST (" h3DnsigmaTpcVsTofBefCut_Cent_AntiPr" ), cent, track.tofNSigmaPr (), track.tpcNSigmaPr ());
325+
331326 }
332327 histos.fill (HIST (" h3DnsigmaTpcVsPtBefCut_Cent_PiAll" ), cent, pt, track.tpcNSigmaPi ());
333328 histos.fill (HIST (" h3DnsigmaTofVsPtBefCut_Cent_PiAll" ), cent, pt, track.tofNSigmaPi ());
@@ -340,68 +335,91 @@ struct RadialFlowDecorr {
340335 histos.fill (HIST (" h3DnsigmaTpcVsPtBefCut_Cent_PrAll" ), cent, pt, track.tpcNSigmaPr ());
341336 histos.fill (HIST (" h3DnsigmaTofVsPtBefCut_Cent_PrAll" ), cent, pt, track.tofNSigmaPr ());
342337 histos.fill (HIST (" h3DnsigmaTpcVsTofBefCut_Cent_PrAll" ), cent, track.tofNSigmaPr (), track.tpcNSigmaPr ());
338+
339+ histos.fill (HIST (" h3DnsigmaTpcVsPtBefCut_Cent" ), cent, pt, track.tpcNSigmaPi ());
340+ histos.fill (HIST (" h3DnsigmaTofVsPtBefCut_Cent" ), cent, pt, track.tofNSigmaPi ());
341+ histos.fill (HIST (" h3DnsigmaTpcVsTofBefCut_Cent" ), cent, track.tofNSigmaPi (), track.tpcNSigmaPi ());
342+
343+ histos.fill (HIST (" h3DnsigmaTpcVsPtBefCut_Cent" ), cent, pt, track.tpcNSigmaKa ());
344+ histos.fill (HIST (" h3DnsigmaTofVsPtBefCut_Cent" ), cent, pt, track.tofNSigmaKa ());
345+ histos.fill (HIST (" h3DnsigmaTpcVsTofBefCut_Cent" ), cent, track.tofNSigmaKa (), track.tpcNSigmaKa ());
346+
347+ histos.fill (HIST (" h3DnsigmaTpcVsPtBefCut_Cent" ), cent, pt, track.tpcNSigmaPr ());
348+ histos.fill (HIST (" h3DnsigmaTofVsPtBefCut_Cent" ), cent, pt, track.tofNSigmaPr ());
349+ histos.fill (HIST (" h3DnsigmaTpcVsTofBefCut_Cent" ), cent, track.tofNSigmaPr (), track.tpcNSigmaPr ());
343350 }
344351
345352 template <typename T>
346353 void fillNSigmaAftCut (const T& track, float cent, bool isSpecies[])
347354 {
348355 float pt = track.pt ();
356+ float tpcPi = track.tpcNSigmaPi ();
357+ float tofPi = track.tofNSigmaPi ();
349358
350- if (isSpecies[kInclusiveIdx ]) {
351- histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent" ), cent, pt, track.tpcNSigmaPi ());
352- histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent" ), cent, pt, track.tofNSigmaPi ());
353- histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent" ), cent, track.tofNSigmaPi (), track.tpcNSigmaPi ());
359+ float tpcKa = track.tpcNSigmaKa ();
360+ float tofKa = track.tofNSigmaKa ();
354361
355- histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent" ), cent, pt, track.tpcNSigmaKa ());
356- histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent" ), cent, pt, track.tofNSigmaKa ());
357- histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent" ), cent, track.tofNSigmaKa (), track.tpcNSigmaKa ());
362+ float tpcPr = track.tpcNSigmaPr ();
363+ float tofPr = track.tofNSigmaPr ();
358364
359- histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent" ), cent, pt, track.tpcNSigmaPr ());
360- histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent" ), cent, pt, track.tofNSigmaPr ());
361- histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent" ), cent, track.tofNSigmaPr (), track.tpcNSigmaPr ());
362- }
363365 if (isSpecies[kPiPlusIdx ]) {
364- histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent_PiPlus" ), cent, pt, track.tpcNSigmaPi ());
365- histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent_PiPlus" ), cent, pt, track.tofNSigmaPi ());
366- histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent_PiPlus" ), cent, track.tofNSigmaPi (), track.tpcNSigmaPi ());
367- } else if (isSpecies[kPiMinusIdx ]) {
368- histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent_PiMinus" ), cent, pt, track.tpcNSigmaPi ());
369- histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent_PiMinus" ), cent, pt, track.tofNSigmaPi ());
370- histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent_PiMinus" ), cent, track.tofNSigmaPi (), track.tpcNSigmaPi ());
366+ histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent_PiPlus" ), cent, pt, tpcPi);
367+ histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent_PiPlus" ), cent, pt, tofPi);
368+ histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent_PiPlus" ), cent, tofPi, tpcPi);
369+ }
370+ if (isSpecies[kPiMinusIdx ]) {
371+ histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent_PiMinus" ), cent, pt, tpcPi);
372+ histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent_PiMinus" ), cent, pt, tofPi);
373+ histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent_PiMinus" ), cent, tofPi, tpcPi);
371374 }
372375 if (isSpecies[kPiAllIdx ]) {
373- histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent_PiAll" ), cent, pt, track.tpcNSigmaPi ());
374- histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent_PiAll" ), cent, pt, track.tofNSigmaPi ());
375- histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent_PiAll" ), cent, track.tofNSigmaPi (), track.tpcNSigmaPi ());
376+ histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent_PiAll" ), cent, pt, tpcPi);
377+ histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent_PiAll" ), cent, pt, tofPi);
378+ histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent_PiAll" ), cent, tofPi, tpcPi);
379+
380+ histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent" ), cent, pt, tpcPi);
381+ histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent" ), cent, pt, tofPi);
382+ histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent" ), cent, tofPi, tpcPi);
376383 }
377384 if (isSpecies[kKaPlusIdx ]) {
378- histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent_KaPlus" ), cent, pt, track.tpcNSigmaKa ());
379- histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent_KaPlus" ), cent, pt, track.tofNSigmaKa ());
380- histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent_KaPlus" ), cent, track.tofNSigmaKa (), track.tpcNSigmaKa ());
381- } else if (isSpecies[kKaMinusIdx ]) {
382- histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent_KaMinus" ), cent, pt, track.tpcNSigmaKa ());
383- histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent_KaMinus" ), cent, pt, track.tofNSigmaKa ());
384- histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent_KaMinus" ), cent, track.tofNSigmaKa (), track.tpcNSigmaKa ());
385+ histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent_KaPlus" ), cent, pt, tpcKa);
386+ histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent_KaPlus" ), cent, pt, tofKa);
387+ histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent_KaPlus" ), cent, tofKa, tpcKa);
388+ }
389+ if (isSpecies[kKaMinusIdx ]) {
390+ histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent_KaMinus" ), cent, pt, tpcKa);
391+ histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent_KaMinus" ), cent, pt, tofKa);
392+ histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent_KaMinus" ), cent, tofKa, tpcKa);
385393 }
386394 if (isSpecies[kKaAllIdx ]) {
387- histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent_KaAll" ), cent, pt, track.tpcNSigmaKa ());
388- histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent_KaAll" ), cent, pt, track.tofNSigmaKa ());
389- histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent_KaAll" ), cent, track.tofNSigmaKa (), track.tpcNSigmaKa ());
395+ histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent_KaAll" ), cent, pt, tpcKa);
396+ histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent_KaAll" ), cent, pt, tofKa);
397+ histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent_KaAll" ), cent, tofKa, tpcKa);
398+
399+ histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent" ), cent, pt, tpcKa);
400+ histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent" ), cent, pt, tofKa);
401+ histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent" ), cent, tofPi, tpcKa);
390402 }
391403 if (isSpecies[kPrIdx ]) {
392- histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent_Pr" ), cent, pt, track.tpcNSigmaPr ());
393- histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent_Pr" ), cent, pt, track.tofNSigmaPr ());
394- histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent_Pr" ), cent, track.tofNSigmaPr (), track.tpcNSigmaPr ());
395- } else if (isSpecies[kAntiPrIdx ]) {
396- histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent_AntiPr" ), cent, pt, track.tpcNSigmaPr ());
397- histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent_AntiPr" ), cent, pt, track.tofNSigmaPr ());
398- histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent_AntiPr" ), cent, track.tofNSigmaPr (), track.tpcNSigmaPr ());
404+ histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent_Pr" ), cent, pt, tpcPr);
405+ histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent_Pr" ), cent, pt, tofPr);
406+ histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent_Pr" ), cent, tofPr, tpcPr);
407+ }
408+ if (isSpecies[kAntiPrIdx ]) {
409+ histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent_AntiPr" ), cent, pt, tpcPr);
410+ histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent_AntiPr" ), cent, pt, tofPr);
411+ histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent_AntiPr" ), cent, tofPr, tpcPr);
399412 }
400413 if (isSpecies[kPrAllIdx ]) {
401- histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent_PrAll" ), cent, pt, track.tpcNSigmaPr ());
402- histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent_PrAll" ), cent, pt, track.tofNSigmaPr ());
403- histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent_PrAll" ), cent, track.tofNSigmaPr (), track.tpcNSigmaPr ());
414+ histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent_PrAll" ), cent, pt, tpcPr);
415+ histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent_PrAll" ), cent, pt, tofPr);
416+ histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent_PrAll" ), cent, tofPr, tpcPr);
417+
418+ histos.fill (HIST (" h3DnsigmaTpcVsPtAftCut_Cent" ), cent, pt, tpcPr);
419+ histos.fill (HIST (" h3DnsigmaTofVsPtAftCut_Cent" ), cent, pt, tofPr);
420+ histos.fill (HIST (" h3DnsigmaTpcVsTofAftCut_Cent" ), cent, tofPi, tpcPr);
404421 }
422+ else return ;
405423 }
406424
407425 // Returns: 0 = Unknown/Reject, 1 = Pion, 2 = Kaon, 3 = Proton
@@ -1580,12 +1598,12 @@ struct RadialFlowDecorr {
15801598 isKa && sign < 0 , isKa && sign > 0 , isKa,
15811599 isPr && sign < 0 , isPr && sign > 0 , isPr};
15821600
1601+ fillNSigmaAftCut (track, cent, isSpecies);
1602+
15831603 for (int isp = 0 ; isp < KNsp; ++isp) {
15841604 if (!isSpecies[isp])
15851605 continue ;
15861606
1587- fillNSigmaAftCut (track, cent, isSpecies);
1588-
15891607 if (isp == kInclusiveIdx ) {
15901608 histos.fill (HIST (" h3_AllReco" ), multPV, pt, eta);
15911609 if (track.has_mcParticle ()) {
@@ -2008,7 +2026,6 @@ struct RadialFlowDecorr {
20082026 histos.fill (HIST (" Fake_eta" ), eta, fake);
20092027 histos.fill (HIST (" wgt_eta" ), eta, w);
20102028 }
2011-
20122029 if (isp == kInclusiveIdx ) {
20132030 histos.fill (HIST (" hEtaPhiReco" ), vz, sign, pt, eta, phi);
20142031 histos.fill (HIST (" hEtaPhiRecoWtd" ), vz, sign, pt, eta, phi, w);
@@ -3072,10 +3089,10 @@ struct RadialFlowDecorr {
30723089 isKa && sign < 0 , isKa && sign > 0 , isKa,
30733090 isPr && sign < 0 , isPr && sign > 0 , isPr};
30743091
3092+ fillNSigmaAftCut (track, cent, isSpecies);
30753093 for (int isp = 0 ; isp < KNsp; ++isp) {
30763094 if (!isSpecies[isp])
30773095 continue ;
3078- fillNSigmaAftCut (track, cent, isSpecies);
30793096 float eff = getEfficiency (coll.multNTracksPV (), pt, eta, static_cast <PIDIdx>(isp), 0 , cfgEff);
30803097 if (eff <= KFloatEpsilon)
30813098 continue ;
@@ -3204,8 +3221,6 @@ struct RadialFlowDecorr {
32043221 if (!isSpecies[isp])
32053222 continue ;
32063223 float eff = getEfficiency (coll.multNTracksPV (), pt, eta, static_cast <PIDIdx>(isp), 0 , cfgEff);
3207-
3208- // Safety check BEFORE dividing
32093224 if (eff <= KFloatEpsilon)
32103225 continue ;
32113226
@@ -3268,16 +3283,18 @@ struct RadialFlowDecorr {
32683283 }
32693284
32703285 for (int isp = 0 ; isp < KNsp; ++isp) {
3286+ if (sumWi[isp][0 ] < 1 .0f ) continue ;
32713287 histos.fill (HIST (" Prof_Cent_Nsp_Nchrec" ), cent, isp, sumWi[isp][0 ]);
32723288 histos.fill (HIST (" Prof_Mult_Nsp_Nchrec" ), coll.multNTracksPV (), isp, sumWi[isp][0 ]);
3273- if (sumWi[isp][0 ] > 1 .0f )
3274- histos.fill (HIST (" Prof_Cent_Nsp_MeanpT" ), cent, isp, sumWipti[isp][0 ] / sumWi[isp][0 ]);
3289+ histos.fill (HIST (" Prof_Cent_Nsp_MeanpT" ), cent, isp, sumWipti[isp][0 ] / sumWi[isp][0 ]);
32753290 histos.fill (HIST (" Prof_Mult_Nsp_MeanpT" ), coll.multNTracksPV (), isp, sumWipti[isp][0 ] / sumWi[isp][0 ]);
32763291 }
32773292
32783293 for (int ietaA = 0 ; ietaA < KNEta; ++ietaA) {
32793294 for (int ietaC = 0 ; ietaC < KNEta; ++ietaC) {
32803295 for (int isp = 0 ; isp < KNsp; ++isp) {
3296+ if ((sumWi[isp][ietaA] < 1 .0f ) || (sumWi[isp][ietaC] < 1 .0f )) continue ;
3297+
32813298 double wCorrAB = sumWi[isp][ietaA] + sumWi[isp][ietaC];
32823299 if (wCorrAB > 0 ) {
32833300 float mptsub = (sumWipti[isp][ietaA] + sumWipti[isp][ietaC]) / wCorrAB;
@@ -3414,8 +3431,6 @@ struct RadialFlowDecorr {
34143431 if (!isSpecies[isp])
34153432 continue ;
34163433 float eff = getEfficiency (coll.multNTracksPV (), pt, eta, static_cast <PIDIdx>(isp), 0 , cfgEff);
3417-
3418- // Safety check BEFORE dividing
34193434 if (eff <= KFloatEpsilon)
34203435 continue ;
34213436
@@ -3535,7 +3550,6 @@ struct RadialFlowDecorr {
35353550 float covFT0A = p1kBarFt0A * p1kBar[isp][ietaC];
35363551 float covFT0C = p1kBarFt0C * p1kBar[isp][ietaA];
35373552
3538- // Updated enum checks here
35393553 if (isp == kInclusiveIdx ) {
35403554 if (std::isfinite (c2Sub)) {
35413555 histos.fill (HIST (" Prof_C2Sub2D_Cent_etaA_etaC" ), cent, etaValA, etaValB, c2Sub);
0 commit comments