CMS 3D CMS Logo

SiStripQualityStatistics.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: SiStripQualityStatistics
4 // Class: SiStripQualityStatistics
5 //
13 //
14 // Original Author: Domenico GIORDANO
15 // Created: Wed Oct 3 12:11:10 CEST 2007
16 //
17 //
18 
28 
30 
32  : m_cacheID_(0),
33  dataLabel_(iConfig.getUntrackedParameter<std::string>("dataLabel", "")),
34  TkMapFileName_(iConfig.getUntrackedParameter<std::string>("TkMapFileName", "")),
35  saveTkHistoMap_(iConfig.getUntrackedParameter<bool>("SaveTkHistoMap", true)),
36  tkMap(nullptr),
37  tkMapFullIOVs(nullptr),
38  addBadCompFromFedErr_(iConfig.getUntrackedParameter<bool>("AddBadComponentsFromFedErrors", false)),
39  fedErrCutoff_(float(iConfig.getUntrackedParameter<double>("FedErrorBadComponentsCutoff", 0.8))) {
41  iConfig
42  .getUntrackedParameter<edm::FileInPath>("file",
43  edm::FileInPath("CalibTracker/SiStripCommon/data/SiStripDetInfo.dat"))
44  .fullPath());
45 
46  tkMapFullIOVs = new TrackerMap("BadComponents");
47  tkhisto = nullptr;
48 }
49 
51 
54  SiStripQuality mergedQuality{*siStripQuality_};
55  auto fedErrQuality = sistrip::badStripFromFedErr(getter, *fedCabling_, fedErrCutoff_);
56  mergedQuality.add(fedErrQuality.get());
57  mergedQuality.cleanUp();
58  mergedQuality.fillBadComponents();
59  updateAndSave(&mergedQuality);
60  }
62  if (!filename.empty()) {
63  tkMapFullIOVs->save(false, 0, 0, filename);
64  filename.erase(filename.begin() + filename.find("."), filename.end());
65  tkMapFullIOVs->print(false, 0, 0, filename);
66 
67  if (saveTkHistoMap_) {
68  tkhisto->save(filename + ".root");
69  tkhisto->saveAsCanvas(filename + "_Canvas.root", "E");
70  }
71  }
72 }
73 
75  //Retrieve tracker topology from geometry
77  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
78  tTopo_ = tTopoHandle.product();
79  if ((!tkhisto) && (!TkMapFileName_.empty())) {
80  edm::ESHandle<TkDetMap> tkDetMapHandle;
81  iSetup.get<TrackerTopologyRcd>().get(tkDetMapHandle);
82  //here the baseline (the value of the empty,not assigned bins) is put to -1 (default is zero)
83  tkhisto = std::make_unique<TkHistoMap>(tkDetMapHandle.product(), "BadComp", "BadComp", -1.);
84  }
85 
86  unsigned long long cacheID = iSetup.get<SiStripQualityRcd>().cacheIdentifier();
87 
88  if (m_cacheID_ == cacheID)
89  return;
90 
91  m_cacheID_ = cacheID;
92  run_ = run.id();
93 
94  edm::ESHandle<SiStripQuality> qualityHandle;
95  iSetup.get<SiStripQualityRcd>().get(dataLabel_, qualityHandle);
96 
97  if (!addBadCompFromFedErr_) {
98  updateAndSave(qualityHandle.product());
99  } else {
100  siStripQuality_ = qualityHandle.product();
101  edm::ESHandle<SiStripFedCabling> fedCablingHandle;
102  iSetup.get<SiStripFedCablingRcd>().get(fedCablingHandle);
103  fedCabling_ = fedCablingHandle.product();
104  }
105 }
106 
108  for (int i = 0; i < 4; ++i) {
109  NTkBadComponent[i] = 0;
110  for (int j = 0; j < 19; ++j) {
111  ssV[i][j].str("");
112  for (int k = 0; k < 4; ++k)
113  NBadComponent[i][j][k] = 0;
114  }
115  }
116 
117  if (tkMap)
118  delete tkMap;
119  tkMap = new TrackerMap("BadComponents");
120 
121  std::stringstream ss;
122  std::vector<uint32_t> detids = reader->getAllDetIds();
123  std::vector<uint32_t>::const_iterator idet = detids.begin();
124  for (; idet != detids.end(); ++idet) {
125  ss << "detid " << (*idet) << " IsModuleUsable " << siStripQuality->IsModuleUsable((*idet)) << "\n";
126  if (siStripQuality->IsModuleUsable((*idet)))
127  tkMap->fillc(*idet, 0x00ff00);
128  }
129  LogDebug("SiStripQualityStatistics") << ss.str() << std::endl;
130 
131  std::vector<SiStripQuality::BadComponent> BC = siStripQuality->getBadComponentList();
132 
133  for (size_t i = 0; i < BC.size(); ++i) {
134  //&&&&&&&&&&&&&
135  //Full Tk
136  //&&&&&&&&&&&&&
137 
138  if (BC[i].BadModule)
139  NTkBadComponent[0]++;
140  if (BC[i].BadFibers)
141  NTkBadComponent[1] += ((BC[i].BadFibers >> 2) & 0x1) + ((BC[i].BadFibers >> 1) & 0x1) + ((BC[i].BadFibers) & 0x1);
142  if (BC[i].BadApvs)
143  NTkBadComponent[2] += ((BC[i].BadApvs >> 5) & 0x1) + ((BC[i].BadApvs >> 4) & 0x1) + ((BC[i].BadApvs >> 3) & 0x1) +
144  ((BC[i].BadApvs >> 2) & 0x1) + ((BC[i].BadApvs >> 1) & 0x1) + ((BC[i].BadApvs) & 0x1);
145 
146  //&&&&&&&&&&&&&&&&&
147  //Single SubSyste
148  //&&&&&&&&&&&&&&&&&
149  int component;
150  DetId detectorId = DetId(BC[i].detid);
151  int subDet = detectorId.subdetId();
152  if (subDet == StripSubdetector::TIB) {
153  //&&&&&&&&&&&&&&&&&
154  //TIB
155  //&&&&&&&&&&&&&&&&&
156 
157  component = tTopo_->tibLayer(BC[i].detid);
158  SetBadComponents(0, component, BC[i]);
159 
160  } else if (subDet == StripSubdetector::TID) {
161  //&&&&&&&&&&&&&&&&&
162  //TID
163  //&&&&&&&&&&&&&&&&&
164 
165  component = tTopo_->tidSide(BC[i].detid) == 2 ? tTopo_->tidWheel(BC[i].detid) : tTopo_->tidWheel(BC[i].detid) + 3;
166  SetBadComponents(1, component, BC[i]);
167 
168  } else if (subDet == StripSubdetector::TOB) {
169  //&&&&&&&&&&&&&&&&&
170  //TOB
171  //&&&&&&&&&&&&&&&&&
172 
173  component = tTopo_->tobLayer(BC[i].detid);
174  SetBadComponents(2, component, BC[i]);
175 
176  } else if (subDet == StripSubdetector::TEC) {
177  //&&&&&&&&&&&&&&&&&
178  //TEC
179  //&&&&&&&&&&&&&&&&&
180 
181  component = tTopo_->tecSide(BC[i].detid) == 2 ? tTopo_->tecWheel(BC[i].detid) : tTopo_->tecWheel(BC[i].detid) + 9;
182  SetBadComponents(3, component, BC[i]);
183  }
184  }
185 
186  //&&&&&&&&&&&&&&&&&&
187  // Single Strip Info
188  //&&&&&&&&&&&&&&&&&&
189  float percentage = 0;
190 
191  SiStripQuality::RegistryIterator rbegin = siStripQuality->getRegistryVectorBegin();
193 
194  for (SiStripBadStrip::RegistryIterator rp = rbegin; rp != rend; ++rp) {
195  uint32_t detid = rp->detid;
196 
197  int subdet = -999;
198  int component = -999;
199  DetId detectorId = DetId(detid);
200  int subDet = detectorId.subdetId();
201  if (subDet == StripSubdetector::TIB) {
202  subdet = 0;
203  component = tTopo_->tibLayer(detid);
204  } else if (subDet == StripSubdetector::TID) {
205  subdet = 1;
206  component = tTopo_->tidSide(detid) == 2 ? tTopo_->tidWheel(detid) : tTopo_->tidWheel(detid) + 3;
207  } else if (subDet == StripSubdetector::TOB) {
208  subdet = 2;
209  component = tTopo_->tobLayer(detid);
210  } else if (subDet == StripSubdetector::TEC) {
211  subdet = 3;
212  component = tTopo_->tecSide(detid) == 2 ? tTopo_->tecWheel(detid) : tTopo_->tecWheel(detid) + 9;
213  }
214 
215  SiStripQuality::Range sqrange = SiStripQuality::Range(siStripQuality->getDataVectorBegin() + rp->ibegin,
216  siStripQuality->getDataVectorBegin() + rp->iend);
217 
218  percentage = 0;
219  for (int it = 0; it < sqrange.second - sqrange.first; it++) {
220  unsigned int range = siStripQuality->decode(*(sqrange.first + it)).range;
221  NTkBadComponent[3] += range;
222  NBadComponent[subdet][0][3] += range;
223  NBadComponent[subdet][component][3] += range;
224  percentage += range;
225  }
226  if (percentage != 0)
227  percentage /= 128. * reader->getNumberOfApvsAndStripLength(detid).first;
228  if (percentage > 1)
229  edm::LogError("SiStripQualityStatistics") << "PROBLEM detid " << detid << " value " << percentage << std::endl;
230 
231  //------- Global Statistics on percentage of bad components along the IOVs ------//
232  tkMapFullIOVs->fill(detid, percentage);
233  if (tkhisto != nullptr)
234  tkhisto->fill(detid, percentage);
235  }
236 
237  //&&&&&&&&&&&&&&&&&&
238  // printout
239  //&&&&&&&&&&&&&&&&&&
240 
241  ss.str("");
242  ss << "\n-----------------\nNew IOV starting from run " << run_.run() << " chacheID " << m_cacheID_
243  << "\n-----------------\n";
244  ss << "\n-----------------\nGlobal Info\n-----------------";
245  ss << "\nBadComponent \t Modules \tFibers "
246  "\tApvs\tStrips\n----------------------------------------------------------------";
247  ss << "\nTracker:\t\t" << NTkBadComponent[0] << "\t" << NTkBadComponent[1] << "\t" << NTkBadComponent[2] << "\t"
248  << NTkBadComponent[3];
249  ss << "\n";
250  ss << "\nTIB:\t\t\t" << NBadComponent[0][0][0] << "\t" << NBadComponent[0][0][1] << "\t" << NBadComponent[0][0][2]
251  << "\t" << NBadComponent[0][0][3];
252  ss << "\nTID:\t\t\t" << NBadComponent[1][0][0] << "\t" << NBadComponent[1][0][1] << "\t" << NBadComponent[1][0][2]
253  << "\t" << NBadComponent[1][0][3];
254  ss << "\nTOB:\t\t\t" << NBadComponent[2][0][0] << "\t" << NBadComponent[2][0][1] << "\t" << NBadComponent[2][0][2]
255  << "\t" << NBadComponent[2][0][3];
256  ss << "\nTEC:\t\t\t" << NBadComponent[3][0][0] << "\t" << NBadComponent[3][0][1] << "\t" << NBadComponent[3][0][2]
257  << "\t" << NBadComponent[3][0][3];
258  ss << "\n";
259 
260  for (int i = 1; i < 5; ++i)
261  ss << "\nTIB Layer " << i << " :\t\t" << NBadComponent[0][i][0] << "\t" << NBadComponent[0][i][1] << "\t"
262  << NBadComponent[0][i][2] << "\t" << NBadComponent[0][i][3];
263  ss << "\n";
264  for (int i = 1; i < 4; ++i)
265  ss << "\nTID+ Disk " << i << " :\t\t" << NBadComponent[1][i][0] << "\t" << NBadComponent[1][i][1] << "\t"
266  << NBadComponent[1][i][2] << "\t" << NBadComponent[1][i][3];
267  for (int i = 4; i < 7; ++i)
268  ss << "\nTID- Disk " << i - 3 << " :\t\t" << NBadComponent[1][i][0] << "\t" << NBadComponent[1][i][1] << "\t"
269  << NBadComponent[1][i][2] << "\t" << NBadComponent[1][i][3];
270  ss << "\n";
271  for (int i = 1; i < 7; ++i)
272  ss << "\nTOB Layer " << i << " :\t\t" << NBadComponent[2][i][0] << "\t" << NBadComponent[2][i][1] << "\t"
273  << NBadComponent[2][i][2] << "\t" << NBadComponent[2][i][3];
274  ss << "\n";
275  for (int i = 1; i < 10; ++i)
276  ss << "\nTEC+ Disk " << i << " :\t\t" << NBadComponent[3][i][0] << "\t" << NBadComponent[3][i][1] << "\t"
277  << NBadComponent[3][i][2] << "\t" << NBadComponent[3][i][3];
278  for (int i = 10; i < 19; ++i)
279  ss << "\nTEC- Disk " << i - 9 << " :\t\t" << NBadComponent[3][i][0] << "\t" << NBadComponent[3][i][1] << "\t"
280  << NBadComponent[3][i][2] << "\t" << NBadComponent[3][i][3];
281  ss << "\n";
282 
283  ss << "\n----------------------------------------------------------------\n\t\t Detid \tModules Fibers "
284  "Apvs\n----------------------------------------------------------------";
285  for (int i = 1; i < 5; ++i)
286  ss << "\nTIB Layer " << i << " :" << ssV[0][i].str();
287  ss << "\n";
288  for (int i = 1; i < 4; ++i)
289  ss << "\nTID+ Disk " << i << " :" << ssV[1][i].str();
290  for (int i = 4; i < 7; ++i)
291  ss << "\nTID- Disk " << i - 3 << " :" << ssV[1][i].str();
292  ss << "\n";
293  for (int i = 1; i < 7; ++i)
294  ss << "\nTOB Layer " << i << " :" << ssV[2][i].str();
295  ss << "\n";
296  for (int i = 1; i < 10; ++i)
297  ss << "\nTEC+ Disk " << i << " :" << ssV[3][i].str();
298  for (int i = 10; i < 19; ++i)
299  ss << "\nTEC- Disk " << i - 9 << " :" << ssV[3][i].str();
300 
301  edm::LogInfo("SiStripQualityStatistics") << ss.str() << std::endl;
302 
304  std::stringstream sRun;
305  sRun.str("");
306  sRun << "_Run_" << std::setw(6) << std::setfill('0') << run_.run() << std::setw(0);
307 
308  if (!filename.empty()) {
309  filename.insert(filename.find("."), sRun.str());
310  tkMap->save(true, 0, 0, filename);
311  filename.erase(filename.begin() + filename.find("."), filename.end());
312  tkMap->print(true, 0, 0, filename);
313  }
314 }
315 
317  int napv = reader->getNumberOfApvsAndStripLength(BC.detid).first;
318 
319  ssV[i][component] << "\n\t\t " << BC.detid << " \t " << BC.BadModule << " \t " << ((BC.BadFibers) & 0x1) << " ";
320  if (napv == 4)
321  ssV[i][component] << "x " << ((BC.BadFibers >> 1) & 0x1);
322 
323  if (napv == 6)
324  ssV[i][component] << ((BC.BadFibers >> 1) & 0x1) << " " << ((BC.BadFibers >> 2) & 0x1);
325  ssV[i][component] << " \t " << ((BC.BadApvs) & 0x1) << " " << ((BC.BadApvs >> 1) & 0x1) << " ";
326  if (napv == 4)
327  ssV[i][component] << "x x " << ((BC.BadApvs >> 2) & 0x1) << " " << ((BC.BadApvs >> 3) & 0x1);
328  if (napv == 6)
329  ssV[i][component] << ((BC.BadApvs >> 2) & 0x1) << " " << ((BC.BadApvs >> 3) & 0x1) << " "
330  << ((BC.BadApvs >> 4) & 0x1) << " " << ((BC.BadApvs >> 5) & 0x1) << " ";
331 
332  if (BC.BadApvs) {
333  NBadComponent[i][0][2] += ((BC.BadApvs >> 5) & 0x1) + ((BC.BadApvs >> 4) & 0x1) + ((BC.BadApvs >> 3) & 0x1) +
334  ((BC.BadApvs >> 2) & 0x1) + ((BC.BadApvs >> 1) & 0x1) + ((BC.BadApvs) & 0x1);
335  NBadComponent[i][component][2] += ((BC.BadApvs >> 5) & 0x1) + ((BC.BadApvs >> 4) & 0x1) +
336  ((BC.BadApvs >> 3) & 0x1) + ((BC.BadApvs >> 2) & 0x1) +
337  ((BC.BadApvs >> 1) & 0x1) + ((BC.BadApvs) & 0x1);
338  tkMap->fillc(BC.detid, 0xff0000);
339  }
340  if (BC.BadFibers) {
341  NBadComponent[i][0][1] += ((BC.BadFibers >> 2) & 0x1) + ((BC.BadFibers >> 1) & 0x1) + ((BC.BadFibers) & 0x1);
342  NBadComponent[i][component][1] +=
343  ((BC.BadFibers >> 2) & 0x1) + ((BC.BadFibers >> 1) & 0x1) + ((BC.BadFibers) & 0x1);
344  tkMap->fillc(BC.detid, 0x0000ff);
345  }
346  if (BC.BadModule) {
347  NBadComponent[i][0][0]++;
348  NBadComponent[i][component][0]++;
349  tkMap->fillc(BC.detid, 0x0);
350  }
351 }
SiStripQualityStatistics::reader
SiStripDetInfoFileReader * reader
Definition: SiStripQualityStatistics.h:43
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
SiStripQuality::BadComponent::detid
uint32_t detid
Definition: SiStripQuality.h:35
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
electrons_cff.bool
bool
Definition: electrons_cff.py:372
mps_fire.i
i
Definition: mps_fire.py:355
MessageLogger.h
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
funct::false
false
Definition: Factorize.h:34
SiStripQualityStatistics::SiStripQualityStatistics
SiStripQualityStatistics(const edm::ParameterSet &)
Definition: SiStripQualityStatistics.cc:31
edm::RunID::run
RunNumber_t run() const
Definition: RunID.h:36
SiStripQualityStatistics::saveTkHistoMap_
bool saveTkHistoMap_
Definition: SiStripQualityStatistics.h:33
edm::Run
Definition: Run.h:45
contentValuesFiles.fullPath
fullPath
Definition: contentValuesFiles.py:64
edm::LogInfo
Definition: MessageLogger.h:254
SiStripBadStrip::decode
data decode(const unsigned int &value) const
Definition: SiStripBadStrip.h:78
SiStripQuality::IsModuleUsable
bool IsModuleUsable(const uint32_t &detid) const
Definition: SiStripQuality.cc:590
SiStripQualityStatistics::TkMapFileName_
std::string TkMapFileName_
Definition: SiStripQualityStatistics.h:32
TrackerMap::fill
void fill(int layer, int ring, int nmod, float x)
Definition: TrackerMap.cc:3288
SiStripQualityStatistics::fedErrCutoff_
float fedErrCutoff_
Definition: SiStripQualityStatistics.h:46
SiStripDetInfoFileReader
Definition: SiStripDetInfoFileReader.h:30
SiStripBadStrip::getDataVectorBegin
ContainerIterator getDataVectorBegin() const
Definition: SiStripBadStrip.h:73
SiStripQualityStatistics::~SiStripQualityStatistics
~SiStripQualityStatistics() override
Definition: SiStripQualityStatistics.cc:50
TrackerTopology::tidWheel
unsigned int tidWheel(const DetId &id) const
Definition: TrackerTopology.h:201
SiStripQualityStatistics::addBadCompFromFedErr_
bool addBadCompFromFedErr_
Definition: SiStripQualityStatistics.h:45
SiStripQualityStatistics::NTkBadComponent
int NTkBadComponent[4]
Definition: SiStripQualityStatistics.h:35
SiStripQualityStatistics::tkMap
TrackerMap * tkMap
Definition: SiStripQualityStatistics.h:42
contentValuesCheck.ss
ss
Definition: contentValuesCheck.py:33
DetId
Definition: DetId.h:17
edm::FileInPath
Definition: FileInPath.h:64
TrackerTopology.h
testProducerWithPsetDescEmpty_cfi.x1
x1
Definition: testProducerWithPsetDescEmpty_cfi.py:33
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
SiStripBadStrip::getRegistryVectorBegin
RegistryIterator getRegistryVectorBegin() const
Definition: SiStripBadStrip.h:75
TrackerTopologyRcd.h
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
SiStripQualityStatistics::NBadComponent
int NBadComponent[4][19][4]
Definition: SiStripQualityStatistics.h:36
SiStripQualityRcd
Definition: SiStripDependentRecords.h:56
str
#define str(s)
Definition: TestProcessor.cc:48
edm::ESHandle< TrackerTopology >
corrVsCorr.filename
filename
Definition: corrVsCorr.py:123
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)
SiStripDetInfoFileReader.h
TrackerMap
Definition: TrackerMap.h:76
dqmdumpme.k
k
Definition: dqmdumpme.py:60
TrackerMap::print
void print(bool print_total=true, float minval=0., float maxval=0., std::string s="svgmap")
Definition: TrackerMap.cc:2942
SiStripQualityStatistics.h
SiStripQuality::BadComponent::BadFibers
unsigned short BadFibers
Definition: SiStripQuality.h:37
TkHistoMap.h
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
SiStripQualityStatistics::dqmEndJob
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
Definition: SiStripQualityStatistics.cc:52
funct::true
true
Definition: Factorize.h:173
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
edm::ParameterSet
Definition: ParameterSet.h:36
edm::LogError
Definition: MessageLogger.h:183
SiStripQuality::BadComponent::BadModule
bool BadModule
Definition: SiStripQuality.h:38
TrackerTopology::tidSide
unsigned int tidSide(const DetId &id) const
Definition: TrackerTopology.h:190
SiStripQuality::BadComponent::BadApvs
unsigned short BadApvs
Definition: SiStripQuality.h:36
edm::EventSetup
Definition: EventSetup.h:57
get
#define get
SiStripDetInfoFileReader::getAllDetIds
const std::vector< uint32_t > & getAllDetIds() const
Definition: SiStripDetInfoFileReader.h:52
TrackerMap.h
SiStripQualityHelpers.h
TrackerMap::save
void save(bool print_total=true, float minval=0., float maxval=0., std::string s="svgmap.svg", int width=1500, int height=800)
Definition: TrackerMap.cc:810
TrackerTopology::tobLayer
unsigned int tobLayer(const DetId &id) const
Definition: TrackerTopology.h:147
SiStripQualityStatistics::endRun
void endRun(edm::Run const &, edm::EventSetup const &) override
Definition: SiStripQualityStatistics.cc:74
std
Definition: JetResolutionObject.h:76
SiStripDetInfoFileReader::getNumberOfApvsAndStripLength
const std::pair< unsigned short, double > getNumberOfApvsAndStripLength(uint32_t detId) const
Definition: SiStripDetInfoFileReader.cc:101
writedatasetfile.run
run
Definition: writedatasetfile.py:27
SiStripQuality::BadComponent
Definition: SiStripQuality.h:34
StripSubdetector::TEC
static constexpr auto TEC
Definition: StripSubdetector.h:19
SiStripQualityStatistics::ssV
std::stringstream ssV[4][19]
Definition: SiStripQualityStatistics.h:40
dqm::implementation::IGetter
Definition: DQMStore.h:484
SiStripQualityRcd.h
StripSubdetector::TOB
static constexpr auto TOB
Definition: StripSubdetector.h:18
SiStripBadStrip::RegistryIterator
Registry::const_iterator RegistryIterator
Definition: SiStripBadStrip.h:55
dqm::implementation::IBooker
Definition: DQMStore.h:43
SiStripQualityStatistics::run_
edm::RunID run_
Definition: SiStripQualityStatistics.h:30
SiStripBadStrip::data::range
unsigned short range
Definition: SiStripBadStrip.h:34
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
SiStripQualityStatistics::dataLabel_
std::string dataLabel_
Definition: SiStripQualityStatistics.h:31
SiStripQualityStatistics::tTopo_
const TrackerTopology * tTopo_
Definition: SiStripQualityStatistics.h:47
SiStripQualityStatistics::SetBadComponents
void SetBadComponents(int, int, SiStripQuality::BadComponent &)
Definition: SiStripQualityStatistics.cc:316
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
SiStripQualityStatistics::tkMapFullIOVs
TrackerMap * tkMapFullIOVs
Definition: SiStripQualityStatistics.h:42
SiStripQualityStatistics::tkhisto
std::unique_ptr< TkHistoMap > tkhisto
Definition: SiStripQualityStatistics.h:44
SiStripQualityStatistics::m_cacheID_
unsigned long long m_cacheID_
Definition: SiStripQualityStatistics.h:29
TrackerTopology::tecWheel
unsigned int tecWheel(const DetId &id) const
Definition: TrackerTopology.h:198
StripSubdetector.h
SiStripQualityStatistics::fedCabling_
const SiStripFedCabling * fedCabling_
Definition: SiStripQualityStatistics.h:48
SiStripBadStrip::getRegistryVectorEnd
RegistryIterator getRegistryVectorEnd() const
Definition: SiStripBadStrip.h:76
SiStripQualityStatistics::siStripQuality_
const SiStripQuality * siStripQuality_
Definition: SiStripQualityStatistics.h:49
StripSubdetector::TID
static constexpr auto TID
Definition: StripSubdetector.h:17
TrackerMap::fillc
void fillc(int idmod, int RGBcode)
Definition: TrackerMap.h:135
TrackerTopology::tibLayer
unsigned int tibLayer(const DetId &id) const
Definition: TrackerTopology.h:150
SiStripQuality
Definition: SiStripQuality.h:32
SiStripQualityStatistics::updateAndSave
void updateAndSave(const SiStripQuality *siStripQuality)
Definition: SiStripQualityStatistics.cc:107
TrackerTopology::tecSide
unsigned int tecSide(const DetId &id) const
Definition: TrackerTopology.h:184