Skip to content

JetParticleAssociation overhaul and DecorHandle fixes

William Keaton Balunas requested to merge wbalunas/athena:handles-210319 into master

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 from IJetDecorator instead of "being its own interface".
  • ParticleJetAssociation and EventSelectionTool 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 of IJetDecorator on a jet collection (which can be const). This will probably be more broadly useful for flavor tagging and other applications. This has replaced ParticleJetAssociationAlg 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.

Edited by William Keaton Balunas

Merge request reports