CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes
SiStripBadAPVAlgorithmFromClusterOccupancy Class Reference

#include <CalibTracker/SiStripQuality/src/SiStripBadAPVAlgorithmFromClusterOccupancy.cc>

Classes

struct  Apv
 
struct  pHisto
 

Public Types

typedef SiStrip::QualityHistosMap HistoMap
 

Public Member Functions

void extractBadAPVs (SiStripQuality *, HistoMap &, const SiStripQuality *)
 
void setAbsoluteLowThreshold (long double absolute_low)
 
void setAbsoluteOccupancyThreshold (long double occupancy)
 
void setHighOccupancyThreshold (long double high_occupancy)
 
void setLowOccupancyThreshold (long double low_occupancy)
 
void setMinNumOfEvents ()
 
void setNumberIterations (int number_iterations)
 
void setNumberOfEvents (double Nevents)
 
void setOutputFileName (std::string OutputFileName, bool WriteOutputFile)
 
void setTrackerGeometry (const TrackerGeometry *tkgeom)
 
 SiStripBadAPVAlgorithmFromClusterOccupancy (const edm::ParameterSet &, const TrackerTopology *)
 
virtual ~SiStripBadAPVAlgorithmFromClusterOccupancy ()
 

Private Member Functions

void AnalyzeOccupancy (SiStripQuality *, std::vector< Apv > &, std::pair< double, double > *, std::vector< unsigned int > &, const SiStripQuality *)
 
void CalculateMeanAndRMS (const std::vector< Apv > &, std::pair< double, double > *, int)
 

Private Attributes

long double absolutelow_
 
int apv_number
 
double apvAbsoluteOccupancy
 
double apvMedianOccupancy
 
TTree * apvtree
 
uint32_t detrawid
 
int disc
 
TFile * f
 
float global_position_x
 
float global_position_y
 
float global_position_z
 
long double highoccupancy_
 
int isback
 
int isexternalstring
 
int isstereo
 
int iszminusside
 
int layer_ring
 
long double lowoccupancy_
 
std::pair< double, double > MeanAndRms_TECMinus_Disc1 [7]
 
std::pair< double, double > MeanAndRms_TECMinus_Disc2 [7]
 
std::pair< double, double > MeanAndRms_TECMinus_Disc3 [7]
 
std::pair< double, double > MeanAndRms_TECMinus_Disc4 [7]
 
std::pair< double, double > MeanAndRms_TECMinus_Disc5 [7]
 
std::pair< double, double > MeanAndRms_TECMinus_Disc6 [7]
 
std::pair< double, double > MeanAndRms_TECMinus_Disc7 [7]
 
std::pair< double, double > MeanAndRms_TECMinus_Disc8 [7]
 
std::pair< double, double > MeanAndRms_TECMinus_Disc9 [7]
 
std::pair< double, double > MeanAndRms_TECPlus_Disc1 [7]
 
std::pair< double, double > MeanAndRms_TECPlus_Disc2 [7]
 
std::pair< double, double > MeanAndRms_TECPlus_Disc3 [7]
 
std::pair< double, double > MeanAndRms_TECPlus_Disc4 [7]
 
std::pair< double, double > MeanAndRms_TECPlus_Disc5 [7]
 
std::pair< double, double > MeanAndRms_TECPlus_Disc6 [7]
 
std::pair< double, double > MeanAndRms_TECPlus_Disc7 [7]
 
std::pair< double, double > MeanAndRms_TECPlus_Disc8 [7]
 
std::pair< double, double > MeanAndRms_TECPlus_Disc9 [7]
 
std::pair< double, double > MeanAndRms_TIB_Layer1 [7]
 
std::pair< double, double > MeanAndRms_TIB_Layer2 [7]
 
std::pair< double, double > MeanAndRms_TIB_Layer3 [7]
 
std::pair< double, double > MeanAndRms_TIB_Layer4 [7]
 
std::pair< double, double > MeanAndRms_TIDMinus_Disc1 [7]
 
std::pair< double, double > MeanAndRms_TIDMinus_Disc2 [7]
 
std::pair< double, double > MeanAndRms_TIDMinus_Disc3 [7]
 
std::pair< double, double > MeanAndRms_TIDPlus_Disc1 [7]
 
std::pair< double, double > MeanAndRms_TIDPlus_Disc2 [7]
 
std::pair< double, double > MeanAndRms_TIDPlus_Disc3 [7]
 
std::pair< double, double > MeanAndRms_TOB_Layer1 [7]
 
std::pair< double, double > MeanAndRms_TOB_Layer2 [7]
 
std::pair< double, double > MeanAndRms_TOB_Layer3 [7]
 
std::pair< double, double > MeanAndRms_TOB_Layer4 [7]
 
std::pair< double, double > MeanAndRms_TOB_Layer5 [7]
 
std::pair< double, double > MeanAndRms_TOB_Layer6 [7]
 
std::vector< ApvmedianValues_TECMinus_Disc1
 
std::vector< ApvmedianValues_TECMinus_Disc2
 
std::vector< ApvmedianValues_TECMinus_Disc3
 
std::vector< ApvmedianValues_TECMinus_Disc4
 
std::vector< ApvmedianValues_TECMinus_Disc5
 
std::vector< ApvmedianValues_TECMinus_Disc6
 
std::vector< ApvmedianValues_TECMinus_Disc7
 
std::vector< ApvmedianValues_TECMinus_Disc8
 
std::vector< ApvmedianValues_TECMinus_Disc9
 
std::vector< ApvmedianValues_TECPlus_Disc1
 
std::vector< ApvmedianValues_TECPlus_Disc2
 
std::vector< ApvmedianValues_TECPlus_Disc3
 
std::vector< ApvmedianValues_TECPlus_Disc4
 
std::vector< ApvmedianValues_TECPlus_Disc5
 
std::vector< ApvmedianValues_TECPlus_Disc6
 
std::vector< ApvmedianValues_TECPlus_Disc7
 
std::vector< ApvmedianValues_TECPlus_Disc8
 
std::vector< ApvmedianValues_TECPlus_Disc9
 
std::vector< ApvmedianValues_TIB_Layer1
 
std::vector< ApvmedianValues_TIB_Layer2
 
std::vector< ApvmedianValues_TIB_Layer3
 
std::vector< ApvmedianValues_TIB_Layer4
 
