584 == Main function to generate the L1, L1Topo and HLT menu configs and CA, using the GenerateMenuMT class
588 from TrigConfigSvc.TrigConfigSvcCfg
import generateL1Menu
595 chains_gen_filter = FilterChainsToGenerate(flags)
596 menu.setChainFilter(chains_gen_filter)
597 log.debug(
'Filtering chains: %d', menu.chainFilter
is not None)
600 finalListOfChainConfigs = menu.generateAllChainConfigs(flags)
602 checkNumberOfLegs = [chain.checkNumberOfLegs()
for chain
in finalListOfChainConfigs]
603 if 0
in checkNumberOfLegs:
604 log.error(
'There is a chain with unexpected number of legs. Revisit your configuration')
606 log.info(
'Number of configured chains: %d', len(finalListOfChainConfigs))
608 from TriggerMenuMT.HLT.Config
import MenuComponents
609 if len(MenuComponents._CustomComboHypoAllowed)> _maxAllowedCustomCH:
610 log.error(f
'Found {len(MenuComponents._CustomComboHypoAllowed)} ComboHypo algorithms violating the one-CH-per-step rule, only {_maxAllowedCustomCH} are allowed (which are BLS ComboHypos). This is the list of current violations: {MenuComponents._CustomComboHypoAllowed}. Please consolidate your choice of ComboHypo, by checking that it is able to handle decisions internally; if yes eventually increase the limit set by _maxAllowedCustomCH, after discussing with experts')
612 menu.generatePrescales(flags)
616 finalListOfChainConfigs = menu.resolveEmptySteps(finalListOfChainConfigs)
617 log.debug(
"finalListOfChainConfig: %s", finalListOfChainConfigs)
621 log.info(
"Making the HLT configuration tree")
622 menuAcc, CFseq_list =
makeHLTTree(flags, finalListOfChainConfigs)
625 from TriggerJobOpts.TriggerConfigFlags
import ROBPrefetching
626 if ROBPrefetching.InitialRoI
in flags.Trigger.ROBPrefetchingOptions:
627 from TrigGenericAlgs.TrigGenericAlgsConfig
import prefetchingInitialRoIConfig
632 log.info(
"Checking the L1HLTConsistency...")
633 from TriggerMenuMT.HLT.Config.Validation.CheckL1HLTConsistency
import checkL1HLTConsistency
636 log.info(
"Checking the Coherent Prescale assignments...")
637 from TriggerMenuMT.HLT.Config.Validation.CheckCPSGroups
import checkCPSGroups
640 log.info(
"Checking that all chains streamed in express have a signature or detctor monGroup")
641 from TriggerMenuMT.HLT.Config.Validation.CheckMonGroups
import checkMonGroups
645 GenerateMenuMT.clear()
646 from TriggerMenuMT.HLT.Config
import MenuComponents
647 MenuComponents._ComboHypoPool.clear()
648 MenuComponents._CustomComboHypoAllowed.clear()