From 148de78b2aff10deb31512315d650e2d17abdc3c Mon Sep 17 00:00:00 2001 From: Ricardo Vazquez Gomez <ricardo.vazquez.gomez@cern.ch> Date: Tue, 5 Mar 2024 18:38:10 +0100 Subject: [PATCH] add HltRoutingBits --- MooreOnlineConf/options/calo.py | 53 ++++++++++++++++++++++++++++----- 1 file changed, 46 insertions(+), 7 deletions(-) diff --git a/MooreOnlineConf/options/calo.py b/MooreOnlineConf/options/calo.py index 8c48e2f4a..388bd28fd 100644 --- a/MooreOnlineConf/options/calo.py +++ b/MooreOnlineConf/options/calo.py @@ -9,13 +9,14 @@ # 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 from Moore.config import Reconstruction -from RecoConf.calo_data_monitoring import monitor_calo_digits, monitor_calo_clusters, monitor_calo_time_alignment, monitor_calo_pedestal +from RecoConf.calo_data_monitoring import monitor_calo_digits, monitor_calo_clusters, monitor_calo_time_alignment, monitor_calo_pedestal, monitor_calo_led from RecoConf.standalone import reco_prefilters from Hlt2Conf.lines.monitoring.pi0_line import pi0_monitoring @@ -40,17 +41,55 @@ def calo_moni(): "ecalClusters": ecalClusters, } - data += monitor_calo_digits( + 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) - data += monitor_calo_clusters(calo, split_clusters=False) - data += monitor_calo_time_alignment( + + # 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) + # 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") + 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)) -- GitLab