Simplify Jet derivation framework

With the recent change to reconstructing all jets at the derivation step, a large part of the jet derivation framework is now needlessly complicated. Most of this is designed around the "augmentation" workflow which reads in jets from the AOD, copies them, modifies/decorates the copy, and then copies decorations back to the original or overwrites it with the copy (e.g. by renaming).

There's no longer any need for this copying, or for any "updating" of existing jet quantities at derivation level: we can just make correct and up-to-date versions to begin with. The IJetDecorator interface and JetDecorationAlg make for much simpler scheduling of jet moments at the DAOD step.

So, this removes a large chunk of code which is now obsolete and migrates to the simpler way of doing this instead.

  • Jet re-calibration at derivation level is no longer needed (we now instead use an up-to-date calibration to being with)
  • JVT no longer needs to be updated at derivation level.
  • b-tagging doesn't need to be "re-done", so some of the obsolete config for that has also been removed.
  • Other jet moments (e.g. PFlow fJVT, QG tagging variables, etc.) are now scheduled via JetDecorationAlg.

Tagging @sawyer, @cdelitzs, @mswiatlo, @dguest, @duperrin.

Edited by William Keaton Balunas

Merge request reports