Plugin to shift the jet energy scale and recalculate the MET accordingly. More...
Public Member Functions | |
JetEnergyShift (const edm::ParameterSet &) | |
default constructor More... | |
~JetEnergyShift () | |
default destructor More... | |
Public Member Functions inherited from edm::EDProducer | |
EDProducer () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDProducer () |
Public Member Functions inherited from edm::ProducerBase | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
ProducerBase () | |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
void | resolvePutIndicies (BranchType iBranchType, std::unordered_multimap< std::string, edm::ProductResolverIndex > const &iIndicies, std::string const &moduleLabel) |
virtual | ~ProducerBase () noexcept(false) |
Public Member Functions inherited from edm::EDConsumerBase | |
std::vector< ConsumesInfo > | consumesInfo () const |
void | convertCurrentProcessAlias (std::string const &processName) |
Convert "@currentProcess" in InputTag process names to the actual current process name. More... | |
EDConsumerBase () | |
EDConsumerBase (EDConsumerBase const &)=delete | |
EDConsumerBase (EDConsumerBase &&)=default | |
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
virtual | ~EDConsumerBase () noexcept(false) |
Private Member Functions | |
virtual 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 | |
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) |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
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 ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, 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 64 of file JetEnergyShift.cc.
References edm::ParameterSet::getParameter(), diffTwoXMLs::label, outputJets_, and outputMETs_.
|
inline |
|
overrideprivatevirtual |
rescale jet energy and recalculated MET
Definition at line 80 of file JetEnergyShift.cc.
References DEFINE_FWK_MODULE, reco::LeafCandidate::et(), inputJetsToken_, inputMETsToken_, metsig::jet, jetEMLimitForMET_, jetPTThresholdForMET_, fwrapper::jets, RazorAnalyzer::met, TtSemiLepSignalSelMVAComputer_cfi::mets, eostools::move(), outputJets_, outputMETs_, reco::LeafCandidate::px(), reco::LeafCandidate::py(), reco::Jet::scaleEnergy(), scaleFactor_, mathSSE::sqrt(), and reco::MET::sumEt().
Referenced by ~JetEnergyShift().
|
private |
|
private |
|
private |
limit on the emf of the jet for Type1 MET corrections
Definition at line 60 of file JetEnergyShift.cc.
Referenced by produce().
|
private |
threshold on (raw!) jet pt for Type1 MET corrections
Definition at line 58 of file JetEnergyShift.cc.
Referenced by produce().
|
private |
jet output collection
Definition at line 52 of file JetEnergyShift.cc.
Referenced by JetEnergyShift(), and produce().
|
private |
MET output collection.
Definition at line 54 of file JetEnergyShift.cc.
Referenced by JetEnergyShift(), and produce().
|
private |
scale factor for the rescaling
Definition at line 56 of file JetEnergyShift.cc.
Referenced by produce().