Mēnsūra
|
A plugin that applies energy corrections to jets and propagates them into MET. More...
#include <JetMETUpdate.hpp>
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 Plugin * | Clone () 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. | |
![]() | |
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. | |
JetMETReader & | operator= (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. | |
![]() | |
ReaderPlugin (std::string const &name) | |
Constructor. | |
ReaderPlugin (ReaderPlugin const &)=default | |
Default copy constructor. | |
ReaderPlugin (ReaderPlugin &&)=default | |
Default move constructor. | |
ReaderPlugin & | operator= (ReaderPlugin const &)=default |
Default assignment operator. | |
virtual | ~ReaderPlugin () |
Trivial destructor. | |
![]() | |
Plugin (std::string const &name) | |
Constructor. | |
Plugin (Plugin const &)=default | |
Default copy constructor. | |
Plugin (Plugin &&)=default | |
Default move constructor. | |
Plugin & | operator= (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 | |
![]() | |
enum | EventOutcome { EventOutcome::Ok, EventOutcome::FilterFailed, EventOutcome::NoEvents } |
Outcome of processing of an event. More... | |
![]() | |
Plugin const * | GetDependencyPlugin (std::string const &name) const |
Returns a pointer to a precedent plugin in the path with the given name. More... | |
![]() | |
std::vector< Jet > | jets |
Collection of (corrected) jets in the current event. | |
MET | met |
Corrected MET in the current event. | |
MET | rawMET |
Raw MET in the current event. | |
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.
JetMETUpdate::JetMETUpdate | ( | std::string const | name = "JetMET" | ) |
Creates a plugin with the given name.
User is encouraged to keep the default name.
|
overridevirtual |
|
overridevirtual |
|
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.