Skip to content

Commit 3c5f538

Browse files
committed
Fix: fix perfromance regression in event mixing
1 parent 2880c7c commit 3c5f538

2 files changed

Lines changed: 63 additions & 70 deletions

File tree

PWGCF/Femto/Core/pairHistManager.h

Lines changed: 59 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@
3333
#include <cmath>
3434
#include <cstdint>
3535
#include <map>
36-
#include <set>
3736
#include <string>
3837
#include <string_view>
3938
#include <unordered_map>
39+
#include <unordered_set>
4040
#include <vector>
4141

4242
namespace o2::analysis::femto
@@ -100,11 +100,9 @@ enum PairHist {
100100
kTrueCentVsCent,
101101

102102
// mixing qa
103-
kSeNpart1VsNpart2, // number of particles 1 vs number of particles 2 in each same event
104-
kMeMixingDepth, // mixing depth
105-
kMeNpart1VsNpart2, // number of particles 1 vs number of particles 2 in each mixed event
106-
kMeNpart1, // number of unique particles 1 in each mixing bin
107-
kMeNpart2, // number of unique particles 2 in each mixing bin
103+
kSeNpart1VsNpart2, // number of unique particles 1 vs unique number of particles 2 in each same event
104+
kMeMixingWindow, // mixing window size
105+
kMeNpart1VsNpart2, // number of unique particles 1 vs number of unique particles 2 in each mixed event
108106
kMeVtz1VsMult1VsCent1VsVtz2VsMult2VsCent2, // correlation of event properties in each mixing bin
109107

110108
kPairHistogramLast
@@ -148,6 +146,9 @@ struct ConfPairBinning : o2::framework::ConfigurableGroup {
148146
o2::framework::Configurable<bool> plotKstarVsMtVsMass1VsMass2VsPt1VsPt2{"plotKstarVsMtVsMass1VsMass2VsPt1VsPt2", false, "Enable 6D histogram (Kstar Vs Mt Vs Pt1 Vs Pt2 Vs Mass1 Vs Mass2)"};
149147
o2::framework::Configurable<bool> plotKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMult{"plotKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMult", false, "Enable 7D histogram (Kstar Vs Mt Vs Pt1 Vs Pt2 Vs Mass1 Vs Mass2 Vs Mult)"};
150148
o2::framework::Configurable<bool> plotKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMultVsCent{"plotKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMultVsCent", false, "Enable 8D histogram (Kstar Vs Mt Vs Pt1 Vs Pt2 Vs Mass1 Vs Mass2 Vs Mult Vs Cent)"};
149+
o2::framework::Configurable<bool> plotKstarVsMtVsMinv1VsPt1VsPt2{"plotKstarVsMtVsMinv1VsPt1VsPt2", false, "Enable 5D histogram (Kstar Vs Mt Vs Minv Vs Pt1 Vs Pt2)"};
150+
o2::framework::Configurable<bool> plotKstarVsMtVsMinv1VsPt1VsPt2VsMult{"plotKstarVsMtVsMinv1VsPt1VsPt2VsMult", false, "Enable 6D histogram (Kstar Vs Mt Vs Minv Vs Pt1 Vs Pt2 Vs Mult)"};
151+
o2::framework::Configurable<bool> plotKstarVsMtVsMinv1VsPt1VsPt2VsMultVsCent{"plotKstarVsMtVsMinv1VsPt1VsPt2VsMultVsCent", false, "Enable 7D histogram (Kstar Vs Mt Vs Minv Vs Pt1 Vs Pt2 Vs Mult Vs Cent)"};
151152
o2::framework::Configurable<bool> plotDalitz{"plotDalitz", false, "Enable dalitz plot"};
152153
o2::framework::ConfigurableAxis kstar{"kstar", {{600, 0, 6}}, "kstar"};
153154
o2::framework::ConfigurableAxis kt{"kt", {{600, 0, 6}}, "kt"};
@@ -222,18 +223,19 @@ constexpr std::array<histmanager::HistInfo<PairHist>, kPairHistogramLast>
222223
{kKstarVsMtVsMass1VsMass2VsPt1VsPt2, o2::framework::HistType::kTHnSparseF, "hKstarVsMtVsMass1VsMass2VsPt1VsPt2", "k* vs m_{T} vs m_{1} vs m_{2} vs p_{T,1} vs p_{T,2}; k* (GeV/#it{c}); m_{T} (GeV/#it{c}^{2}); m_{1} (GeV/#it{c}^{2}); m_{1} (GeV/#it{c}^{2}); p_{T,1} (GeV/#it{c}); p_{T,2} (GeV/#it{c});"},
223224
{kKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMult, o2::framework::HistType::kTHnSparseF, "hKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMult", "k* vs m_{T} vs m_{1} vs m_{2} vs p_{T,1} vs p_{T,2} vs multiplicity; k* (GeV/#it{c}); m_{T} (GeV/#it{c}^{2}); m_{1} (GeV/#it{c}^{2}); m_{1} (GeV/#it{c}^{2}); p_{T,1} (GeV/#it{c}); p_{T,2} (GeV/#it{c}); Multiplicity;"},
224225
{kKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMultVsCent, o2::framework::HistType::kTHnSparseF, "hKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMultVsCent", "k* vs m_{T} vs m_{1} vs m_{2} vs p_{T,1} vs p_{T,2} vs multiplicity vs centrality; k* (GeV/#it{c}); m_{T} (GeV/#it{c}^{2}); m_{1} (GeV/#it{c}^{2}); m_{1} (GeV/#it{c}^{2}); p_{T,1} (GeV/#it{c}); p_{T,2} (GeV/#it{c}); Multiplicity; Centrality (%);"},
226+
{kKstarVsMtVsMinvVsPt1VsPt2, o2::framework::HistType::kTHnSparseF, "hKstarVsMtVsMinvVsPt1VsPt2", "k* vs m_{T} vs m_{Inv} vs p_{T,1} vs p_{T,2}; k* (GeV/#it{c}); m_{T} (GeV/#it{c}^{2}); m_{Inv} (GeV/#it{c}^{2}); p_{T,1} (GeV/#it{c}); p_{T,2} (GeV/#it{c})"},
227+
{kKstarVsMtVsMinvVsPt1VsPt2VsMult, o2::framework::HistType::kTHnSparseF, "hKstarVsMtVsMinvVsPt1VsPt2VsMult", "k* vs m_{T} vs m_{Inv} vs p_{T,1} vs p_{T,2} vs multiplicity; k* (GeV/#it{c}); m_{T} (GeV/#it{c}^{2}); m_{Inv} (GeV/#it{c}^{2}); p_{T,1} (GeV/#it{c}); p_{T,2} (GeV/#it{c}); Multiplicity"},
228+
{kKstarVsMtVsMinvVsPt1VsPt2VsMultVsCent, o2::framework::HistType::kTHnSparseF, "hKstarVsMtVsMinvVsPt1VsPt2VsMultVsCent", "k* vs m_{T} vs m_{Inv} vs p_{T,1} vs p_{T,2} vs multiplicity vs centrality; k* (GeV/#it{c}); m_{T} (GeV/#it{c}^{2}); m_{Inv} (GeV/#it{c}^{2}); p_{T,1} (GeV/#it{c}); p_{T,2} (GeV/#it{c}); Multiplicity; Centrality (%)"},
225229
{kDalitz, o2::framework::HistType::kTHnSparseF, "hDalitz", "Dalitz plot; k* (GeV/#it{c}); m^{2}_{123} (GeV/#it{c}^{2})^{2}; m^{2}_{12} (GeV/#it{c}^{2})^{2}; m^{2}_{13} (GeV/#it{c}^{2})^{2};"},
226230
{kTrueKstarVsKstar, o2::framework::HistType::kTH2F, "hTrueKstarVsKstar", "k*_{True} vs k*; k*_{True} (GeV/#it{c}); k* (GeV/#it{c})"},
227231
{kTrueKtVsKt, o2::framework::HistType::kTH2F, "hTrueKtVsKt", "k_{T,True} vs k_{T}; k_{T,True} (GeV/#it{c}); k_{T} (GeV/#it{c})"},
228232
{kTrueMtVsMt, o2::framework::HistType::kTH2F, "hTrueMtVsMt", "m_{T,True} vs m_{T}; m_{T,True} (GeV/#it{c}^{2}); m_{T} (GeV/#it{c}^{2})"},
229233
{kTrueMinvVsMinv, o2::framework::HistType::kTH2F, "hTrueMinvVsMinv", "m_{Inv,True} vs m_{Inv}; m_{Inv,True} (GeV/#it{c}^{2}); m_{Inv} (GeV/#it{c}^{2})"},
230234
{kTrueMultVsMult, o2::framework::HistType::kTH2F, "hTrueMultVsMult", "Multiplicity_{True} vs Multiplicity; Multiplicity_{True} ; Multiplicity"},
231235
{kTrueCentVsCent, o2::framework::HistType::kTH2F, "hTrueCentVsCent", "Centrality_{True} vs Centrality; Centrality_{True} (%); Centrality (%)"},
232-
{kSeNpart1VsNpart2, o2::framework::HistType::kTH2F, "hSeNpart1VsNpart2", "# particle 1 vs # particle 2 in each same event; # partilce 1; # particle 2"},
233-
{kMeMixingDepth, o2::framework::HistType::kTH1F, "hMeMixingDepth", "Mixing Depth; Mixing Depth ; Entries"},
234-
{kMeNpart1VsNpart2, o2::framework::HistType::kTH2F, "hMeNpart1VsNpart2", "# particle 1 vs # particle 2 in each mixed event pair; # partilce 1; # particle 2"},
235-
{kMeNpart1, o2::framework::HistType::kTH1F, "hMeNpart1", "# particle 1 in each mixing bin; # partilce 1; Entries"},
236-
{kMeNpart2, o2::framework::HistType::kTH1F, "hMeNpart2", "# particle 2 in each mixing bin; # particle 2; Entries"},
236+
{kSeNpart1VsNpart2, o2::framework::HistType::kTH2F, "hSeNpart1VsNpart2", "# unique particle 1 vs # unique particle 2 in each same event; # partilce 1; # particle 2"},
237+
{kMeMixingWindow, o2::framework::HistType::kTH1F, "hMeMixingWindow", "Mixing Window; Mixing Windown ; Entries"},
238+
{kMeNpart1VsNpart2, o2::framework::HistType::kTH2F, "hMeNpart1VsNpart2", "# unique particle 1 vs # unique partilce 2 in each mixing bin; # partilce 1; # particle 2"},
237239
{kMeVtz1VsMult1VsCent1VsVtz2VsMult2VsCent2, o2::framework::HistType::kTHnSparseF, "hVtz1VsMult1VsCent1VsVtz2VsMult2VsCent2", "Mixing bins; V_{z,1} (cm); multiplicity_{1}; centrality_{1} (%); V_{z,2} (cm); multiplicity_{2}; centrality_{2} (%)"},
238240
}};
239241