std::vector< ApvmedianValues_TIDMinus_Disc1
 
std::vector< ApvmedianValues_TIDMinus_Disc2
 
std::vector< ApvmedianValues_TIDMinus_Disc3
 
std::vector< ApvmedianValues_TIDPlus_Disc1
 
std::vector< ApvmedianValues_TIDPlus_Disc2
 
std::vector< ApvmedianValues_TIDPlus_Disc3
 
std::vector< ApvmedianValues_TOB_Layer1
 
std::vector< ApvmedianValues_TOB_Layer2
 
std::vector< ApvmedianValues_TOB_Layer3
 
std::vector< ApvmedianValues_TOB_Layer4
 
std::vector< ApvmedianValues_TOB_Layer5
 
std::vector< ApvmedianValues_TOB_Layer6
 
double minNevents_
 
int module_number
 
double Nevents_
 
int number_apvs
 
int number_strips
 
int numberiterations_
 
long double occupancy_
 
std::string OutFileName_
 
SiStripQualitypQuality
 
int rodstringpetal
 
std::stringstream ss
 
double stripOccupancy [6][128]
 
double stripWeight [6][128]
 
int subdetid
 
const TrackerGeometryTkGeom
 
const TrackerTopologytTopo
 
bool UseInputDB_
 
bool WriteOutputFile_
 

Detailed Description

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

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

Definition at line 40 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Member Typedef Documentation

◆ HistoMap

Definition at line 42 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Constructor & Destructor Documentation

◆ SiStripBadAPVAlgorithmFromClusterOccupancy()

SiStripBadAPVAlgorithmFromClusterOccupancy::SiStripBadAPVAlgorithmFromClusterOccupancy ( const edm::ParameterSet iConfig,
const TrackerTopology theTopo 
)

Definition at line 11 of file SiStripBadAPVAlgorithmFromClusterOccupancy.cc.

References minNevents_, Nevents_, and occupancy_.

13  : lowoccupancy_(0),
14  highoccupancy_(100),
15  absolutelow_(0),
17  Nevents_(0),
18  occupancy_(0),
19  OutFileName_("Occupancy.root"),
20  UseInputDB_(iConfig.getUntrackedParameter<bool>("UseInputDB", false)),
21  tTopo(theTopo) {
23 }
T getUntrackedParameter(std::string const &, T const &) const

◆ ~SiStripBadAPVAlgorithmFromClusterOccupancy()

SiStripBadAPVAlgorithmFromClusterOccupancy::~SiStripBadAPVAlgorithmFromClusterOccupancy ( )
virtual

Definition at line 25 of file SiStripBadAPVAlgorithmFromClusterOccupancy.cc.

References LogTrace.

25  {
26  LogTrace("SiStripBadAPVAlgorithmFromClusterOccupancy")
27  << "[SiStripBadAPVAlgorithmFromClusterOccupancy::~SiStripBadAPVAlgorithmFromClusterOccupancy] " << std::endl;
28 }
#define LogTrace(id)

Member Function Documentation

◆ AnalyzeOccupancy()

void SiStripBadAPVAlgorithmFromClusterOccupancy::AnalyzeOccupancy ( SiStripQuality quality,
std::vector< Apv > &  medianValues,
std::pair< double, double > *  MeanAndRms,
std::vector< unsigned int > &  BadStripList,
const SiStripQuality InSiStripQuality 
)
private

Definition at line 449 of file SiStripBadAPVAlgorithmFromClusterOccupancy.cc.

