CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
SiStripBadComponentInfo Class Reference

#include <SiStripBadComponentInfo.h>

Inheritance diagram for SiStripBadComponentInfo:
DQMEDHarvester edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 SiStripBadComponentInfo (edm::ParameterSet const &ps)
 Constructor. More...
 
 ~SiStripBadComponentInfo () override
 
- Public Member Functions inherited from DQMEDHarvester
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void beginRun (edm::Run const &, edm::EventSetup const &) override
 
 DQMEDHarvester ()
 
virtual void dqmEndLuminosityBlock (DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &)
 
void endJob () final
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &, edm::EventSetup const &) final
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) override
 
 ~DQMEDHarvester () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Protected Member Functions

void dqmEndJob (DQMStore::IBooker &, DQMStore::IGetter &) override
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private Member Functions

void bookBadComponentHistos (DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)
 
void checkBadComponents (edm::EventSetup const &eSetup)
 
void createSummary (MonitorElement *me, const std::map< std::pair< int, int >, float > &map)
 
void fillBadComponentMaps (int xbin, int component, SiStripQuality::BadComponent const &BC)
 

Private Attributes

MonitorElementbadAPVME_
 
MonitorElementbadFiberME_
 
MonitorElementbadStripME_
 
bool bookedStatus_
 
std::map< std::pair< int, int >, float > mapBadAPV
 
std::map< std::pair< int, int >, float > mapBadFiber
 
std::map< std::pair< int, int >, float > mapBadStrip
 
int nSubSystem_
 
std::string qualityLabel_
 
edm::ESHandle< SiStripQualitysiStripQuality_
 
edm::ESHandle< TrackerTopologytTopoHandle_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Attributes inherited from DQMEDHarvester
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

DQM/SiStripMonitorCluster/interface/SiStripBadComponentInfo.h

Description: Checks the # of SiStrip FEDs from DAQ Usage: <usage>

Definition at line 43 of file SiStripBadComponentInfo.h.

Constructor & Destructor Documentation

SiStripBadComponentInfo::SiStripBadComponentInfo ( edm::ParameterSet const &  ps)

Constructor.

Definition at line 23 of file SiStripBadComponentInfo.cc.

References LogDebug.

23  :
24  bookedStatus_(false),
25  nSubSystem_(6),
26  qualityLabel_(pSet.getParameter<std::string>("StripQualityLabel"))
27 {
28  // Create MessageSender
29  LogDebug( "SiStripBadComponentInfo") << "SiStripBadComponentInfo::Deleting SiStripBadComponentInfo ";
30 }
#define LogDebug(id)
SiStripBadComponentInfo::~SiStripBadComponentInfo ( )
override

Definition at line 32 of file SiStripBadComponentInfo.cc.

References LogDebug.

33 {
34  LogDebug("SiStripBadComponentInfo")
35  << "SiStripBadComponentInfo::Deleting SiStripBadComponentInfo ";
36 }
#define LogDebug(id)

Member Function Documentation

void SiStripBadComponentInfo::bookBadComponentHistos ( DQMStore::IBooker ibooker,
DQMStore::IGetter igetter 
)
private

Definition at line 170 of file SiStripBadComponentInfo.cc.

References badAPVME_, badFiberME_, badStripME_, DQMStore::IBooker::book2D(), bookedStatus_, DQMStore::IBooker::cd(), DQMStore::IGetter::dirExists(), mps_fire::i, names, nSubSystem_, DQMStore::IBooker::pwd(), MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::IBooker::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by dqmEndJob().

