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
4242namespace 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