References absolutelow_, gather_cfg::cout, SiStripBadStrip::encode(), dqmdumpme::first, highoccupancy_, SiStripQuality::IsApvBad(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, lowoccupancy_, minNevents_, pQuality, quality, FastTimerService_cff::range, edm::second(), and UseInputDB_.

Referenced by extractBadAPVs().

453  {
454  int Moduleposition;
455  uint32_t Detid;
456 
457  for (uint32_t it = 0; it < medianValues.size(); it++) {
458  Moduleposition = (medianValues[it].modulePosition) - 1;
459  Detid = medianValues[it].detrawId;
460 
461  for (int apv = 0; apv < medianValues[it].numberApvs; apv++) {
462  if (UseInputDB_) {
463  if (InSiStripQuality->IsApvBad(Detid, apv)) {
464  continue; //if the apv is already flagged as bad, continue.
465  }
466  }
467  if (medianValues[it].apvMedian[apv] > minNevents_) {
468  if ((medianValues[it].apvMedian[apv] >
469  (MeanAndRms[Moduleposition].first + highoccupancy_ * MeanAndRms[Moduleposition].second)) &&
470  (medianValues[it].apvMedian[apv] > absolutelow_))
471  BadStripList.push_back(pQuality->encode((apv * 128), 128, 0));
472  } else if (medianValues[it].apvMedian[apv] <
473  (MeanAndRms[Moduleposition].first - lowoccupancy_ * MeanAndRms[Moduleposition].second) &&
474  (MeanAndRms[Moduleposition].first > 2 || medianValues[it].apvabsoluteOccupancy[apv] == 0)) {
475  BadStripList.push_back(pQuality->encode((apv * 128), 128, 0));
476  std::cout << "Dead APV! DetId: " << medianValues[it].detrawId << ", APV number: " << apv + 1
477  << ", APVMedian: " << medianValues[it].apvMedian[apv]
478  << ", Mean: " << MeanAndRms[Moduleposition].first << ", RMS: " << MeanAndRms[Moduleposition].second
479  << ", LowThreshold: " << lowoccupancy_ << ", Mean-Low*RMS: "
480  << (MeanAndRms[Moduleposition].first - lowoccupancy_ * MeanAndRms[Moduleposition].second)
481  << std::endl;
482  }
483  }
484  if (BadStripList.begin() != BadStripList.end()) {
485  quality->compact(Detid, BadStripList);
486  SiStripQuality::Range range(BadStripList.begin(), BadStripList.end());
487  quality->put(Detid, range);
488  }
489  BadStripList.clear();
490  }
491 }
bool IsApvBad(uint32_t detid, short apvNb) const
U second(std::pair< T, U > const &p)
string quality
std::pair< ContainerIterator, ContainerIterator > Range
unsigned int encode(const unsigned short &first, const unsigned short &NconsecutiveBadStrips, const unsigned short &flag=0)

◆ CalculateMeanAndRMS()

void SiStripBadAPVAlgorithmFromClusterOccupancy::CalculateMeanAndRMS ( const std::vector< Apv > &  a,
std::pair< double, double > *  MeanRMS,
int  number_iterations 
)
private

Definition at line 402 of file SiStripBadAPVAlgorithmFromClusterOccupancy.cc.

References a, mps_fire::i, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, dqmiolumiharvest::j, Mean, dqmiodumpmetadata::n, and compareTotals::tot.

Referenced by extractBadAPVs().

404  {
405  Double_t tot[7], tot2[7];
406  Double_t n[7];
407 
408  Double_t Mean[7] = {0};
409  Double_t Rms[7] = {1000, 1000, 1000, 1000, 1000, 1000, 1000};
410 
411  int Moduleposition;
412 
413  for (int i = 0; i < number_iterations; i++) {
414  for (int j = 0; j < 7; j++) {
415  n[j] = 0;
416  tot[j] = 0;
417  tot2[j] = 0;
418  }
419 
420  for (uint32_t it = 0; it < a.size(); it++) {
421  Moduleposition = (a[it].modulePosition) - 1;
422 
423  for (int apv = 0; apv < a[it].numberApvs; apv++) {
424  if (i > 0) {
425  if (a[it].apvMedian[apv] < (Mean[Moduleposition] - 3 * Rms[Moduleposition]) ||
426  (a[it].apvMedian[apv] > (Mean[Moduleposition] + 5 * Rms[Moduleposition]))) {
427  continue;
428  }
429  }
430  tot[Moduleposition] += a[it].apvMedian[apv];
431  tot2[Moduleposition] += (a[it].apvMedian[apv]) * (a[it].apvMedian[apv]);
432  n[Moduleposition]++;
433  }
434  }
435 
436  for (int j = 0; j < 7; j++) {
437  if (n[j] != 0) {
438  Mean[j] = tot[j] / n[j];
439  Rms[j] = TMath::Sqrt(TMath::Abs(tot2[j] / n[j] - Mean[j] * Mean[j]));
440  }
441  }
442  }
443 
444  for (int j = 0; j < 7; j++) {
445  MeanRMS[j] = std::make_pair(Mean[j], Rms[j]);
446  }
447 }
double a
Definition: hdecay.h:121

◆ extractBadAPVs()

void SiStripBadAPVAlgorithmFromClusterOccupancy::extractBadAPVs ( SiStripQuality siStripQuality,
HistoMap DM,
const SiStripQuality inSiStripQuality 
)

Definition at line 30 of file SiStripBadAPVAlgorithmFromClusterOccupancy.cc.

References SiStripBadAPVAlgorithmFromClusterOccupancy::pHisto::_NBins, SiStripBadAPVAlgorithmFromClusterOccupancy::pHisto::_NEntries, SiStripBadAPVAlgorithmFromClusterOccupancy::pHisto::_th1f, AnalyzeOccupancy(), sistrip::APV, apv_number, apvAbsoluteOccupancy, apvMedianOccupancy, apvtree, CalculateMeanAndRMS(), SiStripQuality::clear(), gather_cfg::cout, detrawid, disc, f, SiStripQuality::fillBadComponents(), cms::cuda::for(), global_position_x, global_position_y, global_position_z, TrackerGeometry::idToDet(), createfilelist::int, isback, edm::isDebugEnabled(), isexternalstring, isstereo, iszminusside, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, layer_ring, StripTopology::localPosition(), LogTrace, MeanAndRms_TECMinus_Disc1, MeanAndRms_TECMinus_Disc2, MeanAndRms_TECMinus_Disc3, MeanAndRms_TECMinus_Disc4, MeanAndRms_TECMinus_Disc5, MeanAndRms_TECMinus_Disc6, MeanAndRms_TECMinus_Disc7, MeanAndRms_TECMinus_Disc8, MeanAndRms_TECMinus_Disc9, MeanAndRms_TECPlus_Disc1, MeanAndRms_TECPlus_Disc2, MeanAndRms_TECPlus_Disc3, MeanAndRms_TECPlus_Disc4, MeanAndRms_TECPlus_Disc5, MeanAndRms_TECPlus_Disc6, MeanAndRms_TECPlus_Disc7, MeanAndRms_TECPlus_Disc8, MeanAndRms_TECPlus_Disc9, MeanAndRms_TIB_Layer1, MeanAndRms_TIB_Layer2, MeanAndRms_TIB_Layer3, MeanAndRms_TIB_Layer4, MeanAndRms_TIDMinus_Disc1, MeanAndRms_TIDMinus_Disc2, MeanAndRms_TIDMinus_Disc3, MeanAndRms_TIDPlus_Disc1, MeanAndRms_TIDPlus_Disc2, MeanAndRms_TIDPlus_Disc3, MeanAndRms_TOB_Layer1, MeanAndRms_TOB_Layer2, MeanAndRms_TOB_Layer3, MeanAndRms_TOB_Layer4, MeanAndRms_TOB_Layer5, MeanAndRms_TOB_Layer6, medianValues_TECMinus_Disc1, medianValues_TECMinus_Disc2, medianValues_TECMinus_Disc3, medianValues_TECMinus_Disc4, medianValues_TECMinus_Disc5, medianValues_TECMinus_Disc6, medianValues_TECMinus_Disc7, medianValues_TECMinus_Disc8, medianValues_TECMinus_Disc9, medianValues_TECPlus_Disc1, medianValues_TECPlus_Disc2, medianValues_TECPlus_Disc3, medianValues_TECPlus_Disc4, medianValues_TECPlus_Disc5, medianValues_TECPlus_Disc6, medianValues_TECPlus_Disc7, medianValues_TECPlus_Disc8, medianValues_TECPlus_Disc9, medianValues_TIB_Layer1, medianValues_TIB_Layer2, medianValues_TIB_Layer3, medianValues_TIB_Layer4, medianValues_TIDMinus_Disc1, medianValues_TIDMinus_Disc2, medianValues_TIDMinus_Disc3, medianValues_TIDPlus_Disc1, medianValues_TIDPlus_Disc2, medianValues_TIDPlus_Disc3, medianValues_TOB_Layer1, medianValues_TOB_Layer2, medianValues_TOB_Layer3, medianValues_TOB_Layer4, medianValues_TOB_Layer5, medianValues_TOB_Layer6, module_number, number_apvs, number_strips, numberiterations_, OutFileName_, pQuality, rodstringpetal, StripGeomDetUnit::specificTopology(), ss, nano_mu_digi_cff::strip, stripOccupancy, stripWeight, DetId::subdetId(), subdetid, StripSubdetector::TEC, TrackerTopology::tecIsBackPetal(), TrackerTopology::tecIsStereo(), TrackerTopology::tecIsZMinusSide(), TrackerTopology::tecModule(), TrackerTopology::tecPetalNumber(), TrackerTopology::tecRing(), TrackerTopology::tecWheel(), StripSubdetector::TIB, TrackerTopology::tibIsExternalString(), TrackerTopology::tibIsStereo(), TrackerTopology::tibIsZMinusSide(), TrackerTopology::tibLayer(), TrackerTopology::tibModule(), TrackerTopology::tibString(), StripSubdetector::TID, TrackerTopology::tidIsBackRing(), TrackerTopology::tidIsStereo(), TrackerTopology::tidIsZMinusSide(), TrackerTopology::tidModule(), TrackerTopology::tidRing(), TrackerTopology::tidWheel(), TkGeom, StripSubdetector::TOB, TrackerTopology::tobIsStereo(), TrackerTopology::tobIsZMinusSide(), TrackerTopology::tobLayer(), TrackerTopology::tobModule(), TrackerTopology::tobRod(), tTopo, WriteOutputFile_, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by SiStripQualityHotStripIdentifierRoot::getNewObject().

32  {
33  LogTrace("SiStripBadAPVAlgorithmFromClusterOccupancy")
34  << "[SiStripBadAPVAlgorithmFromClusterOccupancy::extractBadAPVs] " << std::endl;
35 
36  if (WriteOutputFile_ == true) {
37  f = new TFile(OutFileName_.c_str(), "RECREATE");
38  f->cd();
39 
40  apvtree = new TTree("moduleOccupancy", "tree");
41 
42  apvtree->Branch("DetRawId", &detrawid, "DetRawId/I");
43  apvtree->Branch("SubDetId", &subdetid, "SubDetId/I");
44  apvtree->Branch("Layer_Ring", &layer_ring, "Layer_Ring/I");
45  apvtree->Branch("Disc", &disc, "Disc/I");
46  apvtree->Branch("IsBack", &isback, "IsBack/I");
47  apvtree->Branch("IsExternalString", &isexternalstring, "IsExternalString/I");
48  apvtree->Branch("IsZMinusSide", &iszminusside, "IsZMinusSide/I");
49  apvtree->Branch("RodStringPetal", &rodstringpetal, "RodStringPetal/I");
50  apvtree->Branch("IsStereo", &isstereo, "IsStereo/I");
51  apvtree->Branch("ModuleNumber", &module_number, "ModuleNumber/I");
52  apvtree->Branch("NumberOfStrips", &number_strips, "NumberOfStrips/I");
53  apvtree->Branch("APVGlobalPositionX", &global_position_x, "APVGlobalPositionX/F");
54  apvtree->Branch("APVGlobalPositionY", &global_position_y, "APVGlobalPositionY/F");
55  apvtree->Branch("APVGlobalPositionZ", &global_position_z, "APVGlobalPositionZ/F");
56  apvtree->Branch("APVNumber", &apv_number, "APVNumber/I");
57  apvtree->Branch("APVAbsoluteOccupancy", &apvAbsoluteOccupancy, "apvAbsoluteOccupancy/D");
58  apvtree->Branch("APVMedianOccupancy", &apvMedianOccupancy, "apvMedianOccupancy/D");
59  }
60 
61  HistoMap::iterator it = DM.begin();
62  HistoMap::iterator itEnd = DM.end();
63  std::vector<unsigned int> badStripList;
64  uint32_t detid;
65  for (; it != itEnd; ++it) {
66  Apv APV;
67 
68  for (int apv = 0; apv < 6; apv++) {
69  APV.apvMedian[apv] = 0;
70  APV.apvabsoluteOccupancy[apv] = 0;
71 
72  for (int strip = 0; strip < 128; strip++) {
73  stripOccupancy[apv][strip] = 0;
74  stripWeight[apv][strip] = 0;
75  }
76  }
77 
78  pHisto phisto;
79  phisto._th1f = it->second.get();
80  phisto._NEntries = (int)phisto._th1f->GetEntries();
81  phisto._NBins = phisto._th1f->GetNbinsX();
82 
83  number_strips = (int)phisto._NBins;
84  number_apvs = number_strips / 128;
85  APV.numberApvs = number_apvs;
86 
87  for (int apv = 0; apv < number_apvs; apv++) {
88  for (int strip = 0; strip < 128; strip++) {
89  stripOccupancy[apv][strip] =
90  phisto._th1f->GetBinContent((apv * 128) + strip + 1); // Remember: Bin=0 is underflow bin!
91  stripWeight[apv][strip] = 1;
92  APV.apvabsoluteOccupancy[apv] +=
93  phisto._th1f->GetBinContent((apv * 128) + strip + 1); // Remember: Bin=0 is underflow bin!
94  }
95  }
96 
97  for (int apv = 0; apv < number_apvs; apv++) {
98  APV.apvMedian[apv] = TMath::Median(128, stripOccupancy[apv], stripWeight[apv]);
99  }
100 
101  detid = it->first;
102  DetId detectorId = DetId(detid);
103 
104  if (edm::isDebugEnabled())
105  LogTrace("SiStripBadAPV") << "Analyzing detid " << detid << std::endl;
106 
107  detrawid = detid;
108  APV.detrawId = detrawid;
109  subdetid = detectorId.subdetId();
110  switch (detectorId.subdetId()) {
113  disc = -1;
115  isback = -1;
117  isexternalstring = 1;
118  else
119  isexternalstring = 0;
121  iszminusside = 1;
122  else
123  iszminusside = 0;
126  APV.modulePosition = module_number;
127 
128  if (layer_ring == 1)
129  medianValues_TIB_Layer1.push_back(APV);
130  else if (layer_ring == 2)
131  medianValues_TIB_Layer2.push_back(APV);
132  else if (layer_ring == 3)
133  medianValues_TIB_Layer3.push_back(APV);
134  else if (layer_ring == 4)
135  medianValues_TIB_Layer4.push_back(APV);
136  break;
137 
143  isback = 1;
144  else
145  isback = 0;
147  iszminusside = 1;
148  else
149  iszminusside = 0;
150  isexternalstring = -1;
151  rodstringpetal = -1;
153  APV.modulePosition = layer_ring;
154 
155  if (iszminusside == 0) {
156  if (disc == 1)
157  medianValues_TIDPlus_Disc1.push_back(APV);
158  else if (disc == 2)
159  medianValues_TIDPlus_Disc2.push_back(APV);
160  else if (disc == 3)
161  medianValues_TIDPlus_Disc3.push_back(APV);
162  } else if (iszminusside == 1) {
163  if (disc == 1)
164  medianValues_TIDMinus_Disc1.push_back(APV);
165  else if (disc == 2)
166  medianValues_TIDMinus_Disc2.push_back(APV);
167  else if (disc == 3)
168  medianValues_TIDMinus_Disc3.push_back(APV);
169  }
170  break;
171 
174  disc = -1;
176  isback = -1;
178  iszminusside = 1;
179  else
180  iszminusside = 0;
181  isexternalstring = -1;
184  APV.modulePosition = module_number;
185 
186  if (layer_ring == 1)
187  medianValues_TOB_Layer1.push_back(APV);
188  else if (layer_ring == 2)
189  medianValues_TOB_Layer2.push_back(APV);
190  else if (layer_ring == 3)
191  medianValues_TOB_Layer3.push_back(APV);
192  else if (layer_ring == 4)
193  medianValues_TOB_Layer4.push_back(APV);
194  else if (layer_ring == 5)
195  medianValues_TOB_Layer5.push_back(APV);
196  else if (layer_ring == 6)
197  medianValues_TOB_Layer6.push_back(APV);
198  break;
199 
205  isback = 1;
206  else
207  isback = 0;
209  iszminusside = 1;
210  else
211  iszminusside = 0;
212  isexternalstring = -1;
215  APV.modulePosition = layer_ring;
216 
217  if (iszminusside == 0) {
218  if (disc == 1)
219  medianValues_TECPlus_Disc1.push_back(APV);
220  else if (disc == 2)
221  medianValues_TECPlus_Disc2.push_back(APV);
222  else if (disc == 3)
223  medianValues_TECPlus_Disc3.push_back(APV);
224  else if (disc == 4)
225  medianValues_TECPlus_Disc4.push_back(APV);
226  else if (disc == 5)
227  medianValues_TECPlus_Disc5.push_back(APV);
228  else if (disc == 6)
229  medianValues_TECPlus_Disc6.push_back(APV);
230  else if (disc == 7)
231  medianValues_TECPlus_Disc7.push_back(APV);
232  else if (disc == 8)
233  medianValues_TECPlus_Disc8.push_back(APV);
234  else if (disc == 9)
235  medianValues_TECPlus_Disc9.push_back(APV);
236  } else if (iszminusside == 1) {
237  if (disc == 1)
238  medianValues_TECMinus_Disc1.push_back(APV);
239  else if (disc == 2)
240  medianValues_TECMinus_Disc2.push_back(APV);
241  else if (disc == 3)
242  medianValues_TECMinus_Disc3.push_back(APV);
243  else if (disc == 4)
244  medianValues_TECMinus_Disc4.push_back(APV);
245  else if (disc == 5)
246  medianValues_TECMinus_Disc5.push_back(APV);
247  else if (disc == 6)
248  medianValues_TECMinus_Disc6.push_back(APV);
249  else if (disc == 7)
250  medianValues_TECMinus_Disc7.push_back(APV);
251  else if (disc == 8)
252  medianValues_TECMinus_Disc8.push_back(APV);
253  else if (disc == 9)
254  medianValues_TECMinus_Disc9.push_back(APV);
255  }
256  break;
257 
258  default:
259  std::cout << "### Detector does not belong to TIB, TID, TOB or TEC !? ###" << std::endl;
260  std::cout << "### DetRawId: " << detrawid << " ###" << std::endl;
261  }
262 
263  const StripGeomDetUnit* theStripDet = dynamic_cast<const StripGeomDetUnit*>((TkGeom->idToDet(detectorId)));
264  const StripTopology* theStripTopol = dynamic_cast<const StripTopology*>(&(theStripDet->specificTopology()));
265 
266  for (int apv = 0; apv < number_apvs; apv++) {
267  apv_number = apv + 1;
268  apvMedianOccupancy = APV.apvMedian[apv];
269  apvAbsoluteOccupancy = APV.apvabsoluteOccupancy[apv];
270 
271  LocalPoint pos_strip_local = theStripTopol->localPosition((apv * 128));
272  GlobalPoint pos_strip_global = (TkGeom->idToDet(detectorId))->surface().toGlobal(pos_strip_local);
273 
274  global_position_x = pos_strip_global.x();
275  global_position_y = pos_strip_global.y();
276  global_position_z = pos_strip_global.z();
277 
278  if (WriteOutputFile_ == true)
279  apvtree->Fill();
280  }
281 
282  } // end loop on modules
283 
284  // Calculate Mean and RMS for each Layer
289 
296 
303 
313 
323 
324  pQuality = siStripQuality;
325  badStripList.clear();
326 
327  // Analyze the APV Occupancy for hot APVs
328  AnalyzeOccupancy(siStripQuality, medianValues_TIB_Layer1, MeanAndRms_TIB_Layer1, badStripList, inSiStripQuality);
329  AnalyzeOccupancy(siStripQuality, medianValues_TIB_Layer2, MeanAndRms_TIB_Layer2, badStripList, inSiStripQuality);
330  AnalyzeOccupancy(siStripQuality, medianValues_TIB_Layer3, MeanAndRms_TIB_Layer3, badStripList, inSiStripQuality);
331  AnalyzeOccupancy(siStripQuality, medianValues_TIB_Layer4, MeanAndRms_TIB_Layer4, badStripList, inSiStripQuality);
332 
333  AnalyzeOccupancy(siStripQuality, medianValues_TOB_Layer1, MeanAndRms_TOB_Layer1, badStripList, inSiStripQuality);
334  AnalyzeOccupancy(siStripQuality, medianValues_TOB_Layer2, MeanAndRms_TOB_Layer2, badStripList, inSiStripQuality);
335  AnalyzeOccupancy(siStripQuality, medianValues_TOB_Layer3, MeanAndRms_TOB_Layer3, badStripList, inSiStripQuality);
336  AnalyzeOccupancy(siStripQuality, medianValues_TOB_Layer4, MeanAndRms_TOB_Layer4, badStripList, inSiStripQuality);
337  AnalyzeOccupancy(siStripQuality, medianValues_TOB_Layer5, MeanAndRms_TOB_Layer5, badStripList, inSiStripQuality);
338  AnalyzeOccupancy(siStripQuality, medianValues_TOB_Layer6, MeanAndRms_TOB_Layer6, badStripList, inSiStripQuality);
339 
341  siStripQuality, medianValues_TIDPlus_Disc1, MeanAndRms_TIDPlus_Disc1, badStripList, inSiStripQuality);
343  siStripQuality, medianValues_TIDPlus_Disc2, MeanAndRms_TIDPlus_Disc2, badStripList, inSiStripQuality);
345  siStripQuality, medianValues_TIDPlus_Disc3, MeanAndRms_TIDPlus_Disc3, badStripList, inSiStripQuality);
347  siStripQuality, medianValues_TIDMinus_Disc1, MeanAndRms_TIDMinus_Disc1, badStripList, inSiStripQuality);
349  siStripQuality, medianValues_TIDMinus_Disc2, MeanAndRms_TIDMinus_Disc2, badStripList, inSiStripQuality);
351  siStripQuality, medianValues_TIDMinus_Disc3, MeanAndRms_TIDMinus_Disc3, badStripList, inSiStripQuality);
352 
354  siStripQuality, medianValues_TECPlus_Disc1, MeanAndRms_TECPlus_Disc1, badStripList, inSiStripQuality);
356  siStripQuality, medianValues_TECPlus_Disc2, MeanAndRms_TECPlus_Disc2, badStripList, inSiStripQuality);
358  siStripQuality, medianValues_TECPlus_Disc3, MeanAndRms_TECPlus_Disc3, badStripList, inSiStripQuality);
360  siStripQuality, medianValues_TECPlus_Disc4, MeanAndRms_TECPlus_Disc4, badStripList, inSiStripQuality);
362  siStripQuality, medianValues_TECPlus_Disc5, MeanAndRms_TECPlus_Disc5, badStripList, inSiStripQuality);
364  siStripQuality, medianValues_TECPlus_Disc6, MeanAndRms_TECPlus_Disc6, badStripList, inSiStripQuality);
366  siStripQuality, medianValues_TECPlus_Disc7, MeanAndRms_TECPlus_Disc7, badStripList, inSiStripQuality);
368  siStripQuality, medianValues_TECPlus_Disc8, MeanAndRms_TECPlus_Disc8, badStripList, inSiStripQuality);
370  siStripQuality, medianValues_TECPlus_Disc9, MeanAndRms_TECPlus_Disc9, badStripList, inSiStripQuality);
371 
373  siStripQuality, medianValues_TECMinus_Disc1, MeanAndRms_TECMinus_Disc1, badStripList, inSiStripQuality);
375  siStripQuality, medianValues_TECMinus_Disc2, MeanAndRms_TECMinus_Disc2, badStripList, inSiStripQuality);
377  siStripQuality, medianValues_TECMinus_Disc3, MeanAndRms_TECMinus_Disc3, badStripList, inSiStripQuality);
379  siStripQuality, medianValues_TECMinus_Disc4, MeanAndRms_TECMinus_Disc4, badStripList, inSiStripQuality);
381  siStripQuality, medianValues_TECMinus_Disc5, MeanAndRms_TECMinus_Disc5, badStripList, inSiStripQuality);
383  siStripQuality, medianValues_TECMinus_Disc6, MeanAndRms_TECMinus_Disc6, badStripList, inSiStripQuality);
385  siStripQuality, medianValues_TECMinus_Disc7, MeanAndRms_TECMinus_Disc7, badStripList, inSiStripQuality);
387  siStripQuality, medianValues_TECMinus_Disc8, MeanAndRms_TECMinus_Disc8, badStripList, inSiStripQuality);
389  siStripQuality, medianValues_TECMinus_Disc9, MeanAndRms_TECMinus_Disc9, badStripList, inSiStripQuality);
390 
391  siStripQuality->fillBadComponents();
392 
393  if (WriteOutputFile_ == true) {
394  f->cd();
395  apvtree->Write();
396  f->Close();
397  }
398 
399  LogTrace("SiStripBadAPV") << ss.str() << std::endl;
400 }
unsigned int tecPetalNumber(const DetId &id) const
bool isDebugEnabled()
static constexpr auto TEC
unsigned int tobLayer(const DetId &id) const
bool tobIsZMinusSide(const DetId &id) const
T z() const
Definition: PV3DBase.h:61
for(int i=first, nt=offsets[nh];i< nt;i+=gridDim.x *blockDim.x)
unsigned int tibModule(const DetId &id) const
void CalculateMeanAndRMS(const std::vector< Apv > &, std::pair< double, double > *, int)
bool tibIsExternalString(const DetId &id) const
unsigned int tidWheel(const DetId &id) const
bool tibIsZMinusSide(const DetId &id) const
unsigned int tecWheel(const DetId &id) const
bool tidIsBackRing(const DetId &id) const
unsigned int tibString(const DetId &id) const
bool tecIsZMinusSide(const DetId &id) const
unsigned int tecRing(const DetId &id) const
ring id
bool tibIsStereo(const DetId &id) const
#define LogTrace(id)
bool tidIsZMinusSide(const DetId &id) const
bool tobIsStereo(const DetId &id) const
T x() const
Definition: PV3DBase.h:59
T y() const
Definition: PV3DBase.h:60
unsigned int tidModule(const DetId &id) const
unsigned int tecModule(const DetId &id) const
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
void AnalyzeOccupancy(SiStripQuality *, std::vector< Apv > &, std::pair< double, double > *, std::vector< unsigned int > &, const SiStripQuality *)
static constexpr auto TOB
void fillBadComponents()
const TrackerGeomDet * idToDet(DetId) const override
bool tecIsBackPetal(const DetId &id) const
Definition: DetId.h:17
static constexpr auto TIB
bool tecIsStereo(const DetId &id) const
unsigned int tobRod(const DetId &id) const
bool tidIsStereo(const DetId &id) const
unsigned int tidRing(const DetId &id) const
virtual LocalPoint localPosition(float strip) const =0
unsigned int tibLayer(const DetId &id) const
unsigned int tobModule(const DetId &id) const
static constexpr auto TID

