16 using namespace sistrip;
23 factory_ = std::make_unique<FastFedCablingSummaryFactory>();
25 <<
" Constructing object...";
32 <<
" Destructing object...";
42 HistosMap::const_iterator iter;
43 Analyses::iterator ianal;
44 std::map<std::string, uint16_t> errors;
47 for (ianal =
data().
begin(); ianal !=
data().end(); ianal++) {
57 if (iter->second.empty()) {
59 <<
" Zero histograms found!";
64 std::vector<TH1*> profs;
65 Histos::const_iterator ihis = iter->second.begin();
66 for (; ihis != iter->second.end(); ihis++) {
69 profs.push_back(prof);
76 FedToFecMap::const_iterator ifed =
mapping().find(iter->first);
78 anal->
fecKey(ifed->second);
81 data()[iter->first] = anal;
92 <<
" Analyzed histograms for " <<
histos().size() <<
" FED channels, of which "
93 << valid <<
" (" << 100 * valid /
histos().size() <<
"%) are valid.";
94 if (!errors.empty()) {
98 std::map<std::string, uint16_t>::const_iterator
ii;
99 for (ii = errors.begin(); ii != errors.end(); ++
ii) {
100 ss <<
" " << ii->first <<
": " << ii->second << std::endl;
104 <<
" Found " << count <<
" error strings: " << ss.str();
108 <<
" No histograms to analyze!";
115 Analyses::iterator ianal =
data().begin();
116 Analyses::iterator janal =
data().end();
117 for (; ianal != janal; ++ianal) {
121 <<
" NULL pointer to analysis object!";
125 std::stringstream
ss;
138 std::stringstream
good;
139 std::stringstream bad;
141 Analyses::iterator ianal =
data().begin();
142 Analyses::iterator janal =
data().end();
143 for (; ianal != janal; ++ianal) {
147 <<
" NULL pointer to analysis object!";
158 if (good.str().empty()) {
159 good <<
"None found!";
162 <<
" Printing summary of good analyses:"
166 if (bad.str().empty()) {
170 <<
" Printing summary of bad analyses:"
void analysis(const std::vector< TH1 * > &)
Log< level::Info, true > LogVerbatim
const FedToFecMap & mapping() const
void histoAnalysis(bool debug) override
Analyses & data(bool getMaskedData=false)
void print(std::stringstream &, uint32_t not_used=0) override
const edm::ParameterSet & pset() const
static const char mlDqmClient_[]
Log< level::Error, false > LogError
Histogram-based analysis for connection loop.
bool isValid() const override
Histogram-based analysis for connection loop.
const uint32_t & fecKey() const
int extract(std::vector< int > *output, const std::string &dati)
void printAnalyses() override
auto const good
min quality of good
std::unique_ptr< Factory > factory_
void summary(std::stringstream &) const override
~FastFedCablingHistograms() override
Log< level::Warning, false > LogWarning
FastFedCablingHistograms(const edm::ParameterSet &pset, DQMStore *)
const VString & getErrorCodes() const
void printSummary() override
const HistosMap & histos() const