DESY Hbb Analysis Framework
Public Member Functions | Private Attributes | List of all members
JME::JetResolutionScaleFactor Class Reference

#include <JetResolution.h>

Public Member Functions

void dump () const
 
const JetResolutionObjectgetResolutionObject () const
 
float getScaleFactor (const JetParameters &parameters, Variation variation=Variation::NOMINAL, std::string uncertaintySource="") const
 
 JetResolutionScaleFactor (const std::string &filename)
 
 JetResolutionScaleFactor (const JetResolutionObject &object)
 
 JetResolutionScaleFactor ()
 

Private Attributes

std::shared_ptr< JetResolutionObjectm_object
 

Detailed Description

Definition at line 36 of file JetResolution.h.

Constructor & Destructor Documentation

JME::JetResolutionScaleFactor::JetResolutionScaleFactor ( const std::string &  filename)

Definition at line 27 of file JetResolution.cc.

References JME::JetResolution::m_object.

27  {
28  m_object = std::make_shared<JetResolutionObject>(filename);
29  }
std::shared_ptr< JetResolutionObject > m_object
Definition: JetResolution.h:58
JME::JetResolutionScaleFactor::JetResolutionScaleFactor ( const JetResolutionObject object)

Definition at line 31 of file JetResolution.cc.

References JME::JetResolution::m_object.

31  {
32  m_object = std::make_shared<JetResolutionObject>(object);
33  }
std::shared_ptr< JetResolutionObject > m_object
Definition: JetResolution.h:58
JME::JetResolutionScaleFactor::JetResolutionScaleFactor ( )
inline

Definition at line 40 of file JetResolution.h.

References NOMINAL.

40  {
41  // Empty
42  }

Member Function Documentation

void JME::JetResolutionScaleFactor::dump ( ) const
inline

Definition at line 48 of file JetResolution.h.

References JME::JetResolution::m_object.

48  {
49  m_object->dump();
50  }
std::shared_ptr< JetResolutionObject > m_object
Definition: JetResolution.h:58
const JetResolutionObject* JME::JetResolutionScaleFactor::getResolutionObject ( ) const
inline

Definition at line 53 of file JetResolution.h.

References JME::JetResolution::m_object.

53  {
54  return m_object.get();
55  }
std::shared_ptr< JetResolutionObject > m_object
Definition: JetResolution.h:58
float JME::JetResolutionScaleFactor::getScaleFactor ( const JetParameters parameters,
Variation  variation = Variation::NOMINAL,
std::string  uncertaintySource = "" 
) const

Definition at line 35 of file JetResolution.cc.

References DOWN, JME::JetResolutionObject::Record::getParametersValues(), JME::JetResolution::m_object, and UP.

Referenced by analysis::tools::Jet::jerSF(), analysis::tools::Jet::jerSFdown(), analysis::tools::Jet::jerSFup(), and analysis::ntuple::Candidates< T >::Kinematics().

37  {
38  const JetResolutionObject::Record* record = m_object->getRecord(parameters);
39  if (! record)
40  return 1;
41 
42  const std::vector<float>& parameters_values = record->getParametersValues();
43  const std::vector<std::string>& parameter_names = m_object->getDefinition().getParametersName();
44  size_t parameter = static_cast<size_t>(variation);
45  if (!uncertaintySource.empty()) {
46  if (variation == Variation::DOWN)
47  parameter = std::distance(parameter_names.begin(),
48  std::find(parameter_names.begin(), parameter_names.end(), uncertaintySource + "Down"));
49  else if (variation == Variation::UP)
50  parameter = std::distance(parameter_names.begin(),
51  std::find(parameter_names.begin(), parameter_names.end(), uncertaintySource + "Up"));
52  if (parameter >= parameter_names.size()) {
53  std::string s;
54  for (const auto& piece : parameter_names)
55  s += piece + " ";
56  // Replacing the throw cms::Exception below
57  std::cerr << "ERROR in JetResolution: "
58  << "Invalid value for 'uncertaintySource' parameter. Only " + s + " are supported.\n" ;
59  throw std::exception();
60 // throw cms::Exception("InvalidParameter") << "Invalid value for 'uncertaintySource' parameter. Only " + s + " are supported.\n";
61  }
62  }
63  return parameters_values[parameter];
64  }
std::shared_ptr< JetResolutionObject > m_object
Definition: JetResolution.h:58

Member Data Documentation

std::shared_ptr<JetResolutionObject> JME::JetResolutionScaleFactor::m_object
private

Definition at line 58 of file JetResolution.h.


The documentation for this class was generated from the following files: