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::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources, edm::Accumulator > 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 beginJob () override
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &) override
 
virtual void dqmAnalyze (DQMStore::IBooker &, DQMStore::IGetter &, edm::Event const &, edm::EventSetup const &)
 
 DQMEDHarvester ()
 
 DQMEDHarvester (edm::ParameterSet const &iConfig)
 
virtual void dqmEndLuminosityBlock (DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (DQMStore::IBooker &, DQMStore::IGetter &, edm::Run const &, edm::EventSetup const &)
 
void endJob () final
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &es) final
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &es) final
 
 ~DQMEDHarvester () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () 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
 
std::vector< bool > const & recordProvenanceList () 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)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~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 &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
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
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
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::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (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)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (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 (const SiStripQuality *siStripQuality)
 
void fillBadComponentMaps (int xbin, int component, SiStripQuality::BadComponent const &BC)
 

Private Attributes

bool addBadCompFromFedErr_
 
MonitorElementbadAPVME_
 
MonitorElementbadFiberME_
 
MonitorElementbadStripME_
 
bool bookedStatus_
 
edm::ESHandle< SiStripFedCablingfedCabling_
 
float fedErrCutoff_
 
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< TrackerTopologytTopo_
 

Additional Inherited Members

- Public Types inherited from DQMEDHarvester
typedef dqm::harvesting::DQMStore DQMStore
 
typedef dqm::harvesting::MonitorElement MonitorElement
 
- 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
DQMStoredqmstore_
 
edm::GetterOfProducts< DQMTokenlumimegetter_
 
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::GetterOfProducts< DQMTokenrunmegetter_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

DQM/SiStripMonitorCluster/interface/SiStripBadComponentInfo.h

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

Definition at line 41 of file SiStripBadComponentInfo.h.

Constructor & Destructor Documentation

◆ SiStripBadComponentInfo()

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

Constructor.

Definition at line 25 of file SiStripBadComponentInfo.cc.

26  : bookedStatus_(false), nSubSystem_(6), qualityLabel_(pSet.getParameter<std::string>("StripQualityLabel")) {
27  addBadCompFromFedErr_ = pSet.getUntrackedParameter<bool>("AddBadComponentsFromFedErrors", false);
28  fedErrCutoff_ = float(pSet.getUntrackedParameter<double>("FedErrorBadComponentsCutoff", 0.8));
29  // Create MessageSender
30  LogDebug("SiStripBadComponentInfo") << "SiStripBadComponentInfo::Deleting SiStripBadComponentInfo ";
31 }

References addBadCompFromFedErr_, fedErrCutoff_, dqmMemoryStats::float, edm::ParameterSet::getUntrackedParameter(), and LogDebug.

◆ ~SiStripBadComponentInfo()

SiStripBadComponentInfo::~SiStripBadComponentInfo ( )
override

Definition at line 33 of file SiStripBadComponentInfo.cc.

33  {
34  LogDebug("SiStripBadComponentInfo") << "SiStripBadComponentInfo::Deleting SiStripBadComponentInfo ";
35 }

References LogDebug.

Member Function Documentation

◆ bookBadComponentHistos()

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

Definition at line 168 of file SiStripBadComponentInfo.cc.

168  {
169  if (!bookedStatus_) {
170  std::string strip_dir = "";
171  ibooker.cd();
172  // SiStripUtility::getTopFolderPath(dqmStore_, "SiStrip", strip_dir);
173  if (igetter.dirExists("SiStrip")) {
174  ibooker.cd("SiStrip");
175  strip_dir = ibooker.pwd();
176  }
177  edm::LogInfo("SiStripBadComponentInfo")
178  << "SiStripBadComponentInfo::bookBadComponentHistos ==> " << strip_dir << " " << ibooker.pwd() << std::endl;
179  if (!strip_dir.empty())
180  ibooker.setCurrentFolder(strip_dir + "/EventInfo");
181  else
182  ibooker.setCurrentFolder("SiStrip/EventInfo");
183 
184  ibooker.cd();
185  if (!strip_dir.empty())
186  ibooker.setCurrentFolder(strip_dir + "/EventInfo/BadComponentContents");
187 
188  std::string hname, htitle;
189  hname = "BadAPVMap";
190  htitle = "SiStrip Bad APVs";
191  badAPVME_ = ibooker.book2D(hname, htitle, nSubSystem_, 0.5, nSubSystem_ + 0.5, 10, 0.5, 10.5);
192  badAPVME_->setAxisTitle("Sub Detector Type", 1);
193  badAPVME_->setAxisTitle("Layer/Disc Number", 2);
194 
195  hname = "BadFiberMap";
196  htitle = "SiStrip Bad Fibers";
197  badFiberME_ = ibooker.book2D(hname, htitle, nSubSystem_, 0.5, nSubSystem_ + 0.5, 10, 0.5, 10.5);
198  badFiberME_->setAxisTitle("Sub Detector Type", 1);
199  badFiberME_->setAxisTitle("Layer/Disc Number", 2);
200 
201  hname = "BadStripMap";
202  htitle = "SiStrip Bad Strips";
203  badStripME_ = ibooker.book2D(hname, htitle, nSubSystem_, 0.5, nSubSystem_ + 0.5, 10, 0.5, 10.5);
204  badStripME_->setAxisTitle("Sub Detector Type", 1);
205  badStripME_->setAxisTitle("Layer/Disc Number", 2);
206 
207  std::vector<std::string> names;
208  names.push_back("TECB");
209  names.push_back("TECF");
210  names.push_back("TIB");
211  names.push_back("TIDB");
212  names.push_back("TIDF");
213  names.push_back("TOB");
214 
215  for (unsigned int i = 0; i < names.size(); i++) {
216  badAPVME_->setBinLabel(i + 1, names[i]);
217  badFiberME_->setBinLabel(i + 1, names[i]);
218  badStripME_->setBinLabel(i + 1, names[i]);
219  }
220 
221  bookedStatus_ = true;
222  ibooker.cd();
223  }
224 }

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

Referenced by dqmEndJob().

◆ checkBadComponents()

void SiStripBadComponentInfo::checkBadComponents ( edm::EventSetup const &  eSetup)
private

Definition at line 40 of file SiStripBadComponentInfo.cc.

40  {
41  LogDebug("SiStripBadComponentInfo") << "SiStripBadComponentInfo:: Begining of Run";
42 
43  // Retrieve tracker topology from geometry
44  eSetup.get<TrackerTopologyRcd>().get(tTopo_);
45  eSetup.get<SiStripFedCablingRcd>().get(fedCabling_);
46 
48  if (!addBadCompFromFedErr_) {
50  }
51 }

References addBadCompFromFedErr_, fedCabling_, fillBadComponentMaps(), edm::EventSetup::get(), get, LogDebug, edm::ESHandle< T >::product(), qualityLabel_, siStripQuality_, and tTopo_.

Referenced by endRun().

◆ createSummary()

void SiStripBadComponentInfo::createSummary ( MonitorElement me,
const std::map< std::pair< int, int >, float > &  map 
)
private

Definition at line 242 of file SiStripBadComponentInfo.cc.

242  {
243  for (int i = 1; i < nSubSystem_ + 1; i++) {
244  float sum = 0.0;
245  for (int k = 1; k < me->getNbinsY(); k++) {
246  auto index = std::make_pair(i, k);
247  if (map.find(index) != map.end()) {
248  me->setBinContent(i, k, map.at(index)); // fill the layer/wheel bins
249  sum += map.at(index);
250  }
251  }
252  me->setBinContent(i, me->getNbinsY(), sum); // fill the summary bin (last one)
253  }
254 }

References mps_fire::i, dqmdumpme::k, genParticles_cff::map, hlt_dqm_clientPB-live_cfg::me, and nSubSystem_.

Referenced by dqmEndJob().

◆ dqmEndJob()

void SiStripBadComponentInfo::dqmEndJob ( DQMStore::IBooker ibooker,
DQMStore::IGetter igetter 
)
overrideprotectedvirtual

Implements DQMEDHarvester.

Definition at line 150 of file SiStripBadComponentInfo.cc.

150  {
151  LogDebug("SiStripBadComponentInfo") << "SiStripBadComponentInfo::dqmEndRun";
152  if (addBadCompFromFedErr_) {
153  auto mergedQuality = std::make_unique<SiStripQuality>(*siStripQuality_);
154  auto fedErrQuality = sistrip::badStripFromFedErr(igetter, *fedCabling_, fedErrCutoff_);
155  mergedQuality->add(fedErrQuality.get());
156  mergedQuality->cleanUp();
157  mergedQuality->fillBadComponents();
158  fillBadComponentMaps(mergedQuality.get());
159  }
160  bookBadComponentHistos(ibooker, igetter);
164 }

References addBadCompFromFedErr_, badAPVME_, badFiberME_, sistrip::badStripFromFedErr(), badStripME_, bookBadComponentHistos(), createSummary(), fedCabling_, fedErrCutoff_, fillBadComponentMaps(), LogDebug, mapBadAPV, mapBadFiber, mapBadStrip, and siStripQuality_.

◆ endRun()

void SiStripBadComponentInfo::endRun ( edm::Run const &  run,
edm::EventSetup const &  eSetup 
)
overrideprotected

Definition at line 145 of file SiStripBadComponentInfo.cc.

145  {
146  LogDebug("SiStripBadComponentInfo") << "SiStripBadComponentInfo:: End of Run";
147  checkBadComponents(eSetup);
148 }

References checkBadComponents(), and LogDebug.

◆ fillBadComponentMaps() [1/2]

void SiStripBadComponentInfo::fillBadComponentMaps ( const SiStripQuality siStripQuality)
private

Definition at line 53 of file SiStripBadComponentInfo.cc.

53  {
54  auto const& BC = siStripQuality->getBadComponentList();
55 
56  for (size_t i = 0; i < BC.size(); ++i) {
57  int subdet = -999;
58  int component = -999;
59 
60  //&&&&&&&&&&&&&&&&&
61  // Single SubSyste
62  //&&&&&&&&&&&&&&&&&
63  int subDet = DetId(BC[i].detid).subdetId();
64  if (subDet == StripSubdetector::TIB) {
65  //&&&&&&&&&&&&&&&&&
66  // TIB
67  //&&&&&&&&&&&&&&&&&
68  subdet = 3;
69  component = tTopo_->tibLayer(BC[i].detid);
70  } else if (subDet == StripSubdetector::TID) {
71  //&&&&&&&&&&&&&&&&&
72  // TID
73  //&&&&&&&&&&&&&&&&&
74  if (tTopo_->tidSide(BC[i].detid) == 2)
75  subdet = 4;
76  else
77  subdet = 5;
78  component = tTopo_->tidWheel(BC[i].detid);
79  } else if (subDet == StripSubdetector::TOB) {
80  //&&&&&&&&&&&&&&&&&
81  // TOB
82  //&&&&&&&&&&&&&&&&&
83  subdet = 6;
84  component = tTopo_->tobLayer(BC[i].detid);
85  } else if (subDet == StripSubdetector::TEC) {
86  //&&&&&&&&&&&&&&&&&
87  // TEC
88  //&&&&&&&&&&&&&&&&&
89  if (tTopo_->tecSide(BC[i].detid) == 2)
90  subdet = 2;
91  else
92  subdet = 1;
93  component = tTopo_->tecWheel(BC[i].detid);
94  }
95  fillBadComponentMaps(subdet, component, BC[i]);
96  }
97 
98  //&&&&&&&&&&&&&&&&&&
99  // Single Strip Info
100  //&&&&&&&&&&&&&&&&&&
101 
102  SiStripQuality::RegistryIterator rbegin = siStripQuality->getRegistryVectorBegin();
104 
105  for (SiStripBadStrip::RegistryIterator rp = rbegin; rp != rend; ++rp) {
106  uint32_t detid = rp->detid;
107  int subdet = -999;
108  int component = -999;
109  DetId detectorId = DetId(detid);
110  int subDet = detectorId.subdetId();
111  if (subDet == StripSubdetector::TIB) {
112  subdet = 3;
113  component = tTopo_->tibLayer(detid);
114  } else if (subDet == StripSubdetector::TID) {
115  if (tTopo_->tidSide(detid) == 2)
116  subdet = 5;
117  else
118  subdet = 4;
119  component = tTopo_->tidWheel(detid);
120  } else if (subDet == StripSubdetector::TOB) {
121  subdet = 6;
122  component = tTopo_->tobLayer(detid);
123  } else if (subDet == StripSubdetector::TEC) {
124  if (tTopo_->tecSide(detid) == 2)
125  subdet = 2;
126  else
127  subdet = 1;
128  component = tTopo_->tecWheel(detid);
129  }
130 
131  SiStripQuality::Range sqrange = SiStripQuality::Range(siStripQuality->getDataVectorBegin() + rp->ibegin,
132  siStripQuality->getDataVectorBegin() + rp->iend);
133 
134  for (int it = 0; it < sqrange.second - sqrange.first; it++) {
135  unsigned int range = siStripQuality->decode(*(sqrange.first + it)).range;
136  float val = (mapBadStrip.find(std::make_pair(subdet, component)) != mapBadStrip.end())
137  ? mapBadStrip.at(std::make_pair(subdet, component))
138  : 0.;
139  val += range;
140  mapBadStrip[std::make_pair(subdet, component)] = val;
141  }
142  }
143 }

References SiStripBadStrip::decode(), SiStripQuality::getBadComponentList(), SiStripBadStrip::getDataVectorBegin(), SiStripBadStrip::getRegistryVectorBegin(), SiStripBadStrip::getRegistryVectorEnd(), mps_fire::i, mapBadStrip, FastTimerService_cff::range, SiStripBadStrip::data::range, DetId::subdetId(), StripSubdetector::TEC, TrackerTopology::tecSide(), TrackerTopology::tecWheel(), StripSubdetector::TIB, TrackerTopology::tibLayer(), StripSubdetector::TID, TrackerTopology::tidSide(), TrackerTopology::tidWheel(), StripSubdetector::TOB, TrackerTopology::tobLayer(), tTopo_, and heppy_batch::val.

Referenced by checkBadComponents(), and dqmEndJob().

◆ fillBadComponentMaps() [2/2]

void SiStripBadComponentInfo::fillBadComponentMaps ( int  xbin,
int  component,
SiStripQuality::BadComponent const &  BC 
)
private

Definition at line 226 of file SiStripBadComponentInfo.cc.

226  {
227  auto index = std::make_pair(xbin, component);
228 
229  if (BC.BadApvs) {
230  int ntot = std::bitset<16>(BC.BadApvs & 0x3f).count();
231  float val = (mapBadAPV.find(index) != mapBadAPV.end()) ? mapBadAPV.at(index) : 0.;
232  val += ntot;
233  mapBadAPV[index] = val;
234  }
235  if (BC.BadFibers) {
236  int ntot = std::bitset<16>(BC.BadFibers & 0x7).count();
237  float val = (mapBadFiber.find(index) != mapBadFiber.end()) ? mapBadFiber.at(index) : 0.;
238  val += ntot;
239  mapBadFiber[index] = val;
240  }
241 }

References SiStripQuality::BadComponent::BadApvs, SiStripQuality::BadComponent::BadFibers, mapBadAPV, mapBadFiber, and heppy_batch::val.

Member Data Documentation

◆ addBadCompFromFedErr_

bool SiStripBadComponentInfo::addBadCompFromFedErr_
private

◆ badAPVME_

MonitorElement* SiStripBadComponentInfo::badAPVME_
private

Definition at line 59 of file SiStripBadComponentInfo.h.

Referenced by bookBadComponentHistos(), and dqmEndJob().

◆ badFiberME_

MonitorElement* SiStripBadComponentInfo::badFiberME_
private

Definition at line 60 of file SiStripBadComponentInfo.h.

Referenced by bookBadComponentHistos(), and dqmEndJob().

◆ badStripME_

MonitorElement* SiStripBadComponentInfo::badStripME_
private

Definition at line 61 of file SiStripBadComponentInfo.h.

Referenced by bookBadComponentHistos(), and dqmEndJob().

◆ bookedStatus_

bool SiStripBadComponentInfo::bookedStatus_
private

Definition at line 67 of file SiStripBadComponentInfo.h.

Referenced by bookBadComponentHistos().

◆ fedCabling_

edm::ESHandle<SiStripFedCabling> SiStripBadComponentInfo::fedCabling_
private

Definition at line 73 of file SiStripBadComponentInfo.h.

Referenced by checkBadComponents(), and dqmEndJob().

◆ fedErrCutoff_

float SiStripBadComponentInfo::fedErrCutoff_
private

Definition at line 75 of file SiStripBadComponentInfo.h.

Referenced by dqmEndJob(), and SiStripBadComponentInfo().

◆ mapBadAPV

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

Definition at line 63 of file SiStripBadComponentInfo.h.

Referenced by dqmEndJob(), and fillBadComponentMaps().

◆ mapBadFiber

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

Definition at line 64 of file SiStripBadComponentInfo.h.

Referenced by dqmEndJob(), and fillBadComponentMaps().

◆ mapBadStrip

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

Definition at line 65 of file SiStripBadComponentInfo.h.

Referenced by dqmEndJob(), and fillBadComponentMaps().

◆ nSubSystem_

int SiStripBadComponentInfo::nSubSystem_
private

Definition at line 68 of file SiStripBadComponentInfo.h.

Referenced by bookBadComponentHistos(), and createSummary().

◆ qualityLabel_

std::string SiStripBadComponentInfo::qualityLabel_
private

Definition at line 69 of file SiStripBadComponentInfo.h.

Referenced by checkBadComponents().

◆ siStripQuality_

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

Definition at line 71 of file SiStripBadComponentInfo.h.

Referenced by checkBadComponents(), and dqmEndJob().

◆ tTopo_

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

Definition at line 72 of file SiStripBadComponentInfo.h.

Referenced by checkBadComponents(), and fillBadComponentMaps().

SiStripBadComponentInfo::bookedStatus_
bool bookedStatus_
Definition: SiStripBadComponentInfo.h:67
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
mps_fire.i
i
Definition: mps_fire.py:355
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
SiStripBadComponentInfo::createSummary
void createSummary(MonitorElement *me, const std::map< std::pair< int, int >, float > &map)
Definition: SiStripBadComponentInfo.cc:242
edm::LogInfo
Definition: MessageLogger.h:254
SiStripBadStrip::decode
data decode(const unsigned int &value) const
Definition: SiStripBadStrip.h:78
SiStripBadComponentInfo::badStripME_
MonitorElement * badStripME_
Definition: SiStripBadComponentInfo.h:61
SiStripBadStrip::getDataVectorBegin
ContainerIterator getDataVectorBegin() const
Definition: SiStripBadStrip.h:73
SiStripBadComponentInfo::mapBadFiber
std::map< std::pair< int, int >, float > mapBadFiber
Definition: SiStripBadComponentInfo.h:64
TrackerTopology::tidWheel
unsigned int tidWheel(const DetId &id) const
Definition: TrackerTopology.h:201
DetId
Definition: DetId.h:17
SiStripFedCablingRcd
Definition: SiStripCondDataRecords.h:22
SiStripBadStrip::Range
std::pair< ContainerIterator, ContainerIterator > Range
Definition: SiStripBadStrip.h:53
SiStripQuality::getBadComponentList
const std::vector< BadComponent > & getBadComponentList() const
Definition: SiStripQuality.h:119
SiStripBadComponentInfo::siStripQuality_
edm::ESHandle< SiStripQuality > siStripQuality_
Definition: SiStripBadComponentInfo.h:71
SiStripBadStrip::getRegistryVectorBegin
RegistryIterator getRegistryVectorBegin() const
Definition: SiStripBadStrip.h:75
SiStripBadComponentInfo::fillBadComponentMaps
void fillBadComponentMaps(const SiStripQuality *siStripQuality)
Definition: SiStripBadComponentInfo.cc:53
names
const std::string names[nVars_]
Definition: PhotonIDValueMapProducer.cc:122
SiStripQualityRcd
Definition: SiStripDependentRecords.h:56
StripSubdetector::TIB
static constexpr auto TIB
Definition: StripSubdetector.h:16
sistrip::badStripFromFedErr
std::unique_ptr< SiStripQuality > badStripFromFedErr(dqm::harvesting::DQMStore::IGetter &dqmStore, const SiStripFedCabling &fedCabling, float cutoff)
SiStripBadComponentInfo::bookBadComponentHistos
void bookBadComponentHistos(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)
Definition: SiStripBadComponentInfo.cc:168
dqmdumpme.k
k
Definition: dqmdumpme.py:60
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
SiStripBadComponentInfo::mapBadAPV
std::map< std::pair< int, int >, float > mapBadAPV
Definition: SiStripBadComponentInfo.h:63
SiStripBadComponentInfo::badFiberME_
MonitorElement * badFiberME_
Definition: SiStripBadComponentInfo.h:60
TrackerTopology::tidSide
unsigned int tidSide(const DetId &id) const
Definition: TrackerTopology.h:190
dqm::impl::MonitorElement::setBinLabel
virtual 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)
Definition: MonitorElement.cc:771
get
#define get
SiStripBadComponentInfo::addBadCompFromFedErr_
bool addBadCompFromFedErr_
Definition: SiStripBadComponentInfo.h:74
SiStripBadComponentInfo::fedErrCutoff_
float fedErrCutoff_
Definition: SiStripBadComponentInfo.h:75
SiStripBadComponentInfo::tTopo_
edm::ESHandle< TrackerTopology > tTopo_
Definition: SiStripBadComponentInfo.h:72
SiStripBadComponentInfo::nSubSystem_
int nSubSystem_
Definition: SiStripBadComponentInfo.h:68
TrackerTopology::tobLayer
unsigned int tobLayer(const DetId &id) const
Definition: TrackerTopology.h:147
heppy_batch.val
val
Definition: heppy_batch.py:351
StripSubdetector::TEC
static constexpr auto TEC
Definition: StripSubdetector.h:19
SiStripBadComponentInfo::qualityLabel_
std::string qualityLabel_
Definition: SiStripBadComponentInfo.h:69
SiStripBadComponentInfo::checkBadComponents
void checkBadComponents(edm::EventSetup const &eSetup)
Definition: SiStripBadComponentInfo.cc:40
StripSubdetector::TOB
static constexpr auto TOB
Definition: StripSubdetector.h:18
SiStripBadComponentInfo::mapBadStrip
std::map< std::pair< int, int >, float > mapBadStrip
Definition: SiStripBadComponentInfo.h:65
SiStripBadStrip::RegistryIterator
Registry::const_iterator RegistryIterator
Definition: SiStripBadStrip.h:55
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
SiStripBadStrip::data::range
unsigned short range
Definition: SiStripBadStrip.h:34
genParticles_cff.map
map
Definition: genParticles_cff.py:11
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
hlt_dqm_clientPB-live_cfg.me
me
Definition: hlt_dqm_clientPB-live_cfg.py:56
SiStripBadComponentInfo::fedCabling_
edm::ESHandle< SiStripFedCabling > fedCabling_
Definition: SiStripBadComponentInfo.h:73
TrackerTopology::tecWheel
unsigned int tecWheel(const DetId &id) const
Definition: TrackerTopology.h:198
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
SiStripBadComponentInfo::badAPVME_
MonitorElement * badAPVME_
Definition: SiStripBadComponentInfo.h:59
SiStripBadStrip::getRegistryVectorEnd
RegistryIterator getRegistryVectorEnd() const
Definition: SiStripBadStrip.h:76
StripSubdetector::TID
static constexpr auto TID
Definition: StripSubdetector.h:17
TrackerTopology::tibLayer
unsigned int tibLayer(const DetId &id) const
Definition: TrackerTopology.h:150
TrackerTopology::tecSide
unsigned int tecSide(const DetId &id) const
Definition: TrackerTopology.h:184