JetParticleAssociation overhaul and DecorHandle fixes
This completely reworks ParticleJetAssociation
to simplify its usage and make it thread-safe. Additionally, some MT-safety issues in EventSelectionTool
are fixed. Major changes are:
-
ParticleJetAssociation
now inherits fromIJetDecorator
instead of "being its own interface". -
ParticleJetAssociation
andEventSelectionTool
now require a few more configured properties. These have been added to existing config. - Both implementations of
ParticleJetAssociationAlg
(the BTagging one and the ParticleJetTools one) have been removed. - A new
JetDecorationAlg
has been created. It runs any set ofIJetDecorator
on a jet collection (which can beconst
). This will probably be more broadly useful for flavor tagging and other applications. This has replacedParticleJetAssociationAlg
wherever it was previously used.
The discussion on this MR revealed some deeper underlying issues and so the scope has broadened substantially since it was first opened. Original description below for reference.
A few tools still using direct StoreGate access were recently reported. This fixes the two jet-related ones, EventSelectionTool
and JetParticleAssociation
(see ATLASRECTS-6096 and ATLASRECTS-6098). In the case of EventSelectionTool
, this necessitated adding an additional configurable property specifying the name of the input jet collection. So, I've also updated existing config using this tool.