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 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 208 of file JetResolutionObject.h.

Constructor & Destructor Documentation

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

Definition at line 210 of file JetResolutionObject.h.

210  {
211  // Empty
212  }
JME::JetResolutionObject::Record::Record ( const std::string &  record,
const Definition def 
)

Definition at line 199 of file JetResolutionObject.cc.

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

199  {
200 
201  std::vector<std::string> tokens = getTokens(line);
202 
203  if (tokens.size() < (def.nBins() * 2 + def.nVariables() * 2 + 1)) {
204  throwException(edm::errors::ConfigFileReadError, "Invalid record. Please check file format. Record: " + line);
205  }
206 
207  size_t pos = 0;
208 
209  for (size_t i = 0; i < def.nBins(); i++) {
210  Range r(std::stof(tokens[pos]), std::stof(tokens[pos + 1]));
211  pos += 2;
212  m_bins_range.push_back(r);
213  }
214 
215  size_t n_parameters = std::stoul(tokens[pos++]);
216 
217  if (tokens.size() < (def.nBins() * 2 + def.nVariables() * 2 + 1 + (n_parameters - def.nVariables() * 2))) {
218  throwException(edm::errors::ConfigFileReadError, "Invalid record. Please check file format. Record: " + line);
219  }
220 
221  for (size_t i = 0; i < def.nVariables(); i++) {
222  Range r(std::stof(tokens[pos]), std::stof(tokens[pos + 1]));
223  pos += 2;
224  m_variables_range.push_back(r);
225  n_parameters -= 2;
226  }
227 
228  for (size_t i = 0; i < n_parameters; i++) {
229  m_parameters_values.push_back(std::stof(tokens[pos++]));
230  }
231  }
int i
Definition: DBlmapReader.cc:9
std::vector< float > m_parameters_values
PixelRecoRange< float > Range
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 216 of file JetResolutionObject.h.

References m_bins_range.

216  {
217  return m_bins_range;
218  }
const std::vector<float>& JME::JetResolutionObject::Record::getParametersValues ( ) const
inline
const std::vector<Range>& JME::JetResolutionObject::Record::getVariablesRange ( ) const
inline

Definition at line 220 of file JetResolutionObject.h.

References m_variables_range.

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

220  {
221  return m_variables_range;
222  }
size_t JME::JetResolutionObject::Record::nParameters ( ) const
inline

Definition at line 232 of file JetResolutionObject.h.

References m_parameters_values.

232  {
233  return m_parameters_values.size();
234  }
std::vector< float > m_parameters_values
size_t JME::JetResolutionObject::Record::nVariables ( ) const
inline

Definition at line 228 of file JetResolutionObject.h.

References m_variables_range.

228  {
229  return m_variables_range.size();
230  }
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 241 of file JetResolutionObject.h.

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

Definition at line 241 of file JetResolutionObject.h.

Member Data Documentation

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

Definition at line 237 of file JetResolutionObject.h.

Referenced by getBinsRange().

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

Definition at line 239 of file JetResolutionObject.h.

Referenced by getParametersValues(), and nParameters().

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

Definition at line 238 of file JetResolutionObject.h.

Referenced by getVariablesRange(), and nVariables().