Skip to content

Commit

Permalink
[PWGDQ] Average of Correlators - Multi-particle cumulants method (Ali…
Browse files Browse the repository at this point in the history
  • Loading branch information
victorvalenciatorres authored Oct 31, 2024
1 parent 69eef88 commit 52e4277
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 1 deletion.
2 changes: 2 additions & 0 deletions PWGDQ/Core/HistogramsLibrary.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,8 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
hm->AddHistogram(histClass, "Psi2C_CentFT0C", "", false, 18, 0.0, 90.0, VarManager::kCentFT0C, 100, -2.0, 2.0, VarManager::kPsi2C);
hm->AddHistogram(histClass, "centrFT0C_Corr2REF_ev", "", true, 18, 0.0, 90.0, VarManager::kCentFT0C, 500, -1.0, 1.0, VarManager::kCORR2REF, VarManager::kM11REF);
hm->AddHistogram(histClass, "centrFT0C_Corr4REF_ev", "", true, 18, 0.0, 90.0, VarManager::kCentFT0C, 500, -1.0, 1.0, VarManager::kCORR4REF, VarManager::kM1111REF);
hm->AddHistogram(histClass, "Corr2REFerrors", "", 4, std::array<int, 4>{VarManager::kCentFT0C, VarManager::kCORR2REFw, VarManager::kCORR2REFsquaredw, VarManager::kM11REF}.data(), std::array<int, 4>{18, 500, 500, 500}.data(), std::array<double, 4>{0.0, -40000.0, -10.0, 0.0}.data(), std::array<double, 4>{90.0, 40000.0, 1000.0, 7000000.0}.data(), nullptr, -1, true, true);
hm->AddHistogram(histClass, "Corr4REFerrors", "", 4, std::array<int, 4>{VarManager::kCentFT0C, VarManager::kCORR4REFw, VarManager::kCORR4REFsquaredw, VarManager::kM1111REF}.data(), std::array<int, 4>{18, 500, 500, 500}.data(), std::array<double, 4>{0.0, -40000.0, -10.0, 0.0}.data(), std::array<double, 4>{90.0, 40000.0, 1000.0, 7000000.0}.data(), nullptr, -1, true, true);
if (subGroupStr.Contains("cross")) {
hm->AddHistogram(histClass, "Q1ZNACXX_CentFT0C", "", false, 90, 0.0, 90.0, VarManager::kCentFT0C, 4000, -2, 2, VarManager::kQ1ZNACXX);
hm->AddHistogram(histClass, "Q1ZNACYY_CentFT0C", "", false, 90, 0.0, 90.0, VarManager::kCentFT0C, 4000, -2, 2, VarManager::kQ1ZNACYY);
Expand Down
24 changes: 24 additions & 0 deletions PWGDQ/Core/VarManager.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -763,12 +763,28 @@ void VarManager::SetDefaultVarNames()
fgVariableUnits[kM0111POI] = "";
fgVariableNames[kCORR2REF] = "<2> ";
fgVariableUnits[kCORR2REF] = "";
fgVariableNames[kCORR2REFw] = "<2w> ";
fgVariableUnits[kCORR2REFw] = "";
fgVariableNames[kCORR2REFsquaredw] = "<M11*2^2> ";
fgVariableUnits[kCORR2REFsquaredw] = "";
fgVariableNames[kCORR2POI] = "<2'> ";
fgVariableUnits[kCORR2POI] = "";
fgVariableNames[kCORR2POIw] = "<2'w> ";
fgVariableUnits[kCORR2POIw] = "";
fgVariableNames[kCORR2POIsquaredw] = "<M01*2'^2> ";
fgVariableUnits[kCORR2POIsquaredw] = "";
fgVariableNames[kCORR4REF] = "<4> ";
fgVariableUnits[kCORR4REF] = "";
fgVariableNames[kCORR4REFw] = "<4w> ";
fgVariableUnits[kCORR4REFw] = "";
fgVariableNames[kCORR4REFsquaredw] = "<M1111*4^2> ";
fgVariableUnits[kCORR4REFsquaredw] = "";
fgVariableNames[kCORR4POI] = "<4'> ";
fgVariableUnits[kCORR4POI] = "";
fgVariableNames[kCORR4POIw] = "<4'w> ";
fgVariableUnits[kCORR4POIw] = "";
fgVariableNames[kCORR4POIsquaredw] = "<M0111*2'^2> ";
fgVariableUnits[kCORR4POIsquaredw] = "";
fgVariableNames[kM11REFoverMp] = "M_{11}^{REF}/M_{p} ";
fgVariableUnits[kM11REFoverMp] = "";
fgVariableNames[kM01POIoverMp] = "M^{'}_{01}^{POI}/M_{p} ";
Expand All @@ -779,8 +795,16 @@ void VarManager::SetDefaultVarNames()
fgVariableUnits[kM0111POIoverMp] = "";
fgVariableNames[kCORR2POIMp] = "<2'> M_{p} ";
fgVariableUnits[kCORR2POIMp] = "";
fgVariableNames[kCORR2POIMpw] = "<2'w> M_{p} ";
fgVariableUnits[kCORR2POIMpw] = "";
fgVariableNames[kCORR2POIsquaredMpw] = "<2'w>^{2} M_{p} ";
fgVariableUnits[kCORR2POIsquaredMpw] = "";
fgVariableNames[kCORR4POIMp] = "<4'> M_{p} ";
fgVariableUnits[kCORR4POIMp] = "";
fgVariableNames[kCORR4POIMpw] = "<4'w> M_{p} ";
fgVariableUnits[kCORR4POIMpw] = "";
fgVariableNames[kCORR4POIsquaredMpw] = "<4'w>^{2} M_{p} ";
fgVariableUnits[kCORR4POIsquaredMpw] = "";
fgVariableNames[kCos2DeltaPhi] = "cos 2(#varphi-#Psi_{2}^{A}) ";
fgVariableUnits[kCos2DeltaPhi] = "";
fgVariableNames[kCos3DeltaPhi] = "cos 3(#varphi-#Psi_{3}^{A}) ";
Expand Down
22 changes: 21 additions & 1 deletion PWGDQ/Core/VarManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -622,15 +622,27 @@ class VarManager : public TObject
kM1111REF,
kM0111POI,
kCORR2REF,
kCORR2REFw,
kCORR2REFsquaredw,
kCORR2POI,
kCORR2POIw,
kCORR2POIsquaredw,
kCORR2POIsquaredMpw,
kCORR4REF,
kCORR4REFw,
kCORR4REFsquaredw,
kCORR4POI,
kCORR4POIw,
kCORR4POIsquaredw,
kCORR4POIsquaredMpw,
kM11REFoverMp,
kM01POIoverMp,
kM1111REFoverMp,
kM0111POIoverMp,
kCORR2POIMp,
kCORR4POIMp,
kCORR2POIMpw,
kCORR4POIMpw,
kPsi2A,
kPsi2APOS,
kPsi2ANEG,
Expand Down Expand Up @@ -1595,8 +1607,12 @@ void VarManager::FillEvent(T const& event, float* values)
if constexpr ((fillMap & ReducedEventRefFlow) > 0) {
values[kM1111REF] = event.m1111ref();
values[kM11REF] = event.m11ref();
values[kCORR4REF] = event.corr4ref();
values[kCORR2REF] = event.corr2ref();
values[kCORR2REFw] = event.corr2ref();
values[kCORR2REFsquaredw] = event.corr2ref();
values[kCORR4REF] = event.corr4ref();
values[kCORR4REFw] = event.corr4ref();
values[kCORR4REFsquaredw] = event.corr4ref();
values[kMultA] = event.multa();
}
}
Expand Down Expand Up @@ -3926,6 +3942,10 @@ void VarManager::FillQVectorFromGFW(C const& /*collision*/, A const& compA11, A
values[kCORR4REF] = (pow(norm(compA21), 2) + norm(compA42) - 2. * (compA42 * conj(compA21) * conj(compA21)).real() + 8. * (compA23 * conj(compA21)).real() - 4. * S12A * norm(compA21) - 6. * S14A - 2. * S22A) / values[kM1111REF];
values[kCORR2REF] = std::isnan(values[kCORR2REF]) || std::isinf(values[kCORR2REF]) ? 0 : values[kCORR2REF];
values[kCORR4REF] = std::isnan(values[kCORR4REF]) || std::isinf(values[kCORR4REF]) ? 0 : values[kCORR4REF];
values[kCORR2REFw] = values[kCORR2REF] * values[kM11REF];
values[kCORR2REFsquaredw] = values[kCORR2REF] * values[kCORR2REF] * values[kM11REF];
values[kCORR4REFw] = values[kCORR4REF] * values[kM1111REF];
values[kCORR4REFsquaredw] = values[kCORR4REF] * values[kCORR4REF] * values[kM1111REF];

// TODO: provide different computations for R
// Compute the R factor using the 2 sub-events technique for second and third harmonic
Expand Down

0 comments on commit 52e4277

Please sign in to comment.