CMS 3D CMS Logo

SiStripHotStripAlgorithmFromClusterOccupancy.cc
Go to the documentation of this file.
4 
6  const edm::ParameterSet& iConfig, const TrackerTopology* theTopo)
7  : prob_(1.E-7),
8  ratio_(1.5),
9  MinNumEntries_(0),
10  MinNumEntriesPerStrip_(0),
11  Nevents_(0),
12  occupancy_(0),
13  OutFileName_("Occupancy.root"),
14  tTopo(theTopo),
15  UseInputDB_(iConfig.getUntrackedParameter<bool>("UseInputDB", false)) {
17 }
18 
20  LogTrace("SiStripHotStripAlgorithmFromClusterOccupancy")
21  << "[SiStripHotStripAlgorithmFromClusterOccupancy::~SiStripHotStripAlgorithmFromClusterOccupancy] " << std::endl;
22 }
23 
25  HistoMap& DM,
26  edm::ESHandle<SiStripQuality>& InSiStripQuality) {
27  LogTrace("SiStripHotStripAlgorithmFromClusterOccupancy")
28  << "[SiStripHotStripAlgorithmFromClusterOccupancy::extractBadStrips] " << std::endl;
29 
30  if (WriteOutputFile_ == true) {
31  f = new TFile(OutFileName_.c_str(), "RECREATE");
32  f->cd();
33 
34  striptree = new TTree("stripOccupancy", "tree");
35 
36  striptree->Branch("DetRawId", &detrawid, "DetRawId/I");
37  striptree->Branch("SubDetId", &subdetid, "SubDetId/I");
38  striptree->Branch("Layer_Ring", &layer_ring, "Layer_Ring/I");
39  striptree->Branch("Disc", &disc, "Disc/I");
40  striptree->Branch("IsBack", &isback, "IsBack/I");
41  striptree->Branch("IsExternalString", &isexternalstring, "IsExternalString/I");
42  striptree->Branch("IsZMinusSide", &iszminusside, "IsZMinusSide/I");
43  striptree->Branch("RodStringPetal", &rodstringpetal, "RodStringPetal/I");
44  striptree->Branch("IsStereo", &isstereo, "IsStereo/I");
45  striptree->Branch("ModulePosition", &module_position, "ModulePosition/I");
46  striptree->Branch("NumberOfStrips", &number_strips, "NumberOfStrips/I");
47  striptree->Branch("StripNumber", &strip_number, "StripNumber/I");
48  striptree->Branch("APVChannel", &apv_channel, "APVChannel/I");
49  striptree->Branch("StripGlobalPositionX", &global_position_x, "StripGlobalPositionX/F");
50  striptree->Branch("StripGlobalPositionY", &global_position_y, "StripGlobalPositionY/F");
51  striptree->Branch("StripGlobalPositionZ", &global_position_z, "StripGlobalPositionZ/F");
52  striptree->Branch("IsHot", &isHot, "IsHot/I");
53  striptree->Branch("HotStripsPerAPV", &hotStripsPerAPV, "HotStripsPerAPV/I");
54  striptree->Branch("HotStripsPerModule", &hotStripsPerModule, "HotStripsPerModule/I");
55  striptree->Branch("StripOccupancy", &stripOccupancy, "StripOccupancy/D");
56  striptree->Branch("StripHits", &stripHits, "StripHits/I");
57  striptree->Branch("PoissonProb", &poissonProb, "PoissonProb/D");
58  striptree->Branch("MedianAPVHits", &medianAPVHits, "MedianAPVHits/D");
59  striptree->Branch("AvgAPVHits", &avgAPVHits, "AvgAPVHits/D");
60  }
61 
62  HistoMap::iterator it = DM.begin();
63  HistoMap::iterator itEnd = DM.end();
64  std::vector<unsigned int> badStripList;
65  uint32_t detid;
66  for (; it != itEnd; ++it) {
67  pHisto phisto;
68  detid = it->first;
69 
70  DetId detectorId = DetId(detid);
71  phisto._SubdetId = detectorId.subdetId();
72 
73  if (edm::isDebugEnabled())
74  LogTrace("SiStripHotStrip") << "Analyzing detid " << detid << std::endl;
75 
76  int numberAPVs = (int)(it->second.get())->GetNbinsX() / 128;
77 
78  // Set the values for the tree:
79 
80  detrawid = detid;
81  subdetid = detectorId.subdetId();
82  number_strips = (int)(it->second.get())->GetNbinsX();
83  switch (detectorId.subdetId()) {
86  disc = -1;
88  isback = -1;
90  isexternalstring = 1;
91  else
92  isexternalstring = 0;
94  iszminusside = 1;
95  else
96  iszminusside = 0;
99  break;
100 
106  isback = 1;
107  else
108  isback = 0;
110  iszminusside = 1;
111  else
112  iszminusside = 0;
113  isexternalstring = -1;
114  rodstringpetal = -1;
116  break;
117 
120  disc = -1;
122  isback = -1;
124  iszminusside = 1;
125  else
126  iszminusside = 0;
127  isexternalstring = -1;
130  break;
131 
137  isback = 1;
138  else
139  isback = 0;
141  iszminusside = 1;
142  else
143  iszminusside = 0;
144  isexternalstring = -1;
147  break;
148 
149  default:
150  std::cout << "### Detector does not belong to TIB, TID, TOB or TEC !? ###" << std::endl;
151  std::cout << "### DetRawId: " << detrawid << " ###" << std::endl;
152  }
153 
154  // End: Set the values for the tree.
155 
156  pQuality = OutSiStripQuality;
157  badStripList.clear();
158 
159  for (int i = 0; i < 768; i++) {
160  ishot[i] = 0;
161  stripoccupancy[i] = 0;
162  striphits[i] = 0;
163  poissonprob[i] = 0;
164  hotstripsperapv[i / 128] = 0;
165  }
166 
167  hotstripspermodule = 0;
168 
169  for (int apv = 0; apv < numberAPVs; apv++) {
170  if (UseInputDB_) {
171  if (InSiStripQuality->IsApvBad(detid, apv)) {
172  if (edm::isDebugEnabled())
173  LogTrace("SiStripHotStrip") << "(Module and Apv number) " << detid << " , " << apv
174  << " excluded by input ESetup." << std::endl;
175  continue; //if the apv is already flagged as bad, continue.
176  } else {
177  if (edm::isDebugEnabled())
178  LogTrace("SiStripHotStrip") << "(Module and Apv number) " << detid << " , " << apv
179  << " good by input ESetup." << std::endl;
180  }
181  }
182 
183  phisto._th1f = new TH1F("tmp", "tmp", 128, 0.5, 128.5);
184  int NumberEntriesPerAPV = 0;
185 
186  for (int strip = 0; strip < 128; strip++) {
187  phisto._th1f->SetBinContent(strip + 1, (it->second.get())->GetBinContent((apv * 128) + strip + 1));
188  NumberEntriesPerAPV += (int)(it->second.get())->GetBinContent((apv * 128) + strip + 1);
189  }
190 
191  phisto._th1f->SetEntries(NumberEntriesPerAPV);
192  phisto._NEntries = (int)phisto._th1f->GetEntries();
193  phisto._NEmptyBins = 0;
194 
195  LogTrace("SiStripHotStrip") << "Number of clusters in APV " << apv << ": " << NumberEntriesPerAPV << std::endl;
196 
197  iterativeSearch(phisto, badStripList, apv);
198 
199  delete phisto._th1f;
200  }
201 
202  const StripGeomDetUnit* theStripDet = dynamic_cast<const StripGeomDetUnit*>((TkGeom->idToDet(detectorId)));
203  const StripTopology* theStripTopol = dynamic_cast<const StripTopology*>(&(theStripDet->specificTopology()));
204 
205  for (int strip = 0; strip < number_strips; strip++) {
206  strip_number = strip + 1;
207  apv_channel = (strip % 128) + 1;
208  isHot = ishot[strip];
213  avgAPVHits = avgapvhits[strip / 128];
214 
217 
218  LocalPoint pos_strip_local = theStripTopol->localPosition(strip);
219  GlobalPoint pos_strip_global = (TkGeom->idToDet(detectorId))->surface().toGlobal(pos_strip_local);
220 
221  global_position_x = pos_strip_global.x();
222  global_position_y = pos_strip_global.y();
223  global_position_z = pos_strip_global.z();
224 
225  if (WriteOutputFile_ == true)
226  striptree->Fill();
227  }
228 
229  if (badStripList.begin() == badStripList.end())
230  continue;
231 
232  OutSiStripQuality->compact(detid, badStripList);
233 
234  SiStripQuality::Range range(badStripList.begin(), badStripList.end());
235  if (!OutSiStripQuality->put(detid, range))
236  edm::LogError("SiStripHotStrip")
237  << "[SiStripHotStripAlgorithmFromClusterOccupancy::extractBadStrips] detid already exists" << std::endl;
238  }
239  OutSiStripQuality->fillBadComponents();
240 
241  if (WriteOutputFile_ == true) {
242  f->cd();
243  striptree->Write();
244  f->Close();
245  }
246 
247  LogTrace("SiStripHotStrip") << ss.str() << std::endl;
248 }
249 
251  std::vector<unsigned int>& vect,
252  int apv) {
253  if (!histo._NEntries || histo._NEntries <= MinNumEntries_ || histo._NEntries <= minNevents_)
254  return;
255 
256  size_t startingSize = vect.size();
257  long double diff = 1. - prob_;
258 
259  size_t Nbins = histo._th1f->GetNbinsX();
260  size_t ibinStart = 1;
261  size_t ibinStop = Nbins + 1;
262  int MaxEntry = (int)histo._th1f->GetMaximum();
263 
264  std::vector<long double> vPoissonProbs(MaxEntry + 1, 0);
265  long double meanVal = 1. * histo._NEntries / (1. * Nbins - histo._NEmptyBins);
266  evaluatePoissonian(vPoissonProbs, meanVal);
267 
268  // Find median occupancy, taking into account only good strips
269  unsigned int goodstripentries[128];
270  int nGoodStrips = 0;
271  for (size_t i = ibinStart; i < ibinStop; ++i) {
272  if (ishot[(apv * 128) + i - 1] == 0) {
273  goodstripentries[nGoodStrips] = (unsigned int)histo._th1f->GetBinContent(i);
274  nGoodStrips++;
275  }
276  }
277  double median = TMath::Median(nGoodStrips, goodstripentries);
278 
279  for (size_t i = ibinStart; i < ibinStop; ++i) {
280  unsigned int entries = (unsigned int)histo._th1f->GetBinContent(i);
281 
282  if (ishot[(apv * 128) + i - 1] == 0) {
283  stripoccupancy[(apv * 128) + i - 1] = entries / (double)Nevents_;
284  striphits[(apv * 128) + i - 1] = entries;
285  poissonprob[(apv * 128) + i - 1] = 1 - vPoissonProbs[entries];
286  medianapvhits[apv] = median;
287  avgapvhits[apv] = meanVal;
288  }
289  if (entries <= MinNumEntriesPerStrip_ || entries <= minNevents_ || entries / median < ratio_)
290  continue;
291 
292  if (diff < vPoissonProbs[entries]) {
293  ishot[(apv * 128) + i - 1] = 1;
295  hotstripsperapv[apv]++;
296  histo._th1f->SetBinContent(i, 0.);
297  histo._NEntries -= entries;
298  histo._NEmptyBins++;
299  if (edm::isDebugEnabled())
300  LogTrace("SiStripHotStrip") << " rejecting strip " << (apv * 128) + i - 1 << " value " << entries << " diff "
301  << diff << " prob " << vPoissonProbs[entries] << std::endl;
302  vect.push_back(pQuality->encode((apv * 128) + i - 1, 1, 0));
303  }
304  }
305  if (edm::isDebugEnabled())
306  LogTrace("SiStripHotStrip") << " [SiStripHotStripAlgorithmFromClusterOccupancy::iterativeSearch] Nbins=" << Nbins
307  << " MaxEntry=" << MaxEntry << " meanVal=" << meanVal
308  << " NEmptyBins=" << histo._NEmptyBins << " NEntries=" << histo._NEntries
309  << " thEntries " << histo._th1f->GetEntries() << " startingSize " << startingSize
310  << " vector.size " << vect.size() << std::endl;
311 
312  if (vect.size() != startingSize)
313  iterativeSearch(histo, vect, apv);
314 }
315 
316 void SiStripHotStripAlgorithmFromClusterOccupancy::evaluatePoissonian(std::vector<long double>& vPoissonProbs,
317  long double& meanVal) {
318  for (size_t i = 0; i < vPoissonProbs.size(); ++i) {
319  vPoissonProbs[i] = (i == 0) ? TMath::Poisson(i, meanVal) : vPoissonProbs[i - 1] + TMath::Poisson(i, meanVal);
320  }
321 }
322 
324  Nevents_ = Nevents;
326  if (edm::isDebugEnabled())
327  LogTrace("SiStripHotStrip") << " [SiStripHotStripAlgorithmFromClusterOccupancy::setNumberOfEvents] minNumber of "
328  "Events per strip used to consider a strip bad"
329  << minNevents_ << " for occupancy " << occupancy_ << std::endl;
330 }
TrackerGeometry::idToDet
const TrackerGeomDet * idToDet(DetId) const override
Definition: TrackerGeometry.cc:193
change_name.diff
diff
Definition: change_name.py:13
SiStripHotStripAlgorithmFromClusterOccupancy::medianapvhits
double medianapvhits[6]
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:142
SiStripHotStripAlgorithmFromClusterOccupancy::medianAPVHits
double medianAPVHits
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:132
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
TrackerTopology::tidIsZMinusSide
bool tidIsZMinusSide(const DetId &id) const
Definition: TrackerTopology.h:259
SiStripHotStripAlgorithmFromClusterOccupancy::poissonProb
double poissonProb
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:134
SiStripHotStripAlgorithmFromClusterOccupancy::avgAPVHits
double avgAPVHits
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:133
SiStripHotStripAlgorithmFromClusterOccupancy::isexternalstring
int isexternalstring
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:114
electrons_cff.bool
bool
Definition: electrons_cff.py:372
mps_fire.i
i
Definition: mps_fire.py:355
TrackerTopology::tibIsExternalString
bool tibIsExternalString(const DetId &id) const
Definition: TrackerTopology.h:431
funct::false
false
Definition: Factorize.h:34
SiStripHotStripAlgorithmFromClusterOccupancy::iszminusside
int iszminusside
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:115
SiStripHotStripAlgorithmFromClusterOccupancy::pHisto
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:81
TrackerTopology::tobIsStereo
bool tobIsStereo(const DetId &id) const
Definition: TrackerTopology.h:264
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
TrackerTopology::tecIsZMinusSide
bool tecIsZMinusSide(const DetId &id) const
Definition: TrackerTopology.h:262
SiStripHotStripAlgorithmFromClusterOccupancy::setNumberOfEvents
void setNumberOfEvents(double Nevents)
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.cc:323
StripTopology::localPosition
virtual LocalPoint localPosition(float strip) const =0
TrackerTopology
Definition: TrackerTopology.h:16
digitizers_cfi.strip
strip
Definition: digitizers_cfi.py:19
gather_cfg.cout
cout
Definition: gather_cfg.py:144
TrackerTopology::tecIsStereo
bool tecIsStereo(const DetId &id) const
Definition: TrackerTopology.h:265
sistrip::extrainfo::occupancy_
static const char occupancy_[]
Definition: ConstantsForDqm.h:60
timingPdfMaker.histo
histo
Definition: timingPdfMaker.py:279
SiStripHotStripAlgorithmFromClusterOccupancy::prob_
long double prob_
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:92
SiStripHotStripAlgorithmFromClusterOccupancy::layer_ring
int layer_ring
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:111
SiStripHotStripAlgorithmFromClusterOccupancy::isHot
int isHot
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:127
SiStripBadStrip::put
bool put(const uint32_t &detID, const InputVector &vect)
Definition: SiStripBadStrip.h:65
SiStripHotStripAlgorithmFromClusterOccupancy::isback
int isback
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:113
TrackerTopology::tidModule
unsigned int tidModule(const DetId &id) const
Definition: TrackerTopology.h:175
SiStripHotStripAlgorithmFromClusterOccupancy::ss
std::stringstream ss
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:145
TrackerTopology::tidRing
unsigned int tidRing(const DetId &id) const
Definition: TrackerTopology.h:218
SiStripHotStripAlgorithmFromClusterOccupancy::striptree
TTree * striptree
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:107
SiStripHotStripAlgorithmFromClusterOccupancy::detrawid
int detrawid
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:109
SiStripHotStripAlgorithmFromClusterOccupancy.h
TrackerTopology::tobRod
unsigned int tobRod(const DetId &id) const
Definition: TrackerTopology.h:195
TrackerTopology::tidWheel
unsigned int tidWheel(const DetId &id) const
Definition: TrackerTopology.h:201
SiStripHotStripAlgorithmFromClusterOccupancy::iterativeSearch
void iterativeSearch(pHisto &, std::vector< unsigned int > &, int)
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.cc:250
TrackerTopology::tidIsStereo
bool tidIsStereo(const DetId &id) const
Definition: TrackerTopology.h:267
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
DetId
Definition: DetId.h:17
SiStripHotStripAlgorithmFromClusterOccupancy::pHisto::_NEmptyBins
int _NEmptyBins
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:85
TrackerTopology.h
SiStripHotStripAlgorithmFromClusterOccupancy::occupancy_
long double occupancy_
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:98
SiStripBadStrip::Range
std::pair< ContainerIterator, ContainerIterator > Range
Definition: SiStripBadStrip.h:53
SiStripHotStripAlgorithmFromClusterOccupancy::pHisto::_NEntries
int _NEntries
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:84
SiStripQuality::compact
void compact(unsigned int &, std::vector< unsigned int > &)
Definition: SiStripQuality.cc:331
SiStripHotStripAlgorithmFromClusterOccupancy::stripoccupancy
double stripoccupancy[768]
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:139
SiStripHotStripAlgorithmFromClusterOccupancy::hotStripsPerModule
int hotStripsPerModule
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:129
edm::ESHandle< SiStripQuality >
SiStripHotStripAlgorithmFromClusterOccupancy::ratio_
long double ratio_
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:93
TrackerTopology::tibIsStereo
bool tibIsStereo(const DetId &id) const
Definition: TrackerTopology.h:266
StripSubdetector::TIB
static constexpr auto TIB
Definition: StripSubdetector.h:16
SiStripHotStripAlgorithmFromClusterOccupancy::subdetid
int subdetid
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:110
Point3DBase< float, LocalTag >
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
SiStripHotStripAlgorithmFromClusterOccupancy::global_position_x
float global_position_x
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:123
TrackerTopology::tibString
unsigned int tibString(const DetId &id) const
Definition: TrackerTopology.h:419
edm::ParameterSet
Definition: ParameterSet.h:36
SiStripHotStripAlgorithmFromClusterOccupancy::rodstringpetal
int rodstringpetal
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:116
edm::LogError
Definition: MessageLogger.h:183
SiStripHotStripAlgorithmFromClusterOccupancy::striphits
int striphits[768]
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:140
SiStripHotStripAlgorithmFromClusterOccupancy::ishot
int ishot[768]
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:136
TrackerTopology::tecPetalNumber
unsigned int tecPetalNumber(const DetId &id) const
Definition: TrackerTopology.h:221
TrackerTopology::tobIsZMinusSide
bool tobIsZMinusSide(const DetId &id) const
Definition: TrackerTopology.h:253
SiStripMonitorCluster_cfi.Nbins
Nbins
Definition: SiStripMonitorCluster_cfi.py:32
SiStripHotStripAlgorithmFromClusterOccupancy::MinNumEntriesPerStrip_
unsigned short MinNumEntriesPerStrip_
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:95
SiStripHotStripAlgorithmFromClusterOccupancy::global_position_y
float global_position_y
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:124
SiStripHotStripAlgorithmFromClusterOccupancy::f
TFile * f
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:106
SiStripHotStripAlgorithmFromClusterOccupancy::number_strips
int number_strips
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:119
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
TrackerTopology::tibModule
unsigned int tibModule(const DetId &id) const
Definition: TrackerTopology.h:172
pfParticleNetPreprocessParams_cfi.median
median
Definition: pfParticleNetPreprocessParams_cfi.py:16
createfilelist.int
int
Definition: createfilelist.py:10
SiStripHotStripAlgorithmFromClusterOccupancy::pQuality
SiStripQuality * pQuality
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:104
TrackerTopology::tecRing
unsigned int tecRing(const DetId &id) const
ring id
Definition: TrackerTopology.h:217
SiStripHotStripAlgorithmFromClusterOccupancy::HistoMap
SiStrip::QualityHistosMap HistoMap
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:54
SiStripHotStripAlgorithmFromClusterOccupancy::tTopo
const TrackerTopology * tTopo
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:102
SiStripHotStripAlgorithmFromClusterOccupancy::UseInputDB_
bool UseInputDB_
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:108
SiStripHotStripAlgorithmFromClusterOccupancy::~SiStripHotStripAlgorithmFromClusterOccupancy
virtual ~SiStripHotStripAlgorithmFromClusterOccupancy()
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.cc:19
SiStripQuality::fillBadComponents
void fillBadComponents()
Definition: SiStripQuality.cc:536
SiStripHotStripAlgorithmFromClusterOccupancy::evaluatePoissonian
void evaluatePoissonian(std::vector< long double > &, long double &meanVal)
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.cc:316
SiStripHotStripAlgorithmFromClusterOccupancy::OutFileName_
std::string OutFileName_
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:99
SiStripQuality::IsApvBad
bool IsApvBad(const uint32_t &detid, const short &apvNb) const
Definition: SiStripQuality.cc:620
SiStripHotStripAlgorithmFromClusterOccupancy::minNevents_
double minNevents_
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:97
SiStripHotStripAlgorithmFromClusterOccupancy::stripHits
int stripHits
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:131
TrackerTopology::tobLayer
unsigned int tobLayer(const DetId &id) const
Definition: TrackerTopology.h:147
TrackerTopology::tidIsBackRing
bool tidIsBackRing(const DetId &id) const
Definition: TrackerTopology.h:441
StripSubdetector::TEC
static constexpr auto TEC
Definition: StripSubdetector.h:19
TrackerTopology::tobModule
unsigned int tobModule(const DetId &id) const
Definition: TrackerTopology.h:166
SiStripHotStripAlgorithmFromClusterOccupancy::avgapvhits
double avgapvhits[6]
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:143
SiStripHotStripAlgorithmFromClusterOccupancy::apv_channel
int apv_channel
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:121
SiStripHotStripAlgorithmFromClusterOccupancy::stripOccupancy
double stripOccupancy
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:130
StripSubdetector::TOB
static constexpr auto TOB
Definition: StripSubdetector.h:18
SiStripHotStripAlgorithmFromClusterOccupancy::pHisto::_SubdetId
int _SubdetId
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:86
SiStripHotStripAlgorithmFromClusterOccupancy::poissonprob
double poissonprob[768]
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:141
SiStripHotStripAlgorithmFromClusterOccupancy::disc
int disc
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:112
TrackerTopology::tecModule
unsigned int tecModule(const DetId &id) const
Definition: TrackerTopology.h:169
edm::isDebugEnabled
bool isDebugEnabled()
Definition: MessageLogger.cc:71
StripGeomDetUnit::specificTopology
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
Definition: StripGeomDetUnit.cc:17
SiStripHotStripAlgorithmFromClusterOccupancy::TkGeom
const TrackerGeometry * TkGeom
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:101
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:671
SiStripHotStripAlgorithmFromClusterOccupancy::global_position_z
float global_position_z
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:125
TrackerTopology::tecIsBackPetal
bool tecIsBackPetal(const DetId &id) const
Definition: TrackerTopology.h:414
SiStripHotStripAlgorithmFromClusterOccupancy::Nevents_
double Nevents_
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:96
SiStripHotStripAlgorithmFromClusterOccupancy::strip_number
int strip_number
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:120
SiStripQuality::clear
void clear()
Definition: SiStripQuality.h:52
SiStripBadStrip::encode
unsigned int encode(const unsigned short &first, const unsigned short &NconsecutiveBadStrips, const unsigned short &flag=0)
Definition: SiStripBadStrip.h:86
TrackerTopology::tibIsZMinusSide
bool tibIsZMinusSide(const DetId &id) const
Definition: TrackerTopology.h:256
TrackerTopology::tecWheel
unsigned int tecWheel(const DetId &id) const
Definition: TrackerTopology.h:198
StripTopology
Definition: StripTopology.h:11
StripSubdetector.h
SiStripHotStripAlgorithmFromClusterOccupancy::hotstripspermodule
int hotstripspermodule
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:138
StripSubdetector::TID
static constexpr auto TID
Definition: StripSubdetector.h:17
SiStripHotStripAlgorithmFromClusterOccupancy::hotStripsPerAPV
int hotStripsPerAPV
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:128
SiStripHotStripAlgorithmFromClusterOccupancy::isstereo
int isstereo
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:117
SiStripHotStripAlgorithmFromClusterOccupancy::module_position
int module_position
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:118
SiStripHotStripAlgorithmFromClusterOccupancy::hotstripsperapv
int hotstripsperapv[6]
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:137
SiStripHotStripAlgorithmFromClusterOccupancy::WriteOutputFile_
bool WriteOutputFile_
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:100
SiStripHotStripAlgorithmFromClusterOccupancy::SiStripHotStripAlgorithmFromClusterOccupancy
SiStripHotStripAlgorithmFromClusterOccupancy(const edm::ParameterSet &, const TrackerTopology *)
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.cc:5
SiStripHotStripAlgorithmFromClusterOccupancy::extractBadStrips
void extractBadStrips(SiStripQuality *, HistoMap &, edm::ESHandle< SiStripQuality > &)
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.cc:24
SiStripHotStripAlgorithmFromClusterOccupancy::MinNumEntries_
unsigned short MinNumEntries_
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:94
StripGeomDetUnit
Definition: StripGeomDetUnit.h:15
TrackerTopology::tibLayer
unsigned int tibLayer(const DetId &id) const
Definition: TrackerTopology.h:150
SiStripQuality
Definition: SiStripQuality.h:32
SiStripHotStripAlgorithmFromClusterOccupancy::pHisto::_th1f
TH1F * _th1f
Definition: SiStripHotStripAlgorithmFromClusterOccupancy.h:82