◆ setAbsoluteLowThreshold()

void SiStripBadAPVAlgorithmFromClusterOccupancy::setAbsoluteLowThreshold ( long double  absolute_low)
inline

◆ setAbsoluteOccupancyThreshold()

void SiStripBadAPVAlgorithmFromClusterOccupancy::setAbsoluteOccupancyThreshold ( long double  occupancy)
inline

◆ setHighOccupancyThreshold()

void SiStripBadAPVAlgorithmFromClusterOccupancy::setHighOccupancyThreshold ( long double  high_occupancy)
inline

◆ setLowOccupancyThreshold()

void SiStripBadAPVAlgorithmFromClusterOccupancy::setLowOccupancyThreshold ( long double  low_occupancy)
inline

◆ setMinNumOfEvents()

void SiStripBadAPVAlgorithmFromClusterOccupancy::setMinNumOfEvents ( )

◆ setNumberIterations()

void SiStripBadAPVAlgorithmFromClusterOccupancy::setNumberIterations ( int  number_iterations)
inline

◆ setNumberOfEvents()

void SiStripBadAPVAlgorithmFromClusterOccupancy::setNumberOfEvents ( double  Nevents)
inline

◆ setOutputFileName()

void SiStripBadAPVAlgorithmFromClusterOccupancy::setOutputFileName ( std::string  OutputFileName,
bool  WriteOutputFile 
)
inline

