CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

Type1PFMET Class Reference

Computes the Type-1 corrections for pfMET. A specific version of the Type1MET class from the JetMETCorrections/Type1MET package. More...

#include <Type1PFMET.h>

Inheritance diagram for Type1PFMET:
edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Member Functions

virtual void produce (edm::Event &, const edm::EventSetup &)
 Type1PFMET ()
 Type1PFMET (const edm::ParameterSet &)
virtual ~Type1PFMET ()

Private Member Functions

void run (const reco::METCollection &uncorMET, const JetCorrector &corrector, const reco::PFJetCollection &uncorJet, double jetPTthreshold, double jetEMfracLimit, double jetMufracLimit, reco::METCollection *corMET)

Private Attributes

std::string correctorLabel
edm::InputTag inputUncorJetsTag
std::string inputUncorMetLabel
double jetEMfracLimit
double jetMufracLimit
double jetPTthreshold

Detailed Description

Computes the Type-1 corrections for pfMET. A specific version of the Type1MET class from the JetMETCorrections/Type1MET package.

Author:
Michal Bluj
Date:
February 2009

Definition at line 31 of file Type1PFMET.h.


Constructor & Destructor Documentation

Type1PFMET::Type1PFMET ( const edm::ParameterSet iConfig) [explicit]

Definition at line 14 of file Type1PFMET.cc.

References edm::ParameterSet::getParameter().

{
  inputUncorMetLabel  = iConfig.getParameter<std::string>("inputUncorMetLabel");
  inputUncorJetsTag = iConfig.getParameter<edm::InputTag>("inputUncorJetsTag");
  correctorLabel   = iConfig.getParameter<std::string>("corrector");
  jetPTthreshold      = iConfig.getParameter<double>("jetPTthreshold");
  jetEMfracLimit      = iConfig.getParameter<double>("jetEMfracLimit");
  jetMufracLimit      = iConfig.getParameter<double>("jetMufracLimit");
  produces<METCollection>();
}
Type1PFMET::Type1PFMET ( ) [explicit]

Definition at line 24 of file Type1PFMET.cc.

{}
Type1PFMET::~Type1PFMET ( ) [virtual]

Definition at line 27 of file Type1PFMET.cc.

{}

Member Function Documentation

void Type1PFMET::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [virtual]

Implements edm::EDProducer.

Definition at line 30 of file Type1PFMET.cc.

References edm::Event::getByLabel(), JetCorrector::getJetCorrector(), convertSQLitetoXML_cfg::output, edm::Event::put(), and DTTTrigCorrFirst::run.

{
  using namespace edm;
  Handle<PFJetCollection> inputUncorJets;
  iEvent.getByLabel( inputUncorJetsTag, inputUncorJets );
  const JetCorrector* corrector = JetCorrector::getJetCorrector (correctorLabel, iSetup);
  Handle<METCollection> inputUncorMet;                     //Define Inputs
  iEvent.getByLabel( inputUncorMetLabel,  inputUncorMet );     //Get Inputs
  std::auto_ptr<METCollection> output( new METCollection() );  //Create empty output
  run( *(inputUncorMet.product()), *corrector, *(inputUncorJets.product()), 
       jetPTthreshold, jetEMfracLimit, jetMufracLimit,
       &*output );                                         //Invoke the algorithm
  iEvent.put( output );                                        //Put output into Event
}
void Type1PFMET::run ( const reco::METCollection uncorMET,
const JetCorrector corrector,
const reco::PFJetCollection uncorJet,
double  jetPTthreshold,
double  jetEMfracLimit,
double  jetMufracLimit,
reco::METCollection corMET 
) [private]

Member Data Documentation

std::string Type1PFMET::correctorLabel [private]

Definition at line 41 of file Type1PFMET.h.

Definition at line 40 of file Type1PFMET.h.

std::string Type1PFMET::inputUncorMetLabel [private]

Definition at line 39 of file Type1PFMET.h.

double Type1PFMET::jetEMfracLimit [private]

Definition at line 43 of file Type1PFMET.h.

double Type1PFMET::jetMufracLimit [private]

Definition at line 44 of file Type1PFMET.h.

double Type1PFMET::jetPTthreshold [private]

Definition at line 42 of file Type1PFMET.h.