diff --git a/CMakeLists.txt b/CMakeLists.txt index 030648deb6339c5fd6f1fd98ccda7bef211749a6..8174644d1274e6f200208984570b1ff6492980bc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,8 +6,8 @@ find_package(GaudiProject) #--------------------------------------------------------------- # Declare project name and version -gaudi_project(Moore v25r4 - USE Hlt v25r4 +gaudi_project(Moore v25r5 + USE Hlt v25r5 DATA AppConfig VERSION v3r* FieldMap VERSION v5r* PRConfig VERSION v1r* diff --git a/Hlt/HltCache/CMakeLists.txt b/Hlt/HltCache/CMakeLists.txt index 83485f9f5da4774a08c00a257d47fbf9d943e554..f69489468b159684be1037a38fdc6a52b904e24e 100644 --- a/Hlt/HltCache/CMakeLists.txt +++ b/Hlt/HltCache/CMakeLists.txt @@ -22,20 +22,12 @@ gaudi_depends_on_subdirs(Hlt/Moore Hlt/HltServices Hlt/HltLine) - -foreach(pack Hlt/Moore Hlt/HltConf Hlt/HltTracking Hlt/HltSettings Hlt/Hlt1Lines - Hlt/Hlt2Lines Hlt/HltServices Hlt/HltDAQ Hlt/HltRawData Hlt/HltLine - Phys/LoKiTrigger Phys/TisTosTobbing Phys/RelatedInfoTools) - # FIXME: this will be needed until GAUDI-1055 is fixed. - if(EXISTS ${CMAKE_BINARY_DIR}/${pack}/genConf/${pack}) - gaudi_build_env(PREPEND PYTHONPATH ${CMAKE_BINARY_DIR}/${pack}/genConf/${pack}) - endif() -endforeach() - # Import the cache creation module include(LoKiFunctorsCache) -set(conf_deps ${deps} MooreConfUserDB) +if(TARGET MooreConfUserDB) # wrapping needed for satellite projects + set(conf_deps ${deps} MooreConfUserDB) +endif() set(LOKI_FUNCTORS_CACHE_POST_ACTION_OPTS ${CMAKE_CURRENT_SOURCE_DIR}/options/LoKiFunctorsCacheHltPostActionOpts.py) diff --git a/Hlt/HltCache/options/Calibration_VeloMicroBias.py b/Hlt/HltCache/options/Calibration_VeloMicroBias.py index c60ec05fa66bc8e75f2f5450dfd35db732229254..c0eb4881a38fb4cc81f05c30dcb8ead0726d71d6 100644 --- a/Hlt/HltCache/options/Calibration_VeloMicroBias.py +++ b/Hlt/HltCache/options/Calibration_VeloMicroBias.py @@ -1,6 +1,6 @@ import os import Gaudi.Configuration -from Moore.Configuration import Moore +from Configurables import Moore from GaudiKernel.SystemOfUnits import MeV, mm, m Moore().ThresholdSettings = 'Calibration_VeloMicroBias' diff --git a/Hlt/HltCache/options/DataType-2012.py b/Hlt/HltCache/options/DataType-2012.py deleted file mode 100644 index d88f28248d94e6e11b3a7bf306448cb7e58d3cea..0000000000000000000000000000000000000000 --- a/Hlt/HltCache/options/DataType-2012.py +++ /dev/null @@ -1,24 +0,0 @@ -# $Id: DataType.py 184170 2015-02-22 11:45:31Z ibelyaev $ -# Test your line(s) of the stripping -# -# NOTE: Please make a copy of this file for your testing, and do NOT change this one! -# - -from Configurables import DaVinci - - -DaVinci().HistogramFile = 'DV_stripping_histos.root' -DaVinci().EvtMax = 10000 -DaVinci().PrintFreq = 2000 -DaVinci().DataType = "2012" -DaVinci().InputType = "DST" - -# database -DaVinci().DDDBtag = "dddb-20120831" -DaVinci().CondDBtag = "cond-20121008" - -# input file -from Gaudi.Configuration import importOptions -importOptions("$STRIPPINGSELECTIONSROOT/tests/data/Reco14_Run125113.py") - -DaVinci().EvtMax = 100 diff --git a/Hlt/HltCache/options/Moore_TCK.py b/Hlt/HltCache/options/Moore_TCK.py index b98dfbc0886b24699ceb601e5ecec033021fb63a..10471f9a1dfa1105c0009aaaca986309d47d117f 100644 --- a/Hlt/HltCache/options/Moore_TCK.py +++ b/Hlt/HltCache/options/Moore_TCK.py @@ -1,4 +1,4 @@ -from Moore.Configuration import Moore +from Configurables import Moore Moore().UseTCK = True Moore().EvtMax = 5000 diff --git a/Hlt/HltCache/options/Physics_25ns_October2015.py b/Hlt/HltCache/options/Physics_25ns_October2015.py index 0023d9111cbadd5690f9f1161a31a04be35310d7..3af9ec373141a1f897c490897562c2be16136b69 100644 --- a/Hlt/HltCache/options/Physics_25ns_October2015.py +++ b/Hlt/HltCache/options/Physics_25ns_October2015.py @@ -1,6 +1,6 @@ import os import Gaudi.Configuration -from Moore.Configuration import Moore +from Configurables import Moore from GaudiKernel.SystemOfUnits import MeV, mm, m ## Adapt these to your local environment diff --git a/Hlt/HltCache/options/Physics_pp_Draft2016.py b/Hlt/HltCache/options/Physics_pp_Draft2016.py index 9ef79529047b6a39b594832cbae981b2af9b1465..63fb1b278c1f903eb24f7dac67812a654d0fafe0 100644 --- a/Hlt/HltCache/options/Physics_pp_Draft2016.py +++ b/Hlt/HltCache/options/Physics_pp_Draft2016.py @@ -1,6 +1,6 @@ import os import Gaudi.Configuration -from Moore.Configuration import Moore +from Configurables import Moore from GaudiKernel.SystemOfUnits import MeV, mm, m Moore().ThresholdSettings = 'Physics_pp_Draft2016' diff --git a/Hlt/Moore/CMakeLists.txt b/Hlt/Moore/CMakeLists.txt index 8c9800d8d11c419b3dc06ab30ef7976ae61ed97c..f1e889cda58dc11e904c0c59b869919ccdf9dc21 100644 --- a/Hlt/Moore/CMakeLists.txt +++ b/Hlt/Moore/CMakeLists.txt @@ -9,7 +9,10 @@ gaudi_depends_on_subdirs(Det/DDDB GaudiPython GaudiSvc Hlt/HltConf - L0/L0Interfaces) + L0/L0Interfaces + Kernel/FSRAlgs + ) + find_package(HepMC) diff --git a/Hlt/Moore/cmt/requirements b/Hlt/Moore/cmt/requirements index f8dabfac28435131ed38cf6dfcf41d0b741ace7c..2f7d6123032d62463942ae8d0fa43e870cf8f694 100755 --- a/Hlt/Moore/cmt/requirements +++ b/Hlt/Moore/cmt/requirements @@ -42,6 +42,7 @@ use GaudiPython v* -no_auto_imports # From LHCbSys use L0Interfaces v* L0 -no_auto_imports +use FSRAlgs v* Kernel -no_auto_imports #-- Lbcom packages use LbcomSys v* -no_auto_imports @@ -70,4 +71,4 @@ alias Moore gaudirun.py private apply_pattern QMTest -end_private \ No newline at end of file +end_private diff --git a/Hlt/Moore/python/Moore/Configuration.py b/Hlt/Moore/python/Moore/Configuration.py index 4f2c9d46e2aa64266fd69cf62523447899ead72e..338cb023129206cac05ff490a60e41a4df544c6e 100755 --- a/Hlt/Moore/python/Moore/Configuration.py +++ b/Hlt/Moore/python/Moore/Configuration.py @@ -268,7 +268,7 @@ class Moore(LHCbConfigurableUser): files = self.getProp('inputFiles') # # veto lumi events.. # #ApplicationMgr().EvtSel.REQ1 = "EvType=2;TriggerMask=0x0,0x4,0x0,0x0;VetoMask=0,0,0,0;MaskType=ANY;UserType=USER;Frequency=PERC;Perc=100.0" - + if files: from GaudiConf import IOExtension IOExtension().inputFiles(files,clear=True) diff --git a/Hlt/Moore/tests/options/Moore_2016pHe.py b/Hlt/Moore/tests/options/Moore_2016pHe.py new file mode 100644 index 0000000000000000000000000000000000000000..d6c705a40156b2175bce1d2b5aba91871f2f5378 --- /dev/null +++ b/Hlt/Moore/tests/options/Moore_2016pHe.py @@ -0,0 +1,26 @@ +from Gaudi.Configuration import * + +from Configurables import Moore +Moore().ThresholdSettings = "protonHelium_pPb_2016" +Moore().UseTCK = False +Moore().ForceSingleL0Configuration = False +Moore().Split = '' +Moore().EnableTimer = True +Moore().OutputLevel = INFO + +# from PRConfig import TestFileDB +# TestFileDB.test_file_db["2016NB_25ns_L0Filt0x1609"].run(configurable=Moore()) +from GaudiConf import IOExtension +IOExtension().inputFiles([ + 'mdf:root://eoslhcb.cern.ch//eos/lhcb/wg/HLT/CreateTCK/protonHelium/FULL_174744_0000001464_NoBias.mdf', + 'mdf:root://eoslhcb.cern.ch//eos/lhcb/wg/HLT/CreateTCK/protonHelium/SMOGPHY_174744_0000001400_NoBias.mdf', +]) + +Moore().RemoveInputHltRawBanks = True +from Configurables import DDDBConf +DDDBConf().InitialTime = 'Safe' + +Moore().EvtMax = 1000 + +from Configurables import EventSelector +EventSelector().PrintFreq = 10 diff --git a/Hlt/Moore/tests/options/Moore_RateTest/JuggleStep.py b/Hlt/Moore/tests/options/Moore_RateTest/JuggleStep.py index e7aaf6f5abedb98eb34ede584ec42f7065495500..5b901e19da6d1346bcf9c100c4718fab1ea37fcf 100644 --- a/Hlt/Moore/tests/options/Moore_RateTest/JuggleStep.py +++ b/Hlt/Moore/tests/options/Moore_RateTest/JuggleStep.py @@ -6,7 +6,7 @@ from Configurables import GaudiSequencer,RawEventJuggler ApplicationMgr().TopAlg+=[GaudiSequencer("Spam")] ApplicationMgr().EvtMax=100 Writer=InputCopyStream("MyStream") -IOHelper().outStream("juggled.mdf", writer=Writer) +IOHelper().outStream("juggled.dst", writer=Writer) import RawEventCompat RawEventJuggler().Input=4.0 RawEventJuggler().Output=0.0 diff --git a/Hlt/Moore/tests/options/Moore_RateTest/RedoL0Step.py b/Hlt/Moore/tests/options/Moore_RateTest/RedoL0Step.py index 5d023e1a16830703b0927fbec826b08ad0ffcd66..46033c485bc83392f45ba660ee5044c813f7a571 100644 --- a/Hlt/Moore/tests/options/Moore_RateTest/RedoL0Step.py +++ b/Hlt/Moore/tests/options/Moore_RateTest/RedoL0Step.py @@ -5,12 +5,12 @@ from Gaudi.Configuration import * from Configurables import L0App -L0App().TCK = '0x1609' +L0App().TCK = '0x160F' L0App().ReplaceL0Banks = True L0App().EvtMax = 100 from GaudiConf import IOHelper -IOHelper().inputFiles(['PFN:juggled.mdf']) +IOHelper().inputFiles(['PFN:juggled.dst']) OriginalTestFileDBPath = 'MC_2015_27163003_DstToD0pip_D0ToKmPip' from PRConfig import TestFileDB @@ -45,7 +45,7 @@ l0_filter = LoKi__L0Filter('L0Filter', Code = "L0_DECISION_PHYSICS") from GaudiConf import IOHelper from Configurables import InputCopyStream -input_copy = IOHelper().outputAlgs('rerunL0.mdf', InputCopyStream('CopyStream'), writeFSR = False)[0] +input_copy = IOHelper().outputAlgs('rerunL0.dst', InputCopyStream('CopyStream'), writeFSR = False)[0] from Configurables import GaudiSequencer from Gaudi.Configuration import ApplicationMgr diff --git a/Hlt/Moore/tests/options/TCK/CreateTCK1AndEntry.sh b/Hlt/Moore/tests/options/TCK/CreateTCK1AndEntry.sh index f28c56fcf025d95450469a6a0996059afaa39d81..f3da07b859aacde3f9bdb590f07b2b1cc618b332 100644 --- a/Hlt/Moore/tests/options/TCK/CreateTCK1AndEntry.sh +++ b/Hlt/Moore/tests/options/TCK/CreateTCK1AndEntry.sh @@ -1,2 +1,14 @@ -gaudirun.py $MOOREROOT/tests/options/TCK/CreateTCK1.py $MOOREROOT/tests/options/TCK/TCKOptions.py | tee CreateTCK1.log -python $MOOREROOT/tests/options/TCK/CreateTCKEntry.py CreateTCK1.log Hlt1TCK --options $MOOREROOT/tests/options/TCK/TCKOptions.py +#!/bin/bash +TCKOptions=$MOOREROOT/tests/options/TCK/TCKOptions.py +if [ "$#" -eq 1 ]; then + TCKOptions=$MOOREROOT/tests/options/TCK/TCKOptions${1}.py +fi + +# run Moore to create the TCK +gaudirun.py $MOOREROOT/tests/options/TCK/CreateTCK1.py \ + ${TCKOptions} | tee CreateTCK1.log + +# map the newly created configuration to a TCK +python $MOOREROOT/tests/options/TCK/CreateTCKEntry.py \ + CreateTCK1.log Hlt1TCK --options ${TCKOptions} + diff --git a/Hlt/Moore/tests/options/TCK/CreateTCK2AndEntry.sh b/Hlt/Moore/tests/options/TCK/CreateTCK2AndEntry.sh index ee671920c22485279d477a1a27202e2f8dc8a85c..b45aebe1a15b5bb9a565344aefaf353360351063 100644 --- a/Hlt/Moore/tests/options/TCK/CreateTCK2AndEntry.sh +++ b/Hlt/Moore/tests/options/TCK/CreateTCK2AndEntry.sh @@ -1,2 +1,14 @@ -gaudirun.py $MOOREROOT/tests/options/TCK/CreateTCK2.py $MOOREROOT/tests/options/TCK/TCKOptions.py | tee CreateTCK2.log -python $MOOREROOT/tests/options/TCK/CreateTCKEntry.py CreateTCK2.log Hlt2TCK --options $MOOREROOT/tests/options/TCK/TCKOptions.py +#!/bin/bash +TCKOptions=$MOOREROOT/tests/options/TCK/TCKOptions.py +if [ "$#" -eq 1 ]; then + TCKOptions=$MOOREROOT/tests/options/TCK/TCKOptions${1}.py +fi + +# run Moore to create the TCK +gaudirun.py $MOOREROOT/tests/options/TCK/CreateTCK2.py \ + ${TCKOptions} | tee CreateTCK2.log + +# map the newly created configuration to a TCK +python $MOOREROOT/tests/options/TCK/CreateTCKEntry.py \ + CreateTCK2.log Hlt2TCK --options ${TCKOptions} + diff --git a/Hlt/Moore/tests/options/TCK/RedoL0.py b/Hlt/Moore/tests/options/TCK/RedoL0.py index 062b44a4886be3c94a493fc9da102efa2f30953d..ede37e9752982a803c9612716a0c8814b0f233bb 100644 --- a/Hlt/Moore/tests/options/TCK/RedoL0.py +++ b/Hlt/Moore/tests/options/TCK/RedoL0.py @@ -6,7 +6,7 @@ app.ReplaceL0Banks = True app.ReplayL0DUOnly = True app.outputFile = "RedoL0.mdf" app.EvtMax = 1000 -app.TCK = '0x1600' +app.TCK = '0x160B' app.DataType = '2015' app.CondDBtag = 'cond-20160522' app.DDDBtag = 'dddb-20150724' diff --git a/Hlt/Moore/tests/options/TCK/TCKOptions.py b/Hlt/Moore/tests/options/TCK/TCKOptions.py index 1e57996c9a1b684e09e92b028e8bc57614748cda..762d8e92d63545b8fd93b7a35b6d724294c55340 100644 --- a/Hlt/Moore/tests/options/TCK/TCKOptions.py +++ b/Hlt/Moore/tests/options/TCK/TCKOptions.py @@ -9,9 +9,9 @@ The script CreateTCK1.py contains the absolute minimum configuration for that st # !!! Check that these settings are what we want for these TCKs !!! # settings = { # Modify these as approppriate for the new TCKs: - "L0TCK": "0x1600", - "Hlt1TCK": "0x10011600", - "Hlt2TCK": "0x20011600", + "L0TCK": "0x160B", + "Hlt1TCK": "0x1001160B", + "Hlt2TCK": "0x2001160B", "Hlt1Label": "Hlt1, Physics pp Month 2016, NNNN bunches L0, optional details, JIRA-XXXX", "Hlt2Label": "Hlt2, Physics pp Month 2016, NNNN bunches L0, optional details, JIRA-XXXX", "HltType": "Physics_pp_Month", @@ -78,18 +78,15 @@ if 'Moore' in allConfigurables: # For the Create/Test TCK steps # Disable the functor cache when creating the TCK ApplicationMgr().Environment['LOKI_DISABLE_CACHE'] = '1' - # Overrule property to use cache at the end of the TCK creation - # TODO Enable this when we testing the cache becomes part of - # the TCK creation procedure - # from Configurables import HltGenConfig - # factories = ['ToolSvc.Hlt1HybridFactory', 'ToolSvc.TrackFunctorFactory', - # 'ToolSvc.Hlt1CoreFactory', 'ToolSvc.CoreFactory', - # 'ToolSvc.Hlt1HltFactory', 'ToolSvc.Hlt1Factory', - # 'ToolSvc.TrackFactory', 'ToolSvc.Hlt2TrackFunctorFactory', - # 'ToolSvc.Hlt2HltFactory', 'ToolSvc.Hlt2CoreFactory', - # 'ToolSvc.Hlt2HybridFactory', 'ToolSvc.HltFactory'] - # HltGenConfig().Overrule = {f: ['UseCache:True'] for f in factories} + from Configurables import HltGenConfig + factories = ['ToolSvc.Hlt1HybridFactory', 'ToolSvc.TrackFunctorFactory', + 'ToolSvc.Hlt1CoreFactory', 'ToolSvc.CoreFactory', + 'ToolSvc.Hlt1HltFactory', 'ToolSvc.Hlt1Factory', + 'ToolSvc.TrackFactory', 'ToolSvc.Hlt2TrackFunctorFactory', + 'ToolSvc.Hlt2HltFactory', 'ToolSvc.Hlt2CoreFactory', + 'ToolSvc.Hlt2HybridFactory', 'ToolSvc.HltFactory'] + HltGenConfig().Overrule = {f: ['UseCache:True'] for f in factories} elif 'L0App' in allConfigurables: # For the RedoL0 step from L0App.Configuration import L0App diff --git a/Hlt/Moore/tests/options/TCK/TCKOptionsZeroEvents.py b/Hlt/Moore/tests/options/TCK/TCKOptionsZeroEvents.py new file mode 100644 index 0000000000000000000000000000000000000000..5e72f3e2a26637cae00d8b2fde2737d37fc2e5e1 --- /dev/null +++ b/Hlt/Moore/tests/options/TCK/TCKOptionsZeroEvents.py @@ -0,0 +1,95 @@ +"""Configuration for creation and testing of split TCKs. + +E.g. for the first step, do like: +./run gaudirun.py CreateTCK1.py TCKOptions.py 2>&1 | tee CreateTCK1.log +The script CreateTCK1.py contains the absolute minimum configuration for that step +""" + + +# !!! Check that these settings are what we want for these TCKs !!! # +settings = { + # Modify these as approppriate for the new TCKs: + "L0TCK": "0x160B", + "Hlt1TCK": "0x1002160B", + "Hlt2TCK": "0x2002160B", + "Hlt1Label": "Hlt1, Physics pp Month 2016, NNNN bunches L0, ZERO EVENTS, JIRA-XXXX", + "Hlt2Label": "Hlt2, Physics pp Month 2016, NNNN bunches L0, ZERO EVENTS, JIRA-XXXX", + "HltType": "Physics_pp_Month", + # Check if these need to be updated: + "ThresholdSettings": "Physics_pp_Draft2016", + "DDDBtag": "dddb-20150724", + "CondDBtag": "cond-20160522", +} + + +import os +from Gaudi.Configuration import allConfigurables + +if 'Moore' in allConfigurables: # For the Create/Test TCK steps + from Moore.Configuration import Moore, ApplicationMgr + + # Options that are defined in the CreateTCK/TestTCK script + split = Moore().getProp('Split') + useTCK = Moore().getProp('UseTCK') + + # Standard Moore options that should be the same for all TCK creation and testing steps + Moore().EvtMax = 0 + Moore().CheckOdin = False + + # For the Hlt1 steps, we need to remove the existing Hlt raw banks + if split == "Hlt1": + Moore().RemoveInputHltRawBanks = True + + # Specify the location for our local config.cdb file + TCKData_DEST = 'TCKData' + Moore().TCKData = TCKData_DEST + if not os.path.exists(TCKData_DEST): + os.makedirs(TCKData_DEST) + + Moore().DDDBtag = settings['DDDBtag'] + Moore().CondDBtag = settings['CondDBtag'] + + if useTCK: + # for the TestTCK steps + Moore().InitialTCK = settings[split + "TCK"] + + # Disable the functor cache when testing the TCK to get rid of: + # You are probably missing the definition of void boost::ignore_unused(int const&) + # TODO Remove this once the error is resolved + ApplicationMgr().Environment['LOKI_DISABLE_CACHE'] = '1' + + # This will require that the functor cache has been built properly. + # TODO Enable this when we testing the cache becomes part of + # the TCK creation procedure + # from Moore import Funcs + # outputTrans = {".*Factory.*": {"UsePython": {"^.*$": "False"}}} + # Funcs._mergeTransform(outputTrans) + else: + # for the CreateTCK steps + Moore().generateConfig = True + Moore().ThresholdSettings = settings["ThresholdSettings"] + Moore().HltType = settings["HltType"] # override the HltType in the settings + Moore().configLabel = settings.get(split + "Label", "") + Moore().EnableOutputStreaming = True + + # overide the L0TCK in the threshold settings + from Configurables import HltConf + HltConf().setProp("L0TCK", settings["L0TCK"]) + + # Disable the functor cache when creating the TCK + ApplicationMgr().Environment['LOKI_DISABLE_CACHE'] = '1' + # Overrule property to use cache at the end of the TCK creation + from Configurables import HltGenConfig + factories = ['ToolSvc.Hlt1HybridFactory', 'ToolSvc.TrackFunctorFactory', + 'ToolSvc.Hlt1CoreFactory', 'ToolSvc.CoreFactory', + 'ToolSvc.Hlt1HltFactory', 'ToolSvc.Hlt1Factory', + 'ToolSvc.TrackFactory', 'ToolSvc.Hlt2TrackFunctorFactory', + 'ToolSvc.Hlt2HltFactory', 'ToolSvc.Hlt2CoreFactory', + 'ToolSvc.Hlt2HybridFactory', 'ToolSvc.HltFactory'] + HltGenConfig().Overrule = {f: ['UseCache:True'] for f in factories} + +elif 'L0App' in allConfigurables: # For the RedoL0 step + from L0App.Configuration import L0App + L0App().TCK = settings['L0TCK'] + L0App().DDDBtag = settings['DDDBtag'] + L0App().CondDBtag = settings['CondDBtag'] diff --git a/Hlt/Moore/tests/options/TCK/diff.py b/Hlt/Moore/tests/options/TCK/diff.py new file mode 100644 index 0000000000000000000000000000000000000000..08776a5a84911a1f8bd47e1f61dd9d88a70fe01a --- /dev/null +++ b/Hlt/Moore/tests/options/TCK/diff.py @@ -0,0 +1,29 @@ +import argparse +from TCKUtils.utils import * + +parser = argparse.ArgumentParser() +parser.add_argument("--split", help='split level (Hlt1 or Hlt2).') +args = parser.parse_args() + +cas_rw = ConfigAccessSvc(Mode='ReadWrite', File='TCKData/config.cdb') + +configurations = getConfigurations(cas=cas_rw) + +TCKs = [] +for k,v in configurations.iteritems(): + TCK = v.info['TCK'][0] + tckbits = (TCK & (3 << 28)) >> 28 + reqtckbits = 1 if args.split == "Hlt1" else 2 + if tckbits == reqtckbits: + TCKs.append(TCK) + +print 'found the following %s TCKs' %args.split +print TCKs +if len(TCKs) != 2: + raise RuntimeError('Found %s (require 2) %s TCKs in the config.cdb ' %(len(TCKs),args.split)) +print 'diff the first two' +diff(TCKs[0],TCKs[1],cas=cas_rw) + +#import sys +#sys.exit(0) +#sys.exit(77) diff --git a/Hlt/Moore/tests/options/genfsr-moore.py b/Hlt/Moore/tests/options/genfsr-moore.py new file mode 100644 index 0000000000000000000000000000000000000000..efd6ee060d2478d2756f724039183f5dce1d9690 --- /dev/null +++ b/Hlt/Moore/tests/options/genfsr-moore.py @@ -0,0 +1,14 @@ +from Configurables import Moore, HltConf +Moore().ThresholdSettings = "Physics_pp_Draft2016" +Moore().Split = 'Hlt1' # only Hlt1 because it's faster +Moore().outputFile = 'genFSR_2012_digi_Moore_merged.dst' +HltConf().L0TCK = '0x1609' + +from Configurables import HltOutputConf +HltOutputConf().MergeGenFSR = True + +# Take the DB tags, etc. from the TestFileDB and replace the input +from PRConfig import TestFileDB +TestFileDB.test_file_db["genFSR_2012_digi"].run(configurable=Moore()) +from GaudiConf import IOExtension +IOExtension().inputFiles(['PFN:genFSR_2012_digi_L0.dst'], clear=True) diff --git a/Hlt/Moore/tests/qmtest/moore.qms/calibration.qmt b/Hlt/Moore/tests/qmtest/moore.qms/calibration.qmt index dfbb8f88d74060a34f1c442856d8400adbd640ae..1ad99b35e0c36fcbba4fb347285673ea31ad6113 100644 --- a/Hlt/Moore/tests/qmtest/moore.qms/calibration.qmt +++ b/Hlt/Moore/tests/qmtest/moore.qms/calibration.qmt @@ -21,38 +21,14 @@ Calibration_VeloMicroBias --split Hlt1 + --data + 2016NB_25ns_L0Filt0x1715 win.* -countErrorLines({"FATAL":0,"ERROR":0,"WARNING":0}) +countErrorLines({"FATAL":0}) -expected_string = "SUCCESS Reading Event record 1101. Record number within stream 3: 800" -if stdout.find(expected_string) == -1: - causes.append('missing string') - result['moore.calibration.expected_string'] = result.Quote(expected_string) - -# Parse timing table, and check that there is no entry for HLT 2 and -# that all events are seen (1200) - -from LHCbAlgs import TTParser -timing_table_fn = "Calibration_VeloMicroBias.csv" -try: - timingdict = TTParser.event_av_dict(timing_table_fn) - - hlt2_entries = [t for t in timingdict if t.startswith("Hlt2")] - if hlt2_entries: - causes.append('Does not look like pass-through') - result['moore.calibration.passthrough'] = result.Quote('Expected no Hlt2 entry in timing table, saw {}'.format(hlt2_entries)) - - if 'Hlt1MBMicroBiasVelo' not in timingdict: - causes.append('No MB selection seen') - elif timingdict['Hlt1MBMicroBiasVelo'][0] != 1200: - causes.append('MB test does not select everything') - result['moore.calibration.passnumber'] = result.Quote('Expected 1200 events, saw {}'.format(timingdict['Hlt1MBMicroBiasVelo'][0])) -except IOError: - causes.append('Timing table not found') - result['moore.calibration.timing_table'] = result.Quote('Timing table "{}" not found'.format(timing_table_fn)) diff --git a/Hlt/Moore/tests/qmtest/moore.qms/heavyions.qms/2016_pHe.qmt b/Hlt/Moore/tests/qmtest/moore.qms/heavyions.qms/2016_pHe.qmt new file mode 100644 index 0000000000000000000000000000000000000000..6f0e6ce21ef73272567676e238d36841bf872788 --- /dev/null +++ b/Hlt/Moore/tests/qmtest/moore.qms/heavyions.qms/2016_pHe.qmt @@ -0,0 +1,22 @@ + + + + gaudirun.py + + 1200 + + + ../options/Moore_2016pHe.py + + + +countErrorLines({"FATAL":0,"ERROR":0}) + + + diff --git a/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/zeroevents.qmt b/Hlt/Moore/tests/qmtest/moore.qms/heavyions.qms/moore_rates_tests_protonLead2016_Ap.qmt old mode 100755 new mode 100644 similarity index 57% rename from Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/zeroevents.qmt rename to Hlt/Moore/tests/qmtest/moore.qms/heavyions.qms/moore_rates_tests_protonLead2016_Ap.qmt index f26c5c316f63b7fe08d05e39bf5258104f5d77a7..6e26088e33b438e9a6178adffd90264331998bbc --- a/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/zeroevents.qmt +++ b/Hlt/Moore/tests/qmtest/moore.qms/heavyions.qms/moore_rates_tests_protonLead2016_Ap.qmt @@ -3,31 +3,38 @@ ####################################################### # SUMMARY OF THIS TEST # ................... -# Author: rlambert -# Purpose: Generate a TCK running over zero events +# Author: Mika Vesterinen +# Purpose: Run the Moore_RateTest from settings in unsplit mode # Prerequisites: None # Common failure modes, severities and cures: # . SEVERE: Segfault or raised exception, stderr, nonzero return code # . MAJOR: additional FATAL/ERROR messages always a major problem. no ERROR messages should ever be printed when running this test. # . MINOR: additional WARNING messages, it is unclear how severe these may be, you will need to hunt down the cause and either fix the problem or suppress the warning. +# . MAJOR: Hlt rates are zero or too high ####################################################### --> - python - - ../options/tcksteerzeroevents.py - + $PRCONFIGROOT/python/MooreTests/Moore_RateTest.py - 1200 + 10000 - win.* + + --evtmax=1000 + --input_rate=100000. + --settings=protonLead_2016 + --inputdata=pPb2013_Pbp_NoBias_L0Filter0x161B + --outputFile=Ap.mdf + --EnableOutputStreaming + + .*dbg -expected_string= "PASS" -if stdout.find(expected_string) ==-1: +countErrorLines({"FATAL":0}) + +expected_string = "HLT rate summary ends here" +if stdout.find(expected_string) == -1: causes.append('missing string') - result['moore.physics.tck.zeroevents.expected_string']=result.Quote(expected_string) + result['moore.rates.hltratesmoore.expected_string'] = result.Quote(expected_string) - diff --git a/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/hundredevents.qmt b/Hlt/Moore/tests/qmtest/moore.qms/heavyions.qms/moore_rates_tests_protonLead2016_pA.qmt old mode 100755 new mode 100644 similarity index 54% rename from Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/hundredevents.qmt rename to Hlt/Moore/tests/qmtest/moore.qms/heavyions.qms/moore_rates_tests_protonLead2016_pA.qmt index eef27d2018b850d7b1569248334768747977750a..50670e72a4ed55dbd9994041feb13234fdb73436 --- a/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/hundredevents.qmt +++ b/Hlt/Moore/tests/qmtest/moore.qms/heavyions.qms/moore_rates_tests_protonLead2016_pA.qmt @@ -3,28 +3,38 @@ ####################################################### # SUMMARY OF THIS TEST # ................... -# Author: rlambert -# Purpose: Generate a TCK running over 100 events +# Author: Mika Vesterinen +# Purpose: Run the Moore_RateTest from settings in unsplit mode # Prerequisites: None # Common failure modes, severities and cures: # . SEVERE: Segfault or raised exception, stderr, nonzero return code # . MAJOR: additional FATAL/ERROR messages always a major problem. no ERROR messages should ever be printed when running this test. # . MINOR: additional WARNING messages, it is unclear how severe these may be, you will need to hunt down the cause and either fix the problem or suppress the warning. +# . MAJOR: Hlt rates are zero or too high ####################################################### --> - python + $PRCONFIGROOT/python/MooreTests/Moore_RateTest.py + + 10000 + - ../options/tcksteerhundredevents.py + --evtmax=1000 + --input_rate=100000. + --settings=protonLead_2016 + --inputdata=pPb2013_pPb_NoBias_L0Filter0x161B + --outputFile=Ap.mdf + --EnableOutputStreaming - win.* + .*dbg -expected_string= "PASS" -if stdout.find(expected_string) ==-1: +countErrorLines({"FATAL":0}) + +expected_string = "HLT rate summary ends here" +if stdout.find(expected_string) == -1: causes.append('missing string') - result['moore.physics.tck.hundredevents.expected_string']=result.Quote(expected_string) + result['moore.rates.hltratesmoore.expected_string'] = result.Quote(expected_string) - diff --git a/Hlt/Moore/tests/qmtest/moore.qms/mooreratetest.qms/efficiencies.qms/efficiency.qmt b/Hlt/Moore/tests/qmtest/moore.qms/mooreratetest.qms/efficiencies.qms/efficiency.qmt index e676414e63ed0f8b2814ebebcc98f797ceefcd1e..4638a2147db8a27c425dc7da1a45945768f404e4 100644 --- a/Hlt/Moore/tests/qmtest/moore.qms/mooreratetest.qms/efficiencies.qms/efficiency.qmt +++ b/Hlt/Moore/tests/qmtest/moore.qms/mooreratetest.qms/efficiencies.qms/efficiency.qmt @@ -21,8 +21,10 @@ --evtmax=100 --mode=efficiency - --mode=Simulation + --Simulation --inputdata=rerunL0.dst + --L0TCK=0x160F + --split=Hlt1 --TFDBForTags=MC_2015_27163003_DstToD0pip_D0ToKmPip @@ -31,8 +33,7 @@ .*dbg -findReferenceBlock("HCRawBankDecoderHlt ERROR HCRawBankDecoderHlt:: Cannot find Conditions/ReadoutConf/HC/Mapping in database") -countErrorLines({"FATAL":0,"ERROR":1}) +countErrorLines({"FATAL":0}) diff --git a/Hlt/Moore/tests/qmtest/moore.qms/mooreratetest.qms/rates.qms/from_tck_splithlt1.qmt b/Hlt/Moore/tests/qmtest/moore.qms/mooreratetest.qms/rates.qms/from_tck_splithlt1.qmt index 601878c93fc5280b57b84bb7f1cebce7c9a3371c..7f40b37834856f43f09ed417684c9febddec7ff1 100644 --- a/Hlt/Moore/tests/qmtest/moore.qms/mooreratetest.qms/rates.qms/from_tck_splithlt1.qmt +++ b/Hlt/Moore/tests/qmtest/moore.qms/mooreratetest.qms/rates.qms/from_tck_splithlt1.qmt @@ -16,16 +16,21 @@ $PRCONFIGROOT/python/MooreTests/Moore_RateTest.py - 10000 + 1000 --evtmax=100 - --TCK=0x11361609 + --TCK=0x1001160B --split=Hlt1 - --outputFile=0x11361609.mdf + --inputdata=2016NB_25ns_L0Filt0x160B + --outputFile=0x1001160B.mdf --OutputLevel=4 + --TCKData=TCKData .*dbg + + moore.physics.tck.testtck1PASS + countErrorLines({"FATAL":0,"ERROR":0}) diff --git a/Hlt/Moore/tests/qmtest/moore.qms/mooreratetest.qms/rates.qms/from_tck_splithlt2.qmt b/Hlt/Moore/tests/qmtest/moore.qms/mooreratetest.qms/rates.qms/from_tck_splithlt2.qmt index 81504eee4bb8ef6046eaf7a15ab2323dbfe65d38..02e43d05426654cc11a722125339f684b2d26dd8 100644 --- a/Hlt/Moore/tests/qmtest/moore.qms/mooreratetest.qms/rates.qms/from_tck_splithlt2.qmt +++ b/Hlt/Moore/tests/qmtest/moore.qms/mooreratetest.qms/rates.qms/from_tck_splithlt2.qmt @@ -16,19 +16,21 @@ $PRCONFIGROOT/python/MooreTests/Moore_RateTest.py - 10000 + 1000 --evtmax=100 - --TCK=0x21331609 + --TCK=0x2001160B --split=Hlt2 --input_rate=81.e3 - --inputdata=0x11361609.mdf + --inputdata=0x1001160B.mdf + --TCKData=TCKData --OutputLevel=4 .*dbg moore.mooreratetest.rates.from_tck_splithlt1PASS + moore.physics.tck.testtck2PASS diff --git a/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/2016_loose.qmt b/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/2016_loose.qmt new file mode 100644 index 0000000000000000000000000000000000000000..2d2254824a126c5728630b3363f75ac5cf9229a9 --- /dev/null +++ b/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/2016_loose.qmt @@ -0,0 +1,49 @@ + + + + gaudirun.py + + 1200 + + + --option + from Configurables import Moore; Moore().EnableTimer='physics.2016_loose.csv'; + + ../options/Moore_2016draft.py + --option + from Configurables import Moore; Moore().ThresholdSettings = "Physics_pp_LooseDraft2016" + --option + from Configurables import Moore; Moore().RemoveInputHltRawBanks = True; Moore().EnableTimer='physics.2016_loose.csv'; from Configurables import EventSelector; EventSelector().PrintFreq=10; Moore().OutputLevel = 4; + + + +myname = 'moore.physics.2016_loose' + +nlines = len(stdout.splitlines()) + +if nlines < 128: + causes.append('stdout is too short, aiming for at least 128 lines') + result['moore.physics.2016_loose.lt_lines'] = result.Quote('Expected at least 128 lines, got {}'.format(nlines)) + +if nlines > 2000: + causes.append('stdout is too long, aiming for at most 2000 lines') + result['moore.physics.2016_loose.gt_lines'] = result.Quote('Expected at most 2000 lines, got {}'.format(nlines)) + +findReferenceBlock("Hlt2HcalCov.HcalCovarTool.DBAccessor WARNING Applied corrections configured via options for Hlt2HcalCov.HcalCovarTool.DBAccessor") +countErrorLines({"FATAL":0,"ERROR":0,"WARNING":1}) + + + diff --git a/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/diff.qmt b/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/diff.qmt deleted file mode 100755 index f48de72d5a6acca61154a37bed4b9d8250f74524..0000000000000000000000000000000000000000 --- a/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/diff.qmt +++ /dev/null @@ -1,34 +0,0 @@ - - - - python - - ../options/tckcheck.py - - win.* - - moore.physics.tck.zeroeventsPASS - moore.physics.tck.oneeventPASS - moore.physics.tck.hundredeventsPASS - - - -import re -pattern = r"============= diffs zero->1 event ===============\n============= diffs 1->100 events ===============$" -if not re.search(pattern, stdout): - causes.append('differences found') - result['moore.physics.tck.diffs']=result.Quote('check stdout for differences') - - - - diff --git a/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/oneevent.qmt b/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/zeroevents.qms/createtck1zeroevents.qmt similarity index 56% rename from Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/oneevent.qmt rename to Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/zeroevents.qms/createtck1zeroevents.qmt index 331ecf39ae79e4903f0eaa7540a40825be057aeb..1cf1ffad5fa00449a3c2f72592ed90ab48cac0c5 100755 --- a/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/oneevent.qmt +++ b/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/zeroevents.qms/createtck1zeroevents.qmt @@ -3,27 +3,28 @@ ####################################################### # SUMMARY OF THIS TEST # ................... -# Author: rlambert -# Purpose: Generate a TCK from running moore over a single event +# Author: mvesteri +# Purpose: Create a Hlt1 TCK config and map to a TCK in local file TCKData/config.cdb, SETTING Moore().EvtMax=0! # Prerequisites: None # Common failure modes, severities and cures: -# . MAJOR: Any failures in generating a TCK are major problems which need to be addressed +# . MAJOR: ####################################################### --> - python + bash - ../options/tcksteeroneevent.py + $MOOREROOT/tests/options/TCK/CreateTCK1AndEntry.sh + ZeroEvents 1200 + + moore.physics.tck.redol0PASS + -expected_string= "PASS" -if stdout.find(expected_string) ==-1: - causes.append('missing string') - result['moore.physics.tck.oneevent.expected_string']=result.Quote(expected_string) +countErrorLines({"FATAL":0,"ERROR":0}) diff --git a/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/zeroevents.qms/createtck2zeroevents.qmt b/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/zeroevents.qms/createtck2zeroevents.qmt new file mode 100755 index 0000000000000000000000000000000000000000..e01379194df3fbd8307f5cb0e05d07dce6c1f3bb --- /dev/null +++ b/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/zeroevents.qms/createtck2zeroevents.qmt @@ -0,0 +1,31 @@ + + + + bash + + $MOOREROOT/tests/options/TCK/CreateTCK2AndEntry.sh + ZeroEvents + + + 2000 + + + moore.physics.tck.zeroevents.createtck1zeroeventsPASS + + + +countErrorLines({"FATAL":0,"ERROR":0}) + + + + diff --git a/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/zeroevents.qms/difftck1.qmt b/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/zeroevents.qms/difftck1.qmt new file mode 100755 index 0000000000000000000000000000000000000000..432a1f59911f48eca6d54a3dd6146a2a3dc602dd --- /dev/null +++ b/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/zeroevents.qms/difftck1.qmt @@ -0,0 +1,27 @@ + + + + python + + ../options/TCK/diff.py + --split=Hlt1 + + win.* + + moore.physics.tck.createtck1PASS + moore.physics.tck.zeroevents.createtck1zeroeventsPASS + + +countErrorLines({"FATAL":0,"ERROR":0}) + + + diff --git a/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/zeroevents.qms/difftck2.qmt b/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/zeroevents.qms/difftck2.qmt new file mode 100755 index 0000000000000000000000000000000000000000..e979718ffb1512b8bf433864786df7911f574118 --- /dev/null +++ b/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/zeroevents.qms/difftck2.qmt @@ -0,0 +1,27 @@ + + + + python + + ../options/TCK/diff.py + --split=Hlt2 + + win.* + + moore.physics.tck.createtck2PASS + moore.physics.tck.zeroevents.createtck2zeroeventsPASS + + +countErrorLines({"FATAL":0,"ERROR":0}) + + + diff --git a/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/zfromxtck.qmt b/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/zfromxtck.qmt deleted file mode 100755 index fe550f96b0eba6592f282ce1005fb0344b49fdf9..0000000000000000000000000000000000000000 --- a/Hlt/Moore/tests/qmtest/moore.qms/physics.qms/tck.qms/zfromxtck.qmt +++ /dev/null @@ -1,56 +0,0 @@ - - - - gaudirun.py - - 1200 - - - ../options/Moore_Hlt1And2.py - ../options/Input_Default.py - ../options/default-threshold.py - ../options/Moore-LocalTCKData.py - --option - from Configurables import Moore; Moore().RemoveInputHltRawBanks = True; Moore().UseTCK=True; Moore().InitialTCK='0x00ef0046'; Moore().CheckOdin=False; Moore().EnableTimer="tck.hlt1and2.csv"; from Configurables import EventSelector; EventSelector().PrintFreq=100; - - win.* - - moore.physics.tck.hundredeventsPASS - - -myname='moore.physics.tck.zfromxtck' - - -if len(stdout.split('\n'))>59: - causes.append('stdout is too long, aiming for less than 60 lines') - result['moore.physics.tck.zfromxtck.lines']=result.Quote('Expected less than 40 lines, got '+ str(len(stdout.split('\n')))) - -if len(stdout)>7000: - causes.append('stdout is too long, aiming for less than 7k characters') - result['moore.physics.tck.zfromxtck.chars']=result.Quote('Expected less than 16k characters, got '+ str(len(stdout))) - -from Moore.QMTest.MooreTests import compareTimingTableFiles - -compareTimingTableFiles(myname,result,causes,"tck.hlt1and2.csv","physics.2012.csv","Hlt",extranewref=".tck") - - -#count error lines, shouldn't be any warnings or errors, ideally -countErrorLines({"FATAL":0,"ERROR":0,"WARNING":0}) - - - - diff --git a/Hlt/Moore/tests/qmtest/moore.qms/simulation.qms/genfsr-l0-nomerge.qmt b/Hlt/Moore/tests/qmtest/moore.qms/simulation.qms/genfsr-l0-nomerge.qmt new file mode 100644 index 0000000000000000000000000000000000000000..72107b1642edcc6b442a6435816815291b8162c6 --- /dev/null +++ b/Hlt/Moore/tests/qmtest/moore.qms/simulation.qms/genfsr-l0-nomerge.qmt @@ -0,0 +1,21 @@ + + + gaudirun.py + + +from Configurables import L0App +L0App().TCK = '0x1609' +L0App().ReplaceL0Banks = True +L0App().outputFile = 'genFSR_2012_digi_L0.dst' + +from PRConfig import TestFileDB +TestFileDB.test_file_db["genFSR_2012_digi"].run(configurable=L0App()) + + + + +countErrorLines({"FATAL": 0, "ERROR": 0, "WARNING": 0}) + + + + diff --git a/Hlt/Moore/tests/qmtest/moore.qms/simulation.qms/genfsr-moore-check.qmt b/Hlt/Moore/tests/qmtest/moore.qms/simulation.qms/genfsr-moore-check.qmt new file mode 100644 index 0000000000000000000000000000000000000000..53a7ea86000c40419801ce6cc2be31117081b506 --- /dev/null +++ b/Hlt/Moore/tests/qmtest/moore.qms/simulation.qms/genfsr-moore-check.qmt @@ -0,0 +1,50 @@ + + + gaudirun.py + + +from Configurables import LHCbApp, ApplicationMgr, GenFSRLog +from GaudiConf import IOExtension + +LHCbApp() +IOExtension().inputFiles(['PFN:genFSR_2012_digi_Moore_merged.dst']) +log = GenFSRLog() +log.FileName = 'GeneratorLogFSR-Moore.xml' +ApplicationMgr().TopAlg.append(log) + + + + moore.simulation.genfsr-moorePASS + + + +import xml.etree.ElementTree as ET +import os + +try: + file = ET.parse('GeneratorLogFSR-Moore.xml') + + root = file.getroot() + + expected_file = ET.parse('../refs/GeneratorLogFSR_expected.xml') + expected_root = expected_file.getroot() + + for expected_counter in expected_root.findall('counter'): + expected_name = expected_counter.get('name') + expected_value = int(expected_counter.find('value').text) + + for counter in root.findall('counter'): + name = counter.get('name') + if name == expected_name: + value = int(counter.find('value').text) + + if value != expected_value: + causes.append('Counter value different from what expected') + break + +except IOError as e: + causes.append(str(e)) + + + + diff --git a/Hlt/Moore/tests/qmtest/moore.qms/simulation.qms/genfsr-moore.qmt b/Hlt/Moore/tests/qmtest/moore.qms/simulation.qms/genfsr-moore.qmt new file mode 100644 index 0000000000000000000000000000000000000000..b66983cfcd0124b756382fb4d5dd398110cc0d15 --- /dev/null +++ b/Hlt/Moore/tests/qmtest/moore.qms/simulation.qms/genfsr-moore.qmt @@ -0,0 +1,17 @@ + + + gaudirun.py + + ../options/genfsr-moore.py + + + moore.simulation.genfsr-l0-nomergePASS + + + +findReferenceBlock("HCRawBankDecoderHlt ERROR HCRawBankDecoderHlt:: Cannot find Conditions/ReadoutConf/HC/Mapping in database") +countErrorLines({"FATAL": 0, "ERROR": 1}) + + + + diff --git a/Hlt/Moore/tests/refs/GeneratorLogFSR_expected.xml b/Hlt/Moore/tests/refs/GeneratorLogFSR_expected.xml new file mode 100644 index 0000000000000000000000000000000000000000..9995a67888e9d4f34d8f51336f558f1329bf9fc8 --- /dev/null +++ b/Hlt/Moore/tests/refs/GeneratorLogFSR_expected.xml @@ -0,0 +1,518 @@ + + + 1.1 + 13114005 + + 21116 + + + 1702 + + + 19414 + + + 53016 + + + 40 + + + 120 + + + 304 + + + 0 + + + 2 + + + 3186 + + + 294 + + + 246 + + + 50 + + + 42 + + + 0 + + + 0 + + + 12 + + + 0 + + + 0 + + + 8 + + + 20 + 170 + 0.117647 + 0.0247108 + + + 20 + + + 12 + 82 + 0.146341 + 0.0390318 + + + 8 + 88 + 0.0909091 + 0.0306454 + + + 6 + 0.428571 + 0.13226 + + + 8 + 0.307692 + 0.0905151 + + + 6 + 0.428571 + 0.13226 + + + 12 + 0.461538 + 0.0977675 + + + 2 + 0.142857 + 0.093522 + + + 4 + 0.153846 + 0.0707589 + + + 2 + 0.0769231 + 0.0522589 + + + 24 + 0.631579 + 0.0782518 + + + 10 + 0.416667 + 0.100635 + + + 10 + 0.263158 + 0.0714338 + + + 8 + 0.333333 + 0.096225 + + + 2 + 0.0526316 + 0.0362235 + + + 6 + 0.25 + 0.0883883 + + + 2 + 0.0526316 + 0.0362235 + + + 32 + 0.842105 + 0.0591528 + + + 26 + 0.65 + 0.0754155 + + + 14 + 0.35 + 0.0754155 + + + 12 + 0.146341 + 0.0390318 + + + 8 + 0.0909091 + 0.0306454 + + + 53016 + 2.73081 + 0.0229082 + + + 53016 + 2.5107 + 0.020431 + + + 120 + 3 + 0.547723 + + + 304 + 0.534211 + 0.0305511 + + + 2 + 0.00351454 + 0.00248511 + + + 3186 + 5.59867 + 0.096162 + + + 294 + 0.516638 + 0.0300473 + + + 246 + 0.432289 + 0.0274977 + + + 50 + 0.0878636 + 0.0124199 + + + 42 + 32.6072 + 4.05645 + + + 12 + 9.31635 + 2.55139 + + + 8 + 6.2109 + 2.12143 + + Generation.SignalRepeatedHadronization + Pythia + + "All included subprocesses " + 53016 + 93.1635 + + + "f + f' -> f + f' (QCD) m" + 6770 + 11.8297 + + + "f + fbar -> f' + fbar' m" + 8 + 0.0150626 + + + "f + fbar -> g + g m" + 8 + 0.0150626 + + + "f + g -> f + g m" + 5996 + 10.4759 + + + "g + g -> f + fbar m" + 376 + 0.671218 + + + "g + g -> g + g m" + 15224 + 26.5979 + + + "Elastic scattering m" + 11226 + 19.8945 + + + "Single diffractive (XB) m" + 3972 + 6.90282 + + + "Single diffractive (AX) m" + 3762 + 6.90282 + + + "Double diffractive m" + 5392 + 9.39983 + + + "Low-pT scattering m" + 0 + 0 + + + "g + g -> cc~[3S1(1)] + g m" + 4 + 0.00225717 + + + "g + g -> cc~[3S1(8)] + g m" + 10 + 0.00969949 + + + "g + g -> cc~[1S0(8)] + g m" + 6 + 0.00979238 + + + "g + g -> cc~[3PJ(8)] + g m" + 12 + 0.0206582 + + + "g + q -> q + cc~[3S1(8)] m" + 0 + 0 + + + "g + q -> q + cc~[1S0(8)] m" + 2 + 0.00133416 + + + "g + q -> q + cc~[3PJ(8)] m" + 8 + 0.00451094 + + + "q + q~ -> g + cc~[3S1(8)] m" + 0 + 0 + + + "q + q~ -> g + cc~[1S0(8)] m" + 0 + 0 + + + "q + q~ -> g + cc~[3PJ(8)] m" + 0 + 0 + + + "g + g -> cc~[3P0(1)] + g m" + 70 + 0.108637 + + + "g + g -> cc~[3P1(1)] + g m" + 38 + 0.0584779 + + + "g + g -> cc~[3P2(1)] + g m" + 64 + 0.126601 + + + "q + g -> q + cc~[3P0(1)] m" + 6 + 0.0171294 + + + "q + g -> q + cc~[3P1(1)] m" + 0 + 0 + + + "q + g -> q + cc~[3P2(1)] m" + 14 + 0.0233985 + + + "q + q~ -> g + cc~[3P0(1)] m" + 0 + 0 + + + "q + q~ -> g + cc~[3P1(1)] m" + 0 + 0 + + + "q + q~ -> g + cc~[3P2(1)] m" + 0 + 0 + + + "g + g -> bb~[3S1(1)] + g m" + 0 + 0 + + + "g + g -> bb~[3S1(8)] + g m" + 0 + 0 + + + "g + g -> bb~[1S0(8)] + g m" + 0 + 0 + + + "g + g -> bb~[3PJ(8)] + g m" + 0 + 0 + + + "g + q -> q + bb~[3S1(8)] m" + 0 + 0 + + + "g + q -> q + bb~[1S0(8)] m" + 0 + 0 + + + "g + q -> q + bb~[3PJ(8)] m" + 0 + 0 + + + "q + q~ -> g + bb~[3S1(8)] m" + 0 + 0 + + + "q + q~ -> g + bb~[1S0(8)] m" + 0 + 0 + + + "q + q~ -> g + bb~[3PJ(8)] m" + 0 + 0 + + + "g + g -> bb~[3P0(1)] + g m" + 0 + 0 + + + "g + g -> bb~[3P1(1)] + g m" + 0 + 0 + + + "g + g -> bb~[3P2(1)] + g m" + 0 + 0 + + + "q + g -> q + bb~[3P0(1)] m" + 0 + 0 + + + "q + g -> q + bb~[3P1(1)] m" + 2 + 0.000510403 + + + "q + g -> q + bb~[3P2(1)] m" + 0 + 0 + + + "q + q~ -> g + bb~[3P0(1)] m" + 0 + 0 + + + "q + q~ -> g + bb~[3P1(1)] m" + 0 + 0 + + + "q + q~ -> g + bb~[3P2(1)] m" + 0 + 0 + + + "g + g -> Psi(2S) + g m" + 0 + 0 + + + "g + g -> Upsilon(2S) + g m" + 0 + 0 + + + "g + g -> Upsilon(3S) + g m" + 0 + 0 + + + "g + g -> Upsilon(4S) + g m" + 0 + 0 + + + "g + g -> psi(3770) + g m" + 46 + 0.0789658 + + diff --git a/L0/L0App/CMakeLists.txt b/L0/L0App/CMakeLists.txt index 1a566821a79dcc9680b2ddb79dd067ad24ae1b9c..8641730e61151bf83a4eb5aed4424cdaf56efc15 100644 --- a/L0/L0App/CMakeLists.txt +++ b/L0/L0App/CMakeLists.txt @@ -18,7 +18,9 @@ gaudi_depends_on_subdirs(DAQ/DAQSys L0/L0Interfaces L0/L0Muon L0/L0MuonKernel - L0/ProcessorKernel) + L0/ProcessorKernel + Kernel/FSRAlgs + ) gaudi_install_python_modules() diff --git a/L0/L0App/doc/release.notes b/L0/L0App/doc/release.notes index 0f3528dedf3fb3ee8f5e317703c4765ea1277902..67157a54cbb1402fae0e6c95354edab9a65f042e 100644 --- a/L0/L0App/doc/release.notes +++ b/L0/L0App/doc/release.notes @@ -4,6 +4,9 @@ ! Purpose : An LHCb application to run L0 Emulation !----------------------------------------------------------------------------- +! 2016-10-12 - Rosen Matev + - Add MergeGenFSR option to allow merging of generator FSRs and add tests. + ! 2015-05-12 - Julien Cogan - Add ReplayL0DUOnly option to recompute L0DU decision using the existing L0Calo and L0Muon data. diff --git a/L0/L0App/python/L0App/Configuration.py b/L0/L0App/python/L0App/Configuration.py index f6b254b41540a62d8995365f8a59078eae8b03fe..8bb2843a4be39d71be4ee7531cb3d53632f960b3 100644 --- a/L0/L0App/python/L0App/Configuration.py +++ b/L0/L0App/python/L0App/Configuration.py @@ -26,6 +26,7 @@ class L0App(LHCbConfigurableUser): , 'TCK' : '' #"Can be a L0TCK or a full TCK, it doesn't matter" , "outputFile" : '' # output filename , 'WriteFSR' : True #copy FSRs as required + , 'MergeGenFSR' : False, } _propertyDocDct ={ @@ -40,6 +41,7 @@ class L0App(LHCbConfigurableUser): , 'TCK' : "Can be a L0TCK or a full TCK, it doesn't matter" , "outputFile" : 'output filename, automatically selects MDF or InputCopyStream' , 'WriteFSR' : 'copy FSRs as required' + , 'MergeGenFSR' : 'Merge the generator FSRs' } def _safeSet(self,conf,param): """ @@ -84,10 +86,15 @@ class L0App(LHCbConfigurableUser): ) IOHelper("MDF","MDF").outStream(fname,writer,writeFSR=False) else : + if self.getProp('WriteFSR') and self.getProp('MergeGenFSR'): + from Configurables import GenFSRMerge + from Configurables import ApplicationMgr + ApplicationMgr().OutStream.append(GenFSRMerge()) + from Configurables import InputCopyStream writer = InputCopyStream("Writer") IOHelper().outStream(fname,writer,writeFSR=self.getProp('WriteFSR')) - + def __apply_configuration__(self): #print "WAAAAAAAAAAAAAHHHHHHHHHHHHHHHH" @@ -104,9 +111,9 @@ class L0App(LHCbConfigurableUser): if dod not in ApplicationMgr().ExtSvc : ApplicationMgr().ExtSvc.append( dod ) - DecodeRawEvent().DataOnDemand=True - - importOptions( "$L0TCK/L0DUConfig.opts" ) + DecodeRawEvent().DataOnDemand=True + + importOptions( "$L0TCK/L0DUConfig.opts" ) self._setRawEventLocations() @@ -150,7 +157,14 @@ class L0App(LHCbConfigurableUser): L0Conf().setProp("ReplayL0DU",True) else: L0Conf().setProp("SimulateL0",True) - + #done, that was quite easy, now for the output files self._configureOutput() - + + # Use TimingAuditor for timing, suppress printout from SequencerTimerTool + from Configurables import AuditorSvc,SequencerTimerTool + ApplicationMgr().ExtSvc += [ 'ToolSvc', 'AuditorSvc' ] + ApplicationMgr().AuditAlgorithms = True + AuditorSvc().Auditors += [ 'TimingAuditor' ] + if not SequencerTimerTool().isPropertySet( "OutputLevel" ): + SequencerTimerTool().OutputLevel = 4 diff --git a/L0/L0App/tests/options/L0TCKs_Thread_MC.py b/L0/L0App/tests/options/L0TCKs_Thread_MC.py index 8646f00b5e2ba32cb274fa5fbc5f3fd034a8bdbf..e11e7b0a208eb9bf3c52c5195c41fedd00245121 100644 --- a/L0/L0App/tests/options/L0TCKs_Thread_MC.py +++ b/L0/L0App/tests/options/L0TCKs_Thread_MC.py @@ -1,4 +1,5 @@ -from TCKUtils.utils import getTCKList +import re +from TCKUtils.utils import getConfigurations from LbUtils import LockOnPrintThread import Queue, threading, thread, commands #use TCKsh to find all TCKs @@ -13,12 +14,20 @@ if "LHCB_NIGHTLY_MAX_THREADS" in os.environ: if numthreads<1: numthreads=1 +MIN_MOORE_VER = [22, 0] + L0TCKs={} -for TCK in getTCKList(): - if int(TCK,16)&0xffff == 0: +for config in getConfigurations().values(): + info = config.info + ver = map(int, re.match(r'MOORE_v(\d+)r(\d+)?', info['release']).groups()) + if not info['TCK']: continue - L0TCKs[hex(int(TCK,16)&0xffff)]=TCK - + tck = info['TCK'][0] + if ver < MIN_MOORE_VER or tck & 0xffff == 0: + continue + print info['release'], info + L0TCKs[hex(tck & 0xffff)] = tck + #print L0TCKs options="\"from Configurables import EventSelector; EventSelector().PrintFreq=1; from Configurables import L0App; L0App().EvtMax=3; L0App().TCK = '##TCK##';\"" diff --git a/L0/L0App/tests/options/genfsr-l0app.py b/L0/L0App/tests/options/genfsr-l0app.py new file mode 100644 index 0000000000000000000000000000000000000000..337cceacf2980ac4e8627ef2e1cb83d186156310 --- /dev/null +++ b/L0/L0App/tests/options/genfsr-l0app.py @@ -0,0 +1,8 @@ +from Configurables import L0App +L0App().TCK = '0x1609' +L0App().ReplaceL0Banks = True +L0App().outputFile = 'genFSR_2012_digi_L0_merged.dst' +L0App().MergeGenFSR = True + +from PRConfig import TestFileDB +TestFileDB.test_file_db["genFSR_2012_digi"].run(configurable=L0App()) diff --git a/L0/L0App/tests/qmtest/l0app.qms/genfsr-l0app-check.qmt b/L0/L0App/tests/qmtest/l0app.qms/genfsr-l0app-check.qmt new file mode 100644 index 0000000000000000000000000000000000000000..ad7fcc4cf518006fcaaca0bfc64079b3d020727b --- /dev/null +++ b/L0/L0App/tests/qmtest/l0app.qms/genfsr-l0app-check.qmt @@ -0,0 +1,50 @@ + + + gaudirun.py + + +from Configurables import LHCbApp, ApplicationMgr, GenFSRLog +from GaudiConf import IOExtension + +LHCbApp() +IOExtension().inputFiles(['PFN:genFSR_2012_digi_L0_merged.dst']) +log = GenFSRLog() +log.FileName = 'GeneratorLogFSR-L0.xml' +ApplicationMgr().TopAlg.append(log) + + + + l0app.genfsr-l0appPASS + + + +import xml.etree.ElementTree as ET +import os + +try: + file = ET.parse('GeneratorLogFSR-L0.xml') + + root = file.getroot() + + expected_file = ET.parse('../refs/GeneratorLogFSR_expected.xml') + expected_root = expected_file.getroot() + + for expected_counter in expected_root.findall('counter'): + expected_name = expected_counter.get('name') + expected_value = int(expected_counter.find('value').text) + + for counter in root.findall('counter'): + name = counter.get('name') + if name == expected_name: + value = int(counter.find('value').text) + + if value != expected_value: + causes.append('Counter value different from what expected') + break + +except IOError as e: + causes.append(str(e)) + + + + diff --git a/L0/L0App/tests/qmtest/l0app.qms/genfsr-l0app.qmt b/L0/L0App/tests/qmtest/l0app.qms/genfsr-l0app.qmt new file mode 100644 index 0000000000000000000000000000000000000000..947bdf90da1a54954a146797d0eac9cbc212a96c --- /dev/null +++ b/L0/L0App/tests/qmtest/l0app.qms/genfsr-l0app.qmt @@ -0,0 +1,13 @@ + + + gaudirun.py + + ../options/genfsr-l0app.py + + + +countErrorLines({"FATAL": 0, "ERROR": 0, "WARNING": 0}) + + + + diff --git a/L0/L0App/tests/refs/GeneratorLogFSR_expected.xml b/L0/L0App/tests/refs/GeneratorLogFSR_expected.xml new file mode 100644 index 0000000000000000000000000000000000000000..9995a67888e9d4f34d8f51336f558f1329bf9fc8 --- /dev/null +++ b/L0/L0App/tests/refs/GeneratorLogFSR_expected.xml @@ -0,0 +1,518 @@ + + + 1.1 + 13114005 + + 21116 + + + 1702 + + + 19414 + + + 53016 + + + 40 + + + 120 + + + 304 + + + 0 + + + 2 + + + 3186 + + + 294 + + + 246 + + + 50 + + + 42 + + + 0 + + + 0 + + + 12 + + + 0 + + + 0 + + + 8 + + + 20 + 170 + 0.117647 + 0.0247108 + + + 20 + + + 12 + 82 + 0.146341 + 0.0390318 + + + 8 + 88 + 0.0909091 + 0.0306454 + + + 6 + 0.428571 + 0.13226 + + + 8 + 0.307692 + 0.0905151 + + + 6 + 0.428571 + 0.13226 + + + 12 + 0.461538 + 0.0977675 + + + 2 + 0.142857 + 0.093522 + + + 4 + 0.153846 + 0.0707589 + + + 2 + 0.0769231 + 0.0522589 + + + 24 + 0.631579 + 0.0782518 + + + 10 + 0.416667 + 0.100635 + + + 10 + 0.263158 + 0.0714338 + + + 8 + 0.333333 + 0.096225 + + + 2 + 0.0526316 + 0.0362235 + + + 6 + 0.25 + 0.0883883 + + + 2 + 0.0526316 + 0.0362235 + + + 32 + 0.842105 + 0.0591528 + + + 26 + 0.65 + 0.0754155 + + + 14 + 0.35 + 0.0754155 + + + 12 + 0.146341 + 0.0390318 + + + 8 + 0.0909091 + 0.0306454 + + + 53016 + 2.73081 + 0.0229082 + + + 53016 + 2.5107 + 0.020431 + + + 120 + 3 + 0.547723 + + + 304 + 0.534211 + 0.0305511 + + + 2 + 0.00351454 + 0.00248511 + + + 3186 + 5.59867 + 0.096162 + + + 294 + 0.516638 + 0.0300473 + + + 246 + 0.432289 + 0.0274977 + + + 50 + 0.0878636 + 0.0124199 + + + 42 + 32.6072 + 4.05645 + + + 12 + 9.31635 + 2.55139 + + + 8 + 6.2109 + 2.12143 + + Generation.SignalRepeatedHadronization + Pythia + + "All included subprocesses " + 53016 + 93.1635 + + + "f + f' -> f + f' (QCD) m" + 6770 + 11.8297 + + + "f + fbar -> f' + fbar' m" + 8 + 0.0150626 + + + "f + fbar -> g + g m" + 8 + 0.0150626 + + + "f + g -> f + g m" + 5996 + 10.4759 + + + "g + g -> f + fbar m" + 376 + 0.671218 + + + "g + g -> g + g m" + 15224 + 26.5979 + + + "Elastic scattering m" + 11226 + 19.8945 + + + "Single diffractive (XB) m" + 3972 + 6.90282 + + + "Single diffractive (AX) m" + 3762 + 6.90282 + + + "Double diffractive m" + 5392 + 9.39983 + + + "Low-pT scattering m" + 0 + 0 + + + "g + g -> cc~[3S1(1)] + g m" + 4 + 0.00225717 + + + "g + g -> cc~[3S1(8)] + g m" + 10 + 0.00969949 + + + "g + g -> cc~[1S0(8)] + g m" + 6 + 0.00979238 + + + "g + g -> cc~[3PJ(8)] + g m" + 12 + 0.0206582 + + + "g + q -> q + cc~[3S1(8)] m" + 0 + 0 + + + "g + q -> q + cc~[1S0(8)] m" + 2 + 0.00133416 + + + "g + q -> q + cc~[3PJ(8)] m" + 8 + 0.00451094 + + + "q + q~ -> g + cc~[3S1(8)] m" + 0 + 0 + + + "q + q~ -> g + cc~[1S0(8)] m" + 0 + 0 + + + "q + q~ -> g + cc~[3PJ(8)] m" + 0 + 0 + + + "g + g -> cc~[3P0(1)] + g m" + 70 + 0.108637 + + + "g + g -> cc~[3P1(1)] + g m" + 38 + 0.0584779 + + + "g + g -> cc~[3P2(1)] + g m" + 64 + 0.126601 + + + "q + g -> q + cc~[3P0(1)] m" + 6 + 0.0171294 + + + "q + g -> q + cc~[3P1(1)] m" + 0 + 0 + + + "q + g -> q + cc~[3P2(1)] m" + 14 + 0.0233985 + + + "q + q~ -> g + cc~[3P0(1)] m" + 0 + 0 + + + "q + q~ -> g + cc~[3P1(1)] m" + 0 + 0 + + + "q + q~ -> g + cc~[3P2(1)] m" + 0 + 0 + + + "g + g -> bb~[3S1(1)] + g m" + 0 + 0 + + + "g + g -> bb~[3S1(8)] + g m" + 0 + 0 + + + "g + g -> bb~[1S0(8)] + g m" + 0 + 0 + + + "g + g -> bb~[3PJ(8)] + g m" + 0 + 0 + + + "g + q -> q + bb~[3S1(8)] m" + 0 + 0 + + + "g + q -> q + bb~[1S0(8)] m" + 0 + 0 + + + "g + q -> q + bb~[3PJ(8)] m" + 0 + 0 + + + "q + q~ -> g + bb~[3S1(8)] m" + 0 + 0 + + + "q + q~ -> g + bb~[1S0(8)] m" + 0 + 0 + + + "q + q~ -> g + bb~[3PJ(8)] m" + 0 + 0 + + + "g + g -> bb~[3P0(1)] + g m" + 0 + 0 + + + "g + g -> bb~[3P1(1)] + g m" + 0 + 0 + + + "g + g -> bb~[3P2(1)] + g m" + 0 + 0 + + + "q + g -> q + bb~[3P0(1)] m" + 0 + 0 + + + "q + g -> q + bb~[3P1(1)] m" + 2 + 0.000510403 + + + "q + g -> q + bb~[3P2(1)] m" + 0 + 0 + + + "q + q~ -> g + bb~[3P0(1)] m" + 0 + 0 + + + "q + q~ -> g + bb~[3P1(1)] m" + 0 + 0 + + + "q + q~ -> g + bb~[3P2(1)] m" + 0 + 0 + + + "g + g -> Psi(2S) + g m" + 0 + 0 + + + "g + g -> Upsilon(2S) + g m" + 0 + 0 + + + "g + g -> Upsilon(3S) + g m" + 0 + 0 + + + "g + g -> Upsilon(4S) + g m" + 0 + 0 + + + "g + g -> psi(3770) + g m" + 46 + 0.0789658 + + diff --git a/MooreSys/CMakeLists.txt b/MooreSys/CMakeLists.txt index 0fcdf2ccdd960c93a68e1233e9411c08aa9afc27..d68abef6ce4f7ce7085f8eb4ff8bfee7e588290d 100644 --- a/MooreSys/CMakeLists.txt +++ b/MooreSys/CMakeLists.txt @@ -1,10 +1,12 @@ ################################################################################ # Package: MooreSys ################################################################################ -gaudi_subdir(MooreSys v25r4) +gaudi_subdir(MooreSys v25r5) gaudi_depends_on_subdirs(Hlt/Moore - L0/L0App) + L0/L0App + Hlt/HltCache + ) gaudi_add_test(QMTest QMTEST) diff --git a/MooreSys/cmt/requirements b/MooreSys/cmt/requirements index 63d5dabbaa35684a3df2c69f1c76c615b784b88e..ab7af644843d59f57478cc4896a24c2a298d3022 100755 --- a/MooreSys/cmt/requirements +++ b/MooreSys/cmt/requirements @@ -1,5 +1,5 @@ package MooreSys -version v25r4 +version v25r5 branches doc cmt #======================================================= diff --git a/MooreSys/doc/release.notes b/MooreSys/doc/release.notes index 87a86e3ec0dd4c46c5f0cc1c924d3fcf6eae4cbb..2e3468519fa43dcb4cb0b46de199b0f8e9c80a25 100755 --- a/MooreSys/doc/release.notes +++ b/MooreSys/doc/release.notes @@ -3,6 +3,56 @@ Package : MooreSys Package Coordinator : Rosen Matev, Roel Aaij Purpose : LHCb HLT application +

