CMS 3D CMS Logo

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

#include <CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.cc>

Inheritance diagram for SiStripQualityStatistics:
one::DQMEDAnalyzer< T > one::dqmimplementation::DQMBaseClass< T... >

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 SiStripQualityStatistics (const edm::ParameterSet &)
 
 ~SiStripQualityStatistics () override
 
- Public Member Functions inherited from one::DQMEDAnalyzer< T >
 DQMEDAnalyzer ()=default
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > &&)=delete
 
 ~DQMEDAnalyzer () override=default
 

Private Member Functions

void EndJob ()
 
void SetBadComponents (int, int, SiStripQuality::BadComponent &)
 

Private Attributes

std::string dataLabel_
 
edm::FileInPath fp_
 
unsigned long long m_cacheID_
 
int NBadComponent [4][19][4]
 
int NTkBadComponent [4]
 
SiStripDetInfoFileReaderreader
 
bool saveTkHistoMap_
 
std::stringstream ssV [4][19]
 
std::unique_ptr< TkHistoMaptkhisto
 
TrackerMaptkMap
 
std::string TkMapFileName_
 
TrackerMaptkMapFullIOVs
 

Detailed Description

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 25 of file SiStripQualityStatistics.h.

Constructor & Destructor Documentation

SiStripQualityStatistics::SiStripQualityStatistics ( const edm::ParameterSet iConfig)
explicit

Definition at line 30 of file SiStripQualityStatistics.cc.

References fp_, edm::FileInPath::fullPath(), reader, tkhisto, and tkMapFullIOVs.

31  : m_cacheID_(0),
32  dataLabel_(iConfig.getUntrackedParameter<std::string>("dataLabel", "")),
33  TkMapFileName_(iConfig.getUntrackedParameter<std::string>("TkMapFileName", "")),
35  "file", edm::FileInPath("CalibTracker/SiStripCommon/data/SiStripDetInfo.dat"))),
36  saveTkHistoMap_(iConfig.getUntrackedParameter<bool>("SaveTkHistoMap", true)),
37  tkMap(nullptr),
38  tkMapFullIOVs(nullptr) {
40 
41  tkMapFullIOVs = new TrackerMap("BadComponents");
42  tkhisto = nullptr;
43 }
T getUntrackedParameter(std::string const &, T const &) const
std::unique_ptr< TkHistoMap > tkhisto
std::string fullPath() const
Definition: FileInPath.cc:163
SiStripDetInfoFileReader * reader
SiStripQualityStatistics::~SiStripQualityStatistics ( )
override

Definition at line 45 of file SiStripQualityStatistics.cc.

References EndJob().

Member Function Documentation

void SiStripQualityStatistics::analyze ( const edm::Event e,
const edm::EventSetup iSetup 
)
override

Definition at line 65 of file SiStripQualityStatistics.cc.

References dataLabel_, SiStripBadStrip::decode(), edm::EventID::event(), corrVsCorr::filename, symbols::filetype, TrackerMap::fill(), TrackerMap::fillc(), edm::EventSetup::get(), SiStripDetInfoFileReader::getAllDetIds(), SiStripQuality::getBadComponentList(), SiStripBadStrip::getDataVectorBegin(), SiStripDetInfoFileReader::getNumberOfApvsAndStripLength(), SiStripBadStrip::getRegistryVectorBegin(), SiStripBadStrip::getRegistryVectorEnd(), mps_fire::i, edm::EventBase::id(), SiStripQuality::IsModuleUsable(), gen::k, LogDebug, edm::EventBase::luminosityBlock(), m_cacheID_, NBadComponent, NTkBadComponent, TrackerMap::print(), edm::ESHandle< T >::product(), SiStripBadStrip::data::range, reader, edm::EventID::run(), TrackerMap::save(), SetBadComponents(), ssV, str, AlCaHLTBitMon_QueryRunRegistry::string, DetId::subdetId(), StripSubdetector::TEC, TrackerTopology::tecSide(), TrackerTopology::tecWheel(), StripSubdetector::TIB, TrackerTopology::tibLayer(), StripSubdetector::TID, TrackerTopology::tidSide(), TrackerTopology::tidWheel(), edm::EventBase::time(), tkhisto, tkMap, TkMapFileName_, tkMapFullIOVs, StripSubdetector::TOB, TrackerTopology::tobLayer(), edm::Timestamp::value(), and globals_cff::x1.

