18 Tk_HM_ = std::make_unique<TkHistoMap>(tkDetMapHandle.
product(),
"SiStrip/Histo_Map",
"Quality_TkMap", 0.);
44 for (std::vector<uint32_t>::const_iterator detIter_ = selectedDetIds.begin(); detIter_ != selectedDetIds.end();
54 ModMEs selModME_ = _selModME_;
60 for (
int istrip = 0; istrip < nStrip; ++istrip) {
75 for (std::vector<uint32_t>::const_iterator detIter_ = selectedDetIds.begin(); detIter_ != selectedDetIds.end();
100 float numberOfBadStrips = 0;
111 int subDetId_ = ((selDetId_ >> 25) & 0x7);
113 if (subDetId_ < 3 || subDetId_ > 6) {
114 edm::LogError(
"SiStripQualityDQM") <<
"[SiStripQualityDQM::fillMEsForLayer] WRONG INPUT : no such "
115 "subdetector type : "
116 << subDetId_ <<
" no folder set!" << std::endl;
124 std::map<uint32_t, ModMEs>::iterator selMEsMapIter_ =
129 selME_ = selMEsMapIter_->second;
133 std::vector<uint32_t> sameLayerDetIds_;
134 sameLayerDetIds_.clear();
148 for (
unsigned int i = 0;
i < sameLayerDetIds_.size();
i++) {
152 numberOfBadStrips = 0;
154 for (
int istrip = 0; istrip < nStrip; ++istrip) {
160 float fr = 100 *
float(numberOfBadStrips) / nStrip;
164 sprintf(
c,
"%d", sameLayerDetIds_[
i]);
170 Tk_HM_->setBinContent(sameLayerDetIds_[
i], fr);
214 ME[0] =
dqmStore_->
book1D(hSummary_BadModules_name, hSummary_BadModules_name, NchX, LowX, HighX);
215 ME[0]->setAxisTitle(hSummary_BadObjects_xTitle, 1);
216 ME[0]->setAxisTitle(hSummary_BadModules_yTitle, 2);
218 ME[1] =
dqmStore_->
book1D(hSummary_BadFibers_name, hSummary_BadFibers_name, NchX, LowX, HighX);
219 ME[1]->setAxisTitle(hSummary_BadObjects_xTitle, 1);
220 ME[1]->setAxisTitle(hSummary_BadFibers_yTitle, 2);
222 ME[2] =
dqmStore_->
book1D(hSummary_BadApvs_name, hSummary_BadApvs_name, NchX, LowX, HighX);
223 ME[2]->setAxisTitle(hSummary_BadObjects_xTitle, 1);
224 ME[2]->setAxisTitle(hSummary_BadApvs_yTitle, 2);
226 ME[3] =
dqmStore_->
book1D(hSummary_BadStrips_name, hSummary_BadStrips_name, NchX, LowX, HighX);
227 ME[3]->setAxisTitle(hSummary_BadObjects_xTitle, 1);
228 ME[3]->setAxisTitle(hSummary_BadStrips_yTitle, 2);
232 for (
int i = 0;
i < 4; ++
i) {
234 for (
int j = 0;
j < 19; ++
j) {
236 for (
int k = 0;
k < 4; ++
k)
241 std::stringstream
ss;
244 std::vector<uint32_t>::const_iterator idet = detids.begin();
245 for (; idet != detids.end(); ++idet) {
248 LogDebug(
"SiStripQualityDQM") <<
ss.str() << std::endl;
252 for (
size_t i = 0;
i < BC.size(); ++
i) {
263 ((BC[
i].BadApvs >> 2) & 0
x1) + ((BC[
i].BadApvs >> 1) & 0
x1) + ((BC[
i].BadApvs) & 0
x1);
276 component = tTopo->
tibLayer(BC[
i].detid);
292 component = tTopo->
tobLayer(BC[
i].detid);
313 uint32_t detid = rp->detid;
318 if (
a.subdetId() == 3) {
321 }
else if (
a.subdetId() == 4) {
324 }
else if (
a.subdetId() == 5) {
327 }
else if (
a.subdetId() == 6) {
335 for (
int it = 0; it < sqrange.second - sqrange.first; it++) {
348 ss <<
"\n-----------------\nGlobal Info\n-----------------";
349 ss <<
"\nBadComponent \t Modules \tFibers "
350 "\tApvs\tStrips\n------------------------------------------------------"
365 for (
int i = 1;
i < 5; ++
i) {
368 std::stringstream binlabel;
369 binlabel <<
"TIB L " <<
i;
371 for (
int j = 0;
j < 4;
j++) {
373 ME[
j]->getTH1()->GetXaxis()->SetBinLabel(
i, binlabel.str().c_str());
377 for (
int i = 1;
i < 4; ++
i) {
380 std::stringstream binlabel;
381 binlabel <<
"TID+ D " <<
i;
383 for (
int j = 0;
j < 4;
j++) {
385 ME[
j]->getTH1()->GetXaxis()->SetBinLabel(
i + 4, binlabel.str().c_str());
388 for (
int i = 4;
i < 7; ++
i) {
391 std::stringstream binlabel;
392 binlabel <<
"TID- D " <<
i - 3;
394 for (
int j = 0;
j < 4;
j++) {
396 ME[
j]->getTH1()->GetXaxis()->SetBinLabel(
i + 4, binlabel.str().c_str());
400 for (
int i = 1;
i < 7; ++
i) {
403 std::stringstream binlabel;
404 binlabel <<
"TOB L " <<
i;
406 for (
int j = 0;
j < 4;
j++) {
408 ME[
j]->getTH1()->GetXaxis()->SetBinLabel(
i + 10, binlabel.str().c_str());
412 for (
int i = 1;
i < 10; ++
i) {
415 std::stringstream binlabel;
416 binlabel <<
"TEC+ D " <<
i;
418 for (
int j = 0;
j < 4;
j++) {
420 ME[
j]->getTH1()->GetXaxis()->SetBinLabel(
i + 16, binlabel.str().c_str());
423 for (
int i = 10;
i < 19; ++
i) {
426 std::stringstream binlabel;
427 binlabel <<
"TEC- D " <<
i - 9;
429 for (
int j = 0;
j < 4;
j++) {
431 ME[
j]->getTH1()->GetXaxis()->SetBinLabel(
i + 16, binlabel.str().c_str());
436 ss <<
"\n----------------------------------------------------------------"
437 "\n\t\t Detid \tModules Fibers "
438 "Apvs\n---------------------------------------------------------------"
440 for (
int i = 1;
i < 5; ++
i)
441 ss <<
"\nTIB Layer " <<
i <<
" :" <<
ssV[0][
i].
str();
443 for (
int i = 1;
i < 4; ++
i)
444 ss <<
"\nTID+ Disk " <<
i <<
" :" <<
ssV[1][
i].
str();
445 for (
int i = 4;
i < 7; ++
i)
446 ss <<
"\nTID- Disk " <<
i - 3 <<
" :" <<
ssV[1][
i].
str();
448 for (
int i = 1;
i < 7; ++
i)
449 ss <<
"\nTOB Layer " <<
i <<
" :" <<
ssV[2][
i].
str();
451 for (
int i = 1;
i < 10; ++
i)
452 ss <<
"\nTEC+ Disk " <<
i <<
" :" <<
ssV[3][
i].
str();
453 for (
int i = 10;
i < 19; ++
i)
454 ss <<
"\nTEC- Disk " <<
i - 9 <<
" :" <<
ssV[3][
i].
str();
458 for (
int i = 0;
i < 4;
i++) {
460 ME[
i]->getTH1()->Draw();