TrigEDMConfig: Add more EDM entry checks for testEDMRun3, use on extended EDM list (ATR-26391)
Adding further checks of Run 3 trigger EDM and performing EDM check in more places.
New function testEDMList() created in TriggerEDM.py to use in
-
testEDMRun3.pyunit test (replaces previous checks that ran here). - on user-extended EDM list during configuration, extended via
flags.Trigger.ExtraEDMListinput via_addExtraCollectionsToEDMList. -
testEDM.py unit test on dummy EDM + extended dummy EDM via_addExtraCollectionsToEDMListcall.
The additional checks added here are:
- EDM entry has at least 3 entries (also to avoid invalid index access in the script).
- entry name contains exactly one '#'.
- no '.' if entry name contains no 'Aux'
- an entry starting with
xAODand not containing 'Aux' is followed by an entry that pattern matches this. - matching interface-aux entries also share same targets.
- if 'AOD' contained in target list, 'ESD' contained in target list also.
- if 'SLIM' contained in target list, 'AODFULL' contained in target list also.
- no duplicate entries after stripping all characters after a '.' (stripping container variables).
And following previous checks are kept:
- container type name can be entered in the CLID database.
- if 'Aux' in name, 'Aux.' in name too.
- 'Aux' always follows 'non-Aux' entry
- target is defined in
AllowedOutputFormats -
allowTruncation-labelled entries are at the end of list. - All entries of
EDMDetailsRun3appear in the list (errors for this check can be suppressed).
Adjustments for EDM entry format compliance
ESDtarget added toHLTNav_Summary_AODSlimmedentries.- EDIT for the record: (non-online collections)
HLTNav_Summary_AODSlimmedandHLTNav_Summary_ESDSlimmedremoved from TriggerEDMRun3 entirely, as should be redundant (offline code already writes them to file), and otherwise failed new EDM checks. -
_addExtraCollectionsToEDMListnow adds new collections to start of list so that "allowTruncation" items remain at end of list/serialised last.
Edited by Claire Antel