65  {
66  //Retrieve tracker topology from geometry
68  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
69  const TrackerTopology* const tTopo = tTopoHandle.product();
70  if ((!tkhisto) && (!TkMapFileName_.empty())) {
71  edm::ESHandle<TkDetMap> tkDetMapHandle;
72  iSetup.get<TrackerTopologyRcd>().get(tkDetMapHandle);
73  //here the baseline (the value of the empty,not assigned bins) is put to -1 (default is zero)
74  tkhisto = std::make_unique<TkHistoMap>(tkDetMapHandle.product(), "BadComp", "BadComp", -1.);
75  }
76 
77  unsigned long long cacheID = iSetup.get<SiStripQualityRcd>().cacheIdentifier();
78 
79  std::stringstream ss;
80 
81  if (m_cacheID_ == cacheID)
82  return;
83 
84  m_cacheID_ = cacheID;
85 
86  edm::ESHandle<SiStripQuality> SiStripQuality_;
87  iSetup.get<SiStripQualityRcd>().get(dataLabel_, SiStripQuality_);
88 
89  for (int i = 0; i < 4; ++i) {
90  NTkBadComponent[i] = 0;
91  for (int j = 0; j < 19; ++j) {
92  ssV[i][j].str("");
93  for (int k = 0; k < 4; ++k)
94  NBadComponent[i][j][k] = 0;
95  }
96  }
97 
98  if (tkMap)
99  delete tkMap;
100  tkMap = new TrackerMap("BadComponents");
101 
102  ss.str("");
103  std::vector<uint32_t> detids = reader->getAllDetIds();
104  std::vector<uint32_t>::const_iterator idet = detids.begin();
105  for (; idet != detids.end(); ++idet) {
106  ss << "detid " << (*idet) << " IsModuleUsable " << SiStripQuality_->IsModuleUsable((*idet)) << "\n";
107  if (SiStripQuality_->IsModuleUsable((*idet)))
108  tkMap->fillc(*idet, 0x00ff00);
109  }
110  LogDebug("SiStripQualityStatistics") << ss.str() << std::endl;
111 
112  std::vector<SiStripQuality::BadComponent> BC = SiStripQuality_->getBadComponentList();
113 
114  for (size_t i = 0; i < BC.size(); ++i) {
115  //&&&&&&&&&&&&&
116  //Full Tk
117  //&&&&&&&&&&&&&
118 
119  if (BC[i].BadModule)
120  NTkBadComponent[0]++;
121  if (BC[i].BadFibers)
122  NTkBadComponent[1] += ((BC[i].BadFibers >> 2) & 0x1) + ((BC[i].BadFibers >> 1) & 0x1) + ((BC[i].BadFibers) & 0x1);
123  if (BC[i].BadApvs)
124  NTkBadComponent[2] += ((BC[i].BadApvs >> 5) & 0x1) + ((BC[i].BadApvs >> 4) & 0x1) + ((BC[i].BadApvs >> 3) & 0x1) +
125  ((BC[i].BadApvs >> 2) & 0x1) + ((BC[i].BadApvs >> 1) & 0x1) + ((BC[i].BadApvs) & 0x1);
126 
127  //&&&&&&&&&&&&&&&&&
128  //Single SubSyste
129  //&&&&&&&&&&&&&&&&&
130  int component;
131  DetId detectorId = DetId(BC[i].detid);
132  int subDet = detectorId.subdetId();
133  if (subDet == StripSubdetector::TIB) {
134  //&&&&&&&&&&&&&&&&&
135  //TIB
136  //&&&&&&&&&&&&&&&&&
137 
138  component = tTopo->tibLayer(BC[i].detid);
139  SetBadComponents(0, component, BC[i]);
140 
141  } else if (subDet == StripSubdetector::TID) {
142  //&&&&&&&&&&&&&&&&&
143  //TID
144  //&&&&&&&&&&&&&&&&&
145 
146  component = tTopo->tidSide(BC[i].detid) == 2 ? tTopo->tidWheel(BC[i].detid) : tTopo->tidWheel(BC[i].detid) + 3;
147  SetBadComponents(1, component, BC[i]);
148 
149  } else if (subDet == StripSubdetector::TOB) {
150  //&&&&&&&&&&&&&&&&&
151  //TOB
152  //&&&&&&&&&&&&&&&&&
153 
154  component = tTopo->tobLayer(BC[i].detid);
155  SetBadComponents(2, component, BC[i]);
156 
157  } else if (subDet == StripSubdetector::TEC) {
158  //&&&&&&&&&&&&&&&&&
159  //TEC
160  //&&&&&&&&&&&&&&&&&
161 
162  component = tTopo->tecSide(BC[i].detid) == 2 ? tTopo->tecWheel(BC[i].detid) : tTopo->tecWheel(BC[i].detid) + 9;
163  SetBadComponents(3, component, BC[i]);
164  }
165  }
166 
167  //&&&&&&&&&&&&&&&&&&
168  // Single Strip Info
169  //&&&&&&&&&&&&&&&&&&
170  float percentage = 0;
171 
172  SiStripQuality::RegistryIterator rbegin = SiStripQuality_->getRegistryVectorBegin();
173  SiStripQuality::RegistryIterator rend = SiStripQuality_->getRegistryVectorEnd();
174 
175  for (SiStripBadStrip::RegistryIterator rp = rbegin; rp != rend; ++rp) {
176  uint32_t detid = rp->detid;
177 
178  int subdet = -999;
179  int component = -999;
180  DetId detectorId = DetId(detid);
181  int subDet = detectorId.subdetId();
182  if (subDet == StripSubdetector::TIB) {
183  subdet = 0;
184  component = tTopo->tibLayer(detid);
185  } else if (subDet == StripSubdetector::TID) {
186  subdet = 1;
187  component = tTopo->tidSide(detid) == 2 ? tTopo->tidWheel(detid) : tTopo->tidWheel(detid) + 3;
188  } else if (subDet == StripSubdetector::TOB) {
189  subdet = 2;
190  component = tTopo->tobLayer(detid);
191  } else if (subDet == StripSubdetector::TEC) {
192  subdet = 3;
193  component = tTopo->tecSide(detid) == 2 ? tTopo->tecWheel(detid) : tTopo->tecWheel(detid) + 9;
194  }
195 
196  SiStripQuality::Range sqrange = SiStripQuality::Range(SiStripQuality_->getDataVectorBegin() + rp->ibegin,
197  SiStripQuality_->getDataVectorBegin() + rp->iend);
198 
199  percentage = 0;
200  for (int it = 0; it < sqrange.second - sqrange.first; it++) {
201  unsigned int range = SiStripQuality_->decode(*(sqrange.first + it)).range;
202  NTkBadComponent[3] += range;
203  NBadComponent[subdet][0][3] += range;
204  NBadComponent[subdet][component][3] += range;
205  percentage += range;
206  }
207  if (percentage != 0)
208  percentage /= 128. * reader->getNumberOfApvsAndStripLength(detid).first;
209  if (percentage > 1)
210  edm::LogError("SiStripQualityStatistics") << "PROBLEM detid " << detid << " value " << percentage << std::endl;
211 
212  //------- Global Statistics on percentage of bad components along the IOVs ------//
213  tkMapFullIOVs->fill(detid, percentage);
214  if (tkhisto != nullptr)
215  tkhisto->fill(detid, percentage);
216  }
217 
218  //&&&&&&&&&&&&&&&&&&
219  // printout
220  //&&&&&&&&&&&&&&&&&&
221 
222  ss.str("");
223  ss << "\n-----------------\nNew IOV starting from run " << e.id().run() << " event " << e.id().event()
224  << " lumiBlock " << e.luminosityBlock() << " time " << e.time().value() << " chacheID " << m_cacheID_
225  << "\n-----------------\n";
226  ss << "\n-----------------\nGlobal Info\n-----------------";
227  ss << "\nBadComponent \t Modules \tFibers "
228  "\tApvs\tStrips\n----------------------------------------------------------------";
229  ss << "\nTracker:\t\t" << NTkBadComponent[0] << "\t" << NTkBadComponent[1] << "\t" << NTkBadComponent[2] << "\t"
230  << NTkBadComponent[3];
231  ss << "\n";
232  ss << "\nTIB:\t\t\t" << NBadComponent[0][0][0] << "\t" << NBadComponent[0][0][1] << "\t" << NBadComponent[0][0][2]
233  << "\t" << NBadComponent[0][0][3];
234  ss << "\nTID:\t\t\t" << NBadComponent[1][0][0] << "\t" << NBadComponent[1][0][1] << "\t" << NBadComponent[1][0][2]
235  << "\t" << NBadComponent[1][0][3];
236  ss << "\nTOB:\t\t\t" << NBadComponent[2][0][0] << "\t" << NBadComponent[2][0][1] << "\t" << NBadComponent[2][0][2]
237  << "\t" << NBadComponent[2][0][3];
238  ss << "\nTEC:\t\t\t" << NBadComponent[3][0][0] << "\t" << NBadComponent[3][0][1] << "\t" << NBadComponent[3][0][2]
239  << "\t" << NBadComponent[3][0][3];
240  ss << "\n";
241 
242  for (int i = 1; i < 5; ++i)
243  ss << "\nTIB Layer " << i << " :\t\t" << NBadComponent[0][i][0] << "\t" << NBadComponent[0][i][1] << "\t"
244  << NBadComponent[0][i][2] << "\t" << NBadComponent[0][i][3];
245  ss << "\n";
246  for (int i = 1; i < 4; ++i)
247  ss << "\nTID+ Disk " << i << " :\t\t" << NBadComponent[1][i][0] << "\t" << NBadComponent[1][i][1] << "\t"
248  << NBadComponent[1][i][2] << "\t" << NBadComponent[1][i][3];
249  for (int i = 4; i < 7; ++i)
250  ss << "\nTID- Disk " << i - 3 << " :\t\t" << NBadComponent[1][i][0] << "\t" << NBadComponent[1][i][1] << "\t"
251  << NBadComponent[1][i][2] << "\t" << NBadComponent[1][i][3];
252  ss << "\n";
253  for (int i = 1; i < 7; ++i)
254  ss << "\nTOB Layer " << i << " :\t\t" << NBadComponent[2][i][0] << "\t" << NBadComponent[2][i][1] << "\t"
255  << NBadComponent[2][i][2] << "\t" << NBadComponent[2][i][3];
256  ss << "\n";
257  for (int i = 1; i < 10; ++i)
258  ss << "\nTEC+ Disk " << i << " :\t\t" << NBadComponent[3][i][0] << "\t" << NBadComponent[3][i][1] << "\t"
259  << NBadComponent[3][i][2] << "\t" << NBadComponent[3][i][3];
260  for (int i = 10; i < 19; ++i)
261  ss << "\nTEC- Disk " << i - 9 << " :\t\t" << NBadComponent[3][i][0] << "\t" << NBadComponent[3][i][1] << "\t"
262  << NBadComponent[3][i][2] << "\t" << NBadComponent[3][i][3];
263  ss << "\n";
264 
265  ss << "\n----------------------------------------------------------------\n\t\t Detid \tModules Fibers "
266  "Apvs\n----------------------------------------------------------------";
267  for (int i = 1; i < 5; ++i)
268  ss << "\nTIB Layer " << i << " :" << ssV[0][i].str();
269  ss << "\n";
270  for (int i = 1; i < 4; ++i)
271  ss << "\nTID+ Disk " << i << " :" << ssV[1][i].str();
272  for (int i = 4; i < 7; ++i)
273  ss << "\nTID- Disk " << i - 3 << " :" << ssV[1][i].str();
274  ss << "\n";
275  for (int i = 1; i < 7; ++i)
276  ss << "\nTOB Layer " << i << " :" << ssV[2][i].str();
277  ss << "\n";
278  for (int i = 1; i < 10; ++i)
279  ss << "\nTEC+ Disk " << i << " :" << ssV[3][i].str();
280  for (int i = 10; i < 19; ++i)
281  ss << "\nTEC- Disk " << i - 9 << " :" << ssV[3][i].str();
282 
283  edm::LogInfo("SiStripQualityStatistics") << ss.str() << std::endl;
284 
286  std::stringstream sRun;
287  sRun.str("");
288  sRun << "_Run_" << std::setw(6) << std::setfill('0') << e.id().run() << std::setw(0);
289 
290  if (!filename.empty()) {
291  filename.insert(filename.find("."), sRun.str());
292  tkMap->save(true, 0, 0, filename);
293  filename.erase(filename.begin() + filename.find("."), filename.end());
294  tkMap->print(true, 0, 0, filename);
295  }
296 }
#define LogDebug(id)
unsigned short range
RunNumber_t run() const
Definition: EventID.h:39
EventNumber_t event() const
Definition: EventID.h:41
const std::vector< BadComponent > & getBadComponentList() const
unsigned int tibLayer(const DetId &id) const
void SetBadComponents(int, int, SiStripQuality::BadComponent &)
const std::pair< unsigned short, double > getNumberOfApvsAndStripLength(uint32_t detId) const
edm::LuminosityBlockNumber_t luminosityBlock() const
Definition: EventBase.h:61
unsigned int tidWheel(const DetId &id) const
Registry::const_iterator RegistryIterator
RegistryIterator getRegistryVectorEnd() const
unsigned int tidSide(const DetId &id) const
const std::vector< uint32_t > & getAllDetIds() const
bool IsModuleUsable(const uint32_t &detid) const
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:699
filetype
Definition: symbols.py:49
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 fillc(int idmod, int RGBcode)
Definition: TrackerMap.h:109
std::stringstream ssV[4][19]
int k[5][pyjets_maxn]
ContainerIterator getDataVectorBegin() const
Definition: DetId.h:18
std::unique_ptr< TkHistoMap > tkhisto
RegistryIterator getRegistryVectorBegin() const
edm::EventID id() const
Definition: EventBase.h:59
std::pair< ContainerIterator, ContainerIterator > Range
T get() const
Definition: EventSetup.h:71
void print(bool print_total=true, float minval=0., float maxval=0., std::string s="svgmap")
Definition: TrackerMap.cc:2442
SiStripDetInfoFileReader * reader
#define str(s)
unsigned int tecWheel(const DetId &id) const
T const * product() const
Definition: ESHandle.h:86
TimeValue_t value() const
Definition: Timestamp.h:56
edm::Timestamp time() const
Definition: EventBase.h:60
void fill(int layer, int ring, int nmod, float x)
Definition: TrackerMap.cc:2786
data decode(const unsigned int &value) const
unsigned int tobLayer(const DetId &id) const
unsigned int tecSide(const DetId &id) const
void SiStripQualityStatistics::bookHistograms ( DQMStore::IBooker ,
edm::Run const &  ,
edm::EventSetup const &   
)
override

