From 10b1d60e448ae099a22978283c1d2d8793c7112c Mon Sep 17 00:00:00 2001 From: Tomasz Bold <tomasz.bold@gmail.com> Date: Fri, 22 Nov 2019 11:47:39 +0000 Subject: [PATCH] made generation of the dot files configurable --- .../share/EmuStepProcessingTest.py | 2 +- .../python/TriggerConfigFlags.py | 3 +++ .../TriggerJobOpts/python/TriggerFlags.py | 7 ++++++ .../python/HLTMenuConfig/Menu/HLTCFConfig.py | 22 ++++++++++--------- .../python/HLTMenuConfig/Menu/HLTCFDot.py | 6 +++++ .../python/HLTMenuConfig/Menu/LS2_v1_newJO.py | 1 + .../TriggerMenuMT/share/generateMT.py | 3 ++- 7 files changed, 32 insertions(+), 12 deletions(-) diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/EmuStepProcessingTest.py b/Trigger/TrigValidation/TrigUpgradeTest/share/EmuStepProcessingTest.py index 4bf6695fd43..8764b3927c6 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/EmuStepProcessingTest.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/EmuStepProcessingTest.py @@ -12,7 +12,7 @@ from TriggerJobOpts.TriggerFlags import TriggerFlags TriggerFlags.triggerMenuSetup = "LS2_emu_v1" - +TriggerFlags.generateMenuDiagnostics=True from TrigUpgradeTest.EmuStepProcessingConfig import generateL1DecoderAndChains diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigFlags.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigFlags.py index d7f5019d533..0299b625e12 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigFlags.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigFlags.py @@ -92,6 +92,9 @@ def createTriggerFlags(): # name of the trigger menu flags.addFlag('Trigger.triggerMenuSetup', 'LS2_v1') + # name of the trigger menu + flags.addFlag('Trigger.generateMenuDiagnostics', False) + # version of the menu from AthenaCommon.AppMgr import release_metadata flags.addFlag('Trigger.menuVersion', diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py index 8331898c095..9d2356269e9 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py @@ -909,6 +909,13 @@ class outputHLTmenuJsonFile(JobProperty): _flags.append(outputHLTmenuJsonFile) +class generateMenuDiagnostics(JobProperty): + """ Generate additional files heling in menu diagnostics """ + statusOn=True + StoredValue=False +_flags.append( generateMenuDiagnostics ) + + class inputL1TopoConfigFile(JobProperty): """Used to define an external L1Topo configuration file. To be used together with trigger flag readL1TopoConfigFromXML. diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py index 17200e6cd20..f91bd685e2e 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py @@ -28,7 +28,7 @@ # Classes to configure the CF graph, via Nodes from AthenaCommon.CFElements import parOR, seqAND, seqOR from AthenaCommon.AlgSequence import dumpSequence -from TriggerMenuMT.HLTMenuConfig.Menu.HLTCFDot import stepCF_DataFlow_to_dot, stepCF_ControlFlow_to_dot, all_DataFlow_to_dot +from TriggerMenuMT.HLTMenuConfig.Menu.HLTCFDot import stepCF_DataFlow_to_dot, stepCF_ControlFlow_to_dot, all_DataFlow_to_dot, create_dot from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponentsNaming import CFNaming from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import ChainStep @@ -305,7 +305,8 @@ def decisionTree_From_Chains(HLTNode, chains, allDicts, newJO): createControlFlowNewJO(HLTNode, CFseq_list) log.debug("finalDecisions: %s", finalDecisions) - all_DataFlow_to_dot(HLTNodeName, CFseq_list) + if create_dot(): + all_DataFlow_to_dot(HLTNodeName, CFseq_list) # matrix display matrixDisplay( CFseq_list ) @@ -490,9 +491,10 @@ def createControlFlow(HLTNode, CFseq_list): summary=makeSummary(CFNaming.stepSummaryName(stepCF_name), step_decisions) HLTNode += summary - log.debug("Now Draw...") - stepCF_DataFlow_to_dot(recoNodeName, CFseq_list[nstep]) - stepCF_ControlFlow_to_dot(stepCF) + if create_dot(): + log.debug("Now Draw...") + stepCF_DataFlow_to_dot(recoNodeName, CFseq_list[nstep]) + stepCF_ControlFlow_to_dot(stepCF) log.info("************* End of step %d, %s", nstep+1, stepCF_name) @@ -599,12 +601,12 @@ def generateDecisionTreeOld(HLTNode, chains, allChainDicts): HLTNode += stepFilter HLTNode += stepCF HLTNode += summary + if create_dot(): + stepCF_DataFlow_to_dot('{}_{}'.format(HLTNode.name(), stepName), CFsequences) + stepCF_ControlFlow_to_dot(stepCF) + all_DataFlow_to_dot(HLTNode.name(), allSequences) - stepCF_DataFlow_to_dot('{}_{}'.format(HLTNode.name(), stepName), CFsequences) - stepCF_ControlFlow_to_dot(stepCF) - - all_DataFlow_to_dot(HLTNode.name(), allSequences) - matrixDisplay( allSequences ) + matrixDisplay( allSequences ) return acc diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFDot.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFDot.py index 65ad231353f..b2dd2f93e43 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFDot.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFDot.py @@ -5,6 +5,12 @@ from AthenaCommon.AlgSequence import AthSequencer from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import isHypoBase, isInputMakerBase, isFilterAlg import itertools +def create_dot(): + from TriggerJobOpts.TriggerFlags import TriggerFlags + from AthenaConfiguration.AllConfigFlags import ConfigFlags + return TriggerFlags.generateMenuDiagnostics() or ConfigFlags.Trigger.generateMenuDiagnostics + + def algColor(alg): """ Set given color to Alg type""" if isHypoBase(alg): diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1_newJO.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1_newJO.py index 8855925c882..346bf089d94 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1_newJO.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1_newJO.py @@ -78,6 +78,7 @@ if __name__ == "__main__": Configurable.configurableRun3Behavior=True from AthenaConfiguration.AllConfigFlags import ConfigFlags + ConfigFlags.Trigger.generateMenuDiagnostics = True setupMenu(ConfigFlags) from AthenaConfiguration.TestDefaults import defaultTestFiles diff --git a/Trigger/TriggerCommon/TriggerMenuMT/share/generateMT.py b/Trigger/TriggerCommon/TriggerMenuMT/share/generateMT.py index e4428689bef..eac3b0e4bcb 100755 --- a/Trigger/TriggerCommon/TriggerMenuMT/share/generateMT.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/share/generateMT.py @@ -2,6 +2,7 @@ setMenu = "LS2_v1" endJobAfterGenerate = False - +from TriggerJobOpts.TriggerFlags import TriggerFlags +TriggerFlags.generateMenuDiagnostics = True include("TrigUpgradeTest/testHLT_MT.py") -- GitLab