◆ setTrackerGeometry()

void SiStripBadAPVAlgorithmFromClusterOccupancy::setTrackerGeometry ( const TrackerGeometry tkgeom)
inline

Member Data Documentation

◆ absolutelow_

long double SiStripBadAPVAlgorithmFromClusterOccupancy::absolutelow_
private

◆ apv_number

int SiStripBadAPVAlgorithmFromClusterOccupancy::apv_number
private

Definition at line 193 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ apvAbsoluteOccupancy

double SiStripBadAPVAlgorithmFromClusterOccupancy::apvAbsoluteOccupancy
private

Definition at line 199 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ apvMedianOccupancy

double SiStripBadAPVAlgorithmFromClusterOccupancy::apvMedianOccupancy
private

Definition at line 200 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ apvtree

TTree* SiStripBadAPVAlgorithmFromClusterOccupancy::apvtree
private

Definition at line 179 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ detrawid

uint32_t SiStripBadAPVAlgorithmFromClusterOccupancy::detrawid
private

Definition at line 181 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ disc

int SiStripBadAPVAlgorithmFromClusterOccupancy::disc
private

Definition at line 184 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ f

TFile* SiStripBadAPVAlgorithmFromClusterOccupancy::f
private

◆ global_position_x

float SiStripBadAPVAlgorithmFromClusterOccupancy::global_position_x
private