172 {
173  if (!bookedStatus_) {
174  std::string strip_dir = "";
175  ibooker.cd();
176  // SiStripUtility::getTopFolderPath(dqmStore_, "SiStrip", strip_dir);
177  if (igetter.dirExists("SiStrip")) {
178  ibooker.cd("SiStrip");
179  strip_dir = ibooker.pwd();
180  }
181  edm::LogInfo("SiStripBadComponentInfo")
182  << "SiStripBadComponentInfo::bookBadComponentHistos ==> " << strip_dir
183  << " " << ibooker.pwd() << std::endl;
184  if (!strip_dir.empty())
185  ibooker.setCurrentFolder(strip_dir + "/EventInfo");
186  else
187  ibooker.setCurrentFolder("SiStrip/EventInfo");
188 
189  ibooker.cd();
190  if (!strip_dir.empty())
191  ibooker.setCurrentFolder(strip_dir + "/EventInfo/BadComponentContents");
192 
193  std::string hname, htitle;
194  hname = "BadAPVMap";
195  htitle = "SiStrip Bad APVs";
196  badAPVME_ = ibooker.book2D(
197  hname, htitle, nSubSystem_, 0.5, nSubSystem_ + 0.5, 10, 0.5, 10.5);
198  badAPVME_->setAxisTitle("Sub Detector Type", 1);
199  badAPVME_->setAxisTitle("Layer/Disc Number", 2);
200 
201  hname = "BadFiberMap";
202  htitle = "SiStrip Bad Fibers";
203  badFiberME_ = ibooker.book2D(
204  hname, htitle, nSubSystem_, 0.5, nSubSystem_ + 0.5, 10, 0.5, 10.5);
205  badFiberME_->setAxisTitle("Sub Detector Type", 1);
206  badFiberME_->setAxisTitle("Layer/Disc Number", 2);
207 
208  hname = "BadStripMap";
209  htitle = "SiStrip Bad Strips";
210  badStripME_ = ibooker.book2D(
211  hname, htitle, nSubSystem_, 0.5, nSubSystem_ + 0.5, 10, 0.5, 10.5);
212  badStripME_->setAxisTitle("Sub Detector Type", 1);
213  badStripME_->setAxisTitle("Layer/Disc Number", 2);
214 
215  std::vector<std::string> names;
216  names.push_back("TECB");
217  names.push_back("TECF");
218  names.push_back("TIB");
219  names.push_back("TIDB");
220  names.push_back("TIDF");
221  names.push_back("TOB");
222 
223  for (unsigned int i = 0; i < names.size(); i++) {
224  badAPVME_->setBinLabel(i + 1, names[i]);
225  badFiberME_->setBinLabel(i + 1, names[i]);
226  badStripME_->setBinLabel(i + 1, names[i]);
227  }
228 
229  bookedStatus_ = true;
230  ibooker.cd();
231  }
232 }
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
const std::string names[nVars_]
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:109
std::string const & pwd()
Definition: DQMStore.cc:278
bool dirExists(std::string const &path)
Definition: DQMStore.cc:343
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiStripBadComponentInfo::checkBadComponents ( edm::EventSetup const &  eSetup)
private

Definition at line 42 of file SiStripBadComponentInfo.cc.

References SiStripBadStrip::decode(), fillBadComponentMaps(), edm::EventSetup::get(), SiStripQuality::getBadComponentList(), SiStripBadStrip::getDataVectorBegin(), SiStripBadStrip::getRegistryVectorBegin(), SiStripBadStrip::getRegistryVectorEnd(), mps_fire::i, LogDebug, mapBadStrip, edm::ESHandle< T >::product(), qualityLabel_, SiStripBadStrip::data::range, siStripQuality_, DetId::subdetId(), StripSubdetector::TEC, TrackerTopology::tecSide(), TrackerTopology::tecWheel(), StripSubdetector::TIB, TrackerTopology::tibLayer(), StripSubdetector::TID, TrackerTopology::tidSide(), TrackerTopology::tidWheel(), StripSubdetector::TOB, TrackerTopology::tobLayer(), tTopoHandle_, and heppy_batch::val.

Referenced by endRun().

