TrigDecisionTool: add isPassed[Bits]ForEach to ChainGroup
This is the second attempt at !56887 (merged), which got reverted in !57152 (merged).
Add isPassedForEach
and isPassedBitsForEach
function to ChainGroup
to allow the retrieval of the trigger decision (bits) of each chain in the group.
Also optimize the isPassed
function to return at the first passing chain
instead of continuing to loop over all chains.
In order to maintain the correct order between trigger names and the
result of the "ForEach" methods, the storage of the chains/items had to
be changed from std::set
to std::vector
(not clear why a set was
used in the first place).
Make use of this new interface in TrigHLTMonitoring
and TrigDecisionMakerValidator
and delete some obsolete test definitions.
Closes ATR-26331.
P.S.: This is only the first step in addressing ATR-23427. There are still several other algorithms that create an excessive amount of ChainGroups.