first import for Menu generation code migrated to CA
Following up on ATR-24993, including also results of discussions from the HLT core software meeting on 06/05, which required to have one c-test only and to set the options to filter chains locally. Remaining request is to change the name of the files from _newJO to _CA which needs more wider discussion, so it’s postponed.
This code include the first example of using current Menu generation code, with ChainConfigurationBase class, in the new JO CA. Strategy:
- using configurableRun3Behavior to switch behaviours
- in the signature code, XXChainConfiguration can import functions for MenuSequence generation from different files, depending on old and new JO style
- in newJO: added try/except blocks to allow missing functions (raising WARNING)
- in newJO: if functions are missing, an Empty Step is generated (to avoid null pointers)
- in newJO: if at least one intermediate Empty step is found in a chain, the chain is not created (to avoid issues in the alignment code and in the processing)
- in newJO: raise WARNING when function is missed, when the chain is not configured and excluded because it’s incomplete
- added options in two tests to filter chains and signatures
- Tested with muon code primary, also electron and photon enabled; jet’s code needs more complicated modifications so it’s not included in the tests
- modified existing newJO TMMT unit test to run this new generation code; the old one can be resumed by importing generateHLT from the old file
The flow of generation is this:
`
from TriggerMenuMT.HLT.Config.GenerateMenuMT_newJO import generateMenuMT
generateMenuMT()
--> from TriggerMenuMT.HLT.Config.GenerateMenuMT import GenerateMenuMT
menu=GenerateMenuMT()
finalListOfChainConfigs = menu.generateAllChainConfigs(flags)
----> generateChains() ---> __generateChainConfig() which calls the SignatureXX.generateChainConfigs(chainPartDict)
----> inside the signature code import MenuSequence in CA style and build steps as now
----> menuAlignment()
generateMenuAcc()
----> menuAcc = generateDecisionTree(flags, HLTMenuConfig.configsList())
`
Edited by Francesca Pastore