14 using namespace rpcrawtodigi;
17 typedef std::map< std::pair<int,int>,
int >::const_iterator
IT;
22 IT im = theRecordTypes.find(make_pair(fedId,type));
23 return (im==theRecordTypes.end())? 0 : im->second;
28 for (
IT im=theReadoutErrors.begin(); im != theReadoutErrors.end(); ++im) {
29 if (im->first.first != fedId)
continue;
37 for (
IT im=theRecordTypes.begin(); im != theRecordTypes.end(); ++im) {
38 if (im->first.first != fedId)
continue;
55 theRecordTypes[ make_pair(fed,type) ] +=
weight;
64 theReadoutErrors[ make_pair(fed,e.
rawCode()) ] += weight;
71 theRecordTypes[ make_pair(irt->first.first,irt->first.second) ] += irt->second;
75 theReadoutErrors[ make_pair(ire->first.first,ire->first.second) ] += ire->second;
79 theGoodEvents[ make_pair(ire->first.first,ire->first.second) ] += ire->second;
83 theBadEvents[ make_pair(ire->first.first,ire->first.second) ] += ire->second;
89 std::ostringstream str;
90 for (
IT irt=theRecordTypes.begin(); irt != theRecordTypes.end(); ++irt) {
91 str <<
"RECORD ("<<irt->first.first<<
","<<irt->first.second<<
")"<<irt->second;
93 for (
IT ire=theReadoutErrors.begin(); ire != theReadoutErrors.end();++ire) {
94 str <<
"ERROR("<<ire->first.first<<
","<<ire->first.second<<
")="<<ire->second<<endl;
std::map< std::pair< int, int >, int > theReadoutErrors
int fedErrorRecords(int fedId) const
int fedBxRecords(int fedId) const
int fedFormatErrors(int fedId) const
void addDccRecord(int fedId, const rpcrawtodigi::DataRecord &record, int weight=1)
std::string print() const
std::map< std::pair< int, int >, int > theGoodEvents
std::vector< LinkConnSpec >::const_iterator IT
std::map< std::pair< int, int >, int > theRecordTypes
void addReadoutError(int fedId, const rpcrawtodigi::ReadoutError &error, int weight=1)
unsigned int rawCode() const
std::map< std::pair< int, int >, int > theBadEvents
DataRecordType type() const
void operator+=(const RPCRawDataCounts &)