Definition at line 61 of file SiStripQualityStatistics.cc.

63  {}
void SiStripQualityStatistics::EndJob ( )
private

Definition at line 47 of file SiStripQualityStatistics.cc.

References corrVsCorr::filename, TrackerMap::print(), TrackerMap::save(), saveTkHistoMap_, AlCaHLTBitMon_QueryRunRegistry::string, tkhisto, TkMapFileName_, and tkMapFullIOVs.

Referenced by ~SiStripQualityStatistics().

47  {
49  if (!filename.empty()) {
50  tkMapFullIOVs->save(false, 0, 0, filename);
51  filename.erase(filename.begin() + filename.find("."), filename.end());
52  tkMapFullIOVs->print(false, 0, 0, filename);
53 
54  if (saveTkHistoMap_) {
55  tkhisto->save(filename + ".root");
56  tkhisto->saveAsCanvas(filename + "_Canvas.root", "E");
57  }
58  }
59 }
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:699
std::unique_ptr< TkHistoMap > tkhisto
void print(bool print_total=true, float minval=0., float maxval=0., std::string s="svgmap")
Definition: TrackerMap.cc:2442
void SiStripQualityStatistics::SetBadComponents ( int  i,
int  component,
SiStripQuality::BadComponent BC 
)
private

Definition at line 298 of file SiStripQualityStatistics.cc.