43 {
44  LogDebug("SiStripBadComponentInfo")
45  << "SiStripBadComponentInfo:: Begining of Run";
46 
47  // Retrieve tracker topology from geometry
48  eSetup.get<TrackerTopologyRcd>().get(tTopoHandle_);
49  const TrackerTopology* const topo = tTopoHandle_.product();
50 
51 
53 
54  auto const& BC = siStripQuality_->getBadComponentList();
55 
56  for (size_t i=0;i<BC.size();++i){
57  int subdet=-999; int component=-999;
58 
59  //&&&&&&&&&&&&&&&&&
60  // Single SubSyste
61  //&&&&&&&&&&&&&&&&&
62  int subDet = DetId(BC[i].detid).subdetId();
63  if (subDet == StripSubdetector::TIB) {
64  //&&&&&&&&&&&&&&&&&
65  // TIB
66  //&&&&&&&&&&&&&&&&&
67  subdet = 3;
68  component = topo->tibLayer(BC[i].detid);
69  } else if (subDet == StripSubdetector::TID) {
70  //&&&&&&&&&&&&&&&&&
71  // TID
72  //&&&&&&&&&&&&&&&&&
73  if (topo->tidSide(BC[i].detid) == 2)
74  subdet = 4;
75  else
76  subdet = 5;
77  component = topo->tidWheel(BC[i].detid);
78  } else if (subDet == StripSubdetector::TOB) {
79  //&&&&&&&&&&&&&&&&&
80  // TOB
81  //&&&&&&&&&&&&&&&&&
82  subdet = 6;
83  component = topo->tobLayer(BC[i].detid);
84  } else if (subDet == StripSubdetector::TEC) {
85  //&&&&&&&&&&&&&&&&&
86  // TEC
87  //&&&&&&&&&&&&&&&&&
88  if (topo->tecSide(BC[i].detid) == 2)
89  subdet = 2;
90  else
91  subdet = 1;
92  component = topo->tecWheel(BC[i].detid);
93  }
94  fillBadComponentMaps(subdet, component, BC[i]);
95  }
96 
97  //&&&&&&&&&&&&&&&&&&
98  // Single Strip Info
99  //&&&&&&&&&&&&&&&&&&
100 
105 
106  for (SiStripBadStrip::RegistryIterator rp = rbegin; rp != rend; ++rp) {
107  uint32_t detid = rp->detid;
108  int subdet = -999;
109  int component = -999;
110  DetId detectorId = DetId(detid);
111  int subDet = detectorId.subdetId();
112  if (subDet == StripSubdetector::TIB) {
113  subdet = 3;
114  component = topo->tibLayer(detid);
115  } else if (subDet == StripSubdetector::TID) {
116  if (topo->tidSide(detid) == 2)
117  subdet = 5;
118  else
119  subdet = 4;
120  component = topo->tidWheel(detid);
121  } else if (subDet == StripSubdetector::TOB) {
122  subdet = 6;
123  component = topo->tobLayer(detid);
124  } else if (subDet == StripSubdetector::TEC) {
125  if (topo->tecSide(detid) == 2)
126  subdet = 2;
127  else
128  subdet = 1;
129  component = topo->tecWheel(detid);
130  }
131 
132  SiStripQuality::Range sqrange =
134  siStripQuality_->getDataVectorBegin() + rp->iend);
135 
136  for (int it = 0; it < sqrange.second - sqrange.first; it++) {
137  unsigned int range = siStripQuality_->decode(*(sqrange.first + it)).range;
138  float val = (mapBadStrip.find(std::make_pair(subdet, component)) !=
139  mapBadStrip.end()) ?
140  mapBadStrip.at(std::make_pair(subdet, component)) :
141  0.;
142  val += range;
143  mapBadStrip[std::make_pair(subdet, component)] = val;
144  }
145  }
146 }
#define LogDebug(id)
unsigned short range
const std::vector< BadComponent > & getBadComponentList() const
unsigned int tibLayer(const DetId &id) const
unsigned int tidWheel(const DetId &id) const
Registry::const_iterator RegistryIterator
edm::ESHandle< SiStripQuality > siStripQuality_
RegistryIterator getRegistryVectorEnd() const
unsigned int tidSide(const DetId &id) const
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:41
void fillBadComponentMaps(int xbin, int component, SiStripQuality::BadComponent const &BC)
ContainerIterator getDataVectorBegin() const
Definition: DetId.h:18
RegistryIterator getRegistryVectorBegin() const
edm::ESHandle< TrackerTopology > tTopoHandle_
std::pair< ContainerIterator, ContainerIterator > Range
std::map< std::pair< int, int >, float > mapBadStrip
unsigned int tecWheel(const DetId &id) const
T const * product() const
Definition: ESHandle.h:86
data decode(const unsigned int &value) const
unsigned int tobLayer(const DetId &id) const
unsigned int tecSide(const DetId &id) const
void SiStripBadComponentInfo::createSummary ( MonitorElement me,
const std::map< std::pair< int, int >, float > &  map 
)
private

Definition at line 255 of file SiStripBadComponentInfo.cc.

References DEFINE_FWK_MODULE, MonitorElement::getNbinsY(), mps_fire::i, gen::k, genParticles_cff::map, nSubSystem_, and MonitorElement::setBinContent().

Referenced by dqmEndJob().

258 {
259  for (int i = 1; i < nSubSystem_ + 1; i++) {
260  float sum = 0.0;
261  for (int k = 1; k < me->getNbinsY(); k++) {
262  auto index = std::make_pair(i, k);
263  if (map.find(index) != map.end()) {
264  me->setBinContent(i, k, map.at(index)); // fill the layer/wheel bins
265  sum += map.at(index);
266  }
267  }
268  me->setBinContent(
269  i, me->getNbinsY(), sum); // fill the summary bin (last one)
270  }
271 }
void setBinContent(int binx, double content)
set content of bin (1-D)
int k[5][pyjets_maxn]
int getNbinsY() const
get # of bins in Y-axis
void SiStripBadComponentInfo::dqmEndJob ( DQMStore::IBooker ibooker,
DQMStore::IGetter igetter 
)
overrideprotectedvirtual

Implements DQMEDHarvester.

Definition at line 157 of file SiStripBadComponentInfo.cc.

References badAPVME_, badFiberME_, badStripME_, bookBadComponentHistos(), createSummary(), LogDebug, mapBadAPV, mapBadFiber, and mapBadStrip.