2016-11-03 Moore v25r5

+Production release for the 2016 heavy ion run (November 2016)
+--------------------------------------------------------------------------------
+Based on Gaudi v27r1, LHCb v40r3, Rec v19r4, Phys v21r5p1 and Hlt v25r5.
+
+- Add test for the proton-helium configuration
+  - Relies on lhcb/Hlt!174
+  - See LBHLT-56
+  - See merge request !50
+- Generator FSR merging
+  - Add three qmtests for to make sure the generator FSR merging works in Moore
+    - run L0App on the input, propagating the FSRs but not merging them
+    - run Moore with the merging enabled (only Hlt1 to save CPU)
+    - run GenFSRLog on the output and compare with a reference
+  - Add MergeGenFSR option to L0App allow merging of generator FSRs and add tests
+    - run L0App with the merging enabled
+    - run GenFSRLog on the output and compare with a reference
+  - See LHCBGAUSS-263
+  - See merge request !47
+- Fix HltCache build inside satellite projects
+  - See merge request !44
+- Add timing table to L0App
+  - The timing table is always enabled, because why not?
+  - See merge request !49
+- Add tests for proton-lead settings
+  - See LHCBPS-1592
+  - See merge request !42
+- Add TCK creation and diff from zero events
+  - create a new subdirectory zeroevents with createtck1 and createtck2 tests, and then diffs for Hlt1 and Hlt2 TCKs, with respect to the nominal ones.
+  - remove `hundredevents.qmt`, `oneevent.qmt` and `zeroevents.qmt` (replaced)
+  - remove `zfromxtck.qmt`
+  - See LHCBPS-1440
+  - See merge request !43
+- Remove obsolete configurables test, was checking integrity of SVN project recursive checkout
+  - See merge request !45 !46
+- Fix moore rate test
+  - See LBHLT-20
+  - See merge request !38
+- Fix create TCK script to correctly set UseCache option.
+  - Need overrule of UseCache option when disabling cache while TCK creation.
+  - See merge request !41
+- Fix calibration test
+  - See LBHLT-32
+  - See merge request !39
+- Add qmtest for the Physics_pp_LooseDraft2016 settings
+  - Depends on lhcb/Hlt!149
+  - See LHCBPS-1621
+  - See merge request !40
+
+
 

