Plugin to shift the jet energy scale and recalculate the MET accordingly. More...
Private Member Functions | |
void | produce (edm::Event &, const edm::EventSetup &) override |
rescale jet energy and recalculated MET More... | |
Private Attributes | |
edm::EDGetTokenT< std::vector< pat::Jet > > | inputJetsToken_ |
jet input collection More... | |
edm::EDGetTokenT< std::vector< pat::MET > > | inputMETsToken_ |
met input collection More... | |
double | jetEMLimitForMET_ |
limit on the emf of the jet for Type1 MET corrections More... | |
double | jetPTThresholdForMET_ |
threshold on (raw!) jet pt for Type1 MET corrections More... | |
std::string | outputJets_ |
jet output collection More... | |
std::string | outputMETs_ |
MET output collection. More... | |
double | scaleFactor_ |
scale factor for the rescaling More... | |
Additional Inherited Members | |
Public Types inherited from edm::EDProducer | |
typedef EDProducer | ModuleType |
Public Types inherited from edm::ProducerBase | |
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > > |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Static Public Member Functions inherited from edm::EDProducer | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
static bool | wantsGlobalLuminosityBlocks () |
static bool | wantsGlobalRuns () |
static bool | wantsInputProcessBlocks () |
static bool | wantsProcessBlocks () |
static bool | wantsStreamLuminosityBlocks () |
static bool | wantsStreamRuns () |
Protected Member Functions inherited from edm::ProducerBase | |
template<class ProductType > | |
BranchAliasSetterT< ProductType > | produces () |
declare what type of product will make and with which optional label More... | |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces () |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces () |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<BranchType B> | |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<Transition B> | |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<class ProductType > | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
ProducesCollector | producesCollector () |
Protected Member Functions inherited from edm::EDConsumerBase | |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
template<BranchType B = InEvent> | |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes () |
template<Transition Tr = Transition::Event> | |
constexpr auto | esConsumes () noexcept |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
template<Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag tag) noexcept |
template<Transition Tr = Transition::Event> | |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
Used with EventSetupRecord::doGet. More... | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
Plugin to shift the jet energy scale and recalculate the MET accordingly.
Plugin to shift the jet energy scale and recalculate the MET accordingly. The module mimics the assumption that the jet energy scale (JES) has been estimated wrong by a factor of scaleFactor, corresponding to a L2L3 corrected jet. The p4 of the patJet is beeing rescaled. All other patJet properties stay the same. The MET is recalculated taking the shifted JES into account for the Type1 MET correction. For the patMET the rescaled sumET and the p4 are stored. The different correction levels are lost for the new collection. The module has the following parameters:
inputJets : input collection for MET (expecting patMET). inputMETs : input collection for jets (expecting patJets). scaleFactor : scale factor to which to shift the JES. jetPTThresholdForMET : pt threshold for (uncorrected!) jets considered for Type1 MET corrections. jetEMLimitForMET : limit in em fraction for Type1 MET correction.
For expected parameters for jetPTThresholdForMET and jetEMLimitForMET have a look at: JetMETCorrections/Type1MET/python/MetType1Corrections_cff.py. Two output collections are written to file with instance label corresponding to the input label of the jet and met input collections.
Definition at line 34 of file JetEnergyShift.cc.
|
explicit |
default constructor
Definition at line 62 of file JetEnergyShift.cc.
References looper::cfg, label, outputJets_, and outputMETs_.
|
inlineoverride |
|
overrideprivatevirtual |
rescale jet energy and recalculated MET
Implements edm::EDProducer.
Definition at line 76 of file JetEnergyShift.cc.
References reco::LeafCandidate::et(), inputJetsToken_, inputMETsToken_, metsig::jet, jetEMLimitForMET_, jetPTThresholdForMET_, singleTopDQM_cfi::jets, BTaggingMonitor_cfi::met, singleTopDQM_cfi::mets, eostools::move(), outputJets_, outputMETs_, reco::LeafCandidate::px(), reco::LeafCandidate::py(), pat::Jet::scaleEnergy(), scaleFactor_, and mathSSE::sqrt().
|
private |
|
private |
|
private |
limit on the emf of the jet for Type1 MET corrections
Definition at line 59 of file JetEnergyShift.cc.
Referenced by produce().
|
private |
threshold on (raw!) jet pt for Type1 MET corrections
Definition at line 57 of file JetEnergyShift.cc.
Referenced by produce().
|
private |
jet output collection
Definition at line 51 of file JetEnergyShift.cc.
Referenced by JetEnergyShift(), and produce().
|
private |
MET output collection.
Definition at line 53 of file JetEnergyShift.cc.
Referenced by JetEnergyShift(), and produce().
|
private |
scale factor for the rescaling
Definition at line 55 of file JetEnergyShift.cc.
Referenced by produce().