26 <<
"[FastFedCablingHistograms::" << __func__ <<
"]" 27 <<
" Constructing object...";
34 <<
"[FastFedCablingHistograms::" << __func__ <<
"]" 35 <<
" Destructing object...";
42 <<
"[FastFedCablingHistograms::" << __func__ <<
"]";
46 HistosMap::const_iterator iter;
47 Analyses::iterator ianal;
48 std::map<std::string,uint16_t>
errors;
51 for ( ianal =
data().
begin(); ianal !=
data().end(); ianal++ ) {
52 if ( ianal->second ) {
delete ianal->second; }
58 iter !=
histos().end(); iter++ ) {
61 if ( iter->second.empty() ) {
63 <<
"[FastFedCablingHistograms::" << __func__ <<
"]" 64 <<
" Zero histograms found!";
69 std::vector<TH1*> profs;
70 Histos::const_iterator ihis = iter->second.begin();
71 for ( ; ihis != iter->second.end(); ihis++ ) {
73 if ( prof ) { profs.push_back(prof); }
79 FedToFecMap::const_iterator ifed =
mapping().find( iter->first );
82 data()[iter->first] = anal;
83 if ( anal->
isValid() ) { valid++; }
92 <<
"[FastFedCablingHistograms::" << __func__ <<
"]" 93 <<
" Analyzed histograms for " <<
histos().size()
94 <<
" FED channels, of which " << valid
95 <<
" (" << 100 * valid /
histos().size()
97 if ( !errors.empty() ) {
101 std::map<std::string,uint16_t>::const_iterator
ii;
102 for ( ii = errors.begin(); ii != errors.end(); ++
ii ) {
103 ss <<
" " << ii->first <<
": " << ii->second << std::endl;
107 <<
"[FastFedCablingHistograms::" << __func__ <<
"]" 108 <<
" Found " << count <<
" error strings: " 113 <<
"[FastFedCablingHistograms::" << __func__ <<
"]" 114 <<
" No histograms to analyze!";
122 Analyses::iterator ianal =
data().begin();
123 Analyses::iterator janal =
data().end();
124 for ( ; ianal != janal; ++ianal ) {
129 <<
"[FastFedCablingHistograms::" << __func__ <<
"]" 130 <<
" NULL pointer to analysis object!";
134 std::stringstream ss;
149 std::stringstream good;
150 std::stringstream bad;
152 Analyses::iterator ianal =
data().begin();
153 Analyses::iterator janal =
data().end();
154 for ( ; ianal != janal; ++ianal ) {
159 <<
"[FastFedCablingHistograms::" << __func__ <<
"]" 160 <<
" NULL pointer to analysis object!";
168 }
else { anal->
summary( bad ); }
172 if ( good.str().empty() ) { good <<
"None found!"; }
174 <<
"[FastFedCablingHistograms::" << __func__ <<
"]" 175 <<
" Printing summary of good analyses:" <<
"\n" 178 if ( bad.str().empty() ) {
return; }
180 <<
"[FastFedCablingHistograms::" << __func__ <<
"]" 181 <<
" Printing summary of bad analyses:" <<
"\n" void analysis(const std::vector< TH1 * > &)
const FedToFecMap & mapping() const
void summary(std::stringstream &) const override
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
bool isValid() const override
static const char mlDqmClient_[]
Histogram-based analysis for connection loop.
Histogram-based analysis for connection loop.
const uint32_t & fecKey() const
int extract(std::vector< int > *output, const std::string &dati)
void printAnalyses() override
std::unique_ptr< Factory > factory_
~FastFedCablingHistograms() override
FastFedCablingHistograms(const edm::ParameterSet &pset, DQMStore *)
const VString & getErrorCodes() const
void printSummary() override
const HistosMap & histos() const