diff --git a/Trigger/TriggerCommon/TrigEDMConfig/CMakeLists.txt b/Trigger/TriggerCommon/TrigEDMConfig/CMakeLists.txt index f88fe64e6ced5395d2c576f9545970bfd245950a..57154b782b9b73d93083daece249cae4da433451 100644 --- a/Trigger/TriggerCommon/TrigEDMConfig/CMakeLists.txt +++ b/Trigger/TriggerCommon/TrigEDMConfig/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration # Declare the package name: atlas_subdir( TrigEDMConfig ) @@ -9,12 +9,12 @@ atlas_install_scripts( test/*.sh ) atlas_add_test( testEDM SCRIPT python/testEDM.py - POST_EXEC_SCRIPT nopost.sh ) + POST_EXEC_SCRIPT noerror.sh ) atlas_add_test( testEDMRun3 SCRIPT python/testEDMRun3.py - POST_EXEC_SCRIPT nopost.sh ) + POST_EXEC_SCRIPT noerror.sh ) atlas_add_test( testEDMRun3Reproducibility SCRIPT testTriggerEDMRun3Reproducibility.sh - POST_EXEC_SCRIPT nopost.sh ) + POST_EXEC_SCRIPT noerror.sh ) diff --git a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py index 6ba2580fb5d7411baf4c165d040fd874cf9b3760..46f7588bb86fd383516dc982877522b4075f2b46 100644 --- a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py +++ b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py @@ -392,7 +392,7 @@ TriggerHLTListRun3 = [ ('xAOD::eFexTauRoIContainer#L1_eTauRoI', 'BS ESD AODFULL', 'L1'), ('xAOD::eFexTauRoIAuxContainer#L1_eTauRoIAux.thresholdPatterns', 'BS ESD AODFULL', 'L1'), ('xAOD::eFexTauRoIContainer#L1_eTauBDTRoI', 'BS ESD AODFULL', 'L1'), - ('xAOD::eFexTauRoIAuxContainer#L1_eTauBDTRoI.thresholdPatterns', 'BS ESD AODFULL', 'L1'), + ('xAOD::eFexTauRoIAuxContainer#L1_eTauBDTRoIAux.thresholdPatterns', 'BS ESD AODFULL', 'L1'), ('xAOD::eFexTauRoIContainer#L1_cTauRoI', 'BS ESD AODFULL', 'L1'), ('xAOD::eFexTauRoIAuxContainer#L1_cTauRoIAux.thresholdPatterns.jTauLink', 'BS ESD AODFULL', 'L1'), diff --git a/Trigger/TriggerCommon/TrigEDMConfig/python/testEDMRun3.py b/Trigger/TriggerCommon/TrigEDMConfig/python/testEDMRun3.py index 45bf19422a6706cdc048c228bd86ea3208ea9549..1bdaa5ea6c33887fa964d65c52019023728c1bf9 100755 --- a/Trigger/TriggerCommon/TrigEDMConfig/python/testEDMRun3.py +++ b/Trigger/TriggerCommon/TrigEDMConfig/python/testEDMRun3.py @@ -24,6 +24,7 @@ def dumpListToJson(fileName): def main(): import re + return_code = 0 serializable_names = [] serializable_names_no_label = [] #Check for duplicates @@ -34,28 +35,37 @@ def main(): for item, count in collections.Counter(names).items(): if count > 1: log.error(str(count) + "x: " + str(item)) - return 1 + return_code = 1 - for TriggerSerializable in TriggerHLTListRun3: - serializable_name = TriggerSerializable[0] + for i, edm in enumerate(TriggerHLTListRun3): + serializable_name = edm[0] serializable_name_no_label = re.sub(r"\#.*", "", serializable_name) if '#' not in serializable_name: log.error("no label for " + serializable_name) - return 1 + return_code = 1 + #Check container has a CLID if not isCLIDDefined(serializable_name_no_label): log.error("no CLID for " + serializable_name) + return_code = 1 #check for Aux "." if "Aux" in serializable_name and "Aux." not in serializable_name: log.error("no final Aux. in label for " + serializable_name) + return_code = 1 + + #check that Aux always follows non-Aux (our deserialiser relies on that) + if i>0 and "Aux" in serializable_name and "Aux" in TriggerHLTListRun3[i-1][0]: + log.error(f"Aux container {serializable_name} needs to folow the " + "associated interface container in the EDM list") + return_code = 1 - file_types = TriggerSerializable[1].split(" ") + file_types = edm[1].split(" ") for file_type in file_types: if file_type not in AllowedOutputFormats: log.error("unknown file type " + file_type + " for " + serializable_name) - return 1 + return_code = 1 serializable_names.append(serializable_name) serializable_names_no_label.append(serializable_name_no_label) @@ -63,7 +73,10 @@ def main(): #check EDMDetails for EDMDetail in EDMDetailsRun3.keys(): if EDMDetail not in serializable_names_no_label: - log.warning("EDMDetail for " + EDMDetail + " does not correspond to any name in TriggerList") + log.error("EDMDetail for " + EDMDetail + " does not correspond to any name in TriggerList") + return_code = 1 + + return return_code if __name__ == "__main__": import sys