diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/AlgConfigs.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/AlgConfigs.py index 9715a4fdecd140054a7836220752a9de56b4ec1b..d8800a7438559242ad66e4e8a6925a8f839d69b6 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/AlgConfigs.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/AlgConfigs.py @@ -5,8 +5,28 @@ from .ConfigHelpers import AlgConfig, jetRecoDictForMET from TrigEFMissingET.TrigEFMissingETMTConfig import getMETMonTool from ..Menu.MenuComponents import RecoFragmentsPool +from ..Menu.SignatureDicts import METChainParts import GaudiKernel.SystemOfUnits as Units +def test_configs(): + """ Make sure that all algorithms defined in the METChainParts have + configurations + + Really, this is mainly to have something sensible to call in the + ConfigHelpers file to succeed the ctest :( + """ + unknown_algs = [] + for alg in METChainParts["EFrecoAlg"]: + for subcls in AlgConfig._get_subclasses(): + if subcls.algType() == alg: + break + else: + unknown_algs.append(alg) + assert len(unknown_algs) == 0, ( + "The following EFrecoAlgs do not have AlgConfig classes: " + "{}".format(unknown_algs) ) + + class CellConfig(AlgConfig): @classmethod def algType(cls): diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/ConfigHelpers.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/ConfigHelpers.py index c6c248f6fccc9ce67d693dbe9238607049fb7eea..a7da2182ae674cf57c87270c54e689f9bfe75bbb 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/ConfigHelpers.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/ConfigHelpers.py @@ -214,3 +214,5 @@ class AlgConfig(object): # Load all the defined configurations from . import AlgConfigs +# Make sure that there is an AlgConfig for every EFrecoAlg +AlgConfigs.test_configs() diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/METChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/METChainConfiguration.py index 62b386770fa439793864c68726bb88552f9220fa..046224426308ccaf000e783a52e85dc72094ab0e 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/METChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/METChainConfiguration.py @@ -7,7 +7,7 @@ log = logging.getLogger("TriggerMenuMT.HLTMenuConfig.MET.METChainConfiguration") from ..Menu.ChainConfigurationBase import ChainConfigurationBase from .ConfigHelpers import extractMETRecoDict, metRecoDictToString, AlgConfig -from ..Menu.MenuComponents import RecoFragmentsPool, ChainStep +from ..Menu.MenuComponents import ChainStep #----------------------------------------------------------------