Skip to content

Commit 52e4277

Browse files
[PWGDQ] Average of Correlators - Multi-particle cumulants method (#8229)
1 parent 69eef88 commit 52e4277

File tree

3 files changed

+47
-1
lines changed

3 files changed

+47
-1
lines changed

PWGDQ/Core/HistogramsLibrary.cxx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,8 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
233233
hm->AddHistogram(histClass, "Psi2C_CentFT0C", "", false, 18, 0.0, 90.0, VarManager::kCentFT0C, 100, -2.0, 2.0, VarManager::kPsi2C);
234234
hm->AddHistogram(histClass, "centrFT0C_Corr2REF_ev", "", true, 18, 0.0, 90.0, VarManager::kCentFT0C, 500, -1.0, 1.0, VarManager::kCORR2REF, VarManager::kM11REF);
235235
hm->AddHistogram(histClass, "centrFT0C_Corr4REF_ev", "", true, 18, 0.0, 90.0, VarManager::kCentFT0C, 500, -1.0, 1.0, VarManager::kCORR4REF, VarManager::kM1111REF);
236+
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);
237+
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);
236238
if (subGroupStr.Contains("cross")) {
237239
hm->AddHistogram(histClass, "Q1ZNACXX_CentFT0C", "", false, 90, 0.0, 90.0, VarManager::kCentFT0C, 4000, -2, 2, VarManager::kQ1ZNACXX);
238240
hm->AddHistogram(histClass, "Q1ZNACYY_CentFT0C", "", false, 90, 0.0, 90.0, VarManager::kCentFT0C, 4000, -2, 2, VarManager::kQ1ZNACYY);

PWGDQ/Core/VarManager.cxx

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -763,12 +763,28 @@ void VarManager::SetDefaultVarNames()
763763
fgVariableUnits[kM0111POI] = "";
764764
fgVariableNames[kCORR2REF] = "<2> ";
765765
fgVariableUnits[kCORR2REF] = "";
766+
fgVariableNames[kCORR2REFw] = "<2w> ";
767+
fgVariableUnits[kCORR2REFw] = "";
768+
fgVariableNames[kCORR2REFsquaredw] = "<M11*2^2> ";
769+
fgVariableUnits[kCORR2REFsquaredw] = "";
766770
fgVariableNames[kCORR2POI] = "<2'> ";
767771
fgVariableUnits[kCORR2POI] = "";
772+
fgVariableNames[kCORR2POIw] = "<2'w> ";
773+
fgVariableUnits[kCORR2POIw] = "";
774+
fgVariableNames[kCORR2POIsquaredw] = "<M01*2'^2> ";
775+
fgVariableUnits[kCORR2POIsquaredw] = "";
768776
fgVariableNames[kCORR4REF] = "<4> ";
769777
fgVariableUnits[kCORR4REF] = "";
778+
fgVariableNames[kCORR4REFw] = "<4w> ";
779+
fgVariableUnits[kCORR4REFw] = "";
780+
fgVariableNames[kCORR4REFsquaredw] = "<M1111*4^2> ";
781+
fgVariableUnits[kCORR4REFsquaredw] = "";
770782
fgVariableNames[kCORR4POI] = "<4'> ";
771783
fgVariableUnits[kCORR4POI] = "";
784+
fgVariableNames[kCORR4POIw] = "<4'w> ";
785+
fgVariableUnits[kCORR4POIw] = "";
786+
fgVariableNames[kCORR4POIsquaredw] = "<M0111*2'^2> ";
787+
fgVariableUnits[kCORR4POIsquaredw] = "";
772788
fgVariableNames[kM11REFoverMp] = "M_{11}^{REF}/M_{p} ";
773789
fgVariableUnits[kM11REFoverMp] = "";
774790
fgVariableNames[kM01POIoverMp] = "M^{'}_{01}^{POI}/M_{p} ";
@@ -779,8 +795,16 @@ void VarManager::SetDefaultVarNames()
779795
fgVariableUnits[kM0111POIoverMp] = "";
780796
fgVariableNames[kCORR2POIMp] = "<2'> M_{p} ";
781797
fgVariableUnits[kCORR2POIMp] = "";
798+
fgVariableNames[kCORR2POIMpw] = "<2'w> M_{p} ";
799+
fgVariableUnits[kCORR2POIMpw] = "";
800+
fgVariableNames[kCORR2POIsquaredMpw] = "<2'w>^{2} M_{p} ";
801+
fgVariableUnits[kCORR2POIsquaredMpw] = "";
782802
fgVariableNames[kCORR4POIMp] = "<4'> M_{p} ";
783803
fgVariableUnits[kCORR4POIMp] = "";
804+
fgVariableNames[kCORR4POIMpw] = "<4'w> M_{p} ";
805+
fgVariableUnits[kCORR4POIMpw] = "";
806+
fgVariableNames[kCORR4POIsquaredMpw] = "<4'w>^{2} M_{p} ";
807+
fgVariableUnits[kCORR4POIsquaredMpw] = "";
784808
fgVariableNames[kCos2DeltaPhi] = "cos 2(#varphi-#Psi_{2}^{A}) ";
785809
fgVariableUnits[kCos2DeltaPhi] = "";
786810
fgVariableNames[kCos3DeltaPhi] = "cos 3(#varphi-#Psi_{3}^{A}) ";

PWGDQ/Core/VarManager.h

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -622,15 +622,27 @@ class VarManager : public TObject
622622
kM1111REF,
623623
kM0111POI,
624624
kCORR2REF,
625+
kCORR2REFw,
626+
kCORR2REFsquaredw,
625627
kCORR2POI,
628+
kCORR2POIw,
629+
kCORR2POIsquaredw,
630+
kCORR2POIsquaredMpw,
626631
kCORR4REF,
632+
kCORR4REFw,
633+
kCORR4REFsquaredw,
627634
kCORR4POI,
635+
kCORR4POIw,
636+
kCORR4POIsquaredw,
637+
kCORR4POIsquaredMpw,
628638
kM11REFoverMp,
629639
kM01POIoverMp,
630640
kM1111REFoverMp,
631641
kM0111POIoverMp,
632642
kCORR2POIMp,
633643
kCORR4POIMp,
644+
kCORR2POIMpw,
645+
kCORR4POIMpw,
634646
kPsi2A,
635647
kPsi2APOS,
636648
kPsi2ANEG,
@@ -1595,8 +1607,12 @@ void VarManager::FillEvent(T const& event, float* values)
15951607
if constexpr ((fillMap & ReducedEventRefFlow) > 0) {
15961608
values[kM1111REF] = event.m1111ref();
15971609
values[kM11REF] = event.m11ref();
1598-
values[kCORR4REF] = event.corr4ref();
15991610
values[kCORR2REF] = event.corr2ref();
1611+
values[kCORR2REFw] = event.corr2ref();
1612+
values[kCORR2REFsquaredw] = event.corr2ref();
1613+
values[kCORR4REF] = event.corr4ref();
1614+
values[kCORR4REFw] = event.corr4ref();
1615+
values[kCORR4REFsquaredw] = event.corr4ref();
16001616
values[kMultA] = event.multa();
16011617
}
16021618
}
@@ -3926,6 +3942,10 @@ void VarManager::FillQVectorFromGFW(C const& /*collision*/, A const& compA11, A
39263942
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];
39273943
values[kCORR2REF] = std::isnan(values[kCORR2REF]) || std::isinf(values[kCORR2REF]) ? 0 : values[kCORR2REF];
39283944
values[kCORR4REF] = std::isnan(values[kCORR4REF]) || std::isinf(values[kCORR4REF]) ? 0 : values[kCORR4REF];
3945+
values[kCORR2REFw] = values[kCORR2REF] * values[kM11REF];
3946+
values[kCORR2REFsquaredw] = values[kCORR2REF] * values[kCORR2REF] * values[kM11REF];
3947+
values[kCORR4REFw] = values[kCORR4REF] * values[kM1111REF];
3948+
values[kCORR4REFsquaredw] = values[kCORR4REF] * values[kCORR4REF] * values[kM1111REF];
39293949

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

0 commit comments

Comments
 (0)