CMS 3D CMS Logo

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