@@ -270,12 +272,13 @@ constexpr std::array<histmanager::HistInfo<PairHist>, kPairHistogramLast>
270272
{kKstarVsMtVsMass1VsMass2VsPt1VsPt2, {confAnalysis.kstar, confAnalysis.mt, confAnalysis.mass1, confAnalysis.mass2, confAnalysis.pt1, confAnalysis.pt2}}, \
271273
{kKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMult, {confAnalysis.kstar, confAnalysis.mt, confAnalysis.mass1, confAnalysis.mass2, confAnalysis.pt1, confAnalysis.pt2, confAnalysis.multiplicity}}, \
272274
{kKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMultVsCent, {confAnalysis.kstar, confAnalysis.mt, confAnalysis.mass1, confAnalysis.mass2, confAnalysis.pt1, confAnalysis.pt2, confAnalysis.multiplicity, confAnalysis.centrality}}, \
275+
{kKstarVsMtVsMinvVsPt1VsPt2, {confAnalysis.kstar, confAnalysis.mt, confAnalysis.massInv, confAnalysis.pt1, confAnalysis.pt2}}, \
276+
{kKstarVsMtVsMinvVsPt1VsPt2VsMult, {confAnalysis.kstar, confAnalysis.mt, confAnalysis.massInv, confAnalysis.pt1, confAnalysis.pt2, confAnalysis.multiplicity}}, \
277+
{kKstarVsMtVsMinvVsPt1VsPt2VsMultVsCent, {confAnalysis.kstar, confAnalysis.mt, confAnalysis.massInv, confAnalysis.pt1, confAnalysis.pt2, confAnalysis.multiplicity, confAnalysis.centrality}}, \
273278
{kDalitz, {confAnalysis.kstar, confAnalysis.dalitzMtot, confAnalysis.dalitzM12, confAnalysis.dalitzM13}}, \
274279
{kSeNpart1VsNpart2, {confMixing.particleBinning, confMixing.particleBinning}}, \
275-
{kMeMixingDepth, {confMixing.particleBinning}}, \
280+
{kMeMixingWindow, {confMixing.particleBinning}}, \
276281
{kMeNpart1VsNpart2, {confMixing.particleBinning, confMixing.particleBinning}}, \
277-
{kMeNpart1, {confMixing.particleBinning}}, \
278-
{kMeNpart2, {confMixing.particleBinning}}, \
279282
{kMeVtz1VsMult1VsCent1VsVtz2VsMult2VsCent2, {confMixing.vtxBins, confMixing.multBins, confMixing.centBins, confMixing.vtxBins, confMixing.multBins, confMixing.centBins}},
280283