159 {
160  LogDebug("SiStripBadComponentInfo") << "SiStripBadComponentInfo::dqmEndRun";
161  bookBadComponentHistos(ibooker, igetter);
165 }
#define LogDebug(id)
std::map< std::pair< int, int >, float > mapBadFiber
void createSummary(MonitorElement *me, const std::map< std::pair< int, int >, float > &map)
void bookBadComponentHistos(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)
std::map< std::pair< int, int >, float > mapBadAPV
std::map< std::pair< int, int >, float > mapBadStrip
void SiStripBadComponentInfo::endRun ( edm::Run const &  run,
edm::EventSetup const &  eSetup 
)
overrideprotected

Definition at line 149 of file SiStripBadComponentInfo.cc.

References checkBadComponents(), and LogDebug.

151 {
152  LogDebug("SiStripBadComponentInfo") << "SiStripBadComponentInfo:: End of Run";
153  checkBadComponents(eSetup);
154 }
#define LogDebug(id)
void checkBadComponents(edm::EventSetup const &eSetup)
void SiStripBadComponentInfo::fillBadComponentMaps ( int  xbin,
int  component,
SiStripQuality::BadComponent const &  BC 
)
private

Definition at line 234 of file SiStripBadComponentInfo.cc.

References SiStripQuality::BadComponent::BadApvs, SiStripQuality::BadComponent::BadFibers, KineDebug3::count(), mapBadAPV, mapBadFiber, and heppy_batch::val.

Referenced by checkBadComponents().

234  {
235 
236  auto index = std::make_pair(xbin, component);
237 
238  if (BC.BadApvs) {
239  int ntot = std::bitset<16>(BC.BadApvs & 0x3f).count();
240  float val =
241  (mapBadAPV.find(index) != mapBadAPV.end()) ? mapBadAPV.at(index) : 0.;
242  val += ntot;
243  mapBadAPV[index] = val;
244  }
245  if (BC.BadFibers) {
246  int ntot = std::bitset<16>(BC.BadFibers & 0x7).count();
247  float val = (mapBadFiber.find(index) != mapBadFiber.end()) ?
248  mapBadFiber.at(index) :
249  0.;
250  val += ntot;
251  mapBadFiber[index] = val;
252  }
253 }
std::map< std::pair< int, int >, float > mapBadFiber
std::map< std::pair< int, int >, float > mapBadAPV

Member Data Documentation

MonitorElement* SiStripBadComponentInfo::badAPVME_
private

Definition at line 61 of file SiStripBadComponentInfo.h.

Referenced by bookBadComponentHistos(), and dqmEndJob().

MonitorElement* SiStripBadComponentInfo::badFiberME_
private

Definition at line 62 of file SiStripBadComponentInfo.h.

Referenced by bookBadComponentHistos(), and dqmEndJob().

MonitorElement* SiStripBadComponentInfo::badStripME_
private

Definition at line 63 of file SiStripBadComponentInfo.h.

Referenced by bookBadComponentHistos(), and dqmEndJob().

bool SiStripBadComponentInfo::bookedStatus_
private

Definition at line 69 of file SiStripBadComponentInfo.h.

Referenced by bookBadComponentHistos().

std::map<std::pair<int,int>,float > SiStripBadComponentInfo::mapBadAPV
private

Definition at line 65 of file SiStripBadComponentInfo.h.

Referenced by dqmEndJob(), and fillBadComponentMaps().

std::map<std::pair<int,int>,float > SiStripBadComponentInfo::mapBadFiber
private

Definition at line 66 of file SiStripBadComponentInfo.h.

Referenced by dqmEndJob(), and fillBadComponentMaps().

std::map<std::pair<int,int>,float > SiStripBadComponentInfo::mapBadStrip
private

Definition at line 67 of file SiStripBadComponentInfo.h.

Referenced by checkBadComponents(), and dqmEndJob().

int SiStripBadComponentInfo::nSubSystem_
private

Definition at line 70 of file SiStripBadComponentInfo.h.

Referenced by bookBadComponentHistos(), and createSummary().

std::string SiStripBadComponentInfo::qualityLabel_
private

Definition at line 71 of file SiStripBadComponentInfo.h.

Referenced by checkBadComponents().

edm::ESHandle<SiStripQuality> SiStripBadComponentInfo::siStripQuality_
private

Definition at line 73 of file SiStripBadComponentInfo.h.

Referenced by checkBadComponents().

edm::ESHandle<TrackerTopology> SiStripBadComponentInfo::tTopoHandle_
private

Definition at line 74 of file SiStripBadComponentInfo.h.

Referenced by checkBadComponents().