References SiStripQuality::BadComponent::BadApvs, SiStripQuality::BadComponent::BadFibers, SiStripQuality::BadComponent::BadModule, SiStripQuality::BadComponent::detid, TrackerMap::fillc(), SiStripDetInfoFileReader::getNumberOfApvsAndStripLength(), mps_fire::i, NBadComponent, reader, ssV, tkMap, and globals_cff::x1.

Referenced by analyze().

298  {
299  int napv = reader->getNumberOfApvsAndStripLength(BC.detid).first;
300 
301  ssV[i][component] << "\n\t\t " << BC.detid << " \t " << BC.BadModule << " \t " << ((BC.BadFibers) & 0x1) << " ";
302  if (napv == 4)
303  ssV[i][component] << "x " << ((BC.BadFibers >> 1) & 0x1);
304 
305  if (napv == 6)
306  ssV[i][component] << ((BC.BadFibers >> 1) & 0x1) << " " << ((BC.BadFibers >> 2) & 0x1);
307  ssV[i][component] << " \t " << ((BC.BadApvs) & 0x1) << " " << ((BC.BadApvs >> 1) & 0x1) << " ";
308  if (napv == 4)
309  ssV[i][component] << "x x " << ((BC.BadApvs >> 2) & 0x1) << " " << ((BC.BadApvs >> 3) & 0x1);
310  if (napv == 6)
311  ssV[i][component] << ((BC.BadApvs >> 2) & 0x1) << " " << ((BC.BadApvs >> 3) & 0x1) << " "
312  << ((BC.BadApvs >> 4) & 0x1) << " " << ((BC.BadApvs >> 5) & 0x1) << " ";
313 
314  if (BC.BadApvs) {
315  NBadComponent[i][0][2] += ((BC.BadApvs >> 5) & 0x1) + ((BC.BadApvs >> 4) & 0x1) + ((BC.BadApvs >> 3) & 0x1) +
316  ((BC.BadApvs >> 2) & 0x1) + ((BC.BadApvs >> 1) & 0x1) + ((BC.BadApvs) & 0x1);
317  NBadComponent[i][component][2] += ((BC.BadApvs >> 5) & 0x1) + ((BC.BadApvs >> 4) & 0x1) +
318  ((BC.BadApvs >> 3) & 0x1) + ((BC.BadApvs >> 2) & 0x1) +
319  ((BC.BadApvs >> 1) & 0x1) + ((BC.BadApvs) & 0x1);
320  tkMap->fillc(BC.detid, 0xff0000);
321  }
322  if (BC.BadFibers) {
323  NBadComponent[i][0][1] += ((BC.BadFibers >> 2) & 0x1) + ((BC.BadFibers >> 1) & 0x1) + ((BC.BadFibers) & 0x1);
324  NBadComponent[i][component][1] +=
325  ((BC.BadFibers >> 2) & 0x1) + ((BC.BadFibers >> 1) & 0x1) + ((BC.BadFibers) & 0x1);
326  tkMap->fillc(BC.detid, 0x0000ff);
327  }
328  if (BC.BadModule) {
329  NBadComponent[i][0][0]++;
330  NBadComponent[i][component][0]++;
331  tkMap->fillc(BC.detid, 0x0);
332  }
333 }
const std::pair< unsigned short, double > getNumberOfApvsAndStripLength(uint32_t detId) const
void fillc(int idmod, int RGBcode)
Definition: TrackerMap.h:109
std::stringstream ssV[4][19]
SiStripDetInfoFileReader * reader

