CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes | Friends
JME::JetResolutionObject::Record Class Reference

#include <JetResolutionObject.h>

Public Member Functions

const std::vector< Range > & getBinsRange () const
 
const std::vector< float > & getParametersValues () const
 
const std::vector< Range > & getVariablesRange () const
 
size_t nParameters () const
 
size_t nVariables () const
 
 Record ()
 
 Record (const std::string &record, const Definition &def)
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

std::vector< Rangem_bins_range
 
std::vector< float > m_parameters_values
 
std::vector< Rangem_variables_range
 

Friends

class boost::serialization::access
 
template<typename CondSerializationT , typename Enabled >
struct cond::serialization::access
 

Detailed Description

Definition at line 225 of file JetResolutionObject.h.

Constructor & Destructor Documentation

JME::JetResolutionObject::Record::Record ( )
inline

Definition at line 227 of file JetResolutionObject.h.

References def, record, and AlCaHLTBitMon_QueryRunRegistry::string.

227  {
228  // Empty
229  }
JME::JetResolutionObject::Record::Record ( const std::string &  record,
const Definition def 
)

Definition at line 219 of file JetResolutionObject.cc.

References edm::errors::ConfigFileReadError, mps_fire::i, JME::JetResolutionObject::Definition::nBins(), JME::JetResolutionObject::Definition::nVariables(), alignCSCRings::r, and JME::throwException().

219  {
220 
221  std::vector<std::string> tokens = getTokens(line);
222 
223  if (tokens.size() < (def.nBins() * 2 + def.nVariables() * 2 + 1)) {
224  throwException(edm::errors::ConfigFileReadError, "Invalid record. Please check file format. Record: " + line);
225  }
226 
227  size_t pos = 0;
228 
229  for (size_t i = 0; i < def.nBins(); i++) {
230  Range r(std::stof(tokens[pos]), std::stof(tokens[pos + 1]));
231  pos += 2;
232  m_bins_range.push_back(r);
233  }
234 
235  size_t n_parameters = std::stoul(tokens[pos++]);
236 
237  if (tokens.size() < (def.nBins() * 2 + def.nVariables() * 2 + 1 + (n_parameters - def.nVariables() * 2))) {
238  throwException(edm::errors::ConfigFileReadError, "Invalid record. Please check file format. Record: " + line);
239  }
240 
241  for (size_t i = 0; i < def.nVariables(); i++) {
242  Range r(std::stof(tokens[pos]), std::stof(tokens[pos + 1]));
243  pos += 2;
244  m_variables_range.push_back(r);
245  n_parameters -= 2;
246  }
247 
248  for (size_t i = 0; i < n_parameters; i++) {
249  m_parameters_values.push_back(std::stof(tokens[pos++]));
250  }
251  }
PixelRecoRange< float > Range
std::vector< float > m_parameters_values
JetCorrectorParameters::Definitions def
Definition: classes.h:6
void throwException(uint32_t code, const std::string &message)

Member Function Documentation

const std::vector<Range>& JME::JetResolutionObject::Record::getBinsRange ( ) const
inline

Definition at line 233 of file JetResolutionObject.h.

233  {
234  return m_bins_range;
235  }
const std::vector<float>& JME::JetResolutionObject::Record::getParametersValues ( ) const
inline
const std::vector<Range>& JME::JetResolutionObject::Record::getVariablesRange ( ) const
inline

Definition at line 237 of file JetResolutionObject.h.

Referenced by JME::JetResolutionObject::evaluateFormula().

237  {
238  return m_variables_range;
239  }
size_t JME::JetResolutionObject::Record::nParameters ( ) const
inline

Definition at line 249 of file JetResolutionObject.h.

249  {
250  return m_parameters_values.size();
251  }
std::vector< float > m_parameters_values
size_t JME::JetResolutionObject::Record::nVariables ( ) const
inline

Definition at line 245 of file JetResolutionObject.h.

245  {
246  return m_variables_range.size();
247  }
template<class Archive >
void JME::JetResolutionObject::Record::serialize ( Archive &  ar,
const unsigned int  version 
)
private

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Definition at line 258 of file JetResolutionObject.h.

template<typename CondSerializationT , typename Enabled >
friend struct cond::serialization::access
friend

Definition at line 258 of file JetResolutionObject.h.

Member Data Documentation

std::vector<Range> JME::JetResolutionObject::Record::m_bins_range
private

Definition at line 254 of file JetResolutionObject.h.

std::vector<float> JME::JetResolutionObject::Record::m_parameters_values
private

Definition at line 256 of file JetResolutionObject.h.

std::vector<Range> JME::JetResolutionObject::Record::m_variables_range
private

Definition at line 255 of file JetResolutionObject.h.