281284
#define PAIR_HIST_MC_MAP(conf) \
@@ -364,6 +367,10 @@ class PairHistManager
364367
mPlotKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMult = ConfPairBinning.plotKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMult.value;
365368
mPlotKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMultVsCent = ConfPairBinning.plotKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMultVsCent.value;
366369

370+
mPlotKstarVsMtVsMinvVsPt1VsPt2 = ConfPairBinning.plotKstarVsMtVsMinv1VsPt1VsPt2.value;
371+
mPlotKstarVsMtVsMinvVsPt1VsPt2VsMult = ConfPairBinning.plotKstarVsMtVsMinv1VsPt1VsPt2VsMult.value;
372+
mPlotKstarVsMtVsMinvVsPt1VsPt2VsMultVsCent = ConfPairBinning.plotKstarVsMtVsMinv1VsPt1VsPt2VsMultVsCent.value;
373+
367374
mPlotDalitz = ConfPairBinning.plotDalitz.value;
368375

369376
// transverse mass type
@@ -572,26 +579,14 @@ class PairHistManager
572579
}
573580
}
574581

575-
template <typename T1, typename T2>
576-
void trackParticlesPerMixingBin(T1 const& particle1, T2 const& particle2)
577-
{
578-
mUniqueParticles1PerMixingBin.emplace(particle1.globalIndex(), 0);
579-
mUniqueParticles1PerMixingBin.at(particle1.globalIndex())++;
580-
mUniqueParticles2PerMixingBin.emplace(particle2.globalIndex(), 0);
581-
mUniqueParticles2PerMixingBin.at(particle2.globalIndex())++;
582-
}
583-
584-
void resetTrackedParticlesPerMixingBin()
585-
{
586-
mUniqueParticles1PerMixingBin.clear();
587-
mUniqueParticles2PerMixingBin.clear();
588-
}
589-
590582
template <typename T1, typename T2>
591583
void trackParticlesPerEvent(T1 const& particle1, T2 const& particle2)
592584
{
593-
mUniqueParticles1PerEvent.insert(particle1.globalIndex());
594-
mUniqueParticles2PerEvent.insert(particle2.globalIndex());
585+
if (!mPairCorrelationQa) {
586+
return;
587+
}
588+
mParticles1PerEvent.insert(particle1.globalIndex());
589+
mParticles2PerEvent.insert(particle2.globalIndex());
595590
}
596591

