Mēnsūra
Public Member Functions | List of all members
JetMETUpdate Class Reference

A plugin that applies energy corrections to jets and propagates them into MET. More...

#include <JetMETUpdate.hpp>

Inheritance diagram for JetMETUpdate:
JetMETReader ReaderPlugin Plugin

Public Member Functions

 JetMETUpdate (std::string const name="JetMET")
 Creates a plugin with the given name. More...
 
virtual void BeginRun (Dataset const &) override
 Saves pointeres to all dependencies. More...
 
virtual PluginClone () const override
 Creates a newly configured clone. More...
 
virtual double GetJetRadius () const override
 Returns jet radius from the source JetMETReader. More...
 
void SetJetCorrection (std::string const &jetCorrServiceName)
 Sets corrector for jets. More...
 
void SetJetCorrectionForMET (std::string const &fullNew, std::string const &l1New, std::string const &fullOrig, std::string const &l1Orig)
 Sets jets correctors to be used to evaluate T1 MET corrections. More...
 
void SetSelection (double minPt, double maxAbsEta)
 Specifies desired selection on jets.
 
void UseRawMET (bool set=true)
 Instructs to use raw MET for computation instead of the default one.
 
- Public Member Functions inherited from JetMETReader
 JetMETReader (std::string const name="JetMET")
 Creates plugin with the given name. More...
 
 JetMETReader (JetMETReader const &)=default
 Default copy constructor.
 
 JetMETReader (JetMETReader &&)=default
 Default move constructor.
 
JetMETReaderoperator= (JetMETReader const &)=default
 Default assignment operator.
 
virtual ~JetMETReader () noexcept
 Trivial destructor.
 
std::vector< Jet > const & GetJets () const
 Returns collection of corrected jets in the current event.
 
MET const & GetMET () const
 Returns corrected MET in the current event.
 
MET const & GetRawMET () const
 Returns raw MET in the current event.
 
- Public Member Functions inherited from ReaderPlugin
 ReaderPlugin (std::string const &name)
 Constructor.
 
 ReaderPlugin (ReaderPlugin const &)=default
 Default copy constructor.
 
 ReaderPlugin (ReaderPlugin &&)=default
 Default move constructor.
 
ReaderPluginoperator= (ReaderPlugin const &)=default
 Default assignment operator.
 
virtual ~ReaderPlugin ()
 Trivial destructor.
 
- Public Member Functions inherited from Plugin
 Plugin (std::string const &name)
 Constructor.
 
 Plugin (Plugin const &)=default
 Default copy constructor.
 
 Plugin (Plugin &&)=default
 Default move constructor.
 
Pluginoperator= (Plugin const &)=default
 Default assignment operator.
 
virtual ~Plugin ()
 Trivial destructor.
 
virtual void EndRun ()
 Performs necessary actions needed after processing of a dataset is finished. More...
 
Processor const & GetMaster () const
 Returns a reference to the master. More...
 
std::string const & GetName () const
 Returns name of the plugin.
 
EventOutcome ProcessEventToOutcome ()
 Processes a new event from the current dataset. More...
 
void SetMaster (Processor const *processor)
 Provides a pointer to an instance of Processor class that owns the plugin. More...
 

Additional Inherited Members

- Public Types inherited from Plugin
enum  EventOutcome { EventOutcome::Ok, EventOutcome::FilterFailed, EventOutcome::NoEvents }
 Outcome of processing of an event. More...
 
- Protected Member Functions inherited from Plugin
Plugin const * GetDependencyPlugin (std::string const &name) const
 Returns a pointer to a precedent plugin in the path with the given name. More...
 
- Protected Attributes inherited from JetMETReader
std::vector< Jetjets
 Collection of (corrected) jets in the current event.
 
MET met
 Corrected MET in the current event.
 
MET rawMET
 Raw MET in the current event.
 

Detailed Description

A plugin that applies energy corrections to jets and propagates them into MET.

This plugin reads jets and MET provided by a JetMETReader with a default name "OrigJetMET" and reapplies jet corrections, propagating them also into MET.

T1 MET corrections are evaluated approximately. The plugin starts from the provided MET (with outdated corrections applied), undoes T1 corrections using only jets available from the source JetMETReader (thus, they are usually cleaned against leptons and have physics ID applied) that are additionally required to pass a selection on recorrected transverse momentum (by default, pt > 15 GeV), and applies new T1 corrections computed with the same jets. If soft jets are not saved in input files and thus are not available through the source JetMETReader, they will contrubute to T1 MET corrections as they were at the time of computation of the original MET, i.e. with outdated corrections. If stochastic JER corrections have been used in computation of MET, they can only be undone on the average due to their random nature.

Because old T1 corrections are undone, the source MET can have any additive corrections applied. They will be preserved by this plugin.

Alternatively, it is also possible to start computation from the raw MET rather than default one. In this case T1 corrections can be applied directly, but any additional corrections will be lost.

If a SystService with a non-trivial name is provided (by default, the plugin looks for a service with name "Systematics"), plugin checks the requested systematics and applies variations in JEC or JER as needed. However, systematic variations are never applied to jets with L1 corrections that are used in T1 MET corrections.

Constructor & Destructor Documentation

JetMETUpdate::JetMETUpdate ( std::string const  name = "JetMET")

Creates a plugin with the given name.

User is encouraged to keep the default name.

Member Function Documentation

void JetMETUpdate::BeginRun ( Dataset const &  )
overridevirtual

Saves pointeres to all dependencies.

Reimplemented from Plugin.

Reimplemented from Plugin.

Plugin * JetMETUpdate::Clone ( ) const
overridevirtual

Creates a newly configured clone.

Implemented from Plugin.

Implements Plugin.

double JetMETUpdate::GetJetRadius ( ) const
overridevirtual

Returns jet radius from the source JetMETReader.

Implemented from JetMETReader.

Implements JetMETReader.

void JetMETUpdate::SetJetCorrection ( std::string const &  jetCorrServiceName)

Sets corrector for jets.

Jets read from the source JetMETReader will be corrected using provided JetCorrectorService. If an empty string is given, jet momenta will be copied without modifications.

void JetMETUpdate::SetJetCorrectionForMET ( std::string const &  fullNew,
std::string const &  l1New,
std::string const &  fullOrig,
std::string const &  l1Orig 
)

Sets jets correctors to be used to evaluate T1 MET corrections.

Arguments are names of instances of JetCorrectorService that evaluate full and L1-only corrections to be applied to compute T1 MET corrections. In addition, corrections used in the original MET can be provided to undo outdated T1 corrections. The "full" corrections to be applied are not necessarily the same as given to method SetJetCorrection.

For any correction level, empty strings can be given as names of the two corresponding correctors. In this case the corresponding corrections are not applied. This is useful, for instance, when L1-only corrections have not changed, and thus there is no need to evaluate them explicitly since their contributions to MET would cancel out.

When computation starts from raw MET (as requested with UseRawMET), it is technically possible to "undo" MET corrections corresponding to provided original corrections, but this does not make sense.


The documentation for this class was generated from the following files: