From 00effe878c737e57432edaefeae6afb60f4703a3 Mon Sep 17 00:00:00 2001
From: Tommaso Fulghesu <tommaso.fulghesu@cern.ch>
Date: Tue, 25 Mar 2025 08:52:30 +0100
Subject: [PATCH 1/3] Propose solution to Matt to enlarge mass range

---
 .../python/Hlt2Conf/lines/semileptonic/HbToHcLNu.py    | 10 ++++++++--
 .../semileptonic/builders/charm_hadron_builder.py      |  9 +++++++++
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToHcLNu.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToHcLNu.py
index 866359e6309..958d9981143 100644
--- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToHcLNu.py
+++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToHcLNu.py
@@ -52,9 +52,13 @@ def make_bctojpsilnu_jpsitomumu(process, lepton):
         descriptor = "[B_c- -> J/psi(1S) e-]cc"
     else:
         raise ConfigurationError("Lepton must be either mu or e")
-    # 120 MeV around Jpsi mass
+    # 120 MeV around Jpsi mass and 60 MeV around psi2s mass
     jpsi = make_jpsi_tomumu(
-        comb_m_min=2977 * MeV, comb_m_max=3217 * MeV, vchi2pdof_max=4
+        comb_m_min=2977 * MeV,
+        comb_m_max=3217 * MeV, 
+        comb_m_min2=3626 * MeV, 
+        comb_m_max2=3746 * MeV, 
+        vchi2pdof_max=4
     )
     bc_jpsimum = make_b2xclnu(
         [jpsi, leptons],
@@ -79,6 +83,8 @@ def make_bctojpsilnu_jpsitomumu_fakelepton(process, lepton):
     jpsi = make_jpsi_tomumu(
         comb_m_min=2977 * MeV,
         comb_m_max=3217 * MeV,
+        comb_m_min2=3626 * MeV,
+        comb_m_max2=3746 * MeV,
         comb_pt_any_min=None,
         comb_pt_sum_min=None,
         comb_docachi2_max=None,
diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/builders/charm_hadron_builder.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/builders/charm_hadron_builder.py
index 0bcb92ad969..30eca17cd15 100644
--- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/builders/charm_hadron_builder.py
+++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/builders/charm_hadron_builder.py
@@ -47,6 +47,8 @@ def make_Hc_to_nbody(
     descriptor,
     comb_m_min,
     comb_m_max,
+    comb_m_min2=None,
+    comb_m_max2=None,
     mother_m_min=None,
     mother_m_max=None,
     mother_pt_min=None,
@@ -77,6 +79,10 @@ def make_Hc_to_nbody(
         Lower invariant mass limit for the particle combination.
     comb_m_max :
         Upper invariant mass limit for the particle combination.
+    comb_m_min2 :
+        Lower invariant mass limit for the second particle combination.
+    comb_m_max2 :
+        Upper invariant mass limit for the second particle combination.
     comb_pt_any_min :
         Minimum pt that at least one of the particles in the combination needs to have.
     comb_pt_sum_min :
@@ -97,6 +103,9 @@ def make_Hc_to_nbody(
         Minimum distance of flight in the transverse plane.
     """
     combination_code = in_range(comb_m_min, F.MASS, comb_m_max)
+    if (comb_m_min2 is not None) and (comb_m_max2 is not None):
+        combination_code = F.require_any(
+            combination_code, in_range(comb_m_min2, F.MASS, comb_m_max2))
     if comb_pt_min is not None:
         combination_code = F.require_all(combination_code, F.PT > comb_pt_min)
     if comb_pt_any_min is not None:
-- 
GitLab


From 87e82107d150ed421e17598bdc4ae7ef031c94ba Mon Sep 17 00:00:00 2001
From: Gitlab CI <noreply@cern.ch>
Date: Tue, 25 Mar 2025 07:56:42 +0000
Subject: [PATCH 2/3] pre-commit fixes

patch generated by https://gitlab.cern.ch/lhcb/Moore/-/jobs/53253674
---
 .../python/Hlt2Conf/lines/semileptonic/HbToHcLNu.py       | 8 ++++----
 .../lines/semileptonic/builders/charm_hadron_builder.py   | 3 ++-
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToHcLNu.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToHcLNu.py
index 958d9981143..11002d637df 100644
--- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToHcLNu.py
+++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToHcLNu.py
@@ -55,10 +55,10 @@ def make_bctojpsilnu_jpsitomumu(process, lepton):
     # 120 MeV around Jpsi mass and 60 MeV around psi2s mass
     jpsi = make_jpsi_tomumu(
         comb_m_min=2977 * MeV,
-        comb_m_max=3217 * MeV, 
-        comb_m_min2=3626 * MeV, 
-        comb_m_max2=3746 * MeV, 
-        vchi2pdof_max=4
+        comb_m_max=3217 * MeV,
+        comb_m_min2=3626 * MeV,
+        comb_m_max2=3746 * MeV,
+        vchi2pdof_max=4,
     )
     bc_jpsimum = make_b2xclnu(
         [jpsi, leptons],
diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/builders/charm_hadron_builder.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/builders/charm_hadron_builder.py
index 30eca17cd15..14a81ffd082 100644
--- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/builders/charm_hadron_builder.py
+++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/builders/charm_hadron_builder.py
@@ -105,7 +105,8 @@ def make_Hc_to_nbody(
     combination_code = in_range(comb_m_min, F.MASS, comb_m_max)
     if (comb_m_min2 is not None) and (comb_m_max2 is not None):
         combination_code = F.require_any(
-            combination_code, in_range(comb_m_min2, F.MASS, comb_m_max2))
+            combination_code, in_range(comb_m_min2, F.MASS, comb_m_max2)
+        )
     if comb_pt_min is not None:
         combination_code = F.require_all(combination_code, F.PT > comb_pt_min)
     if comb_pt_any_min is not None:
-- 
GitLab


From 48ee50ccb8aa2a8916371cf7c907656dfffba3e5 Mon Sep 17 00:00:00 2001
From: Tommaso Fulghesu <tommaso.fulghesu@cern.ch>
Date: Tue, 25 Mar 2025 09:59:35 +0100
Subject: [PATCH 3/3] Pass running arguments to the builder

---
 .../lines/semileptonic/builders/charm_hadron_builder.py       | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/builders/charm_hadron_builder.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/builders/charm_hadron_builder.py
index 14a81ffd082..39aead4195c 100644
--- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/builders/charm_hadron_builder.py
+++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/builders/charm_hadron_builder.py
@@ -418,6 +418,8 @@ def make_jpsi_tomumu(
     name="SLB_JpsiToMuMuBuilder_{hash}",
     comb_m_min=3047 * MeV,
     comb_m_max=3147 * MeV,
+    comb_m_min2=None,
+    comb_m_max2=None,
     comb_pt_any_min=1200 * MeV,
     comb_pt_sum_min=3500 * MeV,
     comb_docachi2_max=20.0,
@@ -447,6 +449,8 @@ def make_jpsi_tomumu(
         bpvfdchi2_min=bpvfdchi2_min,
         bpvdira_min=bpvdira_min,
         bpvvdz_min=bpvvdz_min,
+        comb_m_min2=comb_m_min2,
+        comb_m_max2=comb_m_max2,
         comb_pt_min=None,
         comb_pt_any_min=comb_pt_any_min,
         comb_pt_sum_min=comb_pt_sum_min,
-- 
GitLab