/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
CondFormats/SiPixelObjects/src/SiPixelQualityProbabilities.cc
82 строки
3 KB
Cms Build
Clang-Format
11 июн 2019, 11:29
11 июн 2019, 11:29
e9d3fcc
Код
Авторство
О чём код?
#include "CondFormats/SiPixelObjects/interface/SiPixelQualityProbabilities.h" #include "FWCore/Utilities/interface/Exception.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include <iostream> #include <iomanip> // std::setw //****************************************************************************// void SiPixelQualityProbabilities::setProbabilities(const unsigned int puBin, const probabilityVec &theProbabilities) { if (m_probabilities.find(puBin) != m_probabilities.end()) { edm::LogWarning("SiPixelQualityProbabilities") << "PU bin: " << puBin << " is already in the map!" << std::endl; return; } else { m_probabilities.emplace(puBin, theProbabilities); } } //****************************************************************************// SiPixelQualityProbabilities::probabilityVec SiPixelQualityProbabilities::getProbabilities( const unsigned int puBin) const { probabilityMap::const_iterator it = m_probabilities.find(puBin); if (it != m_probabilities.end()) { return it->second; } else { throw cms::Exception("SiPixelQualityProbabilities") << "No Probabilities are defined for PU bin " << puBin << "\n"; } } //****************************************************************************// const SiPixelQualityProbabilities::probabilityVec &SiPixelQualityProbabilities::getProbabilities( const unsigned int puBin) { probabilityMap::const_iterator it = m_probabilities.find(puBin); if (it != m_probabilities.end()) { return it->second; } else { throw cms::Exception("SiPixelQualityProbabilities") << "No Probabilities are defined for PU bin " << puBin << "\n"; } } //****************************************************************************// void SiPixelQualityProbabilities::printAll() const { edm::LogVerbatim("SiPixelQualityProbabilities") << "SiPixelQualityProbabilities::printAll()"; edm::LogVerbatim("SiPixelQualityProbabilities") << " ================================================================" "==================================================="; for (auto it = m_probabilities.begin(); it != m_probabilities.end(); ++it) { edm::LogVerbatim("SiPixelQualityProbabilities") << "PU :" << it->first << " \n "; for (const auto &entry : it->second) { edm::LogVerbatim("SiPixelQualityProbabilities") << "SiPixelQuality snapshot: " << entry.first << " |probability: " << entry.second << std::endl; } } } //****************************************************************************// void SiPixelQualityProbabilities::print(std::ostream &os) const { for (auto it = m_probabilities.begin(); it != m_probabilities.end(); ++it) { os << "PU :" << it->first << " \n "; for (const auto &entry : it->second) { os << "SiPixelQuality snapshot: " << entry.first << " |probability: " << entry.second << std::endl; } } } //****************************************************************************// std::vector<unsigned int> SiPixelQualityProbabilities::getPileUpBins() const { std::vector<unsigned int> bins; bins.reserve(m_probabilities.size()); for (auto it = m_probabilities.begin(); it != m_probabilities.end(); ++it) { bins.push_back(it->first); } return bins; } //****************************************************************************// std::ostream &operator<<(std::ostream &os, SiPixelQualityProbabilities theProbabilities) { std::stringstream ss; theProbabilities.print(ss); os << ss.str(); return os; }