Skip to content

Simplify FTAG handling of kinematic selection and fix systematics propagation in CP algorithms

This is a follow-up from !70356 (closed) which aims to simplify and correct handling of kinematic selection in FTAG CP algorithms. The issue is that the FTAG decision itself does not depend on jet-related systematics, so we only store nominal variation. However at the moment the decision also includes a kinematic preselection on jet pT, eta, which make it systematics-dependent and thus for systematics we get sometimes wrong result where a jet passing systematic but failing nominal will not be tagged.

The proposed solution is:

  • Set MinPt in BTagging selection tools to 0 GeV. We rely on the OutOfValidityHelper to decorate jets not passing kinematic preselection -- this is systematics aware.
  • We continue storing FTAG decision nominal only, but there is no kinematic preselection included here.
  • Efficiency scale factor is set to -1 for jets which are out of kinematic range of validity
  • The per-event efficiency scale factor is a product of jets where the OutOfValidityHelper decoration is checked, to only include good jets.
  • The old ftag_kin_select_<btagger>_<WP> decorations used for kinematic preselection no longer exist. If users need to check the jet validity for calibrations manually, they should use the no_ftag_<btagger>_<WP> if they need to check whether jets are within the range of validity for b-tagging calibrations.
  • In the ConfigBlock interface, the selectionName no longer creates a selection with kinematic preselection, since kinematic preselections were entirely removed. The selectionName only acts as an alias to the working point specified by user, if provided, otherwise <btagger>_<WP> name is used for output variables by default.

Tagging @dguest @bdong @fdibello @tadej @krumnack @tstreble

Edited by Oliver Majersky

Merge request reports