Definition at line 195 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ global_position_y

float SiStripBadAPVAlgorithmFromClusterOccupancy::global_position_y
private

Definition at line 196 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ global_position_z

float SiStripBadAPVAlgorithmFromClusterOccupancy::global_position_z
private

Definition at line 197 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ highoccupancy_

long double SiStripBadAPVAlgorithmFromClusterOccupancy::highoccupancy_
private

◆ isback

int SiStripBadAPVAlgorithmFromClusterOccupancy::isback
private

Definition at line 185 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ isexternalstring

int SiStripBadAPVAlgorithmFromClusterOccupancy::isexternalstring
private

Definition at line 186 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ isstereo

int SiStripBadAPVAlgorithmFromClusterOccupancy::isstereo
private

Definition at line 189 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ iszminusside

int SiStripBadAPVAlgorithmFromClusterOccupancy::iszminusside
private

Definition at line 187 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ layer_ring

int SiStripBadAPVAlgorithmFromClusterOccupancy::layer_ring
private

Definition at line 183 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ lowoccupancy_

long double SiStripBadAPVAlgorithmFromClusterOccupancy::lowoccupancy_
private

◆ MeanAndRms_TECMinus_Disc1

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TECMinus_Disc1[7]
private

Definition at line 160 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TECMinus_Disc2

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TECMinus_Disc2[7]
private

