CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Attributes | Private Attributes
JME::JetParameters Class Reference

#include <JetResolutionObject.h>

Public Types

typedef std::unordered_map< Binning, float > value_type
 

Public Member Functions

std::vector< float > createVector (const std::vector< Binning > &binning) const
 
std::vector< float > createVector (const std::vector< std::string > &binname) const
 
 JetParameters ()=default
 
 JetParameters (JetParameters &&rhs)
 
 JetParameters (std::initializer_list< typename value_type::value_type > init)
 
JetParametersset (const Binning &bin, float value)
 
JetParametersset (const typename value_type::value_type &value)
 
JetParameterssetJetArea (float area)
 
JetParameterssetJetE (float e)
 
JetParameterssetJetEta (float eta)
 
JetParameterssetJetPt (float pt)
 
JetParameterssetMu (float mu)
 
JetParameterssetNPV (float npv)
 
JetParameterssetRho (float rho)
 

Static Public Attributes

static const bimap< Binning, std::string > binning_to_string
 

Private Attributes

value_type m_values
 

Detailed Description

Definition at line 90 of file JetResolutionObject.h.

Member Typedef Documentation

◆ value_type

typedef std::unordered_map<Binning, float> JME::JetParameters::value_type

Definition at line 92 of file JetResolutionObject.h.

Constructor & Destructor Documentation

◆ JetParameters() [1/3]

JME::JetParameters::JetParameters ( )
default

◆ JetParameters() [2/3]

JME::JetParameters::JetParameters ( JetParameters &&  rhs)

Definition at line 56 of file JetResolutionObject.cc.

References m_values, and eostools::move().

56 { m_values = std::move(rhs.m_values); }
def move(src, dest)
Definition: eostools.py:511

◆ JetParameters() [3/3]

JME::JetParameters::JetParameters ( std::initializer_list< typename value_type::value_type >  init)

Definition at line 58 of file JetResolutionObject.cc.

References mps_fire::i.

58  {
59  for (auto& i : init) {
60  set(i.first, i.second);
61  }
62  }
Definition: init.py:1

Member Function Documentation

◆ createVector() [1/2]

std::vector< float > JME::JetParameters::createVector ( const std::vector< Binning > &  binning) const

Definition at line 116 of file JetResolutionObject.cc.

References newFWLiteAna::bin, pileupCalc::binning, binning_to_string, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, m_values, edm::errors::NotFound, JME::throwException(), and contentValuesCheck::values.

Referenced by JME::JetResolutionObject::evaluateFormula(), and JME::JetResolutionObject::getRecord().

116  {
117  std::vector<float> values;
118 
119  for (const auto& bin : binning) {
120  const auto& it = m_values.find(bin);
121  if (it == m_values.cend()) {
123  "JER parametrisation depends on '" + JetParameters::binning_to_string.left.at(bin) +
124  "' but no value for this parameter has been specified. Please call the appropriate 'set' "
125  "function of the JME::JetParameters object");
126  }
127 
128  values.push_back(it->second);
129  }
130 
131  return values;
132  }
void throwException(uint32_t code, const std::string &message)
static const bimap< Binning, std::string > binning_to_string

◆ createVector() [2/2]

std::vector< float > JME::JetParameters::createVector ( const std::vector< std::string > &  binname) const

Definition at line 134 of file JetResolutionObject.cc.

References binning_to_string, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, m_values, Skims_PA_cff::name, edm::errors::NotFound, JME::bimap< T, U >::right, JME::throwException(), and contentValuesCheck::values.

134  {
135  std::vector<float> values;
136 
137  for (const auto& name : binname) {
138  Binning bi = binning_to_string.right.find(name)->second;
139 
140  const auto& it = m_values.find(bi);
141  if (it == m_values.cend()) {
142  edm::LogPrint("JPM") << "Bin name " << name << " not found!";
144  "JER parametrisation depends on '" + JetParameters::binning_to_string.left.at(bi) +
145  "' but no value for this parameter has been specified. Please call the appropriate 'set' "
146  "function of the JME::JetParameters object");
147  }
148 
149  values.push_back(it->second);
150  }
151 
152  return values;
153  }
Log< level::Warning, true > LogPrint
right_type right
void throwException(uint32_t code, const std::string &message)
static const bimap< Binning, std::string > binning_to_string

◆ set() [1/2]

JetParameters & JME::JetParameters::set ( const Binning bin,
float  value 
)

Definition at line 100 of file JetResolutionObject.cc.

References newFWLiteAna::bin, JME::JetAbsEta, JME::JetEta, and m_values.

Referenced by JetResolutionDemo::analyze().

100  {
101  m_values.emplace(bin, value);
102 
103  // Special case for eta
104  if (bin == Binning::JetEta) {
105  m_values.emplace(Binning::JetAbsEta, fabs(value));
106  }
107 
108  return *this;
109  }
Definition: value.py:1

◆ set() [2/2]

JetParameters & JME::JetParameters::set ( const typename value_type::value_type &  value)

Definition at line 111 of file JetResolutionObject.cc.

111  {
112  set(value.first, value.second);
113  return *this;
114  }
Definition: value.py:1

◆ setJetArea()

JetParameters & JME::JetParameters::setJetArea ( float  area)

Definition at line 80 of file JetResolutionObject.cc.

References custom_jme_cff::area, JME::JetArea, and m_values.

80  {
82  return *this;
83  }

◆ setJetE()

JetParameters & JME::JetParameters::setJetE ( float  e)

◆ setJetEta()

JetParameters & JME::JetParameters::setJetEta ( float  eta)

◆ setJetPt()

JetParameters & JME::JetParameters::setJetPt ( float  pt)

◆ setMu()

JetParameters & JME::JetParameters::setMu ( float  mu)

◆ setNPV()

JetParameters & JME::JetParameters::setNPV ( float  npv)

Definition at line 90 of file JetResolutionObject.cc.

References m_values, and JME::NPV.

90  {
91  m_values[Binning::NPV] = npv;
92  return *this;
93  }

◆ setRho()

JetParameters & JME::JetParameters::setRho ( float  rho)

Member Data Documentation

◆ binning_to_string

const bimap< Binning, std::string > JME::JetParameters::binning_to_string
static
Initial value:
= {{Binning::JetPt, "JetPt"},
{Binning::JetEta, "JetEta"},
{Binning::JetAbsEta, "JetAbsEta"},
{Binning::JetE, "JetE"},
{Binning::JetArea, "JetArea"},
{Binning::Mu, "Mu"},
{Binning::Rho, "Rho"},
{Binning::NPV, "NPV"}}

Definition at line 108 of file JetResolutionObject.h.

Referenced by createVector(), and JME::JetResolutionObject::Definition::init().

◆ m_values

value_type JME::JetParameters::m_values
private