From 4f8a1040b85720bccf8097fef3ca7cb9445fa4b1 Mon Sep 17 00:00:00 2001
From: Alberto Martinez <alberto.martinez@nodo056071.inv.usc.es>
Date: Thu, 20 Mar 2025 16:20:50 +0100
Subject: [PATCH 1/7] Update of muon showers line after retraining the BDT with
 HLT1_filtered data

---
 .../python/Hlt2Conf/lines/qee/hlt2_qee.py     |  3 +-
 .../lines/qee/muon_detector_showers.py        | 59 +++++++++++++++----
 2 files changed, 51 insertions(+), 11 deletions(-)

diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/hlt2_qee.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/hlt2_qee.py
index 38d4f9eb548..69806181654 100644
--- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/hlt2_qee.py
+++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/hlt2_qee.py
@@ -41,6 +41,7 @@ full_lines.update(high_mass_dielec.all_lines)
 full_lines.update(dimuon_no_ip.full_lines)
 full_lines.update(dielectron_persist_photons.full_lines)
 full_lines.update(ttrack_llps.full_lines)
+full_lines.update(muon_detector_showers.full_lines)
 
 turbo_lines = {}
 turbo_lines.update(quarkonia.all_lines)
@@ -52,6 +53,6 @@ turbo_lines.update(drellyan.all_lines)
 turbo_lines.update(dielectron_persist_photons.turbo_lines)
 turbo_lines.update(wz_boson_rare_decays.all_lines)
 turbo_lines.update(ttrack_llps.turbo_lines)
-turbo_lines.update(muon_detector_showers.all_lines)
+turbo_lines.update(muon_detector_showers.turbo_lines)
 turbo_lines.update(sexaquark.all_lines)
 turbo_lines.update(busca.turbo_lines)
diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
index 7ef5d091020..013780a23e0 100644
--- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
+++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
@@ -21,15 +21,16 @@ from PyConf.control_flow import CompositeNode, NodeLogic
 from RecoConf.muonid import make_muon_hits
 from SelAlgorithms import monitoring
 
-all_lines = {}
+full_lines = {}
+turbo_lines = {}
 
 
 # monitor the MVA output
 def mds_BDT_Monitoring(mva, prescale=0.1):
     prescaler = DeterministicPrescaler(
-        name="Monitor_MDS_MVAPrescaler",
+        name="Monitor_MDS_MVAPrescaler_Turbo",
         AcceptFraction=(1.0 - prescale),
-        SeedName="Monitor_MDS-MVAPrescaler",
+        SeedName="Monitor_MDS-MVAPrescaler_Turbo",
         ODINLocation=make_odin(),
     )
     name = "Hlt2QEE_MDS_BDT_nHits"
@@ -50,10 +51,10 @@ def mds_BDT_Monitoring(mva, prescale=0.1):
     )
 
 
-@register_line_builder(all_lines)
+@register_line_builder(turbo_lines)
 @configurable
-def mds_BDT_nHits_line(
-    name="Hlt2QEE_MDS_BDT_nHits", MVACut=0.997, prescale=0.01, persistreco=False
+def mds_BDT_nHits_line_turbo(
+    name="Hlt2QEE_MDS_BDT_nHits_turbo", MVACut=0.995, prescale=1.0, persistreco=False
 ):
     import Functors as F
     from PyConf.Algorithms import VoidFilter
@@ -70,8 +71,8 @@ def mds_BDT_nHits_line(
     mva = F.MVA(
         MVAType="TMVA",
         Config={
-            "XMLFile": "paramfile://data/BDT_nHits_MDS.xml",
-            "Name": "BDT_nHits_qee_MDS",
+            "XMLFile": "paramfile://data/BDT_nHits_MDS_2025.xml",
+            "Name": "BDT_nHits_qee_MDS_2025",
         },
         Inputs=inputs,
     )
@@ -84,8 +85,7 @@ def mds_BDT_nHits_line(
         algs=[
             muon_hits,
             long_muons,
-            mds_BDT_Monitoring(mva, prescale=0.1),
-            VoidFilter(name="nHits_BDT_filter", Cut=mva > MVACut),
+            VoidFilter(name="nHits_BDT_filter_turboline", Cut=mva > MVACut),
         ],
         prescale=prescale,
         persistreco=persistreco,
@@ -93,3 +93,42 @@ def mds_BDT_nHits_line(
         raw_banks=["Muon"],
         monitoring_variables=(),
     )
+
+
+@register_line_builder(full_lines)
+@configurable
+def mds_BDT_nHits_line(
+    name="Hlt2QEE_MDS_BDT_nHits", MVACut=0.997, prescale = 1.0, persistreco=True
+):
+    import Functors as F
+    from PyConf.Algorithms import VoidFilter
+
+    muon_hits = make_muon_hits()
+    # stations M3, M4, and M5
+    inputs = {
+        f"M{station + 2}_region_{region}": F.NHITSINMUON(
+            muon_hits, station=station, region=region
+        )
+        for station in [1, 2, 3]
+        for region in [0, 1, 2, 3]
+    }
+    mva = F.MVA(
+        MVAType="TMVA",
+        Config={
+            "XMLFile": "paramfile://data/BDT_nHits_MDS_2025.xml",
+            "Name": "BDT_nHits_qee_MDS_2025",
+        },
+        Inputs=inputs,
+    )
+
+    return Hlt2Line(
+        name=name,
+        algs=[
+            muon_hits,
+            mds_BDT_Monitoring(mva, prescale=0.1),
+            VoidFilter(name="nHits_BDT_filter_fullline", Cut=mva > MVACut),
+        ],
+        prescale=prescale,
+        persistreco=persistreco,
+        monitoring_variables=(),
+    )
-- 
GitLab


From 1ef455624b05b300578dd7f3e64f98175771f54e Mon Sep 17 00:00:00 2001
From: Gitlab CI <noreply@cern.ch>
Date: Thu, 20 Mar 2025 15:27:59 +0000
Subject: [PATCH 2/7] pre-commit fixes

patch generated by https://gitlab.cern.ch/lhcb/Moore/-/jobs/53065473
---
 Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
index 013780a23e0..a3c9c642f23 100644
--- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
+++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
@@ -98,7 +98,7 @@ def mds_BDT_nHits_line_turbo(
 @register_line_builder(full_lines)
 @configurable
 def mds_BDT_nHits_line(
-    name="Hlt2QEE_MDS_BDT_nHits", MVACut=0.997, prescale = 1.0, persistreco=True
+    name="Hlt2QEE_MDS_BDT_nHits", MVACut=0.997, prescale=1.0, persistreco=True
 ):
     import Functors as F
     from PyConf.Algorithms import VoidFilter
-- 
GitLab


From ad929c4cc8a6f7a3af2df0128c349c70c852ef1d Mon Sep 17 00:00:00 2001
From: Maria Pereira Martinez <mariape@lxplus976.cern.ch>
Date: Thu, 20 Mar 2025 19:23:45 +0100
Subject: [PATCH 3/7] Corrected import locations and some redundancies in
 configs

---
 .../lines/qee/muon_detector_showers.py        | 43 +++++++++----------
 1 file changed, 20 insertions(+), 23 deletions(-)

diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
index a3c9c642f23..f02876aed84 100644
--- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
+++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
@@ -20,10 +20,18 @@ from PyConf.application import make_odin
 from PyConf.control_flow import CompositeNode, NodeLogic
 from RecoConf.muonid import make_muon_hits
 from SelAlgorithms import monitoring
+import Functors as F
+from PyConf.Algorithms import VoidFilter
+from RecoConf.standard_particles import make_long_muons
 
 full_lines = {}
 turbo_lines = {}
 
+# BDT config
+mva_config = {
+            "XMLFile": "paramfile://data/BDT_nHits_MDS_2025.xml",
+            "Name": "BDT_nHits_qee_MDS_2025",
+        }
 
 # monitor the MVA output
 def mds_BDT_Monitoring(mva, prescale=0.1):
@@ -50,16 +58,14 @@ def mds_BDT_Monitoring(mva, prescale=0.1):
         force_order=True,
     )
 
-
 @register_line_builder(turbo_lines)
 @configurable
 def mds_BDT_nHits_line_turbo(
     name="Hlt2QEE_MDS_BDT_nHits_turbo", MVACut=0.995, prescale=1.0, persistreco=False
 ):
-    import Functors as F
-    from PyConf.Algorithms import VoidFilter
 
     muon_hits = make_muon_hits()
+    
     # stations M3, M4, and M5
     inputs = {
         f"M{station + 2}_region_{region}": F.NHITSINMUON(
@@ -68,17 +74,13 @@ def mds_BDT_nHits_line_turbo(
         for station in [1, 2, 3]
         for region in [0, 1, 2, 3]
     }
+    
     mva = F.MVA(
         MVAType="TMVA",
-        Config={
-            "XMLFile": "paramfile://data/BDT_nHits_MDS_2025.xml",
-            "Name": "BDT_nHits_qee_MDS_2025",
-        },
+        Config=mva_config,
         Inputs=inputs,
     )
 
-    from RecoConf.standard_particles import make_long_muons
-
     long_muons = make_long_muons()
     return Hlt2Line(
         name=name,
@@ -90,20 +92,17 @@ def mds_BDT_nHits_line_turbo(
         prescale=prescale,
         persistreco=persistreco,
         extra_outputs=[("MuonLongTracks", long_muons)],
-        raw_banks=["Muon"],
-        monitoring_variables=(),
+        raw_banks=["Muon"]
     )
 
-
 @register_line_builder(full_lines)
 @configurable
 def mds_BDT_nHits_line(
-    name="Hlt2QEE_MDS_BDT_nHits", MVACut=0.997, prescale=1.0, persistreco=True
+    name="Hlt2QEE_MDS_BDT_nHits", MVACut=0.997, prescale = 1.0, persistreco=True
 ):
-    import Functors as F
-    from PyConf.Algorithms import VoidFilter
-
+    
     muon_hits = make_muon_hits()
+    
     # stations M3, M4, and M5
     inputs = {
         f"M{station + 2}_region_{region}": F.NHITSINMUON(
@@ -112,15 +111,12 @@ def mds_BDT_nHits_line(
         for station in [1, 2, 3]
         for region in [0, 1, 2, 3]
     }
+    
     mva = F.MVA(
         MVAType="TMVA",
-        Config={
-            "XMLFile": "paramfile://data/BDT_nHits_MDS_2025.xml",
-            "Name": "BDT_nHits_qee_MDS_2025",
-        },
+        Config=mva_config,
         Inputs=inputs,
     )
-
     return Hlt2Line(
         name=name,
         algs=[
@@ -129,6 +125,7 @@ def mds_BDT_nHits_line(
             VoidFilter(name="nHits_BDT_filter_fullline", Cut=mva > MVACut),
         ],
         prescale=prescale,
-        persistreco=persistreco,
-        monitoring_variables=(),
+        persistreco=persistreco
     )
+
+
-- 
GitLab


From 2054f3287bb77fa39ad1e1a660f433e4911e4e05 Mon Sep 17 00:00:00 2001
From: Gitlab CI <noreply@cern.ch>
Date: Thu, 20 Mar 2025 18:24:29 +0000
Subject: [PATCH 4/7] pre-commit fixes

patch generated by https://gitlab.cern.ch/lhcb/Moore/-/jobs/53076802
---
 .../lines/qee/muon_detector_showers.py        | 34 +++++++++----------
 1 file changed, 16 insertions(+), 18 deletions(-)

diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
index f02876aed84..a45b088c52a 100644
--- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
+++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
@@ -12,26 +12,26 @@
 Inclusive lines that run a BDT selection on the number of hits in different muon stations
 """
 
+import Functors as F
 from Moore.config import register_line_builder
 from Moore.lines import Hlt2Line
 from PyConf import configurable
-from PyConf.Algorithms import DeterministicPrescaler
+from PyConf.Algorithms import DeterministicPrescaler, VoidFilter
 from PyConf.application import make_odin
 from PyConf.control_flow import CompositeNode, NodeLogic
 from RecoConf.muonid import make_muon_hits
-from SelAlgorithms import monitoring
-import Functors as F
-from PyConf.Algorithms import VoidFilter
 from RecoConf.standard_particles import make_long_muons
+from SelAlgorithms import monitoring
 
 full_lines = {}
 turbo_lines = {}
 
 # BDT config
 mva_config = {
-            "XMLFile": "paramfile://data/BDT_nHits_MDS_2025.xml",
-            "Name": "BDT_nHits_qee_MDS_2025",
-        }
+    "XMLFile": "paramfile://data/BDT_nHits_MDS_2025.xml",
+    "Name": "BDT_nHits_qee_MDS_2025",
+}
+
 
 # monitor the MVA output
 def mds_BDT_Monitoring(mva, prescale=0.1):
@@ -58,14 +58,14 @@ def mds_BDT_Monitoring(mva, prescale=0.1):
         force_order=True,
     )
 
+
 @register_line_builder(turbo_lines)
 @configurable
 def mds_BDT_nHits_line_turbo(
     name="Hlt2QEE_MDS_BDT_nHits_turbo", MVACut=0.995, prescale=1.0, persistreco=False
 ):
-
     muon_hits = make_muon_hits()
-    
+
     # stations M3, M4, and M5
     inputs = {
         f"M{station + 2}_region_{region}": F.NHITSINMUON(
@@ -74,7 +74,7 @@ def mds_BDT_nHits_line_turbo(
         for station in [1, 2, 3]
         for region in [0, 1, 2, 3]
     }
-    
+
     mva = F.MVA(
         MVAType="TMVA",
         Config=mva_config,
@@ -92,17 +92,17 @@ def mds_BDT_nHits_line_turbo(
         prescale=prescale,
         persistreco=persistreco,
         extra_outputs=[("MuonLongTracks", long_muons)],
-        raw_banks=["Muon"]
+        raw_banks=["Muon"],
     )
 
+
 @register_line_builder(full_lines)
 @configurable
 def mds_BDT_nHits_line(
-    name="Hlt2QEE_MDS_BDT_nHits", MVACut=0.997, prescale = 1.0, persistreco=True
+    name="Hlt2QEE_MDS_BDT_nHits", MVACut=0.997, prescale=1.0, persistreco=True
 ):
-    
     muon_hits = make_muon_hits()
-    
+
     # stations M3, M4, and M5
     inputs = {
         f"M{station + 2}_region_{region}": F.NHITSINMUON(
@@ -111,7 +111,7 @@ def mds_BDT_nHits_line(
         for station in [1, 2, 3]
         for region in [0, 1, 2, 3]
     }
-    
+
     mva = F.MVA(
         MVAType="TMVA",
         Config=mva_config,
@@ -125,7 +125,5 @@ def mds_BDT_nHits_line(
             VoidFilter(name="nHits_BDT_filter_fullline", Cut=mva > MVACut),
         ],
         prescale=prescale,
-        persistreco=persistreco
+        persistreco=persistreco,
     )
-
-
-- 
GitLab


From ca913587b815d028eb727d5626f76ee2153a7ac7 Mon Sep 17 00:00:00 2001
From: Maria Pereira Martinez <mariape@lxplus946.cern.ch>
Date: Fri, 21 Mar 2025 16:20:14 +0100
Subject: [PATCH 5/7] Added monitoring for the full line

---
 .../lines/qee/muon_detector_showers.py        | 53 ++++++++++---------
 1 file changed, 28 insertions(+), 25 deletions(-)

diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
index a45b088c52a..c74048d0293 100644
--- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
+++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
@@ -12,38 +12,29 @@
 Inclusive lines that run a BDT selection on the number of hits in different muon stations
 """
 
-import Functors as F
 from Moore.config import register_line_builder
 from Moore.lines import Hlt2Line
 from PyConf import configurable
-from PyConf.Algorithms import DeterministicPrescaler, VoidFilter
+from PyConf.Algorithms import DeterministicPrescaler
 from PyConf.application import make_odin
 from PyConf.control_flow import CompositeNode, NodeLogic
 from RecoConf.muonid import make_muon_hits
-from RecoConf.standard_particles import make_long_muons
 from SelAlgorithms import monitoring
 
 full_lines = {}
 turbo_lines = {}
 
-# BDT config
-mva_config = {
-    "XMLFile": "paramfile://data/BDT_nHits_MDS_2025.xml",
-    "Name": "BDT_nHits_qee_MDS_2025",
-}
 
-
-# monitor the MVA output
-def mds_BDT_Monitoring(mva, prescale=0.1):
+def mds_BDT_Monitoring(mva, prescale=0.1, line_type="full"):
     prescaler = DeterministicPrescaler(
-        name="Monitor_MDS_MVAPrescaler_Turbo",
+        name=f"Monitor_MDS_MVAPrescaler_{line_type.capitalize()}",
         AcceptFraction=(1.0 - prescale),
-        SeedName="Monitor_MDS-MVAPrescaler_Turbo",
+        SeedName=f"Monitor_MDS-MVAPrescaler_{line_type.capitalize()}",
         ODINLocation=make_odin(),
     )
-    name = "Hlt2QEE_MDS_BDT_nHits"
+    name = f"Hlt2QEE_MDS_BDT_nHits_{line_type}"
     histogram_BDT_predictions = monitoring.histogram_1d(
-        "Monitoring" + name + "_MVA_output",
+        f"Monitoring{name}_MVA_output",
         "Prediction of the BDT for MDS",
         mva,
         bins=500,
@@ -52,7 +43,7 @@ def mds_BDT_Monitoring(mva, prescale=0.1):
     )
     global_monitor = monitoring.monitor(histograms=[histogram_BDT_predictions])
     return CompositeNode(
-        "mds_BDT_Monitoring",
+        f"mds_BDT_Monitoring_{line_type}",
         [prescaler, global_monitor],
         combine_logic=NodeLogic.LAZY_OR,
         force_order=True,
@@ -64,9 +55,10 @@ def mds_BDT_Monitoring(mva, prescale=0.1):
 def mds_BDT_nHits_line_turbo(
     name="Hlt2QEE_MDS_BDT_nHits_turbo", MVACut=0.995, prescale=1.0, persistreco=False
 ):
-    muon_hits = make_muon_hits()
+    import Functors as F
+    from PyConf.Algorithms import VoidFilter
 
-    # stations M3, M4, and M5
+    muon_hits = make_muon_hits()
     inputs = {
         f"M{station + 2}_region_{region}": F.NHITSINMUON(
             muon_hits, station=station, region=region
@@ -74,18 +66,23 @@ def mds_BDT_nHits_line_turbo(
         for station in [1, 2, 3]
         for region in [0, 1, 2, 3]
     }
-
     mva = F.MVA(
         MVAType="TMVA",
-        Config=mva_config,
+        Config={
+            "XMLFile": "paramfile://data/BDT_nHits_MDS_2025.xml",
+            "Name": "BDT_nHits_qee_MDS_2025",
+        },
         Inputs=inputs,
     )
 
+    from RecoConf.standard_particles import make_long_muons
+
     long_muons = make_long_muons()
     return Hlt2Line(
         name=name,
         algs=[
             muon_hits,
+            mds_BDT_Monitoring(mva, prescale=0.1, line_type="turbo"),
             long_muons,
             VoidFilter(name="nHits_BDT_filter_turboline", Cut=mva > MVACut),
         ],
@@ -93,6 +90,7 @@ def mds_BDT_nHits_line_turbo(
         persistreco=persistreco,
         extra_outputs=[("MuonLongTracks", long_muons)],
         raw_banks=["Muon"],
+        monitoring_variables=(),
     )
 
 
@@ -101,9 +99,10 @@ def mds_BDT_nHits_line_turbo(
 def mds_BDT_nHits_line(
     name="Hlt2QEE_MDS_BDT_nHits", MVACut=0.997, prescale=1.0, persistreco=True
 ):
-    muon_hits = make_muon_hits()
+    import Functors as F
+    from PyConf.Algorithms import VoidFilter
 
-    # stations M3, M4, and M5
+    muon_hits = make_muon_hits()
     inputs = {
         f"M{station + 2}_region_{region}": F.NHITSINMUON(
             muon_hits, station=station, region=region
@@ -111,19 +110,23 @@ def mds_BDT_nHits_line(
         for station in [1, 2, 3]
         for region in [0, 1, 2, 3]
     }
-
     mva = F.MVA(
         MVAType="TMVA",
-        Config=mva_config,
+        Config={
+            "XMLFile": "paramfile://data/BDT_nHits_MDS_2025.xml",
+            "Name": "BDT_nHits_qee_MDS_2025",
+        },
         Inputs=inputs,
     )
+
     return Hlt2Line(
         name=name,
         algs=[
             muon_hits,
-            mds_BDT_Monitoring(mva, prescale=0.1),
+            mds_BDT_Monitoring(mva, prescale=0.1, line_type="full"),
             VoidFilter(name="nHits_BDT_filter_fullline", Cut=mva > MVACut),
         ],
         prescale=prescale,
         persistreco=persistreco,
+        monitoring_variables=(),
     )
-- 
GitLab


From 5f060280e4583761f048fbcbf4da190a5ebc5278 Mon Sep 17 00:00:00 2001
From: Maria Pereira Martinez <mariape@lxplus921.cern.ch>
Date: Fri, 21 Mar 2025 17:41:34 +0100
Subject: [PATCH 6/7] Redid small changes in import locations and configs

---
 .../lines/qee/muon_detector_showers.py        | 34 ++++++++-----------
 1 file changed, 14 insertions(+), 20 deletions(-)

diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
index c74048d0293..28462e03a61 100644
--- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
+++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
@@ -20,11 +20,13 @@ from PyConf.application import make_odin
 from PyConf.control_flow import CompositeNode, NodeLogic
 from RecoConf.muonid import make_muon_hits
 from SelAlgorithms import monitoring
+from RecoConf.standard_particles import make_long_muons
+import Functors as F
+from PyConf.Algorithms import VoidFilter
 
 full_lines = {}
 turbo_lines = {}
 
-
 def mds_BDT_Monitoring(mva, prescale=0.1, line_type="full"):
     prescaler = DeterministicPrescaler(
         name=f"Monitor_MDS_MVAPrescaler_{line_type.capitalize()}",
@@ -50,13 +52,16 @@ def mds_BDT_Monitoring(mva, prescale=0.1, line_type="full"):
     )
 
 
+mva_config = {
+            "XMLFile": "paramfile://data/BDT_nHits_MDS_2025.xml",
+            "Name": "BDT_nHits_qee_MDS_2025",
+        }
+
 @register_line_builder(turbo_lines)
 @configurable
 def mds_BDT_nHits_line_turbo(
     name="Hlt2QEE_MDS_BDT_nHits_turbo", MVACut=0.995, prescale=1.0, persistreco=False
 ):
-    import Functors as F
-    from PyConf.Algorithms import VoidFilter
 
     muon_hits = make_muon_hits()
     inputs = {
@@ -68,15 +73,11 @@ def mds_BDT_nHits_line_turbo(
     }
     mva = F.MVA(
         MVAType="TMVA",
-        Config={
-            "XMLFile": "paramfile://data/BDT_nHits_MDS_2025.xml",
-            "Name": "BDT_nHits_qee_MDS_2025",
-        },
+        Config=mva_config,
         Inputs=inputs,
     )
 
-    from RecoConf.standard_particles import make_long_muons
-
+    
     long_muons = make_long_muons()
     return Hlt2Line(
         name=name,
@@ -89,8 +90,7 @@ def mds_BDT_nHits_line_turbo(
         prescale=prescale,
         persistreco=persistreco,
         extra_outputs=[("MuonLongTracks", long_muons)],
-        raw_banks=["Muon"],
-        monitoring_variables=(),
+        raw_banks=["Muon"]
     )
 
 
@@ -99,9 +99,7 @@ def mds_BDT_nHits_line_turbo(
 def mds_BDT_nHits_line(
     name="Hlt2QEE_MDS_BDT_nHits", MVACut=0.997, prescale=1.0, persistreco=True
 ):
-    import Functors as F
-    from PyConf.Algorithms import VoidFilter
-
+    
     muon_hits = make_muon_hits()
     inputs = {
         f"M{station + 2}_region_{region}": F.NHITSINMUON(
@@ -112,10 +110,7 @@ def mds_BDT_nHits_line(
     }
     mva = F.MVA(
         MVAType="TMVA",
-        Config={
-            "XMLFile": "paramfile://data/BDT_nHits_MDS_2025.xml",
-            "Name": "BDT_nHits_qee_MDS_2025",
-        },
+        Config=mva_config,
         Inputs=inputs,
     )
 
@@ -127,6 +122,5 @@ def mds_BDT_nHits_line(
             VoidFilter(name="nHits_BDT_filter_fullline", Cut=mva > MVACut),
         ],
         prescale=prescale,
-        persistreco=persistreco,
-        monitoring_variables=(),
+        persistreco=persistreco
     )
-- 
GitLab


From ac00c766654bf6892fa4468109f849c197f45eaf Mon Sep 17 00:00:00 2001
From: Gitlab CI <noreply@cern.ch>
Date: Fri, 21 Mar 2025 16:42:24 +0000
Subject: [PATCH 7/7] pre-commit fixes

patch generated by https://gitlab.cern.ch/lhcb/Moore/-/jobs/53133619
---
 .../lines/qee/muon_detector_showers.py        | 22 +++++++++----------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
index 28462e03a61..9489eb1992c 100644
--- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
+++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/muon_detector_showers.py
@@ -12,21 +12,21 @@
 Inclusive lines that run a BDT selection on the number of hits in different muon stations
 """
 
+import Functors as F
 from Moore.config import register_line_builder
 from Moore.lines import Hlt2Line
 from PyConf import configurable
-from PyConf.Algorithms import DeterministicPrescaler
+from PyConf.Algorithms import DeterministicPrescaler, VoidFilter
 from PyConf.application import make_odin
 from PyConf.control_flow import CompositeNode, NodeLogic
 from RecoConf.muonid import make_muon_hits
-from SelAlgorithms import monitoring
 from RecoConf.standard_particles import make_long_muons
-import Functors as F
-from PyConf.Algorithms import VoidFilter
+from SelAlgorithms import monitoring
 
 full_lines = {}
 turbo_lines = {}
 
+
 def mds_BDT_Monitoring(mva, prescale=0.1, line_type="full"):
     prescaler = DeterministicPrescaler(
         name=f"Monitor_MDS_MVAPrescaler_{line_type.capitalize()}",
@@ -53,16 +53,16 @@ def mds_BDT_Monitoring(mva, prescale=0.1, line_type="full"):
 
 
 mva_config = {
-            "XMLFile": "paramfile://data/BDT_nHits_MDS_2025.xml",
-            "Name": "BDT_nHits_qee_MDS_2025",
-        }
+    "XMLFile": "paramfile://data/BDT_nHits_MDS_2025.xml",
+    "Name": "BDT_nHits_qee_MDS_2025",
+}
+
 
 @register_line_builder(turbo_lines)
 @configurable
 def mds_BDT_nHits_line_turbo(
     name="Hlt2QEE_MDS_BDT_nHits_turbo", MVACut=0.995, prescale=1.0, persistreco=False
 ):
-
     muon_hits = make_muon_hits()
     inputs = {
         f"M{station + 2}_region_{region}": F.NHITSINMUON(
@@ -77,7 +77,6 @@ def mds_BDT_nHits_line_turbo(
         Inputs=inputs,
     )
 
-    
     long_muons = make_long_muons()
     return Hlt2Line(
         name=name,
@@ -90,7 +89,7 @@ def mds_BDT_nHits_line_turbo(
         prescale=prescale,
         persistreco=persistreco,
         extra_outputs=[("MuonLongTracks", long_muons)],
-        raw_banks=["Muon"]
+        raw_banks=["Muon"],
     )
 
 
@@ -99,7 +98,6 @@ def mds_BDT_nHits_line_turbo(
 def mds_BDT_nHits_line(
     name="Hlt2QEE_MDS_BDT_nHits", MVACut=0.997, prescale=1.0, persistreco=True
 ):
-    
     muon_hits = make_muon_hits()
     inputs = {
         f"M{station + 2}_region_{region}": F.NHITSINMUON(
@@ -122,5 +120,5 @@ def mds_BDT_nHits_line(
             VoidFilter(name="nHits_BDT_filter_fullline", Cut=mva > MVACut),
         ],
         prescale=prescale,
-        persistreco=persistreco
+        persistreco=persistreco,
     )
-- 
GitLab