17 edm::LogInfo(
"SiStripBadChannelBuilder") <<
"... creating dummy SiStripBadStrip Data" << std::endl;
19 auto obj = std::make_unique<SiStripBadStrip>();
25 uint32_t BadModule_ = iBadComponent->getParameter<uint32_t>(
"BadModule");
26 std::vector<uint32_t> BadChannelList_ = iBadComponent->getParameter<std::vector<uint32_t> >(
"BadChannelList");
28 std::vector<unsigned int> theSiStripVector;
31 uint32_t lastBad = 999;
32 unsigned short firstBadStrip = 0, NconsecutiveBadStrips = 0;
33 unsigned int theBadStripRange;
35 for (std::vector<uint32_t>::const_iterator is = BadChannelList_.begin(); is != BadChannelList_.end(); ++is) {
36 if (*is > NStrips - 1)
38 if (*is != lastBad + 1) {
43 theBadStripRange =
obj->encode(firstBadStrip, NconsecutiveBadStrips);
47 <<
"detid " << BadModule_ <<
" \t"
48 <<
" firstBadStrip " << firstBadStrip <<
"\t "
49 <<
" NconsecutiveBadStrips " << NconsecutiveBadStrips <<
"\t "
50 <<
" packed integer " << std::hex << theBadStripRange <<
std::dec << std::endl;
52 theSiStripVector.push_back(theBadStripRange);
56 NconsecutiveBadStrips = 0;
58 NconsecutiveBadStrips++;
62 theBadStripRange =
obj->encode(firstBadStrip, NconsecutiveBadStrips);
65 <<
"detid " << BadModule_ <<
" \t"
66 <<
" firstBadStrip " << firstBadStrip <<
"\t "
67 <<
" NconsecutiveBadStrips " << NconsecutiveBadStrips <<
"\t "
68 <<
" packed integer " << std::hex << theBadStripRange <<
std::dec << std::endl;
70 theSiStripVector.push_back(theBadStripRange);
75 <<
"[SiStripBadChannelBuilder::analyze] detid already exists" << std::endl;
89 edm::LogError(
"SiStripBadStripBuilder") <<
"Service is unavailable" << std::endl;