@@ -215,13 +215,8 @@ struct RadialFlowDecorr {
215215 // binning and are rebuilt in init(). Placeholders here.
216216 AxisSpec etaAxis{9 , -0.9 , 0.9 , " #eta" };
217217 AxisSpec etaBinAxis{10 , -0.5 , 9.5 , " #eta bin Number" };
218-
219- AxisSpec gapAxis{{-1.5 , -1.3 , -1.1 , -0.9 , -0.7 , -0.5 , -0.3 , -0.1 ,
220- 0.1 , 0.3 , 0.5 , 0.7 , 0.9 , 1.1 , 1.3 , 1.5 },
221- " Gap" };
222- AxisSpec sumAxis{{-1.5 , -1.3 , -1.1 , -0.9 , -0.7 , -0.5 , -0.3 , -0.1 ,
223- 0.1 , 0.3 , 0.5 , 0.7 , 0.9 , 1.1 , 1.3 , 1.5 },
224- " Sum" };
218+ AxisSpec gapAxis{15 , -1.5 , 1.5 , " #Delta#eta" };
219+ AxisSpec sumAxis{15 , -1.5 , 1.5 , " #Sigma#eta" };
225220
226221 // --- process switches --------------------------------------------------------
227222 Configurable<bool > cfgRunGetEff{" cfgRunGetEff" , false , " Run MC pass to build efficiency/fake maps" };
@@ -1096,8 +1091,12 @@ struct RadialFlowDecorr {
10961091 }
10971092 etaAxis = AxisSpec{obsEdges, " #eta" };
10981093 etaBinAxis = AxisSpec{nEta + 1 , -0.5 , static_cast <double >(nEta) + 0.5 , " #eta bin Number" };
1099- LOGF (info, " Observable eta binning (%s): %d bins of width %.2f over |eta|<%.2f (+ reference), nEta=%d" ,
1100- isMcRun ? " MC pinned" : " DATA" , nbins, width, halfEta, nEta);
1094+ // (Delta eta, Sigma eta): fills are integer multiples of w, so 2N-1 bins
1095+ // of width w centred on them, out to (N-1/2) w.
1096+ const int nGS = 2 * nbins - 1 ;
1097+ const double gsMax = (nbins - 0.5 ) * width;
1098+ gapAxis = AxisSpec{nGS, -gsMax, gsMax, " #Delta#eta" };
1099+ sumAxis = AxisSpec{nGS, -gsMax, gsMax, " #Sigma#eta" };
11011100 }
11021101
11031102 // bootstrap active only for the base data fluctuation pass
@@ -1890,8 +1889,9 @@ struct RadialFlowDecorr {
18901889 for (int ietaC = 1 ; ietaC < nEta; ++ietaC) {
18911890 float etaValA = (etaLw[ietaA] + etaUp[ietaA]) / 2 .0f ;
18921891 float etaValB = (etaLw[ietaC] + etaUp[ietaC]) / 2 .0f ;
1893- float gap = etaValA - etaValB;
1894- float sum = (etaValA + etaValB);
1892+ const float w = etaUp[ietaA] - etaLw[ietaA];
1893+ const float gap = (ietaA - ietaC) * w;
1894+ const float sum = 2 .f * etaLw[1 ] + (ietaA + ietaC - 1 ) * w; // = cA + cC on the lattice
18951895
18961896 float c2SubTru = (ietaA == ietaC) ? static_cast <float >(c2Tru[ietaA]) : p1kBarTru[ietaA] * p1kBarTru[ietaC];
18971897 float c2SubReco = (ietaA == ietaC) ? static_cast <float >(c2Reco[ietaA]) : p1kBarReco[ietaA] * p1kBarReco[ietaC];
@@ -2308,8 +2308,9 @@ struct RadialFlowDecorr {
23082308 for (int ietaC = 1 ; ietaC < nEta; ++ietaC) {
23092309 float etaValA = (etaLw[ietaA] + etaUp[ietaA]) / 2 .0f ;
23102310 float etaValB = (etaLw[ietaC] + etaUp[ietaC]) / 2 .0f ;
2311- float gap = etaValA - etaValB;
2312- float sum = (etaValA + etaValB);
2311+ const float w = etaUp[ietaA] - etaLw[ietaA];
2312+ const float gap = (ietaA - ietaC) * w;
2313+ const float sum = 2 .f * etaLw[1 ] + (ietaA + ietaC - 1 ) * w; // = cA + cC on the lattice
23132314
23142315 float c2Sub = (ietaA == ietaC) ? static_cast <float >(c2[ietaA]) : p1kBar[ietaA] * p1kBar[ietaC];
23152316 // C3 sub-event map, ORDERED: cell (A,C) = c2[A] p1kBar[C] = <dpT dpT>_A <dpT>_C,
0 commit comments