Skip to content

[ATR-19253] Enabling Trigger Feature Access

Tim Martin requested to merge tamartin/athena:enableFeatures into master

This MR activates the recent TDT functions for "feature" retrieval. It covers a few areas which needed work to complete the pipeline and get the desired data out the other end:

 * TrigComposite (a.k.a. Decision) objects, when asked for an ElementLink, can now introspect if they've been decorated with re-mapped information.
 * Re-mapping of element links happens online at the end of processing, when EDM objects inside EventViews are copied out into EDM containers in the global event context.
 * Feature access code is reworked slightly to return LinkInfo objects rather than ElementLink objects. This is better as you can easily then also check which ROI your feature was in, etc.
 * The list of hard-coded chains was updated based on full_menu.py
 * HLTEDMCreator was updated to be given the HypoAlg output collection to remap rather than the InputMaker output. This was a bug before, features are attached by the hypo.
 * The way that `HLTEDMCreator` knows what collections need their element links updating was reworked - but reamins a bit clunky.
 * `HLTEDMCreator` indentation was standadised
 * Printing of feature properties was added to `TrigEDMChecker::dumpTDT`

Electrons from full_menu.py are confirmed working. Photon have an issue with their online EventView element link re-mapping still, this needs to be chased down on the menu config side (Py:TriggerConfig INFO The producer of the L2PhotonRecoViews not in the menu).

myESD.pool.root may be inspected for features via athena.py TrigUpgradeTest/checkESD.py

Note: Please start the review, there are multiple unit tests I need to update so the first CI will fail, but I will do this in one go having found out which ones are affected.

cc @tbold

Merge request reports