From 5c96ecc3e4d333a362dad9b5cbca1454540e7afa Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Wed, 24 Dec 2025 20:14:23 +0100 Subject: [PATCH 1/2] Add quantum weight --- PWGCF/FemtoUniverse/Core/FemtoUniverseMath.h | 27 +++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/PWGCF/FemtoUniverse/Core/FemtoUniverseMath.h b/PWGCF/FemtoUniverse/Core/FemtoUniverseMath.h index aee87f1a057..31a71fe841f 100644 --- a/PWGCF/FemtoUniverse/Core/FemtoUniverseMath.h +++ b/PWGCF/FemtoUniverse/Core/FemtoUniverseMath.h @@ -177,7 +177,7 @@ class FemtoUniverseMath /// \param mass2 Mass of particle 2 /// \param isiden Identical or non-identical particle pair template - static std::vector newpairfunc(const T& part1, const float mass1, const T& part2, const float mass2, bool isiden) + static std::vector newpairfunc(const T& part1, const float mass1, const T& part2, const float mass2, bool isiden, bool isWeight = 0) { const double e1 = std::sqrt(std::pow(part1.px(), 2) + std::pow(part1.py(), 2) + std::pow(part1.pz(), 2) + std::pow(mass1, 2)); const double e2 = std::sqrt(std::pow(part2.px(), 2) + std::pow(part2.py(), 2) + std::pow(part2.pz(), 2) + std::pow(mass2, 2)); @@ -186,6 +186,9 @@ class FemtoUniverseMath const ROOT::Math::PxPyPzEVector vecpart2(part2.px(), part2.py(), part2.pz(), e2); const ROOT::Math::PxPyPzEVector trackSum = vecpart1 + vecpart2; + const ROOT::Math::PtEtaPhiMVector vecspace_part1(part1.pt(), part1.eta(), part1.phi(), mass1); + const ROOT::Math::PtEtaPhiMVector vecspace_part2(part2.pt(), part2.eta(), part2.phi(), mass2); + std::vector vect; const double tPx = trackSum.px(); @@ -222,6 +225,7 @@ class FemtoUniverseMath const double fDKOutLCMS = px1LCMS - px2LCMS; const double fDKSideLCMS = py1LCMS - py2LCMS; const double fDKLongLCMS = pz1LCMS - pz2LCMS; + const double mDE = pE1LCMS - pE2LCMS; // Boost to PRF @@ -249,6 +253,27 @@ class FemtoUniverseMath vect.push_back(fDKSide); vect.push_back(fDKLong); } + + if (isiden && isWeight) { + + const double x1_lcms = (vecspace_part1.x() * tPx + vecspace_part1.y() * tPy) / tPt; + const double y1_lcms = (-vecspace_part1.x() * tPy + vecspace_part1.y() * tPx) / tPt; + const double x2_lcms = (vecspace_part2.x() * tPx + vecspace_part2.y() * tPy) / tPt; + const double y2_lcms = (-vecspace_part2.x() * tPy + vecspace_part2.y() * tPx) / tPt; + + const double z1_lcms = gamma * (vecspace_part1.z() - beta * vecspace_part1.t()); + const double t1_lcms = gamma * (vecspace_part1.t() - beta * vecspace_part1.z()); + const double z2_lcms = gamma * (vecspace_part2.z() - beta * vecspace_part2.t()); + const double t2_lcms = gamma * (vecspace_part2.t() - beta * vecspace_part2.z()); + + const double mRO = (x1_lcms - x2_lcms) / 0.197327; + const double mRS = (y1_lcms - y2_lcms) / 0.197327; + const double mRL = (z1_lcms - z2_lcms) / 0.197327; + const double mDT = (t1_lcms - t2_lcms) / 0.197327; + + const double quantumweight = 1.0 + TMath::Cos(-fDKOutLCMS * mRO - fDKSideLCMS * mRS - fDKLongLCMS * mRL + mDE * mDT); + vect.push_back(quantumweight); + } return vect; } }; From 9e43c676d36223bbb4de36c4ca220ff1d9dbd236 Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Wed, 24 Dec 2025 20:15:27 +0100 Subject: [PATCH 2/2] Add quantum weight in MC Truth same-event pairs, fix bug --- ...irTaskTrackTrackSpherHarMultKtExtended.cxx | 121 ++++++++++-------- 1 file changed, 68 insertions(+), 53 deletions(-) diff --git a/PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackTrackSpherHarMultKtExtended.cxx b/PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackTrackSpherHarMultKtExtended.cxx index 6ae2ed09bb6..4c6e9091fac 100644 --- a/PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackTrackSpherHarMultKtExtended.cxx +++ b/PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackTrackSpherHarMultKtExtended.cxx @@ -100,6 +100,9 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended { Configurable confCPRDistMax{"confCPRDistMax", 0.0, "Max. radial seperation between two closed-pairs"}; Configurable confCPRFracMax{"confCPRFracMax", 0.0, "Max. allowed fraction bad to all TPC points of radial seperation between two closed-pairs"}; Configurable confCPRDphiAvgOrDist{"confCPRDphiAvgOrDist", true, "Close Pair Rejection by radial or angular seperation"}; + Configurable confIs1D{"confIs1D", true, "Filling 1D 2k* dist. in MC truth"}; + Configurable confIsIden{"confIsIden", true, "Choosing identical or non-identical pairs"}; + Configurable confIsWeight{"confIsWeight", true, "Fill quantum weight"}; } twotracksconfigs; using FemtoFullParticles = soa::Join; @@ -197,7 +200,6 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended { ConfigurableAxis confkstarBins{"confkstarBins", {60, 0.0, 0.3}, "binning kstar"}; ConfigurableAxis confkTBins{"confkTBins", {150, 0., 9.}, "binning kT"}; ConfigurableAxis confmTBins{"confmTBins", {225, 0., 7.5}, "binning mT"}; - Configurable confIsIden{"confIsIden", true, "Choosing identical or non-identical pairs"}; Configurable confIsLCMS{"confIsLCMS", true, "Choosing LCMS or PRF"}; Configurable confNEventsMix{"confNEventsMix", 5, "Number of events for mixing"}; Configurable confLMax{"confLMax", 2, "Maximum value of l"}; @@ -558,7 +560,7 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended { if (!pairCleaner.isCleanPair(p1, p2, parts)) { continue; } - sameEventMultCont.fillMultNumDen(p1, p2, femto_universe_sh_container::EventType::same, 2, multCol, kT, confIsIden); + sameEventMultCont.fillMultNumDen(p1, p2, femto_universe_sh_container::EventType::same, 2, multCol, kT, twotracksconfigs.confIsIden); } } else { for (const auto& [p1, p2] : combinations(CombinationsStrictlyUpperIndexPolicy(groupPartsOne, groupPartsOne))) { @@ -608,7 +610,6 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended { auto part2 = p2; if (rand > 0.5) { - part1 = p2; part2 = p1; } @@ -619,30 +620,30 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended { float qTmin = 0.0; switch (ContType) { case 2: { - f3d = FemtoUniverseMath::newpairfunc(part1, mass1, part2, mass2, confIsIden); + f3d = FemtoUniverseMath::newpairfunc(part1, mass1, part2, mass2, twotracksconfigs.confIsIden); qTmin = std::sqrt(f3d[1] * f3d[1] + f3d[2] * f3d[2]); if (!twotracksconfigs.confUseCCImCut) { if (!twotracksconfigs.confUseMinqTcut) { - sameEventMultContPP.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::same, 2, multCol, kT, confIsIden); + sameEventMultContPP.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::same, 2, multCol, kT, twotracksconfigs.confIsIden); } else { if (qTmin > twotracksconfigs.confMinqTcut) { - sameEventMultContPP.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::same, 2, multCol, kT, confIsIden); + sameEventMultContPP.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::same, 2, multCol, kT, twotracksconfigs.confIsIden); } } } else { if (twotracksconfigs.confUse1stand3rd) { if ((f3d[1] >= outsideref && f3d[2] >= outsideref) || (f3d[1] < outsideref && f3d[2] < outsideref)) { - sameEventMultContPP.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::same, 2, multCol, kT, confIsIden); + sameEventMultContPP.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::same, 2, multCol, kT, twotracksconfigs.confIsIden); } } else if (twotracksconfigs.confUse2ndand4th) { if ((f3d[1] < outsideref && f3d[2] >= outsideref) || (f3d[1] >= outsideref && f3d[2] < outsideref)) { - sameEventMultContPP.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::same, 2, multCol, kT, confIsIden); + sameEventMultContPP.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::same, 2, multCol, kT, twotracksconfigs.confIsIden); } } } if (twotracksconfigs.confIsMC || twotracksconfigs.confUse3D) { float weight = 1.0f; - sameEventCont1D_PP.setPair(part1, part2, multCol, twotracksconfigs.confUse3D, weight, confIsIden); + sameEventCont1D_PP.setPair(part1, part2, multCol, twotracksconfigs.confUse3D, weight, twotracksconfigs.confIsIden); } if (twotracksconfigs.confIsFillAngqLCMS) { kv = std::sqrt(f3d[1] * f3d[1] + f3d[2] * f3d[2] + f3d[3] * f3d[3]); @@ -652,30 +653,30 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended { } case 3: { - f3d = FemtoUniverseMath::newpairfunc(part1, mass1, part2, mass2, confIsIden); + f3d = FemtoUniverseMath::newpairfunc(part1, mass1, part2, mass2, twotracksconfigs.confIsIden); qTmin = std::sqrt(f3d[1] * f3d[1] + f3d[2] * f3d[2]); if (!twotracksconfigs.confUseCCImCut) { if (!twotracksconfigs.confUseMinqTcut) { - sameEventMultContMM.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::same, 2, multCol, kT, confIsIden); + sameEventMultContMM.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::same, 2, multCol, kT, twotracksconfigs.confIsIden); } else { if (qTmin > twotracksconfigs.confMinqTcut) { - sameEventMultContMM.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::same, 2, multCol, kT, confIsIden); + sameEventMultContMM.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::same, 2, multCol, kT, twotracksconfigs.confIsIden); } } } else { if (twotracksconfigs.confUse1stand3rd) { if ((f3d[1] >= outsideref && f3d[2] >= outsideref) || (f3d[1] < outsideref && f3d[2] < outsideref)) { - sameEventMultContMM.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::same, 2, multCol, kT, confIsIden); + sameEventMultContMM.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::same, 2, multCol, kT, twotracksconfigs.confIsIden); } } else if (twotracksconfigs.confUse2ndand4th) { if ((f3d[1] < outsideref && f3d[2] >= outsideref) || (f3d[1] >= outsideref && f3d[2] < outsideref)) { - sameEventMultContMM.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::same, 2, multCol, kT, confIsIden); + sameEventMultContMM.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::same, 2, multCol, kT, twotracksconfigs.confIsIden); } } } if (twotracksconfigs.confIsMC || twotracksconfigs.confUse3D) { float weight = 1.0f; - sameEventCont1D_MM.setPair(part1, part2, multCol, twotracksconfigs.confUse3D, weight, confIsIden); + sameEventCont1D_MM.setPair(part1, part2, multCol, twotracksconfigs.confUse3D, weight, twotracksconfigs.confIsIden); } if (twotracksconfigs.confIsFillAngqLCMS) { kv = std::sqrt(f3d[1] * f3d[1] + f3d[2] * f3d[2] + f3d[3] * f3d[3]); @@ -820,7 +821,7 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended { const auto& pdgParticleTwo = pdg->GetParticle(pdgCodePartTwo); if (pdgParticleOne && pdgParticleTwo && (pdgCodePartOne == trackonefilter.confPDGCodePartOne) && (pdgCodePartTwo == tracktwofilter.confPDGCodePartTwo)) { float kT = FemtoUniverseMath::getkT(p1, mass1, p2, mass2); - sameEventMultCont.fillMultNumDen(p1, p2, femto_universe_sh_container::EventType::same, 2, multCol, kT, confIsIden); + sameEventMultCont.fillMultNumDen(p1, p2, femto_universe_sh_container::EventType::same, 2, multCol, kT, twotracksconfigs.confIsIden); } } } else { @@ -837,21 +838,33 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended { std::vector f3d; if (pdgParticleOne && pdgParticleTwo && (pdgCodePartOne == trackonefilter.confPDGCodePartOne) && (pdgCodePartTwo == tracktwofilter.confPDGCodePartTwo)) { + auto part1 = p1; + auto part2 = p2; + + if (rand > 0.5) { + part1 = p2; + part2 = p1; + } + switch (ContType) { case 2: { - if (rand > 0.5) { - sameEventMultContPP.fillMultNumDen(p1, p2, femto_universe_sh_container::EventType::same, 2, multCol, kT, confIsIden); - } else if (rand <= 0.5) { - sameEventMultContPP.fillMultNumDen(p2, p1, femto_universe_sh_container::EventType::same, 2, multCol, kT, confIsIden); + if (twotracksconfigs.confIs1D) { + f3d = FemtoUniverseMath::newpairfunc(part1, mass1, part2, mass2, twotracksconfigs.confIsIden, twotracksconfigs.confIsWeight); + float weight = f3d[5]; + sameEventCont1D_PP.setPair(part1, part2, multCol, twotracksconfigs.confUse3D, weight, twotracksconfigs.confIsIden); + } else { + sameEventMultContPP.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::same, 2, multCol, kT, twotracksconfigs.confIsIden); } break; } case 3: { - if (rand > 0.5) { - sameEventMultContMM.fillMultNumDen(p1, p2, femto_universe_sh_container::EventType::same, 2, multCol, kT, confIsIden); - } else if (rand <= 0.5) { - sameEventMultContMM.fillMultNumDen(p2, p1, femto_universe_sh_container::EventType::same, 2, multCol, kT, confIsIden); + if (twotracksconfigs.confIs1D) { + f3d = FemtoUniverseMath::newpairfunc(part1, mass1, part2, mass2, twotracksconfigs.confIsIden, twotracksconfigs.confIsWeight); + float weight = f3d[5]; + sameEventCont1D_MM.setPair(part1, part2, multCol, twotracksconfigs.confUse3D, weight, twotracksconfigs.confIsIden); + } else { + sameEventMultContMM.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::same, 2, multCol, kT, twotracksconfigs.confIsIden); } break; } @@ -965,7 +978,6 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended { auto part2 = p2; if (rand > 0.5) { - part1 = p2; part2 = p1; } @@ -977,39 +989,35 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended { switch (ContType) { case 1: { - if (rand > 0.5) { - mixedEventMultCont.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, confIsIden); - } else { - mixedEventMultCont.fillMultNumDen(part2, part1, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, confIsIden); - } + mixedEventMultCont.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, twotracksconfigs.confIsIden); break; } case 2: { - f3d = FemtoUniverseMath::newpairfunc(part1, mass1, part2, mass2, confIsIden); + f3d = FemtoUniverseMath::newpairfunc(part1, mass1, part2, mass2, twotracksconfigs.confIsIden); qTmin = std::sqrt(f3d[1] * f3d[1] + f3d[2] * f3d[2]); if (!twotracksconfigs.confUseCCImCut) { if (!twotracksconfigs.confUseMinqTcut) { - mixedEventMultContPP.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, confIsIden); + mixedEventMultContPP.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, twotracksconfigs.confIsIden); } else { if (qTmin > twotracksconfigs.confMinqTcut) { - mixedEventMultContPP.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, confIsIden); + mixedEventMultContPP.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, twotracksconfigs.confIsIden); } } } else { if (twotracksconfigs.confUse1stand3rd) { if ((f3d[1] >= outsideref && f3d[2] >= outsideref) || (f3d[1] < outsideref && f3d[2] < outsideref)) { - mixedEventMultContPP.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, confIsIden); + mixedEventMultContPP.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, twotracksconfigs.confIsIden); } } else if (twotracksconfigs.confUse2ndand4th) { if ((f3d[1] < outsideref && f3d[2] >= outsideref) || (f3d[1] >= outsideref && f3d[2] < outsideref)) { - mixedEventMultContPP.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, confIsIden); + mixedEventMultContPP.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, twotracksconfigs.confIsIden); } } } if (twotracksconfigs.confIsMC || twotracksconfigs.confUse3D) { float weight = 1.0f; - mixedEventCont1D_PP.setPair(part1, part2, multCol, twotracksconfigs.confUse3D, weight, confIsIden); + mixedEventCont1D_PP.setPair(part1, part2, multCol, twotracksconfigs.confUse3D, weight, twotracksconfigs.confIsIden); } if (twotracksconfigs.confIsFillAngqLCMS) { @@ -1020,30 +1028,30 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended { } case 3: { - f3d = FemtoUniverseMath::newpairfunc(part1, mass1, part2, mass2, confIsIden); + f3d = FemtoUniverseMath::newpairfunc(part1, mass1, part2, mass2, twotracksconfigs.confIsIden); qTmin = std::sqrt(f3d[1] * f3d[1] + f3d[2] * f3d[2]); if (!twotracksconfigs.confUseCCImCut) { if (!twotracksconfigs.confUseMinqTcut) { - mixedEventMultContMM.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, confIsIden); + mixedEventMultContMM.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, twotracksconfigs.confIsIden); } else { if (qTmin > twotracksconfigs.confMinqTcut) { - mixedEventMultContMM.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, confIsIden); + mixedEventMultContMM.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, twotracksconfigs.confIsIden); } } } else { if (twotracksconfigs.confUse1stand3rd) { if ((f3d[1] >= outsideref && f3d[2] >= outsideref) || (f3d[1] < outsideref && f3d[2] < outsideref)) { - mixedEventMultContMM.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, confIsIden); + mixedEventMultContMM.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, twotracksconfigs.confIsIden); } } else if (twotracksconfigs.confUse2ndand4th) { if ((f3d[1] < outsideref && f3d[2] >= outsideref) || (f3d[1] >= outsideref && f3d[2] < outsideref)) { - mixedEventMultContMM.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, confIsIden); + mixedEventMultContMM.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, twotracksconfigs.confIsIden); } } } if (twotracksconfigs.confIsMC || twotracksconfigs.confUse3D) { float weight = 1.0f; - mixedEventCont1D_MM.setPair(part1, part2, multCol, twotracksconfigs.confUse3D, weight, confIsIden); + mixedEventCont1D_MM.setPair(part1, part2, multCol, twotracksconfigs.confUse3D, weight, twotracksconfigs.confIsIden); } if (twotracksconfigs.confIsFillAngqLCMS) { kv = std::sqrt(f3d[1] * f3d[1] + f3d[2] * f3d[2] + f3d[3] * f3d[3]); @@ -1250,32 +1258,39 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended { float kT = FemtoUniverseMath::getkT(p1, mass1, p2, mass2); double rand; rand = randgen->Rndm(); + std::vector f3d; + if (pdgParticleOne && pdgParticleTwo && (pdgCodePartOne == trackonefilter.confPDGCodePartOne) && (pdgCodePartTwo == tracktwofilter.confPDGCodePartTwo)) { + auto part1 = p1; + auto part2 = p2; + + if (rand > 0.5) { + part1 = p2; + part2 = p1; + } switch (ContType) { case 1: { - if (rand > 0.5) { - mixedEventMultCont.fillMultNumDen(p1, p2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, confIsIden); - } else { - mixedEventMultCont.fillMultNumDen(p2, p1, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, confIsIden); - } + mixedEventMultCont.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, twotracksconfigs.confIsIden); break; } case 2: { - if (rand > 0.5) { - mixedEventMultContPP.fillMultNumDen(p1, p2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, confIsIden); + if (twotracksconfigs.confIs1D) { + float weight = 1.0; + mixedEventCont1D_PP.setPair(part1, part2, multCol, twotracksconfigs.confUse3D, weight, twotracksconfigs.confIsIden); } else { - mixedEventMultContPP.fillMultNumDen(p2, p1, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, confIsIden); + mixedEventMultContPP.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, twotracksconfigs.confIsIden); } break; } case 3: { - if (rand > 0.5) { - mixedEventMultContMM.fillMultNumDen(p1, p2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, confIsIden); + if (twotracksconfigs.confIs1D) { + float weight = 1.0; + mixedEventCont1D_MM.setPair(part1, part2, multCol, twotracksconfigs.confUse3D, weight, twotracksconfigs.confIsIden); } else { - mixedEventMultContMM.fillMultNumDen(p2, p1, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, confIsIden); + mixedEventMultContMM.fillMultNumDen(part1, part2, femto_universe_sh_container::EventType::mixed, 2, multCol, kT, twotracksconfigs.confIsIden); } break; }