Draft: TMMT cleanup: new version of EmptyMenuSequence that is actually empty
- We use EmptyMenuSequence class to emulate the absence of a sequence in a Chain step, and do the correct merging during the alignment
- The legacy EmptyMenuSequence is not an empty object, but contains one InputMaker, which is actually not needed, since it just propagate the DH from the filter to the ComboHypo
- In this MR the new EmptyMenuSequence is actually an empty object, without any InputMaker (so it does not generate any CA), whose role is to save the filter outputs as its own output DHs
- To allow these simplifications the RORSeqFilter has to change its behaviour: it will always create valid outputs, even if it does not pass. This is needed to use these DH as input in the ComboHypos (thanks to @tamartin for the help)
With this change we reduce the number of InputMakerForRoI algorithms (currently 212) to 76.
The diagram below can explain the basic change for a tag&probe chain (used for example HLT_tau20_mediumRNN_tracktwoMVA_probe_j25_pf_ftf_03dRAB_L1RD0_FILLED):
These changes do change the HLTJobOptions.json file, because remove algorithms and change the inputs of the ComboHypos.
Edited by Francesca Pastore