ATR-22206, adding functionality for multi-leg merging
Now that !39204 (merged) has been merged, this should be ready to go (changes to the InputMaker to allow for objects other than xAOD::IParticle to be used in mergeUsingFeature)
Significant changes to the chain merging to allow for multi-leg combined chains ( > 2).
Changes to the naming of empty sequences in all types of merged chains, as per discussions in ATR-22206.
Added a single chain, HLT_g35_tight_icalotight_mu15noL1_mu2noL1_L1EM22VHI
, requested in ATR-22107, so this new code is tested in the nightlies.
At this point, other chains should work too, but adding chains can be done separately to the code modifications.
There are a few changes in the log files, all for known reasons:
(1) addition of one chain HLT_g35_tight_icalotight_mu15noL1_mu2noL1_L1EM22VHI
(2) change in 2muXnoL1 chains: the sequences are now correctly seeded with multiplicity 2 - but this means that the combo hypo tries to find 2 fullscan RoIs - and this is impossible. We knew we would come up against this at some point, and the combo hypo just needs to know that N fullscan RoIs = 1 fullscan RoI (not for this MR, it's not a menu change)
!39196 (merged) has fixed this behaviour - the references are now updated to not change the counts of multi-fullscan RoI chains.
(3) HLT_e12_lhloose_2mu10_L12MU10
in the data test: now this one is interesting. It looks like in the previous setup, the first combo hypo wasn't looking at the L1_2MU10 requirement - because the multiplicity was not set correctly for the empty sequences. Now, the empty sequences get the proper multiplicity of 2, and in the first step 2MU10 fails - so no more counts. This is confirmed by other chains with an L12MU10 requirement not passing the first step either.