14 : printdebug_(iConfig.getUntrackedParameter<bool>(
"printDebug",
true)),
24 uint32_t FedErrorMask = 1;
25 uint32_t DigiErrorMask = 2;
26 uint32_t ClusterErrorMask = 4;
30 <<
"[SiStripBadComponentsDQMServiceReader::analyze] End Reading SiStripBadStrip" << std::endl;
32 std::vector<uint32_t> detid;
33 siStripBadStrip.getDetIds(detid);
39 ss <<
"subdet layer stereo side \t detId \t\t Errors" << std::endl;
41 for (
size_t id = 0;
id < detid.size();
id++) {
44 for (
int it = 0; it < range.second - range.first; it++) {
45 unsigned int value = (*(range.first + it));
48 uint32_t flag =
static_cast<uint32_t
>(siStripBadStrip.decode(value).flag);
50 printError(ss, ((flag & FedErrorMask) == FedErrorMask),
"Fed error, ");
51 printError(ss, ((flag & DigiErrorMask) == DigiErrorMask),
"Digi error, ");
52 printError(ss, ((flag & ClusterErrorMask) == ClusterErrorMask),
"Cluster error");
56 ss <<
" firstBadStrip " << siStripBadStrip.decode(value).firstStrip <<
"\t "
57 <<
" NconsecutiveBadStrips " << siStripBadStrip.decode(value).range <<
"\t "
58 <<
" flag " << siStripBadStrip.decode(value).flag <<
"\t "
59 <<
" packed integer " << std::hex << value <<
std::dec <<
"\t " << std::endl;
64 edm::LogInfo(
"SiStripBadComponentsDQMServiceReader") << ss.str();
71 ss << errorText <<
"\t ";
117 }
else if (side == 2) {
static constexpr auto TEC
std::string detIdToString(DetId detid, const TrackerTopology &tTopo)
unsigned int tibLayer(const DetId &id) const
uint16_t *__restrict__ id
void printError(std::stringstream &ss, const bool error, const std::string &errorText)
uint32_t tobStereo(const DetId &id) const
constexpr uint32_t rawId() const
get the raw id
std::string to_string(const V &value)
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
unsigned int tidWheel(const DetId &id) const
constexpr std::array< uint8_t, layerIndexSize > layer
const uint16_t range(const Frame &aFrame)
bool getData(T &iHolder) const
unsigned int tidSide(const DetId &id) const
uint32_t tidStereo(const DetId &id) const
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
edm::ESGetToken< SiStripBadStrip, SiStripBadStripRcd > badStripToken_
static constexpr auto TOB
Log< level::Info, false > LogInfo
static constexpr auto TIB
SiStripBadComponentsDQMServiceReader(const edm::ParameterSet &)
std::pair< ContainerIterator, ContainerIterator > Range
uint32_t tecStereo(const DetId &id) const
void analyze(const edm::Event &, const edm::EventSetup &) override
~SiStripBadComponentsDQMServiceReader() override
uint32_t tibStereo(const DetId &id) const
unsigned int tecWheel(const DetId &id) const
static constexpr auto TID
unsigned int tobLayer(const DetId &id) const
unsigned int tecSide(const DetId &id) const