Move HLT output configuration from full_menu.py to TriggerConfig
Move HLT output configuration code from job options (full_menu.py) to a central configuration module TriggerJobOpts/TriggerConfig. The approach taken here mixes a bit of NewJO and RecExCommon configuration, but temporarily and for good reasons:
- We don't want to write two configurations for the new code, as it would be a nightmare to maintain during the rapid development phase of LS2. That's why we put the central configuration in NewJO-style TriggerConfig and use it in old-style test job options (common part in testHLT_MT, specific part in full_menu.py). Note this approach was already used in full_menu, I just moved more parts to NewJO now.
- Not everything which we configure in NewJO TriggerConfig already has NewJO prerequisites available. For example, I had to use old-style WriteByteStream module because there isn't a NewJO version yet.
The following changes are done:
- Move output configuration implementation to newJO Trigger config (ATR-20152, ATR-20273). It is still called from full_menu.py rather than common testHLT_MT. This move can be done in next MR if needed.
- Make it possible to write three kinds of result: BS online, BS offline, POOL
- Make the config dependent on newJO flags - this required me to add new
doWriteXXX
flags in AllConfigFlags - Adapt common old-style options testHLT_MT for the new output possibilities. Make BS default and POOL optional (ATR-20138)
- Adapt all tests using full_menu JO in TrigUpgradeTest and TrigP1Test to the flag changes.
- Disable TriggerSummaryAlg DEBUG output and remove it from reference file.
- Fix EDM config flag defaults
- Fix auto-configuration of EDMDecodingVersion and use it in RAWtoESD transform
- Don't lock ConfigFlags in HLTCFConfig.makeHLTTree
cc @tbold, @tamartin, @okuprash
Edited by Rafal Bielski