diff --git a/Hlt/HltDAQ/tests/options/lumi_decoding.py b/Hlt/HltDAQ/tests/options/lumi_decoding.py new file mode 100644 index 0000000000000000000000000000000000000000..61e58fde70cb1fa5b66d255f39bba325ab8bad7f --- /dev/null +++ b/Hlt/HltDAQ/tests/options/lumi_decoding.py @@ -0,0 +1,55 @@ +############################################################################### +# (c) Copyright 2022 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# In applying this licence, CERN does not waive the privileges and immunities # +# granted to it by virtue of its status as an Intergovernmental Organization # +# or submit itself to any jurisdiction. # +############################################################################### +import logging +from Gaudi.Configuration import VERBOSE, DEBUG +from PRConfig.TestFileDB import test_file_db + +from PyConf.application import ( + default_raw_event, + configure_input, + configure, + make_odin, + CompositeNode, +) +from PyConf.Algorithms import ( + HltRoutingBitsFilter, + HltLumiSummaryDecoder, + HltLumiSummaryMonitor, + PrintHeader, +) + +options = test_file_db["hltlumisummary-raw-data-v1"].make_lbexec_options( + simulation=True, + dddb_tag="dddb-20210617", + conddb_tag="sim-20210617-vc-md100", + python_logging_level=logging.WARNING, + evt_max=5000, + histo_file='lumi_decoding_histo.root', +) + +configure_input(options) # must call this before calling default_raw_event +odin = make_odin() + +rb_filter = HltRoutingBitsFilter( + RawEventLocations=default_raw_event(["HltRoutingBits"]), + RequireMask=(1 << 1, 0, 0), + PassOnError=False) +summary = HltLumiSummaryDecoder( + RawEventLocations=default_raw_event( + ["HltLumiSummary"]), ).OutputContainerName +monitor = HltLumiSummaryMonitor(Input=summary, ODIN=odin, OutputLevel=VERBOSE) +print_event = PrintHeader(ODINLocation=odin) + +top_node = CompositeNode("Top", [rb_filter, print_event, monitor]) +configure(options, top_node) + +from Configurables import LHCb__DetDesc__ReserveDetDescForEvent as reserveIOV +reserveIOV("reserveIOV").PreloadGeometry = False diff --git a/Hlt/HltDAQ/tests/qmtest/hltdaq.qms/lumi_decoding.qmt b/Hlt/HltDAQ/tests/qmtest/hltdaq.qms/lumi_decoding.qmt new file mode 100644 index 0000000000000000000000000000000000000000..ec072b4b43cf162b24981c74635e0d73c0d44b42 --- /dev/null +++ b/Hlt/HltDAQ/tests/qmtest/hltdaq.qms/lumi_decoding.qmt @@ -0,0 +1,29 @@ +<?xml version="1.0" ?><!DOCTYPE extension PUBLIC '-//QM/2.3/Extension//EN' 'http://www.codesourcery.com/qm/dtds/2.3/-//qm/2.3/extension//en.dtd'> +<!-- + (c) Copyright 2022 CERN for the benefit of the LHCb Collaboration + + This software is distributed under the terms of the GNU General Public + Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". + + In applying this licence, CERN does not waive the privileges and immunities + granted to it by virtue of its status as an Intergovernmental Organization + or submit itself to any jurisdiction. +--> +<!-- +Check that the HltLumiSummary decoding works. +--> +<extension class="GaudiTest.GaudiExeTest" kind="test"> + <argument name="program"><text>gaudirun.py</text></argument> + <argument name="args"><set> + <text>../options/lumi_decoding.py</text> + </set></argument> + <argument name="use_temp_dir"><enumeral>true</enumeral></argument> + <argument name="reference"><text>../refs/lumi_decoding.ref</text></argument> + <argument name="validator"><text> + +from GaudiConf.QMTest.LHCbExclusions import preprocessor +validateWithReference(preproc=preprocessor) + +</text></argument> +</extension> + diff --git a/Hlt/HltDAQ/tests/refs/lumi_decoding.ref b/Hlt/HltDAQ/tests/refs/lumi_decoding.ref new file mode 100644 index 0000000000000000000000000000000000000000..b67e9d4a8134ae69e9f32afc1c20c1f791f1e8d6 --- /dev/null +++ b/Hlt/HltDAQ/tests/refs/lumi_decoding.ref @@ -0,0 +1,84 @@ +ApplicationMgr SUCCESS +==================================================================================================================================== +==================================================================================================================================== +ApplicationMgr INFO Application Manager Configured successfully +DetectorPersistencySvc INFO Added successfully Conversion service:XmlCnvSvc +DetectorDataSvc SUCCESS Detector description database: git:/lhcb.xml +HLTControlFlowMgr INFO Start initialization +RootHistSvc INFO Writing ROOT histograms to: lumi_decoding_histo.root +HistogramPersistencySvc INFO Added successfully Conversion service:RootHistSvc +HltLumiSummaryMonitor VERBOSE ServiceLocatorHelper::service: found service EventDataSvc +HltLumiSummaryMonitor VERBOSE ServiceLocatorHelper::service: found service TimelineSvc +HltLumiSummaryMonitor VERBOSE ServiceLocatorHelper::service: found service EventDataSvc +HltLumiSummaryMonitor DEBUG input handles: 2 +HltLumiSummaryMonitor DEBUG output handles: 0 +HltLumiSummaryMonitor DEBUG Data Deps for HltLumiSummaryMonitor + + INPUT '/Event/HltLumiSummaryDecoder/OutputContainerName' + + INPUT '/Event/createODIN/ODIN' +HLTControlFlowMgr INFO Concurrency level information: +HLTControlFlowMgr INFO o Number of events slots: 1 +HLTControlFlowMgr INFO o TBB thread pool size: 'ThreadPoolSize':1 +ApplicationMgr INFO Application Manager Initialized successfully +ApplicationMgr INFO Application Manager Started successfully +EventSelector INFO Stream:EventSelector.DataStreamTool_1 Def:DATAFILE='mdf:root://eoslhcb.cern.ch//eos/lhcb/user/e/edallocc/lumi/raw_data/Run_0000249421_20221015-160520-203_HCEB04_0224.mdf' SVC='LHCb::MDFSelector' OPT='READ' IgnoreChecksum='YES' +HLTControlFlowMgr INFO Will measure time between events 500 and 4500 (stop might be some events later) +HLTControlFlowMgr INFO Starting loop on events +EventSelector.DataStreamTool_1 INFO Compression:0 Checksum:0 +EventSelector SUCCESS Reading Event record 1. Record number within stream 1: 1 +EventPersistencySvc INFO Added successfully Conversion service:RootCnvSvc +EventPersistencySvc INFO Added successfully Conversion service:LHCb::RawDataCnvSvc +PrintHeader INFO Run 249421, Event 729764180 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:3, GEC:1, MuonHitsM2R2:7, MuonHitsM2R3:3, MuonHitsM3R2:5, MuonHitsM3R3:0, SciFiClusters:338, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +PrintHeader INFO Run 249421, Event 729792534 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:3, GEC:1, MuonHitsM2R2:19, MuonHitsM2R3:12, MuonHitsM3R2:2, MuonHitsM3R3:0, SciFiClusters:796, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +PrintHeader INFO Run 249421, Event 729793455 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:0, GEC:1, MuonHitsM2R2:2, MuonHitsM2R3:1, MuonHitsM3R2:4, MuonHitsM3R3:0, SciFiClusters:256, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +PrintHeader INFO Run 249421, Event 729794524 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:2, GEC:1, MuonHitsM2R2:7, MuonHitsM2R3:1, MuonHitsM3R2:3, MuonHitsM3R3:0, SciFiClusters:241, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +PrintHeader INFO Run 249421, Event 729796040 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:3, GEC:1, MuonHitsM2R2:21, MuonHitsM2R3:5, MuonHitsM3R2:1, MuonHitsM3R3:0, SciFiClusters:449, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +PrintHeader INFO Run 249421, Event 729768913 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:1, GEC:1, MuonHitsM2R2:2, MuonHitsM2R3:4, MuonHitsM3R2:2, MuonHitsM3R3:0, SciFiClusters:239, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +PrintHeader INFO Run 249421, Event 729770819 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:3, GEC:1, MuonHitsM2R2:11, MuonHitsM2R3:1, MuonHitsM3R2:5, MuonHitsM3R3:2, SciFiClusters:387, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +PrintHeader INFO Run 249421, Event 729801532 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:3, GEC:1, MuonHitsM2R2:15, MuonHitsM2R3:6, MuonHitsM3R2:2, MuonHitsM3R3:0, SciFiClusters:250, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +PrintHeader INFO Run 249421, Event 729801796 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:3, GEC:1, MuonHitsM2R2:8, MuonHitsM2R3:3, MuonHitsM3R2:3, MuonHitsM3R3:2, SciFiClusters:1221, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +PrintHeader INFO Run 249421, Event 729772288 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:3, GEC:1, MuonHitsM2R2:8, MuonHitsM2R3:2, MuonHitsM3R2:4, MuonHitsM3R3:2, SciFiClusters:737, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +PrintHeader INFO Run 249421, Event 729772392 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:2, GEC:1, MuonHitsM2R2:5, MuonHitsM2R3:1, MuonHitsM3R2:0, MuonHitsM3R3:0, SciFiClusters:233, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +PrintHeader INFO Run 249421, Event 729803627 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:3, GEC:1, MuonHitsM2R2:6, MuonHitsM2R3:7, MuonHitsM3R2:5, MuonHitsM3R3:0, SciFiClusters:288, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +PrintHeader INFO Run 249421, Event 729774219 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:3, GEC:1, MuonHitsM2R2:13, MuonHitsM2R3:7, MuonHitsM3R2:18, MuonHitsM3R3:6, SciFiClusters:1625, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +PrintHeader INFO Run 249421, Event 729805808 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:0, GEC:1, MuonHitsM2R2:3, MuonHitsM2R3:2, MuonHitsM3R2:1, MuonHitsM3R3:2, SciFiClusters:236, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +PrintHeader INFO Run 249421, Event 736231706 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:3, GEC:1, MuonHitsM2R2:40, MuonHitsM2R3:12, MuonHitsM3R2:8, MuonHitsM3R3:7, SciFiClusters:1619, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +PrintHeader INFO Run 249421, Event 736203567 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:3, GEC:1, MuonHitsM2R2:57, MuonHitsM2R3:14, MuonHitsM3R2:1, MuonHitsM3R3:10, SciFiClusters:2446, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +PrintHeader INFO Run 249421, Event 736204556 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:3, GEC:1, MuonHitsM2R2:13, MuonHitsM2R3:4, MuonHitsM3R2:3, MuonHitsM3R3:0, SciFiClusters:353, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +PrintHeader INFO Run 249421, Event 736204768 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:1, GEC:1, MuonHitsM2R2:16, MuonHitsM2R3:2, MuonHitsM3R2:2, MuonHitsM3R3:3, SciFiClusters:276, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +PrintHeader INFO Run 249421, Event 736206167 +HltLumiSummaryMonitor VERBOSE Counters: {BCIDHigh:0, BCIDLow:0, BXType:3, GEC:1, MuonHitsM2R2:12, MuonHitsM2R3:7, MuonHitsM3R2:8, MuonHitsM3R3:0, SciFiClusters:1192, T0High:0, T0Low:0, VeloTracks:0, VeloVertices:0, } +ApplicationMgr INFO Application Manager Stopped successfully +HLTControlFlowMgr INFO +HLTControlFlowMgr INFO StateTree: CFNode #executed #passed +LAZY_AND: Top #=5000 Sum=19 Eff=|(0.3800000 +- 0.0870122)%| + HltRoutingBitsFilter/HltRoutingBitsFilter #=5000 Sum=19 Eff=|(0.3800000 +- 0.0870122)%| + PrintHeader/PrintHeader #=19 Sum=19 Eff=|( 100.0000 +- 0.00000 )%| + HltLumiSummaryMonitor/HltLumiSummaryMonitor #=19 Sum=19 Eff=|( 100.0000 +- 0.00000 )%| +HLTControlFlowMgr INFO Histograms converted successfully according to request. +ToolSvc INFO Removing all tools created by ToolSvc +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +HltRoutingBitsFilter INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"#accept" | 5000 | 19 |(0.3800000 +- 0.08701218)% | +PrintHeader INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "EventCount" | 19 |