FactorizedJetCorrector#

class coffea.jetmet_tools.FactorizedJetCorrector(**kwargs)[source]#

Bases: object

This class is a columnar implementation of the FactorizedJetCorrector tool in CMSSW and FWLite. It applies a series of JECs in ascending order as defined by ‘_level_order’, and checks for the consistency of input corrections.

It implements the jet energy correction definition specified in the JEC TWiki.

You can use this class as follows:

fjc = FactorizedJetCorrector(name1=corrL1,...)
jetCorrs = fjc.getCorrection(JetParameter1=jet.parameter1,...)

in which jetCorrs are the corrected jet scaled factors, with the same shape as the input parameters. In order to see what parameters must be passed to getCorrection(), one can do fjc.signature.

You construct a FactorizedJetCorrector by passing in a dict of names and functions. Names must be formatted as ‘<campaign>_<dataera>_<datatype>_<level>_<jettype>’. You can use coffea.lookup_tools’ extractor and evaluator to get the functions from some input files.

Attributes Summary

signature

list the necessary jet properties that must be input to this function

Methods Summary

getCorrection(**kwargs)

Returns the set of corrections for all input jets at the highest available level

getSubCorrections(**kwargs)

Returns the set of corrections for all input jets broken down by level

Attributes Documentation

signature#

list the necessary jet properties that must be input to this function

Methods Documentation

getCorrection(**kwargs)[source]#

Returns the set of corrections for all input jets at the highest available level

Use it like:

jecs = corrector.getCorrection(JetProperty1=jet.property1,...)
getSubCorrections(**kwargs)[source]#

Returns the set of corrections for all input jets broken down by level

Use it like:

jecs = corrector.getSubCorrections(JetProperty1=jet.property1,...)
#'jecs' will be formatted like [[jec_jet1 jec_jet2 ...] ...]