597592
template <typename T1, typename T2>
@@ -604,39 +599,28 @@ class PairHistManager
604599

605600
void resetTrackedParticlesPerEvent()
606601
{
607-
mUniqueParticles1PerEvent.clear();
608-
mUniqueParticles2PerEvent.clear();
602+
mParticles1PerEvent.clear();
603+
mParticles2PerEvent.clear();
609604
}
610605

611606
void fillMixingQaSe()
612607
{
613608
if (mPairCorrelationQa) {
614-
mHistogramRegistry->fill(HIST(prefix) + HIST(MixingQaDir) + HIST(getHistName(kSeNpart1VsNpart2, HistTable)), mUniqueParticles1PerEvent.size(), mUniqueParticles2PerEvent.size());
609+
mHistogramRegistry->fill(HIST(prefix) + HIST(MixingQaDir) + HIST(getHistName(kSeNpart1VsNpart2, HistTable)), mParticles1PerEvent.size(), mParticles2PerEvent.size());
615610
}
616611
}
617612

618613
void fillMixingQaMePerEvent()
619614
{
620615
if (mPairCorrelationQa) {
621-
mHistogramRegistry->fill(HIST(prefix) + HIST(MixingQaDir) + HIST(getHistName(kMeNpart1VsNpart2, HistTable)), mUniqueParticles1PerEvent.size(), mUniqueParticles2PerEvent.size());
616+
mHistogramRegistry->fill(HIST(prefix) + HIST(MixingQaDir) + HIST(getHistName(kMeNpart1VsNpart2, HistTable)), mParticles1PerEvent.size(), mParticles2PerEvent.size());
622617
}
623618
}
624619

