Skip to content

CPAlgorithms: add new algorithm to run KLFitter reconstruction

Baptiste Ravina requested to merge ravinab/athena:klfitter into main

This MR migrates the algorithms related to event reconstruction with the KLFitter technique from TopCPToolkit. The code lives in a new package, KLFitterAnalysisAlgorithms, and a new namespace, EventReco::.

The outputs have been validated, but the following remains to be done before the MR can be undrafted:

  • add to ComponentPreloader
  • get rid of Tokenize.h and use boost or pythonic string manipulation instead
  • use Gaudi::Property in the algorithm implementation
  • set up the tools from the python interface
  • update the config block options
  • clean up comments

Users can run a number of reconstruction scenarios involving top quarks and weak bosons. The structure allows for more topologies to be implemented.

Example YAML config:

KLFitter:
  - containerName: 'KLFitterResult'
    electrons: 'AnaElectrons.tight'
    muons: 'AnaMuons.tight'
    jets: 'AnaJets.baselineJvt'
    met: 'AnaMET'
    likelihoodType: 'ttbar'
    jetSelectionMode: 'kBtagPriorityFourJets'
    btaggingMethod: 'kVetoBoth'
    btagger: 'GN2v01'
    btagWP: 'FixedCutBEff_77'
    selectionRegionsConfig: 'selectionName:pass_ejets, leptonType: kElectron;selectionName:pass_mujets, leptonType: kMuon

Note that this creates a new container holding the results of the kinematic likelihood fit. It needs to be added to the ntupling step with e.g.:

Output:
  containers:
    klfitter_: 'KLFitterResult'
Edited by Baptiste Ravina

Merge request reports

Loading