Skip to content

Commit c49c25a

Browse files
authored
[PWGCF] JCorran/Core: Bug Fix to C0-scaling term (#18366)
1 parent 57eabe2 commit c49c25a

2 files changed

Lines changed: 13 additions & 6 deletions

File tree

‎PWGCF/JCorran/Core/FlowJSPCAnalysis.cxx‎

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,15 +121,21 @@ void FlowJSPCAnalysis::calculateCorrelators(const int fCentBin)
121121
fillHistograms(fCentBin, j, correlationNum, correlationDenom, weightCorrelationNum, weightCorrelationDenom);
122122
}
123123

124-
// N_m = Re(Q_{0,1}); weight M_m. 3SPC → fN3, 4SPC → fN4.
124+
// Effective multiplicity N_m (arXiv:2606.10258 Eq. IV.2 / manuscript eq:Neff):
125+
// 1/N_m^{m-1} = sum_i M_m(N_i) N_i^{-(m-1)} / sum_i M_m(N_i),
126+
// with M_m = N(N-1)...(N-m+1) = fCorrelDenoms[m-1] and N = Re(Q_{0,1}).
127+
// TProfile stores <N^{-(m-1)}>_comb; invert offline as N_m = content^{-1/(m-1)}.
128+
// 3SPC → fN3 (m=3); 4SPC → fN4 (m=4).
125129
if (mHistRegistry && qvecs) {
126130
const double nSel = qvecs->QvectorQC[0][1].Re();
127131
const float centX = static_cast<float>(fCentBin) + 0.5f;
128132
if (nSel > 0.0 && std::isfinite(nSel)) {
129133
if (mWhichSPC == 0 && fCorrelDenoms[2] > 0.0) {
130-
mHistRegistry->fill(HIST("fN3"), centX, nSel, fCorrelDenoms[2]);
134+
const double invN3Pow = 1.0 / (nSel * nSel); // N^{-(3-1)}
135+
mHistRegistry->fill(HIST("fN3"), centX, invN3Pow, fCorrelDenoms[2]);
131136
} else if (mWhichSPC == 1 && fCorrelDenoms[3] > 0.0) {
132-
mHistRegistry->fill(HIST("fN4"), centX, nSel, fCorrelDenoms[3]);
137+
const double invN4Pow = 1.0 / (nSel * nSel * nSel); // N^{-(4-1)}
138+
mHistRegistry->fill(HIST("fN4"), centX, invN4Pow, fCorrelDenoms[3]);
133139
}
134140
}
135141
}

‎PWGCF/JCorran/Core/FlowJSPCAnalysis.h‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,10 @@ class FlowJSPCAnalysis
7979
return;
8080
}
8181
mHistRegistry->add("FullCentrality", "FullCentrality", o2::framework::HistType::kTH1D, {{100, 0., 100.}}, true);
82-
// Effective N_m per centrality class, weighted by M_m (arXiv:2606.10258 c0).
83-
mHistRegistry->add("fN3", "Effective N_{3};centrality class;N_{3}", {o2::framework::HistType::kTProfile, {{9, 0., 9.}}}, true);
84-
mHistRegistry->add("fN4", "Effective N_{4};centrality class;N_{4}", {o2::framework::HistType::kTProfile, {{9, 0., 9.}}}, true);
82+
// Stores <N^{-(m-1)}>_comb = 1/N_m^{m-1} (arXiv:2606.10258 Eq. IV.2).
83+
// Invert offline: N_m = content^{-1/(m-1)}. Weight is M_m.
84+
mHistRegistry->add("fN3", "1/N_{3}^{2};centrality class;1/N_{3}^{2}", {o2::framework::HistType::kTProfile, {{9, 0., 9.}}}, true);
85+
mHistRegistry->add("fN4", "1/N_{4}^{3};centrality class;1/N_{4}^{3}", {o2::framework::HistType::kTProfile, {{9, 0., 9.}}}, true);
8586
mHistRegistry->add("Centrality_0/fResults", "Numerators and denominators", {o2::framework::HistType::kTProfile, {{24, 0., 24.}}}, true);
8687
mHistRegistry->add("Centrality_0/fCovResults", "Covariance N*D", {o2::framework::HistType::kTProfile, {{48, 0., 48.}}}, true);
8788
mHistRegistry->add("Centrality_0/phiBefore", "Phi before", {o2::framework::HistType::kTH1D, {{100, 0., o2::constants::math::TwoPI}}}, true);

0 commit comments

Comments
 (0)