CMS 3D CMS Logo

SiStripBadStripReader.cc
Go to the documentation of this file.
3 
5 
6 #include <iostream>
7 #include <cstdio>
8 #include <sys/time.h>
9 
11  : printdebug_(iConfig.getUntrackedParameter<uint32_t>("printDebug", 1)) {}
12 
14 
16  edm::ESHandle<SiStripBadStrip> SiStripBadStrip_;
17  iSetup.get<SiStripBadStripRcd>().get(SiStripBadStrip_);
18  edm::LogInfo("SiStripBadStripReader") << "[SiStripBadStripReader::analyze] End Reading SiStripBadStrip" << std::endl;
19 
20  std::vector<uint32_t> detid;
21  SiStripBadStrip_->getDetIds(detid);
22 
23  if (printdebug_)
24  for (size_t id = 0; id < detid.size(); id++) {
25  SiStripBadStrip::Range range = SiStripBadStrip_->getRange(detid[id]);
26 
27  for (int it = 0; it < range.second - range.first; it++) {
28  unsigned int value = (*(range.first + it));
29  edm::LogInfo("SiStripBadStripReader")
30  << "detid " << detid[id] << " \t"
31  << " firstBadStrip " << SiStripBadStrip_->decode(value).firstStrip << "\t "
32  << " NconsecutiveBadStrips " << SiStripBadStrip_->decode(value).range << "\t "
33  << " flag " << SiStripBadStrip_->decode(value).flag << "\t "
34  << " packed integer " << std::hex << value << std::dec
35  << "\t "
36  //<< SiStripBadStrip_->getBadStrips(range) << " \t"
37  << std::endl;
38  }
39  }
40 }
unsigned short range
void getDetIds(std::vector< uint32_t > &DetIds_) const
SiStripBadStripReader(const edm::ParameterSet &)
Definition: value.py:1
unsigned short firstStrip
const Range getRange(const uint32_t detID) const
std::pair< ContainerIterator, ContainerIterator > Range
T get() const
Definition: EventSetup.h:73
void analyze(const edm::Event &, const edm::EventSetup &) override
data decode(const unsigned int &value) const