625620
void fillMixingQaMePerMixingBin(int windowSize)
626621
{
627-
if (!mPairCorrelationQa || windowSize <= 0) {
628-
return;
629-
}
630-
mHistogramRegistry->fill(HIST(prefix) + HIST(MixingQaDir) + HIST(getHistName(kMeMixingDepth, HistTable)), windowSize);
631-
for (const auto& [_, nPart1] : mUniqueParticles1PerMixingBin) {
632-
mHistogramRegistry->fill(
633-
HIST(prefix) + HIST(MixingQaDir) + HIST(getHistName(kMeNpart1, HistTable)),
634-
nPart1);
635-
}
636-
for (const auto& [_, nPart2] : mUniqueParticles2PerMixingBin) {
637-
mHistogramRegistry->fill(
638-
HIST(prefix) + HIST(MixingQaDir) + HIST(getHistName(kMeNpart2, HistTable)),
639-
nPart2);
622+
if (mEventMixingQa) {
623+
mHistogramRegistry->fill(HIST(prefix) + HIST(MixingQaDir) + HIST(getHistName(kMeMixingWindow, HistTable)), windowSize);
640624
}
641625
}
642626

@@ -710,6 +694,17 @@ class PairHistManager
710694
if (mPlotKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMultVsCent) {
711695
mHistogramRegistry->add(analysisDir + getHistNameV2(kKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMultVsCent, HistTable), getHistDesc(kKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMultVsCent, HistTable), getHistType(kKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMultVsCent, HistTable), {Specs.at(kKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMultVsCent)});
712696
}
697+
698+
if (mPlotKstarVsMtVsMinvVsPt1VsPt2) {
699+
mHistogramRegistry->add(analysisDir + getHistNameV2(kKstarVsMtVsMinvVsPt1VsPt2, HistTable), getHistDesc(kKstarVsMtVsMinvVsPt1VsPt2, HistTable), getHistType(kKstarVsMtVsMinvVsPt1VsPt2, HistTable), {Specs.at(kKstarVsMtVsMinvVsPt1VsPt2)});
700+
}
701+
if (mPlotKstarVsMtVsMinvVsPt1VsPt2VsMult) {
702+
mHistogramRegistry->add(analysisDir + getHistNameV2(kKstarVsMtVsMinvVsPt1VsPt2VsMult, HistTable), getHistDesc(kKstarVsMtVsMinvVsPt1VsPt2VsMult, HistTable), getHistType(kKstarVsMtVsMinvVsPt1VsPt2VsMult, HistTable), {Specs.at(kKstarVsMtVsMinvVsPt1VsPt2VsMult)});
703+
}
704+
if (mPlotKstarVsMtVsMinvVsPt1VsPt2VsMultVsCent) {
705+
mHistogramRegistry->add(analysisDir + getHistNameV2(kKstarVsMtVsMinvVsPt1VsPt2VsMultVsCent, HistTable), getHistDesc(kKstarVsMtVsMinvVsPt1VsPt2VsMultVsCent, HistTable), getHistType(kKstarVsMtVsMinvVsPt1VsPt2VsMultVsCent, HistTable), {Specs.at(kKstarVsMtVsMinvVsPt1VsPt2VsMultVsCent)});
706+
}
707+
713708
if (mPlotDalitz) {
714709
mHistogramRegistry->add(analysisDir + getHistNameV2(kDalitz, HistTable), getHistDesc(kDalitz, HistTable), getHistType(kDalitz, HistTable), {Specs.at(kDalitz)});
715710
}
@@ -738,10 +733,8 @@ class PairHistManager
738733
{
739734
std::string mcDir = std::string(prefix) + std::string(MixingQaDir);
740735
if (mPairCorrelationQa) {
741-
mHistogramRegistry->add(mcDir + getHistNameV2(kMeMixingDepth, HistTable), getHistDesc(kMeMixingDepth, HistTable), getHistType(kMeMixingDepth, HistTable), {Specs.at(kMeMixingDepth)});
736+
mHistogramRegistry->add(mcDir + getHistNameV2(kMeMixingWindow, HistTable), getHistDesc(kMeMixingWindow, HistTable), getHistType(kMeMixingWindow, HistTable), {Specs.at(kMeMixingWindow)});
742737
mHistogramRegistry->add(mcDir + getHistNameV2(kMeNpart1VsNpart2, HistTable), getHistDesc(kMeNpart1VsNpart2, HistTable), getHistType(kMeNpart1VsNpart2, HistTable), {Specs.at(kMeNpart1VsNpart2)});
743-
mHistogramRegistry->add(mcDir + getHistNameV2(kMeNpart1, HistTable), getHistDesc(kMeNpart1, HistTable), getHistType(kMeNpart1, HistTable), {Specs.at(kMeNpart1)});
744-
mHistogramRegistry->add(mcDir + getHistNameV2(kMeNpart2, HistTable), getHistDesc(kMeNpart2, HistTable), getHistType(kMeNpart2, HistTable), {Specs.at(kMeNpart2)});
745738
}
746739
if (mEventMixingQa) {
747740
mHistogramRegistry->add(mcDir + getHistNameV2(kMeVtz1VsMult1VsCent1VsVtz2VsMult2VsCent2, HistTable), getHistDesc(kMeVtz1VsMult1VsCent1VsVtz2VsMult2VsCent2, HistTable), getHistType(kMeVtz1VsMult1VsCent1VsVtz2VsMult2VsCent2, HistTable), {Specs.at(kMeVtz1VsMult1VsCent1VsVtz2VsMult2VsCent2)});
@@ -814,6 +807,15 @@ class PairHistManager
814807
if (mPlotKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMultVsCent) {
815808
mHistogramRegistry->fill(HIST(prefix) + HIST(AnalysisDir) + HIST(getHistName(kKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMultVsCent, HistTable)), mKstar, mMt, mRecoMass1, mRecoMass2, mParticle1.Pt(), mParticle2.Pt(), mMult, mCent);
816809
}
810+
if (mPlotKstarVsMtVsMinvVsPt1VsPt2) {
811+
mHistogramRegistry->fill(HIST(prefix) + HIST(AnalysisDir) + HIST(getHistName(kKstarVsMtVsMinvVsPt1VsPt2, HistTable)), mKstar, mMt, mMassInv, mParticle1.Pt(), mParticle2.Pt());
812+
}
813+
if (mPlotKstarVsMtVsMinvVsPt1VsPt2VsMult) {
814+
mHistogramRegistry->fill(HIST(prefix) + HIST(AnalysisDir) + HIST(getHistName(kKstarVsMtVsMinvVsPt1VsPt2VsMult, HistTable)), mKstar, mMt, mMassInv, mParticle1.Pt(), mParticle2.Pt(), mMult);
815+
}
816+
if (mPlotKstarVsMtVsMinvVsPt1VsPt2VsMultVsCent) {
817+
mHistogramRegistry->fill(HIST(prefix) + HIST(AnalysisDir) + HIST(getHistName(kKstarVsMtVsMinvVsPt1VsPt2VsMultVsCent, HistTable)), mKstar, mMt, mMassInv, mParticle1.Pt(), mParticle2.Pt(), mMult, mCent);
818+
}
817819
if (mPlotDalitz) {
818820
mHistogramRegistry->fill(HIST(prefix) + HIST(AnalysisDir) + HIST(getHistName(kDalitz, HistTable)), mKstar, mMassTot2, mMass12, mMass13);
819821
}
@@ -950,17 +952,18 @@ class PairHistManager
950952
bool mPlotKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMult = false;
951953
bool mPlotKstarVsMtVsMass1VsMass2VsPt1VsPt2VsMultVsCent = false;
952954

955+
bool mPlotKstarVsMtVsMinvVsPt1VsPt2 = false;
956+
bool mPlotKstarVsMtVsMinvVsPt1VsPt2VsMult = false;
957+
bool mPlotKstarVsMtVsMinvVsPt1VsPt2VsMultVsCent = false;
958+
953959
bool mPlotDalitz = false;
954960

955961
// qa
956962
bool mPairCorrelationQa = false;
957963
bool mEventMixingQa = false;
958964

959-
std::set<int64_t> mUniqueParticles1PerEvent = {};
960-
std::set<int64_t> mUniqueParticles2PerEvent = {};
961-
962-
std::unordered_map<int64_t, int> mUniqueParticles1PerMixingBin = {};
963-
std::unordered_map<int64_t, int> mUniqueParticles2PerMixingBin = {};
965+
std::unordered_set<int64_t> mParticles1PerEvent = {};
966+
std::unordered_set<int64_t> mParticles2PerEvent = {};
964967
};
965968

966969
}; // namespace pairhistmanager

0 commit comments

Comments
 (0)