Definition at line 162 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TECMinus_Disc3

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TECMinus_Disc3[7]
private

Definition at line 164 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TECMinus_Disc4

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TECMinus_Disc4[7]
private

Definition at line 166 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TECMinus_Disc5

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TECMinus_Disc5[7]
private

Definition at line 168 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TECMinus_Disc6

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TECMinus_Disc6[7]
private

Definition at line 170 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TECMinus_Disc7

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TECMinus_Disc7[7]
private

Definition at line 172 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TECMinus_Disc8

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TECMinus_Disc8[7]
private

Definition at line 174 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TECMinus_Disc9

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TECMinus_Disc9[7]
private

Definition at line 176 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TECPlus_Disc1

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TECPlus_Disc1[7]
private

Definition at line 141 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TECPlus_Disc2

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TECPlus_Disc2[7]
private

Definition at line 143 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TECPlus_Disc3

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TECPlus_Disc3[7]
private

Definition at line 145 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TECPlus_Disc4

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TECPlus_Disc4[7]
private

Definition at line 147 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TECPlus_Disc5

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TECPlus_Disc5[7]
private

Definition at line 149 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TECPlus_Disc6

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TECPlus_Disc6[7]
private

Definition at line 151 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TECPlus_Disc7

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TECPlus_Disc7[7]
private

Definition at line 153 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TECPlus_Disc8

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TECPlus_Disc8[7]
private

Definition at line 155 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TECPlus_Disc9

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TECPlus_Disc9[7]
private

Definition at line 157 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TIB_Layer1

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TIB_Layer1[7]
private

Definition at line 105 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TIB_Layer2

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TIB_Layer2[7]
private

Definition at line 107 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TIB_Layer3

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TIB_Layer3[7]
private

Definition at line 109 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TIB_Layer4

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TIB_Layer4[7]
private

Definition at line 111 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TIDMinus_Disc1

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TIDMinus_Disc1[7]
private

Definition at line 134 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TIDMinus_Disc2

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TIDMinus_Disc2[7]
private

