Skip to content

Add detailed run time testing of the MT trigger navigation

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

This MR introduces detailed run-time checking of the MT trigger navigation at the end of every Step.

It is for use during development, not online, due to the overhead this level of checking will bring.

  • The printDebugInformation method is renamed hypoBaseOutputProcessing as it is now doing more than simply printing.
  • Note: In the future CombHypo logic may be introduced here too.
  • HypoAlgs currently calling the old print fn. are updated - others will be brought into the folder after this MR.

The checks are peformed on every output Decision of the hypo alg. Checks are run recursivly for all parents of the Decision so this tests everything upstream of the HypoAlg too.

  • Checks that every InputMaker or Filter produced Decision enforces logical flow (all its passed IDs were passed by at least one parent)
  • Checks that every HypoAlg produced decision enforces strict object-merging logical flow (all its passed IDs were present in ALL parents)
  • Checks that all IDs correspond to valid Chains
  • Checks that there are no duplicate IDs (wasting space)
  • Checks that all HypoAlg output Decisions have a feature. Including extra logic to handle ComboHypo algs.
  • Checks that all routes through the navigation terminate at an L1 Decision object.

I give the Decision objects created by the L1Decoder the name L1 - this looks to me the best way to tell if we have found an initial node in the graph.

I'm happy to report that all of these checks are OK for the HypoAlgs considered so far :)

Ping hypo enthusiasts @tbold, @fpastore, @sgeorge

Ping slices who I make (small one-liner) change in the HypoAlg(s): MET (@jburr, @astruebi), MU (@nakahama, @markowen, @sshaw), EGAMMA (@fernando, @thrynova, @dbakshig )

Merge request reports