DESY Hbb Analysis Framework
Public Member Functions | Private Attributes | List of all members
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 Attributes

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

Detailed Description

Definition at line 209 of file JetResolutionObject.h.

Constructor & Destructor Documentation

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

Definition at line 211 of file JetResolutionObject.h.

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

Definition at line 205 of file JetResolutionObject.cc.

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

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

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

Definition at line 221 of file JetResolutionObject.h.

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

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

Definition at line 233 of file JetResolutionObject.h.

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

Definition at line 229 of file JetResolutionObject.h.

229  {
230  return m_variables_range.size();
231  }

Member Data Documentation

JME::JetResolutionObject::Record::COND_SERIALIZABLE
private

Definition at line 242 of file JetResolutionObject.h.

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

Definition at line 238 of file JetResolutionObject.h.

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

Definition at line 240 of file JetResolutionObject.h.

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

Definition at line 239 of file JetResolutionObject.h.


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