#include "DataFormats/MuonDetId/interface/CSCDetId.h"
#include <set>
#include <map>
#include <algorithm>
#include <iosfwd>
Go to the source code of this file.
typedef int32_t CSCIdType |
CSC identifier type
Definition at line 39 of file CSCDCCFormatStatusDigi.h.
typedef int32_t DCCIdType |
DCC identifier type
Definition at line 33 of file CSCDCCFormatStatusDigi.h.
typedef int16_t DDUIdType |
DDU identifier type
Definition at line 36 of file CSCDCCFormatStatusDigi.h.
typedef uint32_t ExaminerMaskType |
Examiner status and mask type
Definition at line 42 of file CSCDCCFormatStatusDigi.h.
typedef uint32_t ExaminerStatusType |
Definition at line 43 of file CSCDCCFormatStatusDigi.h.
enum CSCPayloadFlag |
CSC Payload individual named flags
CFEB1_ACTIVE | |
CFEB2_ACTIVE | |
CFEB3_ACTIVE | |
CFEB4_ACTIVE | |
CFEB5_ACTIVE | |
ALCT_DAV | |
TMB_DAV | |
CFEB1_DAV | |
CFEB2_DAV | |
CFEB3_DAV | |
CFEB4_DAV | |
CFEB5_DAV |
Definition at line 79 of file CSCDCCFormatStatusDigi.h.
{ CFEB1_ACTIVE = 0, CFEB2_ACTIVE = 1, CFEB3_ACTIVE = 2, CFEB4_ACTIVE = 3, CFEB5_ACTIVE = 4, ALCT_DAV = 5, TMB_DAV = 6, CFEB1_DAV = 7, CFEB2_DAV = 8, CFEB3_DAV = 9, CFEB4_DAV = 10, CFEB5_DAV = 11 };
enum CSCStatusFlag |
CSC Status individual named flags
Definition at line 95 of file CSCDCCFormatStatusDigi.h.
{ ALCT_FIFO_FULL = 0, TMB_FIFO_FULL = 1, CFEB1_FIFO_FULL = 2, CFEB2_FIFO_FULL = 3, CFEB3_FIFO_FULL = 4, CFEB4_FIFO_FULL = 5, CFEB5_FIFO_FULL = 6, ALCT_START_TIMEOUT = 7, TMB_START_TIMEOUT = 8, CFEB1_START_TIMEOUT = 9, CFEB2_START_TIMEOUT = 10, CFEB3_START_TIMEOUT = 11, CFEB4_START_TIMEOUT = 12, CFEB5_START_TIMEOUT = 13, ALCT_END_TIMEOUT = 14, TMB_END_TIMEOUT = 15, CFEB1_END_TIMEOUT = 16, CFEB2_END_TIMEOUT = 17, CFEB3_END_TIMEOUT = 18, CFEB4_END_TIMEOUT = 19, CFEB5_END_TIMEOUT = 20, CFEB_ACTIVE_DAV_MISMATCH = 21, B_WORDS_FOUND = 22 };
enum FormatErrorFlag |
Format Error individual named flags
Definition at line 46 of file CSCDCCFormatStatusDigi.h.
{ ANY_ERRORS = 0, DDU_TRAILER_MISSING = 1, DDU_HEADER_MISSING = 2, DDU_CRC_ERROR = 3, DDU_WORD_COUNT_ERROR = 4, DMB_TRAILER_MISSING = 5, DMB_HEADER_MISSING = 6, ALCT_TRAILER_MISSING = 7, ALCT_HEADER_MISSING = 8, ALCT_WORD_COUNT_ERROR = 9, ALCT_CRC_ERROR = 10, ALCT_TRAILER_BIT_ERROR = 11, TMB_TRAILER_MISSING = 12, TMB_HEADER_MISSING = 13, TMB_WORD_COUNT_ERROR = 14, TMB_CRC_ERROR = 15, CFEB_WORD_COUNT_PER_SAMPLE_ERROR = 16, CFEB_SAMPLE_COUNT_ERROR = 17, CFEB_CRC_ERROR = 18, DDU_EVENT_SIZE_LIMIT_ERROR = 19, C_WORDS = 20, ALCT_DAV_ERROR = 21, TMB_DAV_ERROR = 22, CFEB_DAV_ERROR = 23, DMB_ACTIVE_ERROR = 24, DCC_TRAILER_MISSING = 25, DCC_HEADER_MISSING = 26, DMB_DAV_VS_DMB_ACTIVE_MISMATCH_ERROR = 27, EXTRA_WORDS_BETWEEN_DDU_HEADER_AND_FIRST_DMB_HEADER = 28 };
std::set<TKey> getKeysList | ( | const std::map< TKey, TVal > & | m | ) |
List of Map keys template.
m | Map to iterate. |
Definition at line 150 of file CSCDCCFormatStatusDigi.h.
References relativeConstraints::keys.
Referenced by CSCDCCFormatStatusDigi::getListOfCSCs(), CSCDCCFormatStatusDigi::getListOfCSCsWithErrors(), and CSCDCCFormatStatusDigi::getListOfDDUs().
bool nextInMap | ( | uint32_t & | it, |
TKey & | key, | ||
const std::map< TKey, TVal > & | m | ||
) |
Map iterator template.
it | Iterator from 0 to ... (auto inc). |
key | Next key to return. |
m | Map to iterate. |
Definition at line 129 of file CSCDCCFormatStatusDigi.h.
References trackerHits::c.
Referenced by CSCDCCFormatStatusDigi::nextCSCWithError(), CSCDCCFormatStatusDigi::nextCSCWithPayload(), and CSCDCCFormatStatusDigi::nextCSCWithStatus().
std::ostream& operator<< | ( | std::ostream & | o, |
const CSCDCCFormatStatusDigi & | digi | ||
) |
Definition at line 77 of file CSCDCCFormatStatusDigi.cc.
References CSCDCCFormatStatusDigi::getCSCErrors(), CSCDCCFormatStatusDigi::getCSCMask(), CSCDCCFormatStatusDigi::getCSCStatus(), CSCDCCFormatStatusDigi::getDCCId(), CSCDCCFormatStatusDigi::getDCCMask(), CSCDCCFormatStatusDigi::getDDUErrors(), CSCDCCFormatStatusDigi::getDDUSummaryErrors(), CSCDCCFormatStatusDigi::getListOfCSCs(), CSCDCCFormatStatusDigi::getListOfDDUs(), and python::connectstrParser::o.
{ o << "CSCDCCFormatStatusDigi: DCC=" << std::dec << digi.getDCCId() << " DCCMask=0x" << std::hex << std::setw(8) << std::setfill('0') << digi.getDCCMask() << " CSCMask=0x" << std::hex << std::setw(8) << std::setfill('0') << digi.getCSCMask() << " DCCErrors=0x" << std::hex << std::setw(8) << std::setfill('0') << digi.getDDUSummaryErrors() << std::dec << "\n"; std::set<DDUIdType> ddu_list = digi.getListOfDDUs(); for (std::set<DDUIdType>::iterator itr=ddu_list.begin(); itr != ddu_list.end(); ++itr) { o << "DDU_" << std::dec << ((*itr)&0xFF) << " Errors=0x" << std::hex << std::setw(8) << std::setfill('0') << digi.getDDUErrors(*itr) << "\n"; } std::set<CSCIdType> csc_list = digi.getListOfCSCs(); for (std::set<CSCIdType>::iterator itr=csc_list.begin(); itr != csc_list.end(); ++itr) { o << "CSC_" << std::dec << (((*itr)>>4)&0xFF) << "_" << ((*itr)&0xF) << " Errors=0x" << std::hex << std::setw(8) << std::setfill('0') << digi.getCSCErrors(*itr) << " Payload=0x" << std::setw(8) << std::setfill('0') << digi. getCSCPayload(*itr) << " Status=0x" << std::setw(8) << std::setfill('0') << digi.getCSCStatus(*itr) << "\n"; } return o; }