2016-07-27 Moore v25r4

 Production release for post-MD1 (August 2016)
 --------------------------------------------------------------------------------
diff --git a/MooreSys/tests/qmtest/mooresys.qms/configurables.qmt b/MooreSys/tests/qmtest/mooresys.qms/configurables.qmt
deleted file mode 100644
index 0127f4fddeaca811a1490332d33a6be5cf9a5547..0000000000000000000000000000000000000000
--- a/MooreSys/tests/qmtest/mooresys.qms/configurables.qmt
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-  python
-  
-    -c
-    from GaudiConf.QMTest.ConfigurablesTest import testAllConfigurables; testAllConfigurables();
-  
-  
-from GaudiConf.QMTest.ConfigurablesTest import compareConfigurables,moduleList,evalProject
-
-#first check there are no failures out of all configurables which exist
-compareConfigurables("../refs/configurables.ref",stdout,causes,result,"mooresys.allconfigurables")
-
-#next check that there is not a single missing configurable in *this* project
-compareConfigurables("../refs/configurables.ref",stdout,causes,result,"mooresys.mooreconfigurables",packages=moduleList()[evalProject()[0]],threshold=0)
-
-
diff --git a/MooreSys/tests/refs/configurables.ref b/MooreSys/tests/refs/configurables.ref
deleted file mode 100644
index 423eeb048c3299112267f4a15fb6c3c7da1e58d3..0000000000000000000000000000000000000000
--- a/MooreSys/tests/refs/configurables.ref
+++ /dev/null
@@ -1 +0,0 @@
-{'PrPixel': {'PrPixelMonitor': True, 'PrPixelStoreClusters': True, 'PrPixelTracking': True, 'PrPixelHitManager': True}, 'HltMonitors': {'HltCompositionMonitor': True, 'HltRateMonitor': True, 'MuMonitor': True}, 'OTMonitor': {'MCOTTimeMonitor': True, 'OTTimeMonitor': True, 'MCOTDepositMonitor': True, 'OTTimeChecker': True, 'OTChannelMonitor': True, 'OTTimeClassification': True}, 'TopologicalTools': {'TopologicalTagging': True, 'HighPtTopoTool': True, 'DoubleTopoTool': True}, 'LoKiMC': {'LoKi__Hybrid__MCParticleSelector': True, 'LoKi__MCFilter': True, 'LoKi__DumpMC': True, 'LoKi__MCDecay': True, 'LoKi__Hybrid__MCTool': True}, 'Associators': {'TrackerMCParticle2MCHitAlg': True, 'MCParticle2MCHitAlg': True}, 'MuonTools': {'MuonFastHWTool': True, 'MuonTimeCor': True, 'MuonFastPosTool': True, 'MuonClusterTool': True}, 'TrackFitter': {'TrackMasterFitter': True, 'TrackEventFitter': True, 'TrackKalmanFilter': True}, 'LHCbKernel': {'LHCbConfigurableUser': True}, 'OTDAQ': {'OTReadOutWindow': True, 'OTFillEventFromOTTime': True, 'OTRawBankEncoder': True, 'OTRawBankDecoder': True, 'OTChannelMapTool': True, 'OTTimeCreator': True, 'OTMultiBXRawBankDecoder': True}, 'HltBeamGasAlley': {'BeamGasProtoVertex': True}, 'GaudiUtils': {'StalledEventMonitor': True, 'VFSSvc': True, 'Gaudi__MultiFileCatalog': True, 'Gaudi__Utils__SignalMonitorSvc': True, 'Gaudi__Utils__StopSignalHandler': True, 'FileReadTool': True, 'Gaudi__IODataManager': True}, 'FastPV': {'FastPVFinder': True, 'FastPVMonitor': True}, 'RootHistCnv': {'RootHistCnv__PersSvc': True}, 'LoKiHlt': {'LoKi__ODINFilter': True, 'LoKi__HDRFilter': True, 'LoKi__L0Filter': True, 'LoKi__Hybrid__EvtTupleTool': True, 'LoKi__Hybrid__HltFactory': True}, 'VeloAlgorithms': {'VeloRawClustersMoni': True, 'VeloSimTell1ClusterMaker': True, 'VeloSimTell1Algorithm': True, 'VeloClusterMaker': True, 'VeloClusterContainerCopy': True, 'VeloDataProcessor': True, 'VeloTell1DataProcessor': True, 'VeloClusterMoni': True, 'MCVeloFEType': True, 'VeloEffChecker': True, 'VeloDigiMoni': True}, 'Swimming': {'Swimming__PVReFitter': True, 'Swimming__Service': True, 'Swimming': True}, 'PatKernel': {'PatTTStationHitManager': True}, 'Moore': {'MooreExpert': True, 'Moore': True}, 'PrUtils': {'PrUTStationHitManager': True, 'UpgradeBestTrackCreator': True}, 'MuonPIDChecker': {'MuonPIDChecker': True}, 'STTools': {'STSelectChannelIDByStatus': True, 'STSmearedPosition': True, 'STSelectClustersByChannel': True, 'STOnlinePosition': True, 'STRndmBeetleStateTransition': True, 'STSelectChannelIDByTruth': True, 'STChannelIDSelectorOR': True, 'STClusterSelectorAND': True, 'STSelectChannelIDOnTrack': True, 'STSelectChannelIDByElement': True, 'STSelectBySN': True, 'STSelectChannelIDByServiceBox': True, 'STRawADCInfo': True, 'STRndmEffSelector': True, 'STSelectByCharge': True, 'ST__STOnlineNoiseCalculationTool': True, 'STSelectLadders17': True, 'STBeetleStateTransition': True, 'STSelectChannelIDByBoard': True, 'STOfflinePosition': True, 'STRndmChannelIDSelector': True, 'STSelectSpilloverCluster': True, 'ST__STCMSNoiseCalculationTool': True, 'STClusterSelectorOR': True, 'ST__STNoiseCalculationTool': True, 'STChannelIDSelectorAND': True}, 'FastVelo': {'FastTTValidationTool': True, 'FastValidateWithTT': True, 'FastVeloDecoding': True, 'FastVeloFitLHCbIDs': True, 'FastSTDecoding': True, 'FastVeloHitManager': True, 'FastVeloTracking': True}, 'CaloTools': {'L0Calo2CaloTool': True, 'CaloHypoEstimator': True, 'GammaPi0SeparationTool': True, 'CaloCosmicsTrackAlg': True, 'CaloCosmicsTrackTool': True, 'NeutralIDTool': True, 'Calo2Calo': True, 'CaloRelationsGetter': True, 'CaloHypo2Calo': True, 'CaloElectron': True, 'CaloGetterTool': True, 'Part2Calo': True, 'CheckCaloHypoRef': True, 'CaloCosmicsTool': True, 'Track2Calo': True, 'Calo2MCTool': True}, 'FTDet': {'DeFTTestAlg': True}, 'CaloReco': {'CaloRecoConf': True, 'CaloSCorrection': True, 'CaloDigitsFilterAlg': True, 'HltCaloRecoConf': True, 'CaloProcessor': True, 'CaloSinglePhotonAlg': True, 'CaloSelectorOR': True, 'CaloSelectNeutralClusterWithSpd': True, 'CaloSelectorNOT': True, 'CaloCorrectionBase': True, 'CaloClusterCovarianceAlg': True, 'CaloMergedPi0': True, 'CaloElectronAlg': True, 'CaloSelectChargedClusterWithSpd': True, 'CaloSelector': True, 'CaloClusterizationTool': True, 'CaloShowerOverlap': True, 'CaloExtraDigits': True, 'CaloMergedPi0Alg': True, 'CaloSharedCellAlg': True, 'CaloClusterCorrect3x3Position': True, 'CaloGetterInit': True, 'CellularAutomatonAlg': True, 'CaloSelectNeutralClusterWithTracks': True, 'CaloSelectClusterWithPrs': True, 'CaloSelectCluster': True, 'CaloECorrection': True, 'OffLineCaloRecoConf': True, 'SubClusterSelectorSwissCross': True, 'ClusterCovarianceMatrixTool': True, 'CaloShowerOverlapTool': True, 'CaloSelectorAND': True, 'SubClusterSelector3x3': True, 'SubClusterSelector2x2': True, 'SubClusterSelectorTool': True, 'ClusterSpreadTool': True, 'CaloLines': True, 'CaloLCorrection': True, 'CaloHypoAlg': True}, 'RichRecStereoTools': {'Rich__Rec__StereoProjection': True, 'Rich__Rec__StereoFitter': True}, 'ParticleCombiners': {'DaVinci__N4BodyDecays': True, 'DaVinci__N5BodyDecays': True, 'DaVinci__N7BodyDecays': True, 'DaVinci__N3BodyDecays': True, 'DaVinci__N8BodyDecays': True, 'DaVinci__N6BodyDecays': True, 'CombineParticles': True}, 'RecAlgs': {'ProcStatAbortMoni': True, 'AddToProcStatus': True, 'RecSummaryAlg': True, 'TimingTuple': True, 'EventTimeMonitor': True, 'RecProcessingTimeMoni': True, 'RecInit': True}, 'TrackCheckers': {'ExtrapolatorCheckerNT': True, 'TrackEffChecker': True, 'TrackResChecker': True, 'TrackVeloTTChecker': True, 'VertexChecker': True, 'ExtrapolatorChecker': True, 'TrackIPResolutionChecker': True, 'TrackCheckerNT': True, 'TrackCloneChecker': True, 'TrackIPResolutionCheckerNT': True, 'TrackOccupChecker': True}, 'HltCosmics': {'HltCosmicsOT': True}, 'VPTools': {'VPClusterPosition': True}, 'GaudiSvc': {'CollectionCloneAlg': True, 'HepRndm__Engine_CLHEP__HepJamesRandom_': True, 'NTupleSvc': True, 'HepRndm__Engine_CLHEP__DRand48Engine_': True, 'RndmGenSvc': True, 'HepRndm__Engine_CLHEP__Ranlux64Engine_': True, 'HepRndm__Engine_CLHEP__Hurd288Engine_': True, 'HepRndm__Engine_CLHEP__RanecuEngine_': True, 'HepRndm__Engine_CLHEP__MTwistEngine_': True, 'DetDataSvc': True, 'HepRndm__Engine_CLHEP__DualRand_': True, 'HepRndm__Engine_CLHEP__RanluxEngine_': True, 'THistSvc': True, 'FileMgr': True, 'HepRndm__Engine_CLHEP__TripleRand_': True, 'GaudiSvcTest__CounterTestAlg': True, 'HepRndm__Engine_CLHEP__RanshiEngine_': True, 'TagCollectionSvc': True, 'HepRndm__Engine_CLHEP__Hurd160Engine_': True}, 'OTAssociators': {'OTTime2MCDepositLinker': True, 'OTMCHitLinker': True, 'OTMCDepositLinker': True, 'OTMCParticleLinker': True, 'OTTime2MCHitLinker': True, 'OTTime2MCParticleLinker': True}, 'SimComponents': {'FlagSignalChain': True, 'CheckMCEventTool': True, 'MCParticleSelector': True, 'DumpHepMC': True, 'EvtTypeSvc': True, 'PrintMCDecayTreeAlg': True, 'DumpHepMCDecay': True, 'PrintMCTree': True, 'PrintMCDecayTreeTool': True, 'MCEventTypeFinder': True, 'MCReconstructible': True, 'ForcedBDecayTool': True, 'DumpMCEventAlg': True, 'MCDecayFinder': True, 'DumpHepMCTree': True, 'VisPrimVertTool': True, 'MCHitMonitor': True, 'EvtTypeChecker': True}, 'RichRecMCAlgorithms': {'Rich__Rec__MC__MCMassHypoRingsAlg': True, 'Rich__Rec__MC__DumpRichHitsToTextFileAlg': True, 'Rich__Rec__MC__DumpRichTracksToTextFileAlg': True, 'Rich__Rec__MC__AddMissingMCRichTracksAlg': True}, 'GaudiGSL': {'GslSvc': True, 'GslErrorPrint': True, 'FuncMinimum': True, 'GslErrorCount': True, 'GslErrorException': True, 'EqSolver': True}, 'VeloDAQ': {'VeloClusterFilter': True, 'DecodeVeloRawBuffer': True, 'PrepareVeloFullRawBuffer': True, 'VeloClustersToRaw': True, 'DecodeVeloFullRawBuffer': True, 'SmartVeloErrorBankDecoder': True, 'DecodePileUpData': True, 'PrepareVeloRawBuffer': True}, 'DaVinciKernel': {'DecodeSimpleDecayString': True, 'DaVinciInit': True}, 'CaloPIDs': {'CaloPIDsConf': True, 'Track2HcalEAlg': True, 'OffLineCaloPIDsConf': True, 'Track2PrsEAlg': True, 'CaloID2DLL': True, 'InEcalAcceptanceAlg': True, 'InBremAcceptance': True, 'InSpdAcceptanceAlg': True, 'InBremAcceptanceAlg': True, 'CaloPhotonIdAlg': True, 'InPrsAcceptanceAlg': True, 'CaloEnergyForTrack': True, 'InHcalAcceptance': True, 'HcalPIDmuAlg': True, 'HcalPIDeAlg': True, 'InCaloAcceptanceAlg': True, 'BremPIDeAlg': True, 'SpdEnergyForTrack': True, 'InHcalAcceptanceAlg': True, 'InSpdAcceptance': True, 'CaloChi22ID': True, 'PrsEnergyForTrack': True, 'InPrsAcceptance': True, 'EcalChi22ID': True, 'CaloPhotonMatch': True, 'ClusChi22ID': True, 'EcalPIDeAlg': True, 'CaloElectronMatch': True, 'CaloBremMatch': True, 'EcalPIDmuAlg': True, 'Track2SpdEAlg': True, 'EcalEnergyForTrack': True, 'InEcalAcceptance': True, 'Track2EcalEAlg': True, 'InCaloAcceptance': True, 'BremMatchAlg': True, 'CaloTrack2IDAlg': True, 'HcalEnergyForTrack': True, 'PrsPIDeAlg': True, 'HltCaloPIDsConf': True, 'PhotonMatchAlg': True, 'BremChi22ID': True, 'ElectronMatchAlg': True}, 'DaVinciTools': {'StandardParticleProvider': True, 'CheckSelResult': True, 'AlgorithmCorrelationsAlg': True, 'ParticleDescendants': True, 'CheckSelResultsTool': True, 'CountParticles': True, 'PrintDecayTree': True}, 'DetCond': {'COOLConfSvc': True, 'CondDBDQScanner': True, 'DetCondTest__TestConditionAlg': True, 'DetCondTest__DQScanTest': True, 'CondDBAccessSvc': True, 'CondDBLogger': True, 'DetCondTest__bug_80076': True, 'CondDBSQLiteCopyAccSvc': True, 'CondDBLayeringSvc': True, 'CondDBCnvSvc': True, 'CondDBDispatcherSvc': True, 'CondDBReplayAlg': True, 'RunStampCheck': True, 'CondDBTimeSwitchSvc': True, 'LoadDDDB': True, 'CondDB': True, 'DetCondTest__FinalizationEvtLoop': True}, 'GlobalReco': {'ChargedProtoParticleMaker': True, 'ChargedProtoParticleAddEcalInfo': True, 'ChargedProtoParticleRemovePIDInfo': True, 'ChargedProtoParticleAddVeloInfo': True, 'GlobalRecoChecks': True, 'NeutralProtoPAlg': True, 'ChargedProtoParticleAddHcalInfo': True, 'ChargedProtoParticleAddPrsInfo': True, 'ChargedProtoParticleAddBremInfo': True, 'NeutralProtoParticleAddNeutralID': True, 'ChargedProtoParticleAddSpdInfo': True, 'ChargedProtoParticleTupleAlg': True, 'ChargedProtoParticleMoni': True, 'GlobalRecoConf': True}, 'DaVinciPVTools': {'PVRelatorAlg': True, 'GenericParticle2PVRelator__p2PVWithIPChi2_OnlineDistanceCalculatorName_': True, 'GenericParticle2PVRelator__p2PVWithIP_OfflineDistanceCalculatorName_': True, 'BestPVAlg': True, 'GenericParticle2PVRelator__p2PVWithIPChi2_OfflineDistanceCalculatorName_': True, 'CheckPV': True, 'GenericParticle2PVRelator__p2PVWithIP_OnlineDistanceCalculatorName_': True, 'BestPVAlg2': True}, 'STMonitors': {'ST__STBadChannelFinder': True, 'STErrorMonitor': True, 'STDQSummaryAlg': True, 'ST__STDumpADCs': True, 'ST__STDataSizeMonitor': True, 'ST__STLiteClusterMonitor': True, 'ST__STTAEClusterMonitor': True, 'ST__STTAEClusterTuple': True, 'STSummaryMonitor': True, 'ST__STNoiseMonitor': True, 'ST__STDumpClusters': True, 'ST__STNoiseCalculation': True, 'ST__STClusterMonitor': True, 'STFullEventDump': True, 'STPulseMonitor': True, 'STNZSMonitor': True}, 'RichKernel': {'RichTools': True, 'RichTAEStruture': True, 'RichConfigurableUser': True, 'Rich__ToolRegistry': True}, 'L0DU': {'L0DURawBankMonitor': True, 'FastL0DUFilter': True, 'L0DUConfigProvider': True, 'L0DataNtp': True, 'L0DUFromRawTool': True, 'L0DUAlg': True, 'L0DataFilter': True, 'L0Conf': True, 'L0DUMultiConfigProvider': True, 'L0CondDBProvider': True, 'L0Filter': True, 'L0TCKfilter': True, 'L0DUReportMonitor': True, 'L0ProcessorDataDecoder': True, 'L0DUEmulatorTool': True, 'L0Pattern': True, 'L0DUMultiTrends': True, 'L0DUFromRawHlt1Tool': True, 'L0ETC': True, 'L0DUFromRawAlg': True}, 'RawEventCompat': {'RecombineRawEvent': True, 'RawEventFormatConf': True, 'RawEventJuggler': True}, 'HltDisplVertices': {'LLParticlesFromRecVertices': True, 'MatterVetoTool': True, 'SelectVeloTracksNotFromPV': True}, 'TrackAssociators': {'TrackAssociator': True}, 'STAssociators': {'STCluster2MCHitLinker': True, 'STCluster2MCParticleLinker': True, 'STDigit2MCHitLinker': True, 'STDigit2MCParticleLinker': True}, 'VPDAQ': {'VPSuperPixelBankEncoder': True}, 'RecConf': {'RecMoniConf': True, 'RecSysConf': True}, 'DaVinciDecayFinder': {'DecayFinder': True}, 'RootCnv': {'Gaudi__RootEvtSelector': True, 'Gaudi__RootPerfMonSvc': True, 'Gaudi__RootCnvSvc': True}, 'MDF': {'LHCb__TAETestCreator': True, 'LHCb__MDFSelector': True, 'LHCb__MDFWriter': True, 'LHCb__RawDataWriter': True, 'LHCb__MEPDump': True, 'LHCb__RawEventCopy': True, 'LHCb__MDFWriterLite': True, 'LHCb__RawEventTestDump': True, 'LHCb__MIFWriter': True, 'LHCb__MIFSelector': True, 'LHCb__MEPTester': True, 'LHCb__RawEventTestCreator': True, 'LHCb__RawDataCnvSvc': True, 'LHCb__MEPWriter': True}, 'SiTools': {'SiGeantDepositedCharge': True, 'SiDepositedCharge': True, 'SiZuriFunction': True, 'SiAmplifierResponse': True}, 'HltL0Conf': {'L0ConfExtrapolator': True, 'ElectronSeedTool': True, 'L0ConfDataStore': True, 'L0ConfirmWithT': True, 'MuonSeedTool': True, 'HadronSeedTool': True, 'TsaConfirmTool': True, 'PatConfirmTool': True}, 'HltLine': {'HltLinesConfigurableUser': True, 'Hlt__Line': True}, 'RichAlignment': {'Rich__Rec__MC__AlignmentMonitor': True, 'Rich__Rec__EventSelection': True, 'RichAlignmentConf': True}, 'PrAlgorithms': {'PrGeometryTool': True, 'PrDownstream': True, 'PrMatchTool': True, 'PrMatch': True, 'PrSeedingAlgorithm': True, 'PrForwardTool': True, 'PrSeedingXLayers': True, 'PrHybridSeeding': True, 'PrForwardTracking': True, 'PrFTHitManager': True, 'PrAddUTHitsTool': True, 'PrForwardFromPointTool': True}, 'VeloAssociators': {'InternalVeloCluster2MCHitLinker': True, 'VeloCluster2MCHitLinker': True, 'VeloDigit2MCParticleLinker': True, 'VeloCluster2MCParticleLinker': True, 'VeloDigit2MCHitLinker': True}, 'LumiEvent': {'HltLumiSummaryDecoder': True}, 'TrackMCTools': {'MeasureIPResolution': True, 'VeloGhostClassification': True, 'PGPrimaryVertex': True, 'IdealStateCreator': True, 'CleanPatTrackSelector': True, 'LongGhostClassification': True, 'PatDebugTrackTool': True, 'VeloRGhostClassification': True, 'LHCbIDsToMCParticles': True, 'DownstreamGhostClassification': True, 'LHCbIDsToMCHits': True, 'PatVeloDebugTool': True, 'DebugTrackingLosses': True, 'AllTrackGhostClassification': True, 'PatDebugTTTruthTool': True, 'UpstreamGhostClassification': True, 'TrackGhostClassificationBase': True, 'PatTStationDebugTool': True, 'TTrackGhostClassification': True}, 'GaudiProfiling': {'JemallocProfile': True, 'IntelProfilerAuditor': True, 'Google__HeapChecker': True, 'Google__CPUProfiler': True, 'CallgrindProfile': True, 'PerfMonAuditor': True, 'Google__HeapProfiler': True}, 'LoKiTracks': {'LoKi__Hybrid__TrackFunctorFactory': True, 'LoKi__Hybrid__TrackSelector': True}, 'RichENNRingFinder': {'RichENNRingFinderConf': True, 'Rich__Rec__ENNRingFinder__Rich1GasTopPanel': True, 'Rich__Rec__ENNRingFinder__Rich1GasBottomPanel': True, 'Rich__Rec__ENNRingFinder__Rich1AerogelTopPanel': True, 'Rich__Rec__ENNRingFinder__Rich2GasLeftPanel': True, 'Rich__Rec__ENNRingFinder__Rich1AerogelBottomPanel': True, 'Rich__Rec__ENNRingFinder__Rich2GasRightPanel': True}, 'PrMCTools': {'PrCheatedSciFiTracking': True, 'PrChecker': True, 'PrCounter': True, 'PrTrackAssociator': True, 'PrCheatedVP': True, 'PrDebugTrackingLosses': True, 'PrTTCounter': True, 'PrPlotFTHits': True, 'PrVeloUTChecker': True, 'PrPixelDebugTool': True, 'PrCheatedVelo': True, 'PrTStationDebugTool': True, 'PrChecker2': True, 'PrClustersResidual': True, 'PrCounter2': True, 'PrLHCbID2MCParticle': True}, 'TrackProjectors': {'TrajProjector_VP_': True, 'TrajProjector_ST_': True, 'TrajOTCosmicsProjector': True, 'TrajProjector_FT_': True, 'TrackOTLRSignTool': True, 'TrajOTProjector': True, 'TrajProjector_Velo_': True, 'TrajProjector_Muon_': True, 'TrackProjector': True, 'TrackProjectorSelector': True}, 'GaudiCommonSvc': {'PartitionSwitchAlg': True, 'CounterSvc': True, 'HistogramPersistencySvc': True, 'OutputStream': True, 'ChronoStatSvc': True, 'FileRecordDataSvc': True, 'EvtDataSvc': True, 'TagCollectionStream': True, 'AuditorSvc': True, 'InputCopyStream': True, 'PersistencySvc': True, 'PartitionSwitchTool': True, 'DataSvcFileEntriesTool': True, 'StatusCodeSvc': True, 'RecordStream': True, 'StoreExplorerAlg': True, 'RunRecordStream': True, 'DetPersistencySvc': True, 'SequentialOutputStream': True, 'RunRecordDataSvc': True, 'HistogramSvc': True, 'EvtCollectionStream': True, 'MultiStoreSvc': True, 'AlgContextSvc': True, 'StoreSnifferAlg': True, 'RecordDataSvc': True, 'EvtPersistencySvc': True}, 'VertexFit': {'MomentumCombiner': True, 'PVReFitter': True, 'OfflineVertexFitter': True, 'ParticleAdder': True, 'TrgVertexFitter': True, 'DirectionFitter': True, 'PropertimeFitter': True, 'PVTrackRemover': True, 'PVReFitterAlg': True, 'AdaptivePVReFitter': True}, 'DaVinciTransporter': {'DaVinci__ParticleTransporter': True, 'ParticleTransporter': True}, 'LoKiArrayFunctors': {'LoKi__Hybrid__PlotTool': True, 'LoKi__Hybrid__DictValue': True, 'LoKi__Hybrid__TupleTool': True, 'LoKi__Hybrid__Dict2Tuple': True, 'LoKi__Hybrid__FilterParticles': True, 'LoKi__PrintDecay': True, 'LoKi__Hybrid__FilterCriterion': True, 'LoKi__Hybrid__DictOfFunctors': True, 'LoKi__Hybrid__PrintTool': True, 'LoKi__SpecialValue': True, 'LoKi__Hybrid__ProtoParticleFilter': True, 'LoKi__Hybrid__ParticleArrayFilter': True, 'LoKi__Hybrid__Tool': True, 'LoKi__Hybrid__DictTransform_DummyTransform_': True}, 'HltDAQ': {'HltSelReportsDecoder': True, 'HltRoutingBitsWriter': True, 'HltVertexReportsWriter': True, 'HltLumiWriter': True, 'HltSelReportsWriter': True, 'HltRawDataMonitor': True, 'HltTrackReportsWriter': True, 'HltRoutingBitsFilter': True, 'HltDiffHltDecReports': True, 'HltTrackReportsDecoder': True, 'ReportConvertTool': True, 'HltVertexReportsDecoder': True, 'HltDecReportsDecoder': True, 'HltDecReportsWriter': True}, 'DAQMonitors': {'TriggerTypeCounter': True, 'RawBankSizeMonitor': True, 'RawBankReadoutStatusMonitor': True}, 'RichRecMCTools': {'Rich__Rec__MC__PixelCreatorFromRichDigitsWithBg': True, 'Rich__Rec__MC__TruePhotonEmissionPoint': True, 'Rich__Rec__MC__PhotonPredictorUsingMCRichOpticalPhotons': True, 'Rich__Rec__MC__MCTrueTrackSelector': True, 'Rich__Rec__MC__PhotonCreatorFromMCRichOpticalPhotons': True, 'Rich__Rec__MC__PixelCreatorFromCheatedRawBuffer': True, 'Rich__Rec__MC__PhotonCreatorWithMCHitPosition': True, 'Rich__Rec__MC__PhotonPredictorUsingMCTruth': True, 'Rich__Rec__MC__PhotonCreatorWithGaussianCKSmear': True, 'Rich__Rec__MC__PhotonCreatorCheatedTrackDir': True, 'Rich__Rec__MC__NULLMCTruthTool': True, 'Rich__Rec__MC__MCTruthTool': True, 'Rich__Rec__MC__PixelCreatorFromSignalRawBuffer': True, 'Rich__Rec__MC__TrSegMakerFromMCRichTracks': True, 'Rich__Rec__MC__PixelCreatorFromAllMCRichHits': True, 'Rich__Rec__MC__PhotonCreatorWithMCSignal': True, 'Rich__Rec__MC__TrackCreatorFromMCRichTracks': True}, 'L0MuonMonitor': {'L0MuonMonitorData': True, 'L0MuonErrorHistos': True, 'L0MuonMonitorCandidates': True, 'L0MuonChannelsHistos': True, 'L0MuonMonitorProcessing': True, 'L0MuonMuonComp': True, 'L0MuonMonitor': True, 'L0MuonInfoHistos': True, 'L0MuonPadsHistos': True, 'L0MuonMonitorInput': True, 'L0MuonMonitorError': True, 'L0MuonOptLinksHistos': True, 'L0MuonOnlineMonitor': True, 'L0MuonCandHistos': True, 'L0MuonAlgComparison': True}, 'FileStager': {'StagedStreamTool': True, 'Gaudi__StagedIODataManager': True, 'FileStagerSvc': True}, 'XMLSummaryKernel': {'XMLSummarySvc': True, 'XMLSummary': True}, 'LumiAlgs': {'LumiReadBackFSR': True, 'LumiAccounting': True, 'LumiEventTuple': True, 'LumiAlgsConf': True, 'GetIntegratedLuminosity': True, 'FilterFillingScheme': True, 'LumiIntegrator': True, 'DumpLumiEvents': True, 'GetLumiParameters': True, 'LumiCheckCondDB': True, 'TimeAccounting': True, 'FilterOnLumiSummary': True, 'LumiIntegrateFSR': True, 'LumiFileReader': True}, 'LoKiTrigger': {'Hlt__L0DiMuon2MultiTrack': True, 'Hlt__L0Muon2Track': True, 'Hlt__Track2Candidate': True, 'Hlt__L0Calo2Track': True, 'Hlt__L0Calo2Candidate': True, 'Hlt__Service': True, 'LoKi__HltUnit': True, 'Hlt__L0Muon2Candidate': True}, 'PatAlgorithms': {'FastForwardTool': True, 'PatLongLivedTracking': True, 'PatForward': True, 'FastFwdTool': True, 'PatMatch': True, 'PatMatchTool': True, 'PatMakeV0': True, 'PatSeeding': True, 'PatForwardTool': True, 'PatFwdTool': True, 'PatDownstream': True, 'PatSeedingTool': True, 'PatAddTTCoord': True, 'PatSeedTool': True, 'PatSeedFit': True}, 'HltTracking': {'FillHlt1Cache': True, 'B2Kpi0Lines': True, 'HltPersistRecoConf': True, 'EWLines': True, 'DisplVerticesLines': True, 'DPSLines': True, 'LowMultLines': True, 'Hlt__MatchVeloL0Calo': True, 'Bc2JpsiXLines': True, 'RadiativeLines': True, 'PhiLines': True, 'XcMuXForTauLines': True, 'DiMuonLines': True, 'TurboLines': True, 'HltAfterburnerConf': True, 'RareCharmLines': True, 'TrackEffDiMuonLines': True, 'TopoLines': True, 'CommissioningLines': True, 'RareStrangeLines': True, 'CharmHadLines': True, 'SMOGLines': True, 'B2HHLines': True, 'Hlt2Tracking': True, 'Hlt__Track2L0CaloMatch': True, 'RecoTestLines': True, 'HltRecoConf': True, 'CcDiHadronLines': True, 'TriMuonLines': True, 'PIDLines': True, 'HltTrackFit': True, 'SingleMuonLines': True, 'TrackEffLines': True}, 'DaVinciNeutralTools': {'CaloGECFilter': True, 'NeutralCCChangePIDTool': True, 'ConjugateNeutralPID': True, 'BremAdder': True}, 'PatVeloTT': {'PatVeloTTTool': True, 'PatVeloTTFit': True, 'PatTableForFunction': True, 'PatVeloTTHybridTool': True, 'PatVeloTTHybrid': True, 'PatVeloTT': True, 'PatTTMagnetTool': True}, 'MuonID': {'MuonChi2MatchTool': True, 'MuonIDAlg': True, 'CommonMuonTool': True, 'MuonIDPlusAlg': True, 'MuonIDAlgLite': True, 'Chi2MuIDTool': True, 'DistMuIDTool': True, 'MuonIDPlusTool': True, 'NShared': True, 'DLLMuonTool': True, 'CLTool': True, 'MuonKalmanMatchTool': True, 'MakeMuonMeasurements': True, 'GetArrival': True, 'IsMuonCandidateC': True, 'CommonMuonHitManager': True, 'MakeMuonTool': True}, 'L0App': {'L0App': True}, 'FlavourTagging': {'CombineTaggersProbability': True, 'CombineTaggersNN': True, 'TaggerKaonOppositeTool': True, 'TaggerMuonTool': True, 'CombineTaggersOSTDR': True, 'CombineTaggersPID': True, 'SVertexNNTool': True, 'BTaggingTool': True, 'SVertexOneSeedTool': True, 'TaggerNEWKaonOppositeTool': True, 'TaggerKaonSameTool': True, 'FlavourTaggingConf': True, 'TaggerNEWKaonSameTool': True, 'CombineTaggersTDR': True, 'SVertexTool': True, 'TaggerPionBDTSameTool': True, 'TaggerVertexChargeTool': True, 'NNetTool_MLP': True, 'TaggingUtils': True, 'TaggerJetSameTool': True, 'BTagging': True, 'TaggerElectronTool': True, 'DoubleTagging': True, 'TaggerCharmTool': True, 'TaggerProtonSameTool': True, 'TaggerPionSameTool': True}, 'IOExample': {'IOTest': True}, 'HighPtJets': {'TrackClusterFinder': True, 'bJetSeeds': True}, 'DDDB': {'DDDBConf': True}, 'PhysConf': {'PhysConf': True}, 'DaVinciOverlapsAndClones': {'FindCloneTool': True, 'RemoveClones': True, 'CheckVeloOverlap': True, 'PrintDuplicates': True, 'RemoveDuplicates': True, 'CheckOverlap': True}, 'GaudiMonitor': {'IssueLogger': True, 'HistorySvc': True, 'ExceptionSvc': True}, 'GaudiMP': {'IoComponentMgr': True, 'ReplayOutputStream': True, 'RecordOutputStream': True}, 'RichRecTools': {'Rich__Rec__StatusCreator': True, 'Rich__Rec__RayTraceCherenkovCone': True, 'Rich__Rec__SellmeirFunc': True, 'Rich__Rec__FunctionalRayleighScatter': True, 'Rich__Rec__PixelCreatorWithPanelFlip': True, 'Rich__Rec__PixelCreatorFromRawBuffer': True, 'Rich__Rec__NominalTabulatedSignalDetectionEff': True, 'Rich__Rec__TabulatedGasQuartzWindowAbs': True, 'Rich__Rec__BackgroundEstiClustering': True, 'Rich__Rec__MassHypothesisRingCreator': True, 'Rich__Rec__BackgroundEstiAvHPD': True, 'Rich__Rec__TabulatedRayleighScatter': True, 'Rich__Rec__PIDPlots': True, 'Rich__Rec__PixelCreatorWithForcedIneffic': True, 'Rich__Rec__GeomTool': True, 'Rich__Rec__TabulatedSignalDetectionEff': True}, 'RichGlobalPID': {'Rich__Rec__GlobalPID__Initialize': True, 'Rich__Rec__GlobalPID__LikelihoodTool': True, 'Rich__Rec__GlobalPID__MultiStepTool': True, 'Rich__Rec__GlobalPID__MC__Monitor': True, 'Rich__Rec__GlobalPID__Finalize': True, 'Rich__Rec__GlobalPID__TrackSel': True, 'Rich__Rec__GlobalPID__Likelihood': True, 'Rich__Rec__GlobalPID__DigitSel': True, 'Rich__Rec__GlobalPID__TrackSelUsingPIDs': True, 'Rich__Rec__GlobalPID__TrackCreator': True}, 'TrackExtrapolators': {'TrackParabolicExtrapolator': True, 'SimplifiedMaterialLocator': True, 'TrackLinearExtrapolator': True, 'TrackStateAdder': True, 'TrackSimpleExtraSelector': True, 'TrackKiselExtrapolator': True, 'TrackMasterExtrapolator': True, 'TrackStateProvider': True, 'TrackHerabExtrapolator': True, 'TrackRungeKuttaExtrapolator': True, 'TrackDistanceExtraSelector': True, 'DetailedMaterialLocator': True}, 'GaudiExamples': {'CpuHungryAlg': True, 'ServiceA': True, 'THistWrite': True, 'MyGaudiTool': True, 'GaudiTesting__PutDataObjectAlg': True, 'MyAudAlgorithm': True, 'TemplatedAlg_double_bool_': True, 'EqSolverPAlg': True, 'MapAlg': True, 'EvtCollectionWrite': True, 'TAlgDB': True, 'GaudiExamples__CounterSvcAlg': True, 'GaudiTesting__DestructorCheckAlg': True, 'TemplatedAlg_int_std__vector_std__string_std__allocator_std__string_s_s_': True, 'SCSAlg': True, 'GaudiExamples__GaudiPPS': True, 'MyAudTool': True, 'GaudiTesting__EvenEventsFilter': True, 'GaudiTesting__ListTools': True, 'EqSolverGenAlg': True, 'Gaudi__Examples__SelFilter': True, 'Gaudi__Examples__HistoProps': True, 'WriteAlg': True, 'bug_34121__MyAlgorithm': True, 'NTupleAlgorithm': True, 'Gaudi__Examples__SelCreate': True, 'PluginServiceTest__MyAlg': True, 'GaudiExamples__LoggingAuditor': True, 'Gaudi__Examples__CustomPropertiesAlg': True, 'GaudiExamples__TimingAlg': True, 'GaudiTesting__OddEventsFilter': True, 'Gaudi__Examples__ExtendedEvtCol': True, 'Gaudi__Examples__MultiInput__ReadAlg': True, 'TupleAlg': True, 'Gaudi__Examples__EvtColAlg': True, 'Gaudi__Examples__ArrayProperties': True, 'FuncMinimumPAlg': True, 'ColorMsgAlg': True, 'HistoAlgorithm': True, 'GaudiHistoAlgorithm': True, 'Gaudi__Examples__ExtendedProperties2': True, 'PropertyProxy': True, 'EqSolverIAlg': True, 'GaudiCommonTests': True, 'ParentAlg': True, 'TestToolAlg': True, 'StopperAlg': True, 'MyTool': True, 'ReadTES': True, 'Gaudi__Examples__BoostArrayProperties': True, 'ServiceB': True, 'MyGaudiAlgorithm': True, 'GaudiTesting__CustomIncidentAlg': True, 'GaudiTesting__FailingSvc': True, 'PluginServiceTest__CustomFactoryAlgorithm': True, 'Aida2Root': True, 'MyDataAlgorithm': True, 'PluginServiceTest__MyTemplatedAlg_intr_doublep_': True, 'AbortEventAlg': True, 'TupleAlg3': True, 'TupleAlg2': True, 'GaudiExamples__StatSvcAlg': True, 'Named1': True, 'ErrorLogTest': True, 'TestToolFailing': True, 'Gaudi__Examples__MultiInput__DumpAddress': True, 'History': True, 'PropertyAlg': True, 'CounterAlg': True, 'GaudiTesting__SignallingAlg': True, 'GaudiTesting__SleepyAlg': True, 'RandomNumberAlg': True, 'Gaudi__Examples__StringKeyEx': True, 'GaudiTesting__PluginService__Algorithm1': True, 'FuncMinimumIAlg': True, 'ExtendedProperties': True, 'GaudiExamplesCommonConf': True, 'MyAlgorithm': True, 'ReadAlg': True, 'FuncMinimumGenAlg': True, 'TAlgIS': True, 'Gaudi__Examples__MultiInput__WriteAlg': True, 'PartPropExa': True, 'HelloWorld': True, 'IncidentListenerTestAlg': True, 'THistRead': True, 'GaudiTesting__PrintMemoryUsage': True, 'GaudiEx__QotdAlg': True, 'TestTool': True, 'FileMgrTest': True, 'bug_34121__Tool': True, 'DataCreator': True, 'GaudiTesting__StopLoopAlg': True, 'SubAlg': True, 'HistoTimingAlg': True, 'LoopAlg': True, 'GaudiTesting__GetDataObjectAlg': True, 'AuditorTestAlg': True, 'TestToolAlgFailure': True}, 'HltCommon': {'HltSelectTracksForSwimming': True, 'Hlt__GEC': True, 'MooreInitSvc': True, 'HltCopySelection_LHCb__RecVertex_': True, 'HltReferenceRateSvc': True, 'HltIncidentGenerator': True, 'HltMoveVerticesForSwimming': True, 'HltCopySelection_LHCb__Particle_': True, 'ConfigTreeEditor': True, 'HltIncidentFilter': True, 'HltL0CaloCandidates': True, 'HltCopySelection_LHCb__Track_': True, 'Hlt__TrackPipe': True, 'HltL0MuonCandidates': True, 'Hlt__TrackFilter': True}, 'GaudiAud': {'MemoryAuditor': True, 'AlgErrorAuditor': True, 'ChronoAuditor': True, 'MemStatAuditor': True, 'NameAuditor': True, 'AlgContextAuditor': True}, 'RichRecAlgorithms': {'Rich__Rec__EventSelectionAlg': True, 'Rich__Rec__TracklessRingFilterAlg': True, 'Rich__Rec__Initialise': True, 'Rich__Rec__TracklessRingSegmentAssociationAlg': True, 'Rich__Rec__SummaryAlg': True, 'Rich__Rec__TrackPIDAlg': True, 'Rich__Rec__PixelBackgroundAlg': True, 'TrackUseCaloMomentumAlg': True, 'Rich__Rec__TracklessRingIsolationAlg': True}, 'BBDecTreeTool': {'BBDTSimpleTool': True, 'BBDecTreeTool': True}, 'HltRawData': {'HltVertexReportsMaker': True, 'Hlt2SelReportsMaker': True, 'Hlt1SelReportsMaker': True}, 'RichParticleSearch': {'RichParticleSearchConf': True, 'Rich__Rec__MC__RichParticleSearchMain': True, 'MuonInformation': True}, 'TrackMonitors': {'STYAlignMagOff': True, 'OTHitEfficiencyMonitor': True, 'TrackMuonMatchMonitor': True, 'TrackDiMuonMonitor': True, 'TrackFitMatchMonitor': True, 'PitchResTool': True, 'TTTrackMonitor': True, 'TrackCaloMatchMonitor': True, 'TrackVertexMonitor': True, 'ITTrackMonitor': True, 'TrackMonitor': True, 'PVResMonitor': True, 'TrackPV2HalfAlignMonitor': True, 'UTTrackMonitor': True, 'TrackParticleMonitor': True, 'VPTrackMonitor': True, 'HitEffPlotter': True, 'AlignmentOnlineMonitor': True, 'TrackVeloOverlapMonitor': True, 'TrackTimingMonitor': True, 'STEfficiency': True, 'TrackMonitorNT': True, 'STTrackTuple': True, 'OTTrackMonitor': True, 'TrackAlignMonitor': True, 'TrackExpectedHitsXYZTool': True, 'STADCTrackMonitor': True, 'TrackV0Monitor': True, 'TrackTune': True, 'OTCoordinates': True, 'TrackITOverlapMonitor': True, 'OTYAlignMagOff': True, 'STCoordinates': True, 'VertexCompare': True, 'BeamGasVertexMonitor': True, 'PVSplit': True}, 'Gaudi': {'GaudiPersistency': True}, 'HltRecChecker': {'HltLHCbIDMCParticleRelation': True, 'HltRecCheckTracks': True, 'HltRecCheckVertices': True, 'HltRecChecker': True, 'HltRecCheckGhosts': True}, 'RichRecPhotonTools': {'Rich__Rec__PhotonRecoUsingRaytracing': True, 'Rich__Rec__CKthetaBandsPhotonPredictor': True, 'Rich__Rec__PhotonRecoUsingCKEstiFromRadius': True, 'Rich__Rec__PhotonPredictorUsingRings': True, 'Rich__Rec__SimplePhotonPredictor': True, 'Rich__Rec__PhotonCreator': True, 'Rich__Rec__SepVCKthetaPhotonPredictor': True, 'Rich__Rec__PhotonSignalGaussProb': True, 'Rich__Rec__PhotonSignalJeffreysErf': True, 'Rich__Rec__PhotonRecoUsingQuarticSoln': True}, 'PrFitParams': {'PrFitSeedParams': True, 'PrFitTool': True, 'PrFitKsParams': True, 'PrFitFwdParams': True}, 'CaloDet': {'DeCaloCalib': True, 'DeCaloTiming': True, 'CaloDetTestAlgorithm': True}, 'PatVelo': {'Tf__PatVeloSpaceTracking': True, 'NewVeloRTracking': True, 'Tf__PatVeloRTracking': True, 'Tf__PatVeloResetClusterUsed': True, 'Tf__PatVeloTraversingTracking': True, 'Tf__PatVeloTrackTool': True, 'Tf__PatVeloGeneralTracking': True, 'VeloUpdateHighThreshold': True, 'Tf__PatVeloGeneric': True, 'Tf__PatVeloRHitManager': True, 'Tf__PatVeloSpaceTool': True, 'Tf__PatVeloFitLHCbIDs': True, 'NewVeloSpaceTool': True, 'PatVeloOpenTracking': True, 'Tf__PatVeloPhiHitManager': True, 'Tf__PatVeloAlignTrackFilter': True, 'Tf__AddPileupToTrack': True, 'Tf__PatVeloLiteClusterPromoter': True}, 'VeloSimulation': {'VeloSimMoni': True, 'VeloSim': True, 'VeloRadDamageTool': True}, 'STCheckers': {'ITDigitOccupancy': True, 'STDumpEvent': True, 'STClusterResolution': True, 'STClusterChecker': True, 'TTClusterOccupancy': True, 'STDumpGeom': True, 'TTDigitOccupancy': True, 'STEffChecker': True, 'STDigitMonitor': True, 'MCSTDepositMonitor': True, 'MCSTDigitMonitor': True, 'ITClusterOccupancy': True, 'STClusterClassification': True, 'STClusterTuple': True, 'STPerformanceMonitor': True, 'ST__STActiveFraction': True, 'LandauTest': True}, 'ParticleMaker': {'NoPIDsParticleMaker': True, 'ResolvedPi0Maker': True, 'CombinedParticleMaker': True, 'BestPIDParticleMaker': True, 'ParticleStuffer': True, 'V0FromDstMaker': True, 'PhotonMakerAlg': True, 'MergedPi0Maker': True, 'Particle2State': True, 'DiElectronMaker': True, 'PhotonMaker': True}, 'RichTools': {'Rich__TabulatedRefractiveIndex': True, 'Rich__HPDHotPixelFinder': True, 'Rich__DetectorTool': True, 'Rich__ParticleProperties': True, 'Rich__DAQ__HPDPixelClusteringTool': True, 'Rich__HPDOccupancyTool': True, 'Rich__DetParameters': True, 'Rich__RandomPixelBackgroundTool': True, 'Rich__SnellsLawRefraction': True, 'Rich__DAQ__HighOccHPDSuppressionTool': True, 'Rich__RayTracing': True, 'Rich__MirrorSegFinder': True, 'Rich__MirrorSegFinderLookUpTable': True, 'Rich__SmartIDTool': True, 'Rich__DAQ__HPDPixelClusterSuppressionTool': True, 'Rich__RadiatorTool': True, 'Rich__RayTracingEigen': True}, 'LoKiFitters': {'LoKi__SmartParticleCombiner': True, 'LoKi__VertexFitter': True, 'LoKi__FakeReFitter': True, 'LoKi__MassFitter': True, 'LoKi__LifetimeFitter': True, 'LoKi__DecayTreeFit': True, 'LoKi__DistanceCalculator': True, 'LoKi__PVReFitter': True, 'LoKi__DirectionFitter': True, 'LoKi__ParticleClassificator': True, 'LoKi__TrgDistanceCalculator': True, 'LoKi__FastVertexFitter': True}, 'PartProp': {'LHCb__Example__PartPropAlg': True, 'LHCb__ParticlePropertySvc': True}, 'CaloMoniDst': {'L0CaloScale': True, 'CaloPi0Monitor': True, 'CaloPhotonChecker': True, 'CaloDigitMonitor': True, 'CaloPIDsChecker': True, 'CaloClusterChecker': True, 'CaloPi0Checker': True, 'CaloEMuPIDMon': True, 'CaloClusterMonitor': True, 'CaloAlignmentNtp': True, 'SpdMonitor': True, 'CaloElectronNtp': True, 'CaloPi0Ntp': True, 'CaloHypoNtp': True, 'CaloProtoElectronMonitor': True, 'CaloHypoMonitor': True, 'CaloClusterMatchMonitor': True, 'CaloMoniDstConf': True, 'CaloEFlowAlg': True, 'CaloHypoMatchMonitor': True}, 'STDAQ': {'RawBankToSTLiteClusterAlg': True, 'STRawBankMonitor': True, 'STPedestalDecoding': True, 'STDigitsToSTTELL1Data': True, 'STErrorDecoding': True, 'STFullDecoding': True, 'RawBankToSTClusterAlg': True, 'UTReadoutTool': True, 'STClustersToRawBankAlg': True, 'STLayerSelector': True, 'TTReadoutTool': True, 'ITReadoutTool': True}, 'RichHPDImageAnalysis': {'Rich__HPDImage__Summary': True}, 'DaVinciTypes': {'TestRecVertexHolder': True}, 'GaudiMTTools': {'GaudiParallelizer': True}, 'GaudiAlg': {'HistoTool': True, 'TimingAuditor': True, 'EventCounter': True, 'SequencerTimerTool': True, 'Prescaler': True, 'ErrorTool': True, 'Sequencer': True, 'TupleTool': True, 'GaudiSequencer': True, 'EventNodeKiller': True}, 'RichRecQC': {'Rich__Rec__MC__PixelQC': True, 'Rich__Rec__PixelClusterMoni': True, 'Rich__Rec__MC__RecoQC': True, 'Rich__Rec__MC__SummaryQC': True, 'Rich__DAQ__RawDataSize': True, 'Rich__DAQ__DataDBCheck': True, 'Rich__Rec__HPDFlashMoni': True, 'Rich__Rec__MC__TrackSelEff': True, 'Rich__Rec__RingPeakSearch': True, 'RichRecQCConf': True, 'Rich__DAQ__DataDecodingErrorMoni': True, 'Rich__Rec__MC__PIDQC': True, 'Rich__Rec__HPDHitsMoni': True, 'Rich__DAQ__ODINMoni': True, 'Rich__Rec__MC__TracklessRingMoni': True, 'Rich__Rec__MC__SummaryCKResMoni': True}, 'PatPV': {'PatPVOffline': True, 'PVOfflineRecalculate': True, 'PVSeedTool': True, 'LSAdaptPVFitter': True, 'PVOfflineTool': True, 'PVSeed3DTool': True, 'PatPV3D': True, 'AdaptivePV3DFitter': True, 'PVSeed3DOfflineTool': True, 'SimplePVFitter': True, 'LSAdaptPV3DFitter': True, 'SimplePVSeedTool': True}, 'PartPropSvc': {'PartPropSvc': True}, 'FSRAlgs': {'DumpFSR': True, 'FSRNavigator': True, 'LHCbOutputStream': True, 'EventAccounting': True, 'PropagateFSRs': True, 'LHCbFSRStream': True, 'LumiMergeFSR': True, 'LHCbRecordStream': True, 'IOFSRSvc': True}, 'GaudiPartProp': {'Gaudi__ParticlePropertySvc': True}, 'RichRecMonitors': {'Rich__Rec__MC__TrackGeomMoni': True, 'Rich__Rec__MC__CherenkovResMoni': True, 'Rich__Rec__TrackRayTraceTest': True, 'Rich__Rec__PhotonRecoTestAlg': True, 'Rich__Rec__MC__PixelRecoEffMonitor': True, 'Rich__Rec__MC__PhotonTrajectoryMonitor': True, 'Rich__Rec__MC__PhotonGeomMonitor': True, 'Rich__Rec__MC__PhotonRecoEffMonitor': True, 'Rich__Rec__TimeMonitor': True, 'Rich__Rec__MC__PIDTupleAlg': True, 'Rich__Rec__DataObjVerifier': True, 'Rich__Rec__MC__StereoPhotonFitTest': True, 'Rich__Rec__MC__PhotonSignalMonitor': True, 'Rich__Rec__MC__GhostTrackMoni': True, 'Rich__Rec__MC__PhotonRecoRayTraceTest': True, 'Rich__Rec__MC__PixelPositionMonitor': True, 'Rich__Rec__MC__TrackResolutionMoni': True, 'Rich__Rec__MC__CherenkovAngleMonitor': True}, 'TrackTools': {'MeasurementProviderT_MeasurementProviderTypes__TT_': True, 'TrajectoryProvider': True, 'MeasurementProviderT_MeasurementProviderTypes__VeloLiteR_': True, 'OTMeasurementProvider': True, 'VeloMuonBuilder': True, 'CountVeloTracks': True, 'PtTransporter': True, 'UpgradeGhostId': True, 'TrackUsedLHCbID': True, 'TTHitExpectation': True, 'MeasurementProviderT_MeasurementProviderTypes__TTLite_': True, 'TrackNNGhostId': True, 'HltV0Upgrade': True, 'VeloTrackSelector': True, 'VPMeasurementProvider': True, 'TrackChi2Calculator': True, 'VPTrackSelector': True, 'TrackLikelihood': True, 'TrackVelodEdxCharge': True, 'UTHitExpectation': True, 'FTHitExpectation': True, 'VeloExpectation': True, 'FastMomentumEstimate': True, 'MeasurementProviderT_MeasurementProviderTypes__UTLite_': True, 'MuonTTTrack': True, 'StateElectronEnergyCorrectionTool': True, 'TrackCaloMatch': True, 'ITTrackSelector': True, 'MeasurementProviderT_MeasurementProviderTypes__VeloPhi_': True, 'FTMeasurementProvider': True, 'StateSimpleBetheBlochEnergyCorrectionTool': True, 'TrackStateInitAlg': True, 'OTHitExpectation': True, 'MuonMeasurementProvider': True, 'ITHitExpectation': True, 'VPExpectation': True, 'StateThickMSCorrectionTool': True, 'MeasurementProviderT_MeasurementProviderTypes__VeloR_': True, 'TrackHitCollector': True, 'DelegatingTrackSelector': True, 'MeasurementProviderT_MeasurementProviderTypes__UT_': True, 'StandaloneMuonRec': True, 'VeloClusterPosition': True, 'SelectTrackInVertex': True, 'MeasurementProvider': True, 'STClusterCollector': True, 'STSpilloverTool': True, 'TrackVertexer': True, 'TrackStateInitTool': True, 'TrackInterpolator': True, 'TrackPtKick': True, 'LongTrackReferenceCreator': True, 'TrackCloneFinder': True, 'TrackSelector': True, 'TrackInitFit': True, 'Run2GhostId': True, 'ITTrackConfirmation': True, 'StateThinMSCorrectionTool': True, 'StateDetailedBetheBlochEnergyCorrectionTool': True, 'MeasurementProviderT_MeasurementProviderTypes__IT_': True, 'VeloCaloBuilder': True, 'MeasurementProviderT_MeasurementProviderTypes__ITLite_': True, 'ITIsolatedTrackSelector': True, 'MeasurementProviderT_MeasurementProviderTypes__VeloLitePhi_': True}, 'ExtraInfoTools': {'ConeVariables': True, 'ConeVariablesForEW': True, 'AddExtraInfo': True, 'VertexIsolation': True}, 'LoKiGen': {'LoKi__DumpHepMC': True, 'LoKi__Hybrid__GenTool': True, 'LoKi__GenDecay': True, 'LoKi__GenFilter': True}, 'DAQSys': {'DecodeRawEvent': True}, 'PatChecker': {'PatCheckerNTuple': True, 'PatLHCbID2MCParticle': True, 'CheatedPrimaryVertices': True, 'PrimaryVertexChecker': True, 'PatKShortChecker': True, 'PatTrack2MCParticle': True, 'PatCounter': True, 'PatTTCounter': True, 'PatChecker': True}, 'LoKiPhys': {'LoKi__Decay': True}, 'CondDBEntityResolver': {'CondDBEntityResolver': True}, 'RichDAQ': {'Rich__DAQ__RawBufferToRichDigitsAlg': True, 'Rich__DAQ__RawBufferToSmartIDsTool': True, 'Rich__DAQ__RawDataFormatTool': True}, 'CaloAssociators': {'CaloReCreateMCLinks': True, 'CaloHypoMCTruth': True, 'CaloDigitMCTruth': True, 'CaloClusterMCTruth': True, 'CaloDigit2MCLinks2Table': True, 'CaloAssociatorsConf': True}, 'PrVeloUT': {'PrVeloUT': True, 'PrVeloUTTool': True, 'PrTableForFunction': True, 'PrUTMagnetTool': True}, 'MuonTrackRec': {'MuonPadRec': True, 'MuonHitDecode': True, 'MuonFakeClustering': True, 'MuonPadFromCoord': True, 'MuonTrackMomRec': True, 'MuonNNetRec': True, 'MuonCombRec': True, 'MuonDetPosTool': True, 'MuonClusterRec': True}, 'DAQUtils': {'OdinBCIDFilter': True, 'OdinTypesFilter': True, 'bankKiller': True, 'DAQEventTests__ByteStreamTests': True, 'RawEventSimpleCombiner': True, 'ODINTimeFilter': True, 'RawBankReadoutStatusFilter': True, 'FileIdBankWriter': True, 'RawBankReadoutStatusConverter': True, 'DAQEventTests__DummyRawEventCreator': True, 'RawEventSelectiveCopy': True, 'RawEventDump': True, 'RawEventMapCombiner': True}, 'RichRecTemplateRings': {'Rich__Rec__TemplateRings__RichRingRecMass': True, 'Rich__Rec__TemplateRings__RichRingRecAlgBase': True, 'Rich__Rec__TemplateRings__RichSingleEvMonHistoTool': True, 'Rich__Rec__TemplateRings__RichRingMasterAlg': True, 'Rich__Rec__TemplateRings__RichFFPlan': True, 'RichTemplateRingFinderConf': True, 'Rich__Rec__TemplateRings__RichRingRecTupleAlgBase': True, 'Rich__Rec__TemplateRings__RichTargetDataConfigAlg': True, 'Rich__Rec__TemplateRings__RichLocalTargetConfig': True, 'Rich__Rec__TemplateRings__RichRingRecTransformTool': True, 'Rich__Rec__TemplateRings__RichRingMCCompareNtup': True, 'Rich__Rec__TemplateRings__RichTemplateDataTool': True, 'Rich__Rec__TemplateRings__RichRingRecResult': True, 'Rich__Rec__TemplateRings__RichMCTruthAcquireAlg': True, 'Rich__Rec__TemplateRings__RichRingRecConstants': True, 'Rich__Rec__TemplateRings__RichLocalTemplateConfig': True, 'Rich__Rec__TemplateRings__RichMCTruthData': True, 'Rich__Rec__TemplateRings__RichRingRecToolBase': True, 'Rich__Rec__TemplateRings__RichRingReconParam': True, 'Rich__Rec__TemplateRings__RichTargetDataTool': True}, 'GaudiCoreSvc': {'AppMgrRunable': True, 'EventLoopMgr': True, 'EventSelector': True, 'ToolSvc': True, 'MinimalEventLoopMgr': True, 'MessageSvc': True, 'DataStreamTool': True, 'IncidentSvc': True, 'EventCollectionSelector': True, 'JobOptionsSvc': True, 'DataOnDemandSvc': True, 'DODBasicMapper': True, 'ApplicationMgr': True}, 'VPCheckers': {'VPClusterMonitor': True}, 'RichAlgorithms': {'Rich__DAQ__LoadRawEvent': True, 'Rich__AddBackground': True, 'Rich__HPDAnalysisAlg': True, 'Rich__VaryGasPressureTemperatureAlg': True}, 'EventPacker': {'UnpackPrimaryVertices': True, 'DataPacking__Check_LHCb__MCBlsHitPacker_': True, 'DataPacking__Unpack_LHCb__MCSLHitPacker_': True, 'PackPrimaryVertices': True, 'DataPacking__Pack_LHCb__CaloClusterPacker_': True, 'DataPacking__Check_LHCb__MCEcalHitPacker_': True, 'DumpTracks': True, 'DataPacking__Unpack_LHCb__MCHcalHitPacker_': True, 'PackMCVertex': True, 'CompareProtoParticle': True, 'DataPacking__Pack_LHCb__MCEcalHitPacker_': True, 'DataPacking__Unpack_LHCb__MCVeloHitPacker_': True, 'DataPacking__Check_LHCb__MCVeloHitPacker_': True, 'DataPacking__Pack_LHCb__MCSLHitPacker_': True, 'DataPacking__Unpack_LHCb__ParticlePacker_': True, 'DataPacking__Check_LHCb__MCFTHitPacker_': True, 'DataPacking__Check_LHCb__MCTTHitPacker_': True, 'ParticlesAndVerticesMapper': True, 'DataPacking__Check_LHCb__MuonPIDPacker_': True, 'UnpackMCVertex': True, 'UnpackCaloHypo': True, 'DataPacking__Unpack_LHCb__MCITHitPacker_': True, 'DataPacking__Check_LHCb__MCPrsHitPacker_': True, 'UnpackDecReport': True, 'UnpackRecVertex': True, 'DataPacking__Check_LHCb__VertexPacker_': True, 'DataPacking__Unpack_LHCb__MCPuVetoHitPacker_': True, 'DataPacking__Check_LHCb__MCMuonHitPacker_': True, 'CompareRecVertex': True, 'DataPacking__Pack_LHCb__MCHcalHitPacker_': True, 'DataPacking__Pack_LHCb__MuonPIDPacker_': True, 'PackCluster': True, 'DataPacking__Unpack_LHCb__MCBlsHitPacker_': True, 'CompareMCVertex': True, 'DataPacking__Unpack_LHCb__CaloClusterPacker_': True, 'DataPacking__Unpack_LHCb__MCRichDigitSummaryPacker_': True, 'PackMCParticle': True, 'DataPacking__Check_LHCb__MCHCHitPacker_': True, 'DataPacking__Pack_LHCb__MCHCHitPacker_': True, 'UnpackTrack': True, 'UnpackCluster': True, 'DataPacking__Pack_LHCb__MCUTHitPacker_': True, 'PackDecReport': True, 'PackRecVertex': True, 'DataPacking__Check_LHCb__FlavourTagPacker_': True, 'DataPacking__Pack_LHCb__FlavourTagPacker_': True, 'DataPacking__Check_LHCb__MCPuVetoHitPacker_': True, 'PackProtoParticle': True, 'WritePackedDst': True, 'DataPacking__Check_LHCb__RelatedInfoRelationsPacker_': True, 'UnpackParticlesAndVertices': True, 'DataPacking__Check_LHCb__WeightsVectorPacker_': True, 'DataPacking__Unpack_LHCb__WeightsVectorPacker_': True, 'DataPacking__Check_LHCb__MCRichHitPacker_': True, 'DataPacking__Check_LHCb__MCRichOpticalPhotonPacker_': True, 'DataPacking__Unpack_LHCb__MCRichSegmentPacker_': True, 'DataPacking__Unpack_LHCb__MCEcalHitPacker_': True, 'DataPacking__Unpack_LHCb__MCFTHitPacker_': True, 'UnpackProtoParticle': True, 'DataPacking__Unpack_LHCb__VertexPacker_': True, 'DataPacking__Check_LHCb__MCBcmHitPacker_': True, 'DataPacking__Check_LHCb__MCUTHitPacker_': True, 'DataPacking__Pack_LHCb__MCPuVetoHitPacker_': True, 'DataPacking__Unpack_LHCb__MCPrsHitPacker_': True, 'DataPacking__Check_LHCb__MCSpdHitPacker_': True, 'DataPacking__Check_LHCb__MCRichDigitSummaryPacker_': True, 'DataPacking__Pack_LHCb__MCFTHitPacker_': True, 'DataPacking__Pack_LHCb__MCTTHitPacker_': True, 'DataPacking__Unpack_LHCb__RichPIDPacker_': True, 'DataPacking__Unpack_LHCb__MCRichHitPacker_': True, 'DataPacking__Unpack_LHCb__MCRichOpticalPhotonPacker_': True, 'DataPacking__Unpack_LHCb__MCVPHitPacker_': True, 'ChargedProtoParticleMapper': True, 'DataPacking__Unpack_LHCb__MCHCHitPacker_': True, 'DataPacking__Pack_LHCb__VertexPacker_': True, 'UnpackTwoProngVertex': True, 'DataPacking__Pack_LHCb__MCBcmHitPacker_': True, 'DataPacking__Check_LHCb__CaloClusterPacker_': True, 'DataPacking__Check_LHCb__MCHcalHitPacker_': True, 'DataPacking__Pack_LHCb__MCITHitPacker_': True, 'RecToPVConverter': True, 'UnpackMCParticle': True, 'DataPacking__Pack_LHCb__RelatedInfoRelationsPacker_': True, 'DataPacking__Pack_LHCb__MCPrsHitPacker_': True, 'CompareTwoProngVertex': True, 'ConversionDODMapper': True, 'DataPacking__Unpack_LHCb__MCUTHitPacker_': True, 'DataPacking__Check_LHCb__MCSLHitPacker_': True, 'DataPacking__Unpack_LHCb__MCRichTrackPacker_': True, 'CompareCaloHypo': True, 'DataPacking__Pack_LHCb__MCRichSegmentPacker_': True, 'PackTrack': True, 'DataPacking__Pack_LHCb__ParticlePacker_': True, 'DataPacking__Pack_LHCb__RichPIDPacker_': True, 'CompareTrack': True, 'DataPacking__Check_LHCb__MCRichTrackPacker_': True, 'DataPacking__Pack_LHCb__MCSpdHitPacker_': True, 'DataPacking__Check_LHCb__MCRichSegmentPacker_': True, 'DataPacking__Check_LHCb__MCOTHitPacker_': True, 'DataPacking__Unpack_LHCb__MCBcmHitPacker_': True, 'DataPacking__Pack_LHCb__WeightsVectorPacker_': True, 'DataPacking__Unpack_LHCb__RelatedInfoRelationsPacker_': True, 'DataPacking__Pack_LHCb__MCRichOpticalPhotonPacker_': True, 'ReadPackedDst': True, 'DataPacking__Pack_LHCb__MCOTHitPacker_': True, 'PackParticlesAndVertices': True, 'DataPacking__Check_LHCb__MCVPHitPacker_': True, 'DataPacking__Pack_LHCb__MCVPHitPacker_': True, 'PackTwoProngVertex': True, 'PVToRecConverter': True, 'DataPacking__Pack_LHCb__MCRichHitPacker_': True, 'DataPacking__Check_LHCb__RichPIDPacker_': True, 'DataPacking__Pack_LHCb__MCMuonHitPacker_': True, 'DataPacking__Unpack_LHCb__MCOTHitPacker_': True, 'DataPacking__Unpack_LHCb__MCTTHitPacker_': True, 'DataPacking__Unpack_LHCb__FlavourTagPacker_': True, 'TrackClustersMapper': True, 'DataPacking__Pack_LHCb__MCBlsHitPacker_': True, 'DataPacking__Pack_LHCb__MCVeloHitPacker_': True, 'DataPacking__Unpack_LHCb__MCMuonHitPacker_': True, 'DataPacking__Pack_LHCb__MCRichTrackPacker_': True, 'DataPacking__Unpack_LHCb__MCSpdHitPacker_': True, 'CompareMCParticle': True, 'DataPacking__Pack_LHCb__MCRichDigitSummaryPacker_': True, 'DataPacking__Unpack_LHCb__MuonPIDPacker_': True, 'DataPacking__Check_LHCb__ParticlePacker_': True, 'PackCaloHypo': True, 'DataPacking__Check_LHCb__MCITHitPacker_': True}, 'L0Muon': {'L0MuonOLErrorTool': True, 'L0MuonOutputs': True, 'L0MuonCandidatesFromRaw': True, 'L0MuonInputTool': True, 'L0MuonAlg': True, 'L0MuonFromRawTrans': True, 'L0MuonOverflowTool': True, 'L0MuonModifyInputTool': True}, 'RecreatePIDTools': {'ChargedProtoParticleAddRichInfo': True, 'ChargedProtoCombineDLLsAlg': True, 'MuonPIDsFromProtoParticlesAlg': True, 'ChargedProtoParticleAddMuonInfo': True, 'RichPIDsFromProtoParticlesAlg': True}, 'JetTagging': {'LoKi__SVTag': True, 'LoKi__SeedFinderNTrks': True, 'LoKi__MuonTag': True, 'FilterJet': True, 'LoKi__BDTTag': True, 'LoKi__TopoTagDir': True, 'LoKi__TopoTag': True, 'LoKi__ElectronTag': True, 'LoKi__IPTag': True, 'LoKi__NNBTag': True}, 'GaudiConf': {'DstConf': True, 'SimConf': True, 'CaloDstUnPackConf': True, 'CaloDstPackConf': True, 'DigiConf': True}, 'MuonTrackAlign': {'AlignMuonRec': True, 'MuonRead': True}, 'VeloRecMonitors': {'VeloRecMonitors': True, 'Velo__VeloTrackMonitorNT': True, 'Velo__VeloClusterMonitor': True, 'PVResolution': True, 'Velo__VeloIPResolutionMonitor': True, 'Velo__VeloIPResolutionMonitorNT': True, 'Velo__VeloExpertClusterMonitor': True, 'Velo__VeloOccupancyMonitor': True, 'Velo__VeloSamplingMonitor': True, 'Velo__VeloTrackMonitor': True}, 'HCDAQ': {'HCRawBankDecoder': True}, 'HCMonitors': {'HCDigitTuple': True, 'HCPedestalCorrection': True, 'HCDigitMonitor': True, 'HCDelayScan': True, 'HCDigitCorrector': True}, 'RelatedInfoTools': {'RelInfoConeIsolation': True, 'RelInfoConeVariablesForEW': True, 'RelInfoConeVariables': True, 'AddRelatedInfo': True, 'RelInfoVertexIsolationDetached': True, 'RelInfoPFVariables': True, 'RelInfoVertexIsolation': True, 'RelInfoCylVariables': True}, 'LoKiCore': {'LoKi__Reporter': True, 'LoKi__PIDTest': True, 'LoKi__Hybrid__CoreFactory': True, 'LoKi__CounterAlg': True, 'LoKiSvc': True, 'LoKi__DecayNode': True, 'LoKi__VoidFilter': True}, 'HltServices': {'HltConfigSvc': True, 'ConfigCDBAccessSvc': True, 'HltANNSvc': True, 'ConfigStackAccessSvc': True, 'ConfigTarFileAccessSvc': True, 'HltGenConfig': True, 'TCKANNSvc': True, 'ConfigDBAccessSvc': True, 'ConfigZipFileAccessSvc': True, 'ConfigFileAccessSvc': True, 'PropertyConfigSvc': True}, 'HltGlobalMonitor': {'Hlt1TrackMonitor': True, 'HltBeetleSyncMonitor': True, 'HltL0GlobalMonitor': True, 'HltMassMonitor': True, 'HltGlobalMonitor': True}, 'Hlt1Muons': {'Hlt__HltVeloIsMuon': True, 'MatchVeloTTMuon': True, 'Hlt1MuonHitManager': True, 'MatchVeloMuon': True, 'PatMatchL0MuonTool': True, 'IsMuonTool': True}, 'VPAlgorithms': {'VPClustering': True}, 'MuonAssociators': {'MuonTileDigitInfo': True, 'MuonCoord2MCParticleLink': True, 'MuonDigit2MCParticleAlg': True, 'MuonPad2MCTool': True}, 'VeloTools': {'VeloSelectClustersByChannel': True, 'Velo__LivDBTELL1SensorMap': True, 'VeloSelectChannelIDOnTrack': True, 'Velo__PvssTell1Names': True, 'Velo__TimeStamps': True}, 'TsaAlgorithms': {'Tf__Tsa__SeedTrackCnv': True, 'Tf__Tsa__Seed': True, 'ITGenericTracking': True, 'TTGenericTracking': True, 'Tf__Tsa__StubExtender': True, 'Tf__Tsa__ITExpectedHits': True, 'Tf__Tsa__StubLinker': True, 'Tf__Tsa__OTExpectedHits': True, 'STCosmicFilter': True, 'Tf__Tsa__OTStereoSearch': True, 'Tf__Tsa__StubFind': True, 'Tf__Tsa__XProjSelector': True, 'Tf__Tsa__OTXSearch': True, 'Tf__Tsa__ITStereoSearch': True, 'Tf__Tsa__Likelihood': True, 'Tf__Tsa__SeedAddHits': True, 'Tf__TTStationHitManager_Tf__Tsa__SeedingHit_': True, 'Tf__Tsa__SeedSelector': True, 'Tf__Tsa__SeedTrackCnvTool': True, 'Tf__Tsa__DataDebugAlg': True, 'Tf__Tsa__ITXSearch': True}, 'LHCbAlgs': {'AlgorithmCorrelations': True, 'LHCbAlgsTest__CreateFakeRecHeader': True, 'RateFromTCK': True, 'PostScaler': True, 'AddressKillerAlg': True, 'OdinTimeDecoder': True, 'MemoryTool': True, 'LHCbSequencerTimerTool': True, 'TimingTool': True, 'DeterministicPrescaler': True, 'FilterByBankType': True, 'Gaudi__DataCopy': True, 'DQAcceptTool': True, 'EvtCounter': True, 'createODIN': True, 'DQFilterSvc': True, 'OfflineRateLimiter': True, 'TimeDecoderList': True, 'Gaudi__IncidentVeto': True, 'ProcessPhase': True, 'LHCbAlgsTests__CopyFileAlg': True, 'FPEAuditor': True, 'DataObjectVersionFilter': True, 'FilterByRunEvent': True, 'BasicDQFilter': True, 'PrintHeader': True, 'DQFilter': True, 'TESCheck': True, 'EmptyEventNodeCleaner': True, 'ApplicationVersionFilter': True, 'LHCbAlgsTests__ODINBadTimeTest': True, 'RecEventTime': True, 'Gaudi__DataLink': True, 'ODINDecodeTool': True, 'TCKPrescaleEmulator': True, 'OfflineDeterministicPrescaler': True, 'LHCbAlgsTests__TestEventCounter': True, 'Gaudi__DataRemove': True, 'RateFromCondDB': True, 'LHCbAlgsTest__PrintEventTime': True, 'TESFingerPrint': True, 'LHCbTimingAuditor': True, 'Gaudi__IncidentFilter': True, 'LHCbAlgsTest__ServiceStarter': True, 'LHCbAlgsTests__TestTimeDecoderOdin': True, 'EventCountHisto': True, 'LbAppInit': True, 'LHCbAlgsTests__RunChangeTest': True, 'LHCbApp': True, 'TrajPoca': True, 'EventCountAlg': True, 'ODINEncodeTool': True, 'FSRCleaner': True}, 'MuonDAQ': {'MuonPadTest': True, 'MuonTAERec': True, 'MuonTell1Config': True, 'MuonRec': True, 'MuonDigitToRawBuffer': True, 'MuonDAQTest': True, 'MuonRawBuffer': True}, 'TrackUtils': {'TrackCompetition': True, 'TrackHitAdder': True, 'HltInsertTrackErrParam': True, 'TrackAddNNGhostId': True, 'VertexListRefiner': True, 'TrackListRefiner': True, 'TrackAddLikelihood': True, 'CreateFastTrackCollection': True, 'TrackComputeExpectedHits': True, 'TrackRemoveDoubleHits': True, 'HltTrackConverter': True, 'TrackV0Finder': True, 'TrackListMerger': True, 'TrackToDST': True, 'FilterMatchTracks': True, 'FilterSeedTracks': True, 'TrackFromDST': True, 'FilterDownstreamTracks': True, 'ChargedParticlesToTracks': True, 'NumberOfTracksFilter': True, 'TrackListPrinter': True, 'TrackListFilter': True, 'TTrackFromLong': True, 'TrackBuildCloneTable': True, 'TrackPrepareForFit': True, 'TrackEraseExtraInfo': True, 'TrackContainerCopy': True, 'TrackContainerCleaner': True, 'TrackPrepareVelo': True, 'TrackCloneCleaner': True, 'VertexListFilter': True, 'TrackEventCloneKiller': True, 'TrackBestTrackCreator': True}, 'DetDescSvc': {'EventClockSvc': True, 'PreloadGeometryTool': True, 'FakeEventTime': True, 'UpdateManagerSvc': True, 'RunChangeHandlerSvc': True, 'TransportSvc': True, 'DetElemFinder': True}, 'DetDescChecks': {'DetDesc__VolumeCheck': True, 'DetDesc__MaterialBudget': True, 'DetDesc__CheckOverlap': True}, 'RichRecSys': {'RichTrackCreatorConfig': True, 'RichGlobalPIDConfig': True, 'RichRecSysConf': True, 'CKThetaResolutionConfig': True, 'RichSegmentCreatorConf': True, 'RichRecSysBaseConf': True, 'RichPhotonCreatorConfig': True, 'RichPixelCreatorConfig': True}, 'JetAccessories': {'HighPtIsoLeptonAndTagPV': True, 'LoKi__PFJetMaker': True, 'SplitJets': True, 'ParticleFlow4Jets': True, 'VBVertexRequirement': True, 'ClearDaughters': True, 'UpdateJetsWithVtx': True, 'ParticleFlow': True}, 'TrackSys': {'TrackSys': True}, 'NeuroBayesTools': {'NBB2HHTriggerTool': True}, 'ProtoParticleFilter': {'ProtoParticleMUONFilter': True, 'ProtoParticleDLLFilter': True, 'ProtoParticleRICHFilter': True, 'ProtoParticleANNPIDFilter': True, 'ProtoParticleCALOFilter': True, 'ChargedProtoParticleDLLFilter': True}, 'LoKiJets': {'LoKi__SeedFinder': True, 'LoKi__FastJetMaker': True, 'LoKi__FastJetWithAreaMaker': True, 'Jets2JetsAlg': True, 'LoKi__VVSeedFinder': True, 'LoKi__SeedConeJetMaker': True, 'LoKi__JetMaker': True, 'LoKi__JetParticleMaker': True, 'LoKi__JetMakerWR2Vtx': True}, 'XmlTools': {'XmlParserSvc': True, 'XmlCnvSvc': True}, 'RichMCTools': {'Rich__MC__MCTrackInfoTool': True, 'Rich__MC__MCTruthTool': True, 'Rich__MC__NULLMCTruthTool': True}, 'MVADictTools': {'LoKi__Hybrid__DictTransform_TMVATransform_': True, 'LoKi__Hybrid__DictTransform_MatrixnetTransform_': True, 'LoKi__Hybrid__DictTransform_BBDecTreeTransform_': True, 'MVAManager': True}, 'ChargedProtoANNPID': {'ANNGlobalPID__ChargedProtoANNPIDMoni': True, 'ANNGlobalPID__ChargedProtoANNPIDAlg': True, 'ANNGlobalPID__ChargedProtoANNPIDTupleTool': True, 'ANNGlobalPID__ChargedProtoANNPIDTool': True, 'ANNGlobalPID__ChargedProtoANNPIDTrainingTuple': True, 'ChargedProtoANNPIDConf': True}, 'HltLuminosity': {'LumiCountMuons': True, 'HltLumiOdinReader': True, 'LumiCountVertices': True, 'LumiStoreConstant': True, 'LumiFlagMethod': True, 'LumiCountVeloWithZRCuts': True, 'LumiCountTracks': True, 'LumiPutResult': True, 'LumiHisto2dSPD': True, 'LumiCountHltTracks': True, 'HltLumiFillRawBuffer': True, 'LumiHistoCollector': True, 'LumiHistoMaker': True, 'LumiPrepareResult': True, 'LumiFromL0DU': True, 'CollectLumiData': True}, 'RichIFBAnalysis': {'Rich__Mon__HPDIonFeedbackMoni': True}, 'VeloDet': {'VeloDetChecker': True}, 'MuonTrackMonitor': {'MuonTrackAligMonitor': True, 'MuonTrackMonitorConf': True}, 'RichMCMonitors': {'Rich__MC__MCCKPhotonYieldAlg': True, 'Rich__MC__MCCKPhotonPropAlg': True}, 'HltConf': {'Hlt1LowMultLinesConf': True, 'Hlt1HighMultLinesConf': True, 'Hlt1CalibTrackingLinesConf': True, 'Hlt1MVALinesConf': True, 'Hlt1HighPtJetsSinglePVLinesConf': True, 'Hlt1B2GammaGammaLinesConf': True, 'HltMonitoringConf': True, 'Hlt2ProbeTracking': True, 'Hlt2Conf': True, 'HltConf': True, 'Hlt1Conf': True, 'Hlt1LumiLinesConf': True, 'Hlt1NBLinesConf': True, 'Hlt1MBLinesConf': True, 'Hlt1TrackLinesConf': True, 'Hlt1L0LinesConf': True, 'Hlt1CosmicLinesConf': True, 'Hlt1BeamGasLinesConf': True, 'Hlt1CalibRICHMirrorLinesConf': True, 'Hlt1CommissioningLinesConf': True, 'Hlt1MuonLinesConf': True, 'Hlt1ElectronLinesConf': True, 'Hlt1pALinesConf': True, 'Hlt1SMOGLinesConf': True, 'Hlt1DisplVertexLinesConf': True, 'Hlt1ProtonLinesConf': True}, 'L0Calo': {'L0CaloCompare': True, 'L0CaloMonit': True, 'L0CaloCandidatesFromRawBank': True, 'L0CaloAlg': True, 'L0CaloCheckCalibCte': True, 'LLTCaloAlg': True, 'L0CaloNtpMonitor': True, 'L0CaloPRSResetMonitor': True, 'DumpL0CaloBanks': True, 'L0CaloToMCParticleAsct': True, 'L0CaloCandidatesFromRaw': True, 'CaloTriggerAdcsFromCaloRaw': True}, 'TrackIdealPR': {'IdealTracksCreator': True}, 'Magnet': {'MagFieldReader': True, 'MagneticFieldSvc': True, 'MultipleMagneticFieldSvc': True, 'BIntegrator': True, 'BdlTool': True, 'AnalyticFieldSvc': True}, 'PuVeto': {'PuVetoAlg': True, 'PuVetoFillRawBuffer': True}, 'TisTosTobbing': {'Hlt1TriggerTisTos': True, 'L0SelReportsMaker': True, 'TriggerTisTos': True, 'TisTos': True, 'TisTosParticleTagger': True, 'TriggerSelectionTisTosSummary': True, 'TESSelectionTisTos': True, 'L0DecReportsMaker': True, 'Hlt2TriggerTisTos': True, 'L0TriggerTisTos': True, 'ParticleTisTos': True, 'TESTisTos': True, 'TriggerTisTosSummary': True, 'TriggerSelectionTisTos': True}, 'RichRecTrackTools': {'Rich__Rec__GeomEffCKMassRing': True, 'Rich__Rec__BinnedCKResVthetaForRecoTracks': True, 'Rich__Rec__ForwardTrackSelector': True, 'Rich__Rec__BaseTrackSelector': True, 'Rich__Rec__TrackCreatorFromRecoTracksWithForcedIneffic': True, 'Rich__Rec__PhotonEmissionPoint': True, 'Rich__Rec__SegmentCreator': True, 'Rich__Rec__TrackSelector': True, 'Rich__Rec__InterpCKResVthetaForRecoTracks': True, 'Rich__Rec__DetailedTrSegMakerFromRecoTracks': True, 'Rich__Rec__TrackEffectiveRefractiveIndex': True, 'Rich__Rec__DelegatedTrackCreatorFromRecoTracks': True, 'Rich__Rec__FunctionalCKResForRecoTracks': True, 'Rich__Rec__MatchTrackSelector': True, 'Rich__Rec__IsolatedTrackTool': True, 'Rich__Rec__ExpectedTrackSignal': True, 'Rich__Rec__GeomEffFixedValue': True, 'Rich__Rec__SeedTrackSelector': True, 'Rich__Rec__VeloTTTrackSelector': True, 'Rich__Rec__GeomEffPhotonTracing': True, 'Rich__Rec__CherenkovAngle': True, 'Rich__Rec__FastTrSegMakerFromRecoTracks': True, 'Rich__Rec__TrackCreatorFromRecoTracks': True, 'Rich__Rec__KsTrackSelector': True}, 'FTDAQ': {'FTRawBankEncoder': True, 'FTRawBankDecoder': True}, 'DaVinciFilters': {'DVFilter1': True, 'DVFilter2': True, 'Pi0Veto__Filter': True, 'SubstitutePIDTool': True, 'SubPIDMMFilter': True, 'FilterStream': True, 'SubstitutePID': True, 'FilterEventList': True, 'ConeJetProxyFilter': True, 'FilterInTrees': True, 'FitDecayTrees': True, 'ParticleVeto': True, 'Pi0Veto__Tagger2g': True, 'FilterDesktop': True, 'Pi0Veto__Tagger': True, 'FilterDecays': True}, 'GaudiPython': {'PythonScriptingSvc': True}, 'PatFitParams': {'FitTool': True, 'KsFitParams': True, 'SeedFitParams': True, 'MatchFitParams': True, 'FwdFitParams': True}, 'STAlgorithms': {'STDigitsMerge': True, 'VeloDigitsMerge': True, 'STClusterCreator': True, 'VeloClustersToDigits': True, 'WriteSTNoiseConditions': True, 'STClustersToLite': True, 'STClustersToDigits': True, 'VeloClustersToLite': True, 'STClusterKiller': True, 'STStripChecker': True, 'STEventMerge': True, 'STClusterContainerCopy': True, 'WriteSTStatusConditions': True, 'STLiteClusterKiller': True}, 'VPAssociators': {'VPDigitLinker': True, 'VPClusterLinker': True}, 'TfTools': {'Tf__OTHitCreator': True, 'Tf__OTHitCleaner': True, 'PatTStationHitManager': True, 'Tf__Tsa__TStationHitManager': True, 'Tf__STHitCreator_Tf__UT_': True, 'Tf__DefaultVeloPhiHitManager': True, 'Tf__TStationHitManager_Tf__HitManagersTestAlg__TestHit_': True, 'Tf__STHitCreator_Tf__TT_': True, 'FlagHitsForPatternReco': True, 'Tf__STHitCleaner': True, 'Tf__STHitCreator_Tf__IT_': True, 'Tf__DefaultVeloRHitManager': True, 'Tf__TTStationHitManager_Tf__HitManagersTestAlg__TestHit_': True, 'ResetHits': True, 'Tf__HitManagersTestAlg': True}, 'CaloDAQ': {'CaloDataProvider': True, 'CaloMergeTAE': True, 'CaloFillPrsSpdRawBuffer': True, 'CaloTriggerBitsFromRawAlg': True, 'CaloAdcFromRaw': True, 'CaloDigitsFromRaw': True, 'CaloDigitFilterAlg': True, 'CompareCaloDigits': True, 'CaloTriggerAdcsFromRawAlg': True, 'CaloReadoutTool': True, 'CaloZSupAlg': True, 'CaloL0DataProvider': True, 'CaloDigitConf': True, 'CaloDigitFilterTool': True, 'CheckCaloBank': True, 'CaloTriggerBitsFromRaw': True, 'CaloTriggerAdcsFromRaw': True, 'CaloFillRawBuffer': True, 'CaloEnergyFromRaw': True, 'CaloDataProviderFromTES': True}, 'RichPIDMerge': {'Rich__Rec__HierarchicalPIDMerge': True, 'Rich__Rec__PIDMerge': True}}
\ No newline at end of file
diff --git a/cmt/project.cmt b/cmt/project.cmt
index fdad9cfe2dc887c17cd746cefc778828a311da01..63f58675151bff19e31c327eb7fdf2e7a8b988c3 100755
--- a/cmt/project.cmt
+++ b/cmt/project.cmt
@@ -1,6 +1,6 @@
 project MOORE
 
-use HLT     HLT_v25r4
+use HLT     HLT_v25r5
 
 container       MooreSys
 build_strategy	with_installarea