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 |