CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
L1OffsetCorrector Class Reference

#include <L1OffsetCorrector.h>

Inheritance diagram for L1OffsetCorrector:
JetCorrector

Public Member Functions

virtual double correction (const LorentzVector &fJet) const
 get correction using Jet information only More...
 
virtual double correction (const reco::Jet &fJet) const
 apply correction using Jet information only More...
 
virtual double correction (const reco::Jet &fJet, const edm::RefToBase< reco::Jet > &fJetRef, const edm::Event &fEvent, const edm::EventSetup &fSetup) const
 apply correction using all event information More...
 
virtual bool eventRequired () const
 if correction needs event information More...
 
 L1OffsetCorrector (const JetCorrectorParameters &fConfig, const edm::ParameterSet &fParameters)
 
virtual ~L1OffsetCorrector ()
 
- Public Member Functions inherited from JetCorrector
virtual double correction (const reco::Jet &fJet, const edm::RefToBase< reco::Jet > &fJetRef, const edm::Event &fEvent, const edm::EventSetup &fSetup, LorentzVector &corrected) const
 Apply vectorial correction using all event information. More...
 
 JetCorrector ()
 
virtual bool vectorialCorrection () const
 if correction needs event information More...
 
virtual ~JetCorrector ()
 

Private Attributes

FactorizedJetCorrectormCorrector
 
int mMinVtxNdof
 
std::string mVertexCollName
 

Additional Inherited Members

- Public Types inherited from JetCorrector
typedef
reco::Particle::LorentzVector 
LorentzVector
 
- Static Public Member Functions inherited from JetCorrector
static const JetCorrectorgetJetCorrector (const std::string &fName, const edm::EventSetup &fSetup)
 retrieve corrector from the event setup. troughs exception if something is missing More...
 

Detailed Description

Definition at line 17 of file L1OffsetCorrector.h.

Constructor & Destructor Documentation

L1OffsetCorrector::L1OffsetCorrector ( const JetCorrectorParameters fConfig,
const edm::ParameterSet fParameters 
)

Definition at line 22 of file L1OffsetCorrector.cc.

References JetCorrectorParameters::definitions(), edm::ParameterSet::getParameter(), and JetCorrectorParameters::Definitions::level().

23 {
24  mVertexCollName = fConfig.getParameter<std::string>("vertexCollection");
25  mMinVtxNdof = fConfig.getParameter<int>("minVtxNdof");
26  if (fParam.definitions().level() != "L1Offset")
27  throw cms::Exception("L1OffsetCorrector")<<" correction level: "<<fParam.definitions().level()<<" is not L1Offset";
28  vector<JetCorrectorParameters> vParam;
29  vParam.push_back(fParam);
30  mCorrector = new FactorizedJetCorrector(vParam);
31 }
std::string mVertexCollName
FactorizedJetCorrector * mCorrector
L1OffsetCorrector::~L1OffsetCorrector ( )
virtual

Definition at line 35 of file L1OffsetCorrector.cc.

36 {
37  delete mCorrector;
38 }
FactorizedJetCorrector * mCorrector

Member Function Documentation

double L1OffsetCorrector::correction ( const LorentzVector fJet) const
virtual

get correction using Jet information only

Implements JetCorrector.

Definition at line 42 of file L1OffsetCorrector.cc.

References edm::hlt::Exception.

43 {
44  throw cms::Exception("EventRequired")
45  <<"Wrong interface correction(LorentzVector), event required!";
46  return 1.0;
47 }
double L1OffsetCorrector::correction ( const reco::Jet fJet) const
virtual

apply correction using Jet information only

Implements JetCorrector.

Definition at line 51 of file L1OffsetCorrector.cc.

References edm::hlt::Exception.

52 {
53  throw cms::Exception("EventRequired")
54  <<"Wrong interface correction(reco::Jet), event required!";
55  return 1.0;
56 }
double L1OffsetCorrector::correction ( const reco::Jet fJet,
const edm::RefToBase< reco::Jet > &  fJetRef,
const edm::Event fEvent,
const edm::EventSetup fSetup 
) const
virtual

apply correction using all event information

Reimplemented from JetCorrector.

Definition at line 60 of file L1OffsetCorrector.cc.

References reco::LeafCandidate::energy(), reco::LeafCandidate::eta(), edm::Event::getByLabel(), and query::result.

64 {
65  double result = 1.;
67  fEvent.getByLabel(mVertexCollName,recVtxs);
68  int NPV(0);
69  for(unsigned int ind=0;ind<recVtxs->size();ind++) {
70  if (!((*recVtxs)[ind].isFake()) && (*recVtxs)[ind].ndof() > mMinVtxNdof) {
71  NPV++;
72  }
73  }
74  if (NPV > 0) {
75  mCorrector->setJetEta(fJet.eta());
76  mCorrector->setJetE(fJet.energy());
77  mCorrector->setNPV(NPV);
78  result = mCorrector->getCorrection();
79  }
80  return result;
81 }
virtual double eta() const
momentum pseudorapidity
virtual double energy() const
energy
tuple result
Definition: query.py:137
std::string mVertexCollName
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:359
FactorizedJetCorrector * mCorrector
virtual bool L1OffsetCorrector::eventRequired ( ) const
inlinevirtual

if correction needs event information

Implements JetCorrector.

Definition at line 39 of file L1OffsetCorrector.h.

39 {return true;}

Member Data Documentation

FactorizedJetCorrector* L1OffsetCorrector::mCorrector
private

Definition at line 45 of file L1OffsetCorrector.h.

int L1OffsetCorrector::mMinVtxNdof
private

Definition at line 44 of file L1OffsetCorrector.h.

std::string L1OffsetCorrector::mVertexCollName
private

Definition at line 43 of file L1OffsetCorrector.h.