CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Friends
BTagCalibration Class Reference

#include <BTagCalibration.h>

Public Member Functions

void addEntry (const BTagEntry &entry)
 
 BTagCalibration ()
 
 BTagCalibration (const std::string &tagger)
 
 BTagCalibration (const std::string &tagger, const std::string &filename)
 
const std::vector< BTagEntry > & getEntries (const BTagEntry::Parameters &par) const
 
void makeCSV (std::ostream &s) const
 
std::string makeCSV () const
 
void readCSV (std::istream &s)
 
void readCSV (const std::string &s)
 
std::string tagger () const
 
 ~BTagCalibration ()
 

Static Protected Member Functions

static std::string token (const BTagEntry::Parameters &par)
 

Protected Attributes

std::map< std::string,
std::vector< BTagEntry > > 
data_
 
std::string tagger_
 

Private Member Functions

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

Friends

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

Detailed Description

BTagCalibration

The 'hierarchy' of stored information is this:

Definition at line 27 of file BTagCalibration.h.

Constructor & Destructor Documentation

BTagCalibration::BTagCalibration ( )
inline

Definition at line 30 of file BTagCalibration.h.

30 {}
BTagCalibration::BTagCalibration ( const std::string &  tagger)

Definition at line 8 of file BTagCalibration.cc.

8  :
9  tagger_(taggr)
10 {}
std::string tagger_
BTagCalibration::BTagCalibration ( const std::string &  tagger,
const std::string &  filename 
)

Definition at line 12 of file BTagCalibration.cc.

References readCSV().

13  :
14  tagger_(taggr)
15 {
16  std::ifstream ifs(filename);
17  readCSV(ifs);
18  ifs.close();
19 }
void readCSV(std::istream &s)
tuple filename
Definition: lut2db_cfg.py:20
std::string tagger_
BTagCalibration::~BTagCalibration ( )
inline

Definition at line 33 of file BTagCalibration.h.

33 {}

Member Function Documentation

void BTagCalibration::addEntry ( const BTagEntry entry)

Definition at line 21 of file BTagCalibration.cc.

References data_, BTagEntry::params, and token().

Referenced by readCSV().

22 {
23  data_[token(entry.params)].push_back(entry);
24 }
Parameters params
Definition: BTagEntry.h:79
static std::string token(const BTagEntry::Parameters &par)
std::map< std::string, std::vector< BTagEntry > > data_
const std::vector< BTagEntry > & BTagCalibration::getEntries ( const BTagEntry::Parameters par) const

Definition at line 26 of file BTagCalibration.cc.

References data_, Exception, AlCaHLTBitMon_QueryRunRegistry::string, results_mgr::tok, and token().

Referenced by BTagCalibrationReader::setupTmpData().

28 {
29  std::string tok = token(par);
30  if (!data_.count(tok)) {
31  throw cms::Exception("BTagCalibration")
32  << "(OperatingPoint, measurementType, sysType) not available: "
33  << tok;
34  }
35  return data_.at(tok);
36 }
static std::string token(const BTagEntry::Parameters &par)
std::map< std::string, std::vector< BTagEntry > > data_
void BTagCalibration::makeCSV ( std::ostream &  s) const

Definition at line 63 of file BTagCalibration.cc.

References data_, i, j, BTagEntry::makeCSVHeader(), python.multivaluedict::map(), AlCaHLTBitMon_QueryRunRegistry::string, and tagger_.

64 {
65  s << tagger_ << ";" << BTagEntry::makeCSVHeader();
66  for (std::map<std::string, std::vector<BTagEntry> >::const_iterator i
67  = data_.cbegin(); i != data_.cend(); ++i) {
68  const std::vector<BTagEntry> &vec = i->second;
69  for (std::vector<BTagEntry>::const_iterator j
70  = vec.cbegin(); j != vec.cend(); ++j) {
71  s << j->makeCSVLine();
72  }
73  }
74 }
int i
Definition: DBlmapReader.cc:9
static std::string makeCSVHeader()
Definition: BTagEntry.cc:218
int j
Definition: DBlmapReader.cc:9
std::string tagger_
std::map< std::string, std::vector< BTagEntry > > data_
std::string BTagCalibration::makeCSV ( ) const

Definition at line 76 of file BTagCalibration.cc.

77 {
78  std::stringstream buff;
79  makeCSV(buff);
80  return buff.str();
81 }
std::string makeCSV() const
void BTagCalibration::readCSV ( std::istream &  s)

Definition at line 44 of file BTagCalibration.cc.

References addEntry(), geometryCSVtoXML::line, AlCaHLTBitMon_QueryRunRegistry::string, and BTagEntry::trimStr().

Referenced by BTagCalibration().

45 {
47 
48  // firstline might be the header
49  getline(s,line);
50  if (line.find("OperatingPoint") == std::string::npos) {
51  addEntry(BTagEntry(line));
52  }
53 
54  while (getline(s,line)) {
55  line = BTagEntry::trimStr(line);
56  if (line.empty()) { // skip empty lines
57  continue;
58  }
59  addEntry(BTagEntry(line));
60  }
61 }
static std::string trimStr(std::string str)
Definition: BTagEntry.cc:251
void addEntry(const BTagEntry &entry)
void BTagCalibration::readCSV ( const std::string &  s)

Definition at line 38 of file BTagCalibration.cc.

References readCSV().

Referenced by readCSV().

39 {
40  std::stringstream buff(s);
41  readCSV(buff);
42 }
void readCSV(std::istream &s)
template<class Archive >
void BTagCalibration::serialize ( Archive &  ar,
const unsigned int  version 
)
private
std::string BTagCalibration::tagger ( ) const
inline

Definition at line 35 of file BTagCalibration.h.

References tagger_.

35 {return tagger_;}
std::string tagger_
std::string BTagCalibration::token ( const BTagEntry::Parameters par)
staticprotected

Definition at line 83 of file BTagCalibration.cc.

References BTagEntry::Parameters::measurementType, BTagEntry::Parameters::operatingPoint, and BTagEntry::Parameters::sysType.

Referenced by addEntry(), and getEntries().

84 {
85  std::stringstream buff;
86  buff << par.operatingPoint << ", "
87  << par.measurementType << ", "
88  << par.sysType;
89  return buff.str();
90 }
std::string sysType
Definition: BTagEntry.h:41
OperatingPoint operatingPoint
Definition: BTagEntry.h:39
std::string measurementType
Definition: BTagEntry.h:40

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Definition at line 51 of file BTagCalibration.h.

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

Definition at line 51 of file BTagCalibration.h.

Member Data Documentation

std::map<std::string, std::vector<BTagEntry> > BTagCalibration::data_
protected

Definition at line 49 of file BTagCalibration.h.

Referenced by addEntry(), getEntries(), and makeCSV().

std::string BTagCalibration::tagger_
protected

Definition at line 48 of file BTagCalibration.h.

Referenced by makeCSV(), and tagger().