Definition at line 136 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TIDMinus_Disc3

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TIDMinus_Disc3[7]
private

Definition at line 138 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TIDPlus_Disc1

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TIDPlus_Disc1[7]
private

Definition at line 127 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TIDPlus_Disc2

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TIDPlus_Disc2[7]
private

Definition at line 129 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TIDPlus_Disc3

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TIDPlus_Disc3[7]
private

Definition at line 131 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TOB_Layer1

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TOB_Layer1[7]
private

Definition at line 114 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TOB_Layer2

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TOB_Layer2[7]
private

Definition at line 116 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TOB_Layer3

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TOB_Layer3[7]
private

Definition at line 118 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TOB_Layer4

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TOB_Layer4[7]
private

Definition at line 120 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TOB_Layer5

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TOB_Layer5[7]
private

Definition at line 122 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ MeanAndRms_TOB_Layer6

std::pair<double, double> SiStripBadAPVAlgorithmFromClusterOccupancy::MeanAndRms_TOB_Layer6[7]
private

Definition at line 124 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TECMinus_Disc1

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TECMinus_Disc1
private

Definition at line 159 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TECMinus_Disc2

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TECMinus_Disc2
private

Definition at line 161 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TECMinus_Disc3

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TECMinus_Disc3
private

Definition at line 163 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TECMinus_Disc4

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TECMinus_Disc4
private

Definition at line 165 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TECMinus_Disc5

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TECMinus_Disc5
private

Definition at line 167 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TECMinus_Disc6

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TECMinus_Disc6
private

Definition at line 169 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TECMinus_Disc7

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TECMinus_Disc7
private

Definition at line 171 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TECMinus_Disc8

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TECMinus_Disc8
private

Definition at line 173 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TECMinus_Disc9

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TECMinus_Disc9
private

Definition at line 175 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TECPlus_Disc1

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TECPlus_Disc1
private

Definition at line 140 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TECPlus_Disc2

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TECPlus_Disc2
private

Definition at line 142 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TECPlus_Disc3

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TECPlus_Disc3
private

Definition at line 144 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TECPlus_Disc4

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TECPlus_Disc4
private

Definition at line 146 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TECPlus_Disc5

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TECPlus_Disc5
private

Definition at line 148 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TECPlus_Disc6

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TECPlus_Disc6
private

Definition at line 150 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TECPlus_Disc7

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TECPlus_Disc7
private

Definition at line 152 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TECPlus_Disc8

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TECPlus_Disc8
private

Definition at line 154 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TECPlus_Disc9

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TECPlus_Disc9
private

Definition at line 156 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TIB_Layer1

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TIB_Layer1
private

Definition at line 104 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TIB_Layer2

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TIB_Layer2
private

Definition at line 106 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TIB_Layer3

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TIB_Layer3
private

Definition at line 108 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TIB_Layer4

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TIB_Layer4
private

Definition at line 110 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TIDMinus_Disc1

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TIDMinus_Disc1
private

Definition at line 133 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TIDMinus_Disc2

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TIDMinus_Disc2
private

Definition at line 135 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TIDMinus_Disc3

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TIDMinus_Disc3
private

Definition at line 137 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TIDPlus_Disc1

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TIDPlus_Disc1
private

Definition at line 126 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TIDPlus_Disc2

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TIDPlus_Disc2
private

Definition at line 128 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TIDPlus_Disc3

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TIDPlus_Disc3
private

Definition at line 130 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TOB_Layer1

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TOB_Layer1
private

Definition at line 113 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TOB_Layer2

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TOB_Layer2
private

Definition at line 115 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TOB_Layer3

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TOB_Layer3
private

Definition at line 117 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TOB_Layer4

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TOB_Layer4
private

Definition at line 119 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TOB_Layer5

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TOB_Layer5
private

Definition at line 121 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ medianValues_TOB_Layer6

std::vector<Apv> SiStripBadAPVAlgorithmFromClusterOccupancy::medianValues_TOB_Layer6
private

Definition at line 123 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ minNevents_

double SiStripBadAPVAlgorithmFromClusterOccupancy::minNevents_
private

◆ module_number

int SiStripBadAPVAlgorithmFromClusterOccupancy::module_number
private

Definition at line 190 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ Nevents_

double SiStripBadAPVAlgorithmFromClusterOccupancy::Nevents_
private

◆ number_apvs

int SiStripBadAPVAlgorithmFromClusterOccupancy::number_apvs
private

Definition at line 192 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ number_strips

int SiStripBadAPVAlgorithmFromClusterOccupancy::number_strips
private

Definition at line 191 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ numberiterations_

int SiStripBadAPVAlgorithmFromClusterOccupancy::numberiterations_
private

◆ occupancy_

long double SiStripBadAPVAlgorithmFromClusterOccupancy::occupancy_
private

◆ OutFileName_

std::string SiStripBadAPVAlgorithmFromClusterOccupancy::OutFileName_
private

◆ pQuality

SiStripQuality* SiStripBadAPVAlgorithmFromClusterOccupancy::pQuality
private

◆ rodstringpetal

int SiStripBadAPVAlgorithmFromClusterOccupancy::rodstringpetal
private

Definition at line 188 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ ss

std::stringstream SiStripBadAPVAlgorithmFromClusterOccupancy::ss
private

Definition at line 202 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ stripOccupancy

double SiStripBadAPVAlgorithmFromClusterOccupancy::stripOccupancy[6][128]
private

Definition at line 101 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ stripWeight

double SiStripBadAPVAlgorithmFromClusterOccupancy::stripWeight[6][128]
private

Definition at line 102 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ subdetid

int SiStripBadAPVAlgorithmFromClusterOccupancy::subdetid
private

Definition at line 182 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ TkGeom

const TrackerGeometry* SiStripBadAPVAlgorithmFromClusterOccupancy::TkGeom
private

◆ tTopo

const TrackerTopology* SiStripBadAPVAlgorithmFromClusterOccupancy::tTopo
private

Definition at line 97 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

◆ UseInputDB_

bool SiStripBadAPVAlgorithmFromClusterOccupancy::UseInputDB_
private

Definition at line 95 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by AnalyzeOccupancy().

◆ WriteOutputFile_

bool SiStripBadAPVAlgorithmFromClusterOccupancy::WriteOutputFile_
private