Migrate jet moment tools to IJetDecorator interface
This MR is intended to migrate jet moment tools to the new IJetDecorator
interface which was introduced in !24710 (merged). The goal is for all tools which only add decorations and don't actually modify the jet container to use this and therefore be able to operate on const
jet containers (required for cases where these decorations need to be added to an existing container in a MT environment). Tools which inherit from JetModifierBase
will now instead inherit directly from IJetDecorator
, or in any appropriate cases, IJetModifier
), as JetModifierBase
is being made obsolete.
As part of this migration, these tools will also now be using Read/WriteDecorHandles to access jet properties other than the 4-momentum.
To start with I've migrated 5 of the simpler tools here, more MRs will follow with rest.
The biggest change from the user's point of view here is that now they will need to actually configure the name of the decoration (which includes the name of the jet container, for example AntiKt4EMPFlowJets.VoronoiArea
would be a typical one in this case). This is necessary because the scheduler needs to know what jet collection the decoration will be attached to before the first event. Accordingly, I've updated the standard JetRec configuration to handle this automatically within JetToolManager
.
Tagging @khoo, @sschramm, @loch, @delsart for discussion, feel free to add any others who might have an opinion or know more about using DecorHandles.