From 2deb0feafe7d1e863a8b47a2a132cd2a9702c42d Mon Sep 17 00:00:00 2001
From: Ricardo Vazquez Gomez <ricardo.vazquez.gomez@cern.ch>
Date: Tue, 5 Mar 2024 18:59:10 +0100
Subject: [PATCH 1/2] add routing bits to calo monitoring

---
 MooreOnlineConf/options/calo.py | 61 +++++++++++++++++++++++++--------
 1 file changed, 46 insertions(+), 15 deletions(-)

diff --git a/MooreOnlineConf/options/calo.py b/MooreOnlineConf/options/calo.py
index f6d3eec0c..1457ec444 100644
--- a/MooreOnlineConf/options/calo.py
+++ b/MooreOnlineConf/options/calo.py
@@ -9,8 +9,9 @@
 # or submit itself to any jurisdiction.                                       #
 #############################################################################
 from PyConf.application import default_raw_banks, default_raw_event
+from PyConf.control_flow import CompositeNode, NodeLogic
 from Moore import options, run_reconstruction
-from PyConf.Algorithms import CaloFutureRawToDigits
+from PyConf.Algorithms import CaloFutureRawToDigits, HltRoutingBitsFilter, OdinTypesFilter
 from RecoConf.calorimeter_reconstruction import make_digits, make_clusters, make_digits
 from RecoConf.reconstruction_objects import reconstruction
 from RecoConf.hlt2_global_reco import reconstruction as hlt2_reconstruction, make_calo_only_reconstruction
@@ -22,7 +23,6 @@ from Hlt2Conf.lines.monitoring.pi0_line import pi0_monitoring
 options.dddb_tag = 'upgrade/master'
 options.conddb_tag = 'upgrade/master'
 
-
 def calo_moni():
     data = []
     if options.input_type.lower() == 'online':
@@ -40,25 +40,56 @@ def calo_moni():
         "ecalClusters": ecalClusters,
     }
 
-    data += monitor_calo_digits(
-        calo,
-        adcFilterEcal=-100,
-        adcFilterHcal=-100,
-        HistoMultiplicityMaxEcal=6000,
-        HistoMultiplicityMaxHCal=4000,
-        spectrum=False)
-    data += monitor_calo_clusters(calo, split_clusters=False)
-    data += monitor_calo_time_alignment(
+    rb_phys_filter = HltRoutingBitsFilter(
+        name="RBFilterPhys",
+        RawBanks=default_raw_banks('HltRoutingBits'),
+        RequireMask=(1 << 14, 0, 0),  # Physics events
+        PassOnError=False)
+
+    rb_calib_filter = HltRoutingBitsFilter(
+        name="RBFilterCalib",
+        RawBanks=default_raw_banks('HltRoutingBits'),
+        RequireMask=(1 << 10, 0, 0),  # Calibration events
+        PassOnError=False)
+
+    # digit monitor
+    digitMonitor = monitor_calo_digits(
+        calo, adcFilterEcal=-100, adcFilterHcal=-100, spectrum=False)
+
+    # cluster monitor
+    clusterMonitor = monitor_calo_clusters(calo, split_clusters=False)
+
+    # TAE monitor
+    TAEMonitor = monitor_calo_time_alignment(
         calo, adcFilterEcal=-100, adcFilterHcal=-100)
-    data += monitor_calo_pedestal(calo, adcFilterEcal=-100, adcFilterHcal=-100)
-    data += monitor_calo_led(calo)
 
+    # pedestal monitor
+    pedestalMonitor = monitor_calo_pedestal(calo, adcFilterEcal=-100, adcFilterHcal=-100)
+
+    # pi0 monitoring
     with reconstruction.bind(from_file=False),\
         hlt2_reconstruction.bind(make_reconstruction=make_calo_only_reconstruction),\
         make_digits.bind(calo_raw_bank=True):
-        data += pi0_monitoring(name="calo_only_pi0_moni")
-    return Reconstruction('calo_moni', data, reco_prefilters(gec=False))
+        pi0Monitor = pi0_monitoring(name="calo_only_pi0_moni")
+
+    data += [
+        CompositeNode(
+            "Phys", [rb_phys_filter, clusterMonitor[0], digitMonitor[0], digitMonitor[1], TAEMonitor[0], TAEMonitor[1], pedestalMonitor[0], pedestalMonitor[1], pi0Monitor[0], pi0Monitor[1]],
+            combine_logic=NodeLogic.LAZY_AND,
+            force_order=True)
+    ]
+
+    # LED monitor
+    LEDMonitor = monitor_calo_led(calo)
 
+    data += [
+        CompositeNode(
+            "Calib", [rb_calib_filter, LEDMonitor[0], LEDMonitor[1]],
+            combine_logic=NodeLogic.LAZY_AND,
+            force_order=True)
+    ]
+
+    return Reconstruction('calo_moni', data, reco_prefilters(gec=False))
 
 with CaloFutureRawToDigits.bind(UseParamsFromDB=False):
     run_reconstruction(options, calo_moni)
-- 
GitLab


From 028eef130bb4fb6ae2e53a92d5167903d37eb319 Mon Sep 17 00:00:00 2001
From: Gitlab CI <noreply@cern.ch>
Date: Tue, 5 Mar 2024 17:59:46 +0000
Subject: [PATCH 2/2] Fixed formatting

patch generated by https://gitlab.cern.ch/lhcb/MooreOnline/-/jobs/36748683
---
 MooreOnlineConf/options/calo.py | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/MooreOnlineConf/options/calo.py b/MooreOnlineConf/options/calo.py
index 1457ec444..769ab49cf 100644
--- a/MooreOnlineConf/options/calo.py
+++ b/MooreOnlineConf/options/calo.py
@@ -23,6 +23,7 @@ from Hlt2Conf.lines.monitoring.pi0_line import pi0_monitoring
 options.dddb_tag = 'upgrade/master'
 options.conddb_tag = 'upgrade/master'
 
+
 def calo_moni():
     data = []
     if options.input_type.lower() == 'online':
@@ -64,7 +65,8 @@ def calo_moni():
         calo, adcFilterEcal=-100, adcFilterHcal=-100)
 
     # pedestal monitor
-    pedestalMonitor = monitor_calo_pedestal(calo, adcFilterEcal=-100, adcFilterHcal=-100)
+    pedestalMonitor = monitor_calo_pedestal(
+        calo, adcFilterEcal=-100, adcFilterHcal=-100)
 
     # pi0 monitoring
     with reconstruction.bind(from_file=False),\
@@ -74,7 +76,12 @@ def calo_moni():
 
     data += [
         CompositeNode(
-            "Phys", [rb_phys_filter, clusterMonitor[0], digitMonitor[0], digitMonitor[1], TAEMonitor[0], TAEMonitor[1], pedestalMonitor[0], pedestalMonitor[1], pi0Monitor[0], pi0Monitor[1]],
+            "Phys", [
+                rb_phys_filter, clusterMonitor[0], digitMonitor[0],
+                digitMonitor[1], TAEMonitor[0], TAEMonitor[1],
+                pedestalMonitor[0], pedestalMonitor[1], pi0Monitor[0],
+                pi0Monitor[1]
+            ],
             combine_logic=NodeLogic.LAZY_AND,
             force_order=True)
     ]
@@ -91,5 +98,6 @@ def calo_moni():
 
     return Reconstruction('calo_moni', data, reco_prefilters(gec=False))
 
+
 with CaloFutureRawToDigits.bind(UseParamsFromDB=False):
     run_reconstruction(options, calo_moni)
-- 
GitLab