From b6ec9de0bdb825b415ac16cabf9d2845c7da4a32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrea=20Tavira=20Garc=C3=ADa?= <118979672+atavirag@users.noreply.github.com> Date: Mon, 16 Jun 2025 14:45:48 +0000 Subject: [PATCH 1/3] [PWGHF] Add configurable to set the max pt to remove ambiguous candidates in correlatorDMesonPairs --- PWGHF/HFC/TableProducer/correlatorDMesonPairs.cxx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/PWGHF/HFC/TableProducer/correlatorDMesonPairs.cxx b/PWGHF/HFC/TableProducer/correlatorDMesonPairs.cxx index ee0ab36ce91..56d7abc9278 100644 --- a/PWGHF/HFC/TableProducer/correlatorDMesonPairs.cxx +++ b/PWGHF/HFC/TableProducer/correlatorDMesonPairs.cxx @@ -75,6 +75,7 @@ struct HfCorrelatorDMesonPairs { Configurable massCut{"massCut", 0.05, "Maximum deviation from PDG peak allowed for signal region"}; Configurable daughterTracksCutFlag{"daughterTracksCutFlag", false, "Flag to add cut on daughter tracks"}; Configurable removeAmbiguous{"removeAmbiguous", false, "Flag to remove ambiguous candidates"}; + Configurable ptMaxRemoveAmbiguous{"ptMaxRemoveAmbiguous", 5.0, "Max. pT to remove the ambiguous candidates"}; // ML inference Configurable applyMl{"applyMl", false, "Flag to apply ML selections"}; @@ -612,7 +613,7 @@ struct HfCorrelatorDMesonPairs { } // Remove ambiguous D0 candidates if flag is true - if (removeAmbiguous && (isDCand1 && isDbarCand1)) { + if (removeAmbiguous && (isDCand1 && isDbarCand1) && candidate1.pt() < ptMaxRemoveAmbiguous) { continue; } @@ -687,7 +688,7 @@ struct HfCorrelatorDMesonPairs { } // Remove ambiguous D0 candidates if flag is true - if (removeAmbiguous && (isDCand2 && isDbarCand2)) { + if (removeAmbiguous && (isDCand2 && isDbarCand2) && candidate2.pt() < ptMaxRemoveAmbiguous) { continue; } @@ -776,7 +777,7 @@ struct HfCorrelatorDMesonPairs { } // Remove ambiguous D0 candidates if flag is true - if (removeAmbiguous && (isDCand1 && isDbarCand1)) { + if (removeAmbiguous && (isDCand1 && isDbarCand1) && candidate1.pt() < ptMaxRemoveAmbiguous) { continue; } @@ -893,7 +894,7 @@ struct HfCorrelatorDMesonPairs { } // Remove ambiguous D0 candidates if flag is true - if (removeAmbiguous && (isDCand2 && isDbarCand2)) { + if (removeAmbiguous && (isDCand2 && isDbarCand2) && candidate2.pt() < ptMaxRemoveAmbiguous) { continue; } From 3050a0e490cb406312d477d705f0bb0e2c573683 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrea=20Tavira=20Garc=C3=ADa?= <118979672+atavirag@users.noreply.github.com> Date: Mon, 16 Jun 2025 14:57:11 +0000 Subject: [PATCH 2/3] make 02 linter happy --- .../TableProducer/correlatorDMesonPairs.cxx | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/PWGHF/HFC/TableProducer/correlatorDMesonPairs.cxx b/PWGHF/HFC/TableProducer/correlatorDMesonPairs.cxx index 56d7abc9278..c857747283e 100644 --- a/PWGHF/HFC/TableProducer/correlatorDMesonPairs.cxx +++ b/PWGHF/HFC/TableProducer/correlatorDMesonPairs.cxx @@ -53,6 +53,12 @@ enum PairTypeOfSelMassSel { DDbar, // This is a D0-D0bar pair DbarD // This is a D0bar-D0 pair }; + +enum Origin { + Unassigned = 0, + Prompt, + NonPrompt +}; } // namespace using McParticlesPlus2Prong = soa::Join; @@ -804,10 +810,10 @@ struct HfCorrelatorDMesonPairs { registry.fill(HIST("hMass"), hfHelper.invMassD0ToPiK(candidate1), candidate1.pt()); registry.fill(HIST("hPtVsYVsNContribMcRec"), candidate1.pt(), hfHelper.yD0(candidate1), collision.numContrib()); registry.fill(HIST("hNContribMcRec"), collision.numContrib()); - if (originRec1 == 1) { + if (originRec1 == Prompt) { registry.fill(HIST("hMassMcRecPrompt"), hfHelper.invMassD0ToPiK(candidate1), candidate1.pt()); registry.fill(HIST("hPtVsYVsNContribMcRecPrompt"), candidate1.pt(), hfHelper.yD0(candidate1), collision.numContrib()); - } else if (originRec1 == 2) { + } else if (originRec1 == NonPrompt) { registry.fill(HIST("hMassMcRecNonPrompt"), hfHelper.invMassD0ToPiK(candidate1), candidate1.pt()); registry.fill(HIST("hPtVsYVsNContribMcRecNonPrompt"), candidate1.pt(), hfHelper.yD0(candidate1), collision.numContrib()); } @@ -825,9 +831,9 @@ struct HfCorrelatorDMesonPairs { registry.fill(HIST("hMass"), hfHelper.invMassD0barToKPi(candidate1), candidate1.pt()); registry.fill(HIST("hPtVsYVsNContribMcRec"), candidate1.pt(), hfHelper.yD0(candidate1), collision.numContrib()); registry.fill(HIST("hNContribMcRec"), collision.numContrib()); - if (originRec1 == 1) { + if (originRec1 == Prompt) { registry.fill(HIST("hMassMcRecPrompt"), hfHelper.invMassD0barToKPi(candidate1), candidate1.pt()); - } else if (originRec1 == 2) { + } else if (originRec1 == NonPrompt) { registry.fill(HIST("hMassMcRecNonPrompt"), hfHelper.invMassD0barToKPi(candidate1), candidate1.pt()); } } else if (isTrueDCand1) { @@ -1012,10 +1018,10 @@ struct HfCorrelatorDMesonPairs { } registry.fill(HIST("hPtVsYVsNContribMcGen"), particle1.pt(), particle1.y(), numPvContributorsGen); - if (originGen1 == 1) { + if (originGen1 == Prompt) { registry.fill(HIST("hPtVsYVsNContribMcGenPrompt"), particle1.pt(), particle1.y(), numPvContributorsGen); } - if (originGen1 == 2) { + if (originGen1 == NonPrompt) { registry.fill(HIST("hPtVsYVsNContribMcGenNonPrompt"), particle1.pt(), particle1.y(), numPvContributorsGen); } registry.fill(HIST("hNContribMcGen"), numPvContributorsGen); From ee9416eb97af9ff8ac5f6832f4e80898d0290f92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrea=20Tavira=20Garc=C3=ADa?= <118979672+atavirag@users.noreply.github.com> Date: Tue, 17 Jun 2025 12:12:07 +0000 Subject: [PATCH 3/3] Use RecoDecay origin types --- .../TableProducer/correlatorDMesonPairs.cxx | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/PWGHF/HFC/TableProducer/correlatorDMesonPairs.cxx b/PWGHF/HFC/TableProducer/correlatorDMesonPairs.cxx index c857747283e..96aa7514a40 100644 --- a/PWGHF/HFC/TableProducer/correlatorDMesonPairs.cxx +++ b/PWGHF/HFC/TableProducer/correlatorDMesonPairs.cxx @@ -53,12 +53,6 @@ enum PairTypeOfSelMassSel { DDbar, // This is a D0-D0bar pair DbarD // This is a D0bar-D0 pair }; - -enum Origin { - Unassigned = 0, - Prompt, - NonPrompt -}; } // namespace using McParticlesPlus2Prong = soa::Join; @@ -810,10 +804,10 @@ struct HfCorrelatorDMesonPairs { registry.fill(HIST("hMass"), hfHelper.invMassD0ToPiK(candidate1), candidate1.pt()); registry.fill(HIST("hPtVsYVsNContribMcRec"), candidate1.pt(), hfHelper.yD0(candidate1), collision.numContrib()); registry.fill(HIST("hNContribMcRec"), collision.numContrib()); - if (originRec1 == Prompt) { + if (originRec1 == RecoDecay::Prompt) { registry.fill(HIST("hMassMcRecPrompt"), hfHelper.invMassD0ToPiK(candidate1), candidate1.pt()); registry.fill(HIST("hPtVsYVsNContribMcRecPrompt"), candidate1.pt(), hfHelper.yD0(candidate1), collision.numContrib()); - } else if (originRec1 == NonPrompt) { + } else if (originRec1 == RecoDecay::NonPrompt) { registry.fill(HIST("hMassMcRecNonPrompt"), hfHelper.invMassD0ToPiK(candidate1), candidate1.pt()); registry.fill(HIST("hPtVsYVsNContribMcRecNonPrompt"), candidate1.pt(), hfHelper.yD0(candidate1), collision.numContrib()); } @@ -831,9 +825,9 @@ struct HfCorrelatorDMesonPairs { registry.fill(HIST("hMass"), hfHelper.invMassD0barToKPi(candidate1), candidate1.pt()); registry.fill(HIST("hPtVsYVsNContribMcRec"), candidate1.pt(), hfHelper.yD0(candidate1), collision.numContrib()); registry.fill(HIST("hNContribMcRec"), collision.numContrib()); - if (originRec1 == Prompt) { + if (originRec1 == RecoDecay::Prompt) { registry.fill(HIST("hMassMcRecPrompt"), hfHelper.invMassD0barToKPi(candidate1), candidate1.pt()); - } else if (originRec1 == NonPrompt) { + } else if (originRec1 == RecoDecay::NonPrompt) { registry.fill(HIST("hMassMcRecNonPrompt"), hfHelper.invMassD0barToKPi(candidate1), candidate1.pt()); } } else if (isTrueDCand1) { @@ -1018,10 +1012,10 @@ struct HfCorrelatorDMesonPairs { } registry.fill(HIST("hPtVsYVsNContribMcGen"), particle1.pt(), particle1.y(), numPvContributorsGen); - if (originGen1 == Prompt) { + if (originGen1 == RecoDecay::Prompt) { registry.fill(HIST("hPtVsYVsNContribMcGenPrompt"), particle1.pt(), particle1.y(), numPvContributorsGen); } - if (originGen1 == NonPrompt) { + if (originGen1 == RecoDecay::NonPrompt) { registry.fill(HIST("hPtVsYVsNContribMcGenNonPrompt"), particle1.pt(), particle1.y(), numPvContributorsGen); } registry.fill(HIST("hNContribMcGen"), numPvContributorsGen);