Member Data Documentation

std::string SiStripQualityStatistics::dataLabel_
private

Definition at line 38 of file SiStripQualityStatistics.h.

Referenced by analyze().

edm::FileInPath SiStripQualityStatistics::fp_
private

Definition at line 40 of file SiStripQualityStatistics.h.

Referenced by SiStripQualityStatistics().

unsigned long long SiStripQualityStatistics::m_cacheID_
private

Definition at line 37 of file SiStripQualityStatistics.h.

Referenced by analyze().

int SiStripQualityStatistics::NBadComponent[4][19][4]
private

Definition at line 44 of file SiStripQualityStatistics.h.

Referenced by analyze(), and SetBadComponents().

int SiStripQualityStatistics::NTkBadComponent[4]
private

Definition at line 43 of file SiStripQualityStatistics.h.

Referenced by analyze().

SiStripDetInfoFileReader* SiStripQualityStatistics::reader
private

Definition at line 51 of file SiStripQualityStatistics.h.

Referenced by analyze(), SetBadComponents(), and SiStripQualityStatistics().

bool SiStripQualityStatistics::saveTkHistoMap_
private

Definition at line 41 of file SiStripQualityStatistics.h.

Referenced by EndJob().

std::stringstream SiStripQualityStatistics::ssV[4][19]
private

Definition at line 48 of file SiStripQualityStatistics.h.

Referenced by analyze(), and SetBadComponents().

std::unique_ptr<TkHistoMap> SiStripQualityStatistics::tkhisto
private

Definition at line 52 of file SiStripQualityStatistics.h.

Referenced by analyze(), EndJob(), and SiStripQualityStatistics().

TrackerMap* SiStripQualityStatistics::tkMap
private

Definition at line 50 of file SiStripQualityStatistics.h.

Referenced by analyze(), and SetBadComponents().

std::string SiStripQualityStatistics::TkMapFileName_
private

Definition at line 39 of file SiStripQualityStatistics.h.

Referenced by analyze(), and EndJob().

TrackerMap * SiStripQualityStatistics::tkMapFullIOVs
private

Definition at line 50 of file SiStripQualityStatistics.h.

Referenced by analyze(), EndJob(), and SiStripQualityStatistics().