CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 &, edm::ESHandle< 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 > &, edm::ESHandle< 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 41 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Member Typedef Documentation

Definition at line 44 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Constructor & Destructor Documentation

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

Definition at line 13 of file SiStripBadAPVAlgorithmFromClusterOccupancy.cc.

References minNevents_, Nevents_, and occupancy_.

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

Definition at line 27 of file SiStripBadAPVAlgorithmFromClusterOccupancy.cc.

References LogTrace.

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

Member Function Documentation

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

Definition at line 394 of file SiStripBadAPVAlgorithmFromClusterOccupancy.cc.

References absolutelow_, SiStripQuality::compact(), gather_cfg::cout, SiStripBadStrip::encode(), first, highoccupancy_, lowoccupancy_, minNevents_, pQuality, SiStripBadStrip::put(), edm::second(), and UseInputDB_.

Referenced by extractBadAPVs().

395 {
396  int Moduleposition;
397  uint32_t Detid;
398 
399  for (uint32_t it=0; it<medianValues.size(); it++)
400  {
401  Moduleposition = (medianValues[it].modulePosition)-1;
402  Detid = medianValues[it].detrawId;
403 
404  for (int apv=0; apv<medianValues[it].numberApvs; apv++)
405  {
406  if(UseInputDB_)
407  {
408  if(InSiStripQuality->IsApvBad(Detid,apv) )
409  {
410  continue;//if the apv is already flagged as bad, continue.
411  }
412  }
413  if (medianValues[it].apvMedian[apv] > minNevents_)
414  {
415  if ((medianValues[it].apvMedian[apv]>(MeanAndRms[Moduleposition].first+highoccupancy_*MeanAndRms[Moduleposition].second)) && (medianValues[it].apvMedian[apv]>absolutelow_))
416  BadStripList.push_back(pQuality->encode((apv*128),128,0));
417  }
418  else if (medianValues[it].apvMedian[apv]<(MeanAndRms[Moduleposition].first-lowoccupancy_*MeanAndRms[Moduleposition].second) && (MeanAndRms[Moduleposition].first>2 || medianValues[it].apvabsoluteOccupancy[apv]==0))
419  {
420  BadStripList.push_back(pQuality->encode((apv*128),128,0));
421  std::cout << "Dead APV! DetId: " << medianValues[it].detrawId << ", APV number: " << apv+1 << ", APVMedian: " << medianValues[it].apvMedian[apv] << ", Mean: " << MeanAndRms[Moduleposition].first << ", RMS: " << MeanAndRms[Moduleposition].second << ", LowThreshold: " << lowoccupancy_ << ", Mean-Low*RMS: " << (MeanAndRms[Moduleposition].first-lowoccupancy_*MeanAndRms[Moduleposition].second) << std::endl;
422  }
423  }
424  if (BadStripList.begin()!=BadStripList.end())
425  {
426  quality->compact(Detid,BadStripList);
427  SiStripQuality::Range range(BadStripList.begin(),BadStripList.end());
428  quality->put(Detid,range);
429  }
430  BadStripList.clear();
431  }
432 }
U second(std::pair< T, U > const &p)
void compact(unsigned int &, std::vector< unsigned int > &)
bool first
Definition: L1TdeRCT.cc:75
std::pair< ContainerIterator, ContainerIterator > Range
tuple cout
Definition: gather_cfg.py:121
bool put(const uint32_t &detID, const InputVector &vect)
unsigned int encode(const unsigned short &first, const unsigned short &NconsecutiveBadStrips, const unsigned short &flag=0)
void SiStripBadAPVAlgorithmFromClusterOccupancy::CalculateMeanAndRMS ( const std::vector< Apv > &  a,
std::pair< double, double > *  MeanRMS,
int  number_iterations 
)
private

Definition at line 339 of file SiStripBadAPVAlgorithmFromClusterOccupancy.cc.

References Abs(), i, j, Mean, and n.

Referenced by extractBadAPVs().

340 {
341  Double_t tot[7], tot2[7];
342  Double_t n[7];
343 
344  Double_t Mean[7] = {0};
345  Double_t Rms[7] = {1000,1000,1000,1000,1000,1000,1000};
346 
347  int Moduleposition;
348 
349  for (int i=0; i<number_iterations; i++)
350  {
351  for (int j=0; j<7; j++)
352  {
353  n[j] = 0;
354  tot[j] = 0;
355  tot2[j] = 0;
356  }
357 
358  for (uint32_t it=0; it<a.size(); it++)
359  {
360  Moduleposition = (a[it].modulePosition)-1;
361 
362  for (int apv=0; apv<a[it].numberApvs; apv++)
363  {
364  if (i>0)
365  {
366  if (a[it].apvMedian[apv]<(Mean[Moduleposition]-3*Rms[Moduleposition]) || (a[it].apvMedian[apv]>(Mean[Moduleposition]+5*Rms[Moduleposition])))
367  {
368  continue;
369  }
370  }
371  tot[Moduleposition] += a[it].apvMedian[apv];
372  tot2[Moduleposition] += (a[it].apvMedian[apv])*(a[it].apvMedian[apv]);
373  n[Moduleposition]++;
374  }
375  }
376 
377  for (int j=0; j<7; j++)
378  {
379  if (n[j]!=0)
380  {
381  Mean[j] = tot[j]/n[j];
382  Rms[j] = TMath::Sqrt(TMath::Abs(tot2[j]/n[j] -Mean[j]*Mean[j]));
383  }
384  }
385  }
386 
387  for (int j=0; j<7; j++)
388  {
389  MeanRMS[j] = std::make_pair(Mean[j],Rms[j]);
390  }
391 
392 }
int i
Definition: DBlmapReader.cc:9
T Abs(T a)
Definition: MathUtil.h:49
int j
Definition: DBlmapReader.cc:9
double a
Definition: hdecay.h:121
void SiStripBadAPVAlgorithmFromClusterOccupancy::extractBadAPVs ( SiStripQuality siStripQuality,
HistoMap DM,
edm::ESHandle< SiStripQuality > &  inSiStripQuality 
)

Definition at line 31 of file SiStripBadAPVAlgorithmFromClusterOccupancy.cc.

References SiStripBadAPVAlgorithmFromClusterOccupancy::pHisto::_NBins, SiStripBadAPVAlgorithmFromClusterOccupancy::pHisto::_NEntries, SiStripBadAPVAlgorithmFromClusterOccupancy::pHisto::_th1f, AnalyzeOccupancy(), sistrip::APV, apv_number, SiStripBadAPVAlgorithmFromClusterOccupancy::Apv::apvabsoluteOccupancy, apvAbsoluteOccupancy, SiStripBadAPVAlgorithmFromClusterOccupancy::Apv::apvMedian, apvMedianOccupancy, apvtree, CalculateMeanAndRMS(), SiStripQuality::clear(), gather_cfg::cout, cond::rpcobgas::detid, SiStripBadAPVAlgorithmFromClusterOccupancy::Apv::detrawId, detrawid, disc, f, SiStripQuality::fillBadComponents(), citk::for(), global_position_x, global_position_y, global_position_z, TrackerGeometry::idToDet(), isback, edm::isDebugEnabled(), isexternalstring, isstereo, iszminusside, 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, SiStripBadAPVAlgorithmFromClusterOccupancy::Apv::modulePosition, number_apvs, number_strips, SiStripBadAPVAlgorithmFromClusterOccupancy::Apv::numberApvs, numberiterations_, OutFileName_, pQuality, rodstringpetal, StripGeomDetUnit::specificTopology(), ss, stripOccupancy, stripWeight, DetId::subdetId(), subdetid, StripSubdetector::TEC, TrackerTopology::tecIsBackPetal(), TrackerTopology::tecIsZMinusSide(), TrackerTopology::tecModule(), TrackerTopology::tecPetalNumber(), TrackerTopology::tecRing(), TrackerTopology::tecWheel(), StripSubdetector::TIB, TrackerTopology::tibIsExternalString(), TrackerTopology::tibIsZMinusSide(), TrackerTopology::tibLayer(), TrackerTopology::tibModule(), TrackerTopology::tibString(), StripSubdetector::TID, TrackerTopology::tidIsBackRing(), TrackerTopology::tidIsZMinusSide(), TrackerTopology::tidModule(), TrackerTopology::tidRing(), TrackerTopology::tidWheel(), TkGeom, StripSubdetector::TOB, 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().

31  {
32 
33  LogTrace("SiStripBadAPVAlgorithmFromClusterOccupancy")<<"[SiStripBadAPVAlgorithmFromClusterOccupancy::extractBadAPVs] "<<std::endl;
34 
35  if (WriteOutputFile_==true){
36  f = new TFile(OutFileName_.c_str(),"RECREATE");
37  f->cd();
38 
39  apvtree = new TTree("moduleOccupancy","tree");
40 
41  apvtree->Branch("DetRawId", &detrawid, "DetRawId/I");
42  apvtree->Branch("SubDetId", &subdetid, "SubDetId/I");
43  apvtree->Branch("Layer_Ring", &layer_ring, "Layer_Ring/I");
44  apvtree->Branch("Disc", &disc, "Disc/I");
45  apvtree->Branch("IsBack", &isback, "IsBack/I");
46  apvtree->Branch("IsExternalString", &isexternalstring, "IsExternalString/I");
47  apvtree->Branch("IsZMinusSide", &iszminusside, "IsZMinusSide/I");
48  apvtree->Branch("RodStringPetal", &rodstringpetal, "RodStringPetal/I");
49  apvtree->Branch("IsStereo", &isstereo, "IsStereo/I");
50  apvtree->Branch("ModuleNumber", &module_number, "ModuleNumber/I");
51  apvtree->Branch("NumberOfStrips", &number_strips, "NumberOfStrips/I");
52  apvtree->Branch("APVGlobalPositionX", &global_position_x, "APVGlobalPositionX/F");
53  apvtree->Branch("APVGlobalPositionY", &global_position_y, "APVGlobalPositionY/F");
54  apvtree->Branch("APVGlobalPositionZ", &global_position_z, "APVGlobalPositionZ/F");
55  apvtree->Branch("APVNumber", &apv_number, "APVNumber/I");
56  apvtree->Branch("APVAbsoluteOccupancy", &apvAbsoluteOccupancy, "apvAbsoluteOccupancy/D");
57  apvtree->Branch("APVMedianOccupancy", &apvMedianOccupancy, "apvMedianOccupancy/D");
58  }
59 
60  HistoMap::iterator it=DM.begin();
61  HistoMap::iterator itEnd=DM.end();
62  std::vector<unsigned int> badStripList;
63  uint32_t detid;
64  for (;it!=itEnd;++it){
65 
66  Apv APV;
67 
68  for (int apv=0; apv<6; apv++)
69  {
70  APV.apvMedian[apv] = 0;
71  APV.apvabsoluteOccupancy[apv] = 0;
72 
73  for (int strip=0; strip<128; strip++)
74  {
75  stripOccupancy[apv][strip] = 0;
76  stripWeight[apv][strip] = 0;
77  }
78  }
79 
80  pHisto phisto;
81  phisto._th1f = it->second.get();
82  phisto._NEntries = (int)phisto._th1f->GetEntries();
83  phisto._NBins = phisto._th1f->GetNbinsX();
84 
85  number_strips = (int)phisto._NBins;
87  APV.numberApvs = number_apvs;
88 
89  for (int apv=0; apv<number_apvs; apv++)
90  {
91  for (int strip=0; strip<128; strip++)
92  {
93  stripOccupancy[apv][strip] = phisto._th1f->GetBinContent((apv*128)+strip+1); // Remember: Bin=0 is underflow bin!
94  stripWeight[apv][strip] = 1;
95  APV.apvabsoluteOccupancy[apv] += phisto._th1f->GetBinContent((apv*128)+strip+1); // Remember: Bin=0 is underflow bin!
96  }
97  }
98 
99  for (int apv=0; apv<number_apvs; apv++)
100  {
101  APV.apvMedian[apv] = TMath::Median(128,stripOccupancy[apv],stripWeight[apv]);
102  }
103 
104  detid=it->first;
105  DetId detectorId=DetId(detid);
106 
107  if (edm::isDebugEnabled())
108  LogTrace("SiStripBadAPV") << "Analyzing detid " << detid<< std::endl;
109 
110  detrawid = detid;
111  APV.detrawId = detrawid;
112  subdetid = detectorId.subdetId();
113  if (SiStripDetId(detrawid).stereo() !=0 ) isstereo = 1; // It's a stereo module
114  else isstereo = 0; // It's an rphi module
115  switch (detectorId.subdetId())
116  {
117  case StripSubdetector::TIB :
119  disc = -1;
120  isback = -1;
122  else isexternalstring = 0;
124  else iszminusside = 0;
127  APV.modulePosition = module_number;
128 
129  if (layer_ring == 1) medianValues_TIB_Layer1.push_back(APV);
130  else if (layer_ring == 2) medianValues_TIB_Layer2.push_back(APV);
131  else if (layer_ring == 3) medianValues_TIB_Layer3.push_back(APV);
132  else if (layer_ring == 4) medianValues_TIB_Layer4.push_back(APV);
133  break;
134 
135  case StripSubdetector::TID :
138  if (tTopo->tidIsBackRing(detrawid)) isback = 1;
139  else isback = 0;
141  else iszminusside = 0;
142  isexternalstring = -1;
143  rodstringpetal = -1;
145  APV.modulePosition = layer_ring;
146 
147  if (iszminusside==0)
148  {
149  if (disc==1) medianValues_TIDPlus_Disc1.push_back(APV);
150  else if (disc==2) medianValues_TIDPlus_Disc2.push_back(APV);
151  else if (disc==3) medianValues_TIDPlus_Disc3.push_back(APV);
152  }
153  else if (iszminusside==1)
154  {
155  if (disc==1) medianValues_TIDMinus_Disc1.push_back(APV);
156  else if (disc==2) medianValues_TIDMinus_Disc2.push_back(APV);
157  else if (disc==3) medianValues_TIDMinus_Disc3.push_back(APV);
158  }
159  break;
160 
161  case StripSubdetector::TOB :
163  disc = -1;
164  isback = -1;
166  else iszminusside = 0;
167  isexternalstring = -1;
170  APV.modulePosition = module_number;
171 
172  if (layer_ring == 1) medianValues_TOB_Layer1.push_back(APV);
173  else if (layer_ring == 2) medianValues_TOB_Layer2.push_back(APV);
174  else if (layer_ring == 3) medianValues_TOB_Layer3.push_back(APV);
175  else if (layer_ring == 4) medianValues_TOB_Layer4.push_back(APV);
176  else if (layer_ring == 5) medianValues_TOB_Layer5.push_back(APV);
177  else if (layer_ring == 6) medianValues_TOB_Layer6.push_back(APV);
178  break;
179 
180  case StripSubdetector::TEC :
183  if (tTopo->tecIsBackPetal(detrawid)) isback = 1;
184  else isback = 0;
186  else iszminusside = 0;
187  isexternalstring = -1;
190  APV.modulePosition = layer_ring;
191 
192  if (iszminusside==0)
193  {
194  if (disc==1) medianValues_TECPlus_Disc1.push_back(APV);
195  else if (disc==2) medianValues_TECPlus_Disc2.push_back(APV);
196  else if (disc==3) medianValues_TECPlus_Disc3.push_back(APV);
197  else if (disc==4) medianValues_TECPlus_Disc4.push_back(APV);
198  else if (disc==5) medianValues_TECPlus_Disc5.push_back(APV);
199  else if (disc==6) medianValues_TECPlus_Disc6.push_back(APV);
200  else if (disc==7) medianValues_TECPlus_Disc7.push_back(APV);
201  else if (disc==8) medianValues_TECPlus_Disc8.push_back(APV);
202  else if (disc==9) medianValues_TECPlus_Disc9.push_back(APV);
203  }
204  else if (iszminusside==1)
205  {
206  if (disc==1) medianValues_TECMinus_Disc1.push_back(APV);
207  else if (disc==2) medianValues_TECMinus_Disc2.push_back(APV);
208  else if (disc==3) medianValues_TECMinus_Disc3.push_back(APV);
209  else if (disc==4) medianValues_TECMinus_Disc4.push_back(APV);
210  else if (disc==5) medianValues_TECMinus_Disc5.push_back(APV);
211  else if (disc==6) medianValues_TECMinus_Disc6.push_back(APV);
212  else if (disc==7) medianValues_TECMinus_Disc7.push_back(APV);
213  else if (disc==8) medianValues_TECMinus_Disc8.push_back(APV);
214  else if (disc==9) medianValues_TECMinus_Disc9.push_back(APV);
215  }
216  break;
217 
218  default :
219  std::cout << "### Detector does not belong to TIB, TID, TOB or TEC !? ###" << std::endl;
220  std::cout << "### DetRawId: " << detrawid << " ###" << std::endl;
221  }
222 
223  const StripGeomDetUnit* theStripDet = dynamic_cast<const StripGeomDetUnit*>( (TkGeom->idToDet(detectorId)) );
224  const StripTopology* theStripTopol = dynamic_cast<const StripTopology*>( &(theStripDet->specificTopology()) );
225 
226  for (int apv=0; apv<number_apvs; apv++)
227  {
228  apv_number = apv+1;
229  apvMedianOccupancy = APV.apvMedian[apv];
230  apvAbsoluteOccupancy = APV.apvabsoluteOccupancy[apv];
231 
232  LocalPoint pos_strip_local = theStripTopol->localPosition((apv*128));
233  GlobalPoint pos_strip_global = (TkGeom->idToDet(detectorId))->surface().toGlobal(pos_strip_local);
234 
235  global_position_x = pos_strip_global.x();
236  global_position_y = pos_strip_global.y();
237  global_position_z = pos_strip_global.z();
238 
239  if (WriteOutputFile_==true) apvtree->Fill();
240  }
241 
242  } // end loop on modules
243 
244  // Calculate Mean and RMS for each Layer
249 
256 
263 
273 
283 
284  pQuality=siStripQuality;
285  badStripList.clear();
286 
287  // Analyze the APV Occupancy for hot APVs
288  AnalyzeOccupancy(siStripQuality,medianValues_TIB_Layer1,MeanAndRms_TIB_Layer1,badStripList,inSiStripQuality);
289  AnalyzeOccupancy(siStripQuality,medianValues_TIB_Layer2,MeanAndRms_TIB_Layer2,badStripList,inSiStripQuality);
290  AnalyzeOccupancy(siStripQuality,medianValues_TIB_Layer3,MeanAndRms_TIB_Layer3,badStripList,inSiStripQuality);
291  AnalyzeOccupancy(siStripQuality,medianValues_TIB_Layer4,MeanAndRms_TIB_Layer4,badStripList,inSiStripQuality);
292 
293  AnalyzeOccupancy(siStripQuality,medianValues_TOB_Layer1,MeanAndRms_TOB_Layer1,badStripList,inSiStripQuality);
294  AnalyzeOccupancy(siStripQuality,medianValues_TOB_Layer2,MeanAndRms_TOB_Layer2,badStripList,inSiStripQuality);
295  AnalyzeOccupancy(siStripQuality,medianValues_TOB_Layer3,MeanAndRms_TOB_Layer3,badStripList,inSiStripQuality);
296  AnalyzeOccupancy(siStripQuality,medianValues_TOB_Layer4,MeanAndRms_TOB_Layer4,badStripList,inSiStripQuality);
297  AnalyzeOccupancy(siStripQuality,medianValues_TOB_Layer5,MeanAndRms_TOB_Layer5,badStripList,inSiStripQuality);
298  AnalyzeOccupancy(siStripQuality,medianValues_TOB_Layer6,MeanAndRms_TOB_Layer6,badStripList,inSiStripQuality);
299 
300  AnalyzeOccupancy(siStripQuality,medianValues_TIDPlus_Disc1,MeanAndRms_TIDPlus_Disc1,badStripList,inSiStripQuality);
301  AnalyzeOccupancy(siStripQuality,medianValues_TIDPlus_Disc2,MeanAndRms_TIDPlus_Disc2,badStripList,inSiStripQuality);
302  AnalyzeOccupancy(siStripQuality,medianValues_TIDPlus_Disc3,MeanAndRms_TIDPlus_Disc3,badStripList,inSiStripQuality);
303  AnalyzeOccupancy(siStripQuality,medianValues_TIDMinus_Disc1,MeanAndRms_TIDMinus_Disc1,badStripList,inSiStripQuality);
304  AnalyzeOccupancy(siStripQuality,medianValues_TIDMinus_Disc2,MeanAndRms_TIDMinus_Disc2,badStripList,inSiStripQuality);
305  AnalyzeOccupancy(siStripQuality,medianValues_TIDMinus_Disc3,MeanAndRms_TIDMinus_Disc3,badStripList,inSiStripQuality);
306 
307  AnalyzeOccupancy(siStripQuality,medianValues_TECPlus_Disc1,MeanAndRms_TECPlus_Disc1,badStripList,inSiStripQuality);
308  AnalyzeOccupancy(siStripQuality,medianValues_TECPlus_Disc2,MeanAndRms_TECPlus_Disc2,badStripList,inSiStripQuality);
309  AnalyzeOccupancy(siStripQuality,medianValues_TECPlus_Disc3,MeanAndRms_TECPlus_Disc3,badStripList,inSiStripQuality);
310  AnalyzeOccupancy(siStripQuality,medianValues_TECPlus_Disc4,MeanAndRms_TECPlus_Disc4,badStripList,inSiStripQuality);
311  AnalyzeOccupancy(siStripQuality,medianValues_TECPlus_Disc5,MeanAndRms_TECPlus_Disc5,badStripList,inSiStripQuality);
312  AnalyzeOccupancy(siStripQuality,medianValues_TECPlus_Disc6,MeanAndRms_TECPlus_Disc6,badStripList,inSiStripQuality);
313  AnalyzeOccupancy(siStripQuality,medianValues_TECPlus_Disc7,MeanAndRms_TECPlus_Disc7,badStripList,inSiStripQuality);
314  AnalyzeOccupancy(siStripQuality,medianValues_TECPlus_Disc8,MeanAndRms_TECPlus_Disc8,badStripList,inSiStripQuality);
315  AnalyzeOccupancy(siStripQuality,medianValues_TECPlus_Disc9,MeanAndRms_TECPlus_Disc9,badStripList,inSiStripQuality);
316 
317  AnalyzeOccupancy(siStripQuality,medianValues_TECMinus_Disc1,MeanAndRms_TECMinus_Disc1,badStripList,inSiStripQuality);
318  AnalyzeOccupancy(siStripQuality,medianValues_TECMinus_Disc2,MeanAndRms_TECMinus_Disc2,badStripList,inSiStripQuality);
319  AnalyzeOccupancy(siStripQuality,medianValues_TECMinus_Disc3,MeanAndRms_TECMinus_Disc3,badStripList,inSiStripQuality);
320  AnalyzeOccupancy(siStripQuality,medianValues_TECMinus_Disc4,MeanAndRms_TECMinus_Disc4,badStripList,inSiStripQuality);
321  AnalyzeOccupancy(siStripQuality,medianValues_TECMinus_Disc5,MeanAndRms_TECMinus_Disc5,badStripList,inSiStripQuality);
322  AnalyzeOccupancy(siStripQuality,medianValues_TECMinus_Disc6,MeanAndRms_TECMinus_Disc6,badStripList,inSiStripQuality);
323  AnalyzeOccupancy(siStripQuality,medianValues_TECMinus_Disc7,MeanAndRms_TECMinus_Disc7,badStripList,inSiStripQuality);
324  AnalyzeOccupancy(siStripQuality,medianValues_TECMinus_Disc8,MeanAndRms_TECMinus_Disc8,badStripList,inSiStripQuality);
325  AnalyzeOccupancy(siStripQuality,medianValues_TECMinus_Disc9,MeanAndRms_TECMinus_Disc9,badStripList,inSiStripQuality);
326 
327  siStripQuality->fillBadComponents();
328 
329  if (WriteOutputFile_==true){
330  f->cd();
331  apvtree->Write();
332  f->Close();
333  }
334 
335  LogTrace("SiStripBadAPV") << ss.str() << std::endl;
336 }
bool isDebugEnabled()
unsigned int tibLayer(const DetId &id) const
unsigned int tibString(const DetId &id) const
unsigned int tidRing(const DetId &id) const
void AnalyzeOccupancy(SiStripQuality *, std::vector< Apv > &, std::pair< double, double > *, std::vector< unsigned int > &, edm::ESHandle< SiStripQuality > &)
void CalculateMeanAndRMS(const std::vector< Apv > &, std::pair< double, double > *, int)
unsigned int tecRing(const DetId &id) const
ring id
T y() const
Definition: PV3DBase.h:63
unsigned int tidWheel(const DetId &id) const
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
bool tecIsZMinusSide(const DetId &id) const
bool tidIsZMinusSide(const DetId &id) const
bool tibIsExternalString(const DetId &id) const
bool tibIsZMinusSide(const DetId &id) const
unsigned int tidModule(const DetId &id) const
bool tidIsBackRing(const DetId &id) const
T z() const
Definition: PV3DBase.h:64
bool tobIsZMinusSide(const DetId &id) const
void fillBadComponents()
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
#define LogTrace(id)
unsigned int tibModule(const DetId &id) const
unsigned int tecModule(const DetId &id) const
Detector identifier class for the strip tracker.
Definition: SiStripDetId.h:17
bool tecIsBackPetal(const DetId &id) const
Definition: DetId.h:18
unsigned int tobModule(const DetId &id) const
virtual LocalPoint localPosition(float strip) const =0
unsigned int tecPetalNumber(const DetId &id) const
tuple cout
Definition: gather_cfg.py:121
unsigned int tobRod(const DetId &id) const
for(const auto &isodef:isoDefs)
T x() const
Definition: PV3DBase.h:62
unsigned int tecWheel(const DetId &id) const
unsigned int tobLayer(const DetId &id) const
virtual const TrackerGeomDet * idToDet(DetId) const
void SiStripBadAPVAlgorithmFromClusterOccupancy::setAbsoluteLowThreshold ( long double  absolute_low)
inline
void SiStripBadAPVAlgorithmFromClusterOccupancy::setAbsoluteOccupancyThreshold ( long double  occupancy)
inline
void SiStripBadAPVAlgorithmFromClusterOccupancy::setHighOccupancyThreshold ( long double  high_occupancy)
inline
void SiStripBadAPVAlgorithmFromClusterOccupancy::setLowOccupancyThreshold ( long double  low_occupancy)
inline
void SiStripBadAPVAlgorithmFromClusterOccupancy::setMinNumOfEvents ( )
void SiStripBadAPVAlgorithmFromClusterOccupancy::setNumberIterations ( int  number_iterations)
inline
void SiStripBadAPVAlgorithmFromClusterOccupancy::setNumberOfEvents ( double  Nevents)
inline
void SiStripBadAPVAlgorithmFromClusterOccupancy::setOutputFileName ( std::string  OutputFileName,
bool  WriteOutputFile 
)
inline
void SiStripBadAPVAlgorithmFromClusterOccupancy::setTrackerGeometry ( const TrackerGeometry tkgeom)
inline

Member Data Documentation

long double SiStripBadAPVAlgorithmFromClusterOccupancy::absolutelow_
private
int SiStripBadAPVAlgorithmFromClusterOccupancy::apv_number
private

Definition at line 158 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

double SiStripBadAPVAlgorithmFromClusterOccupancy::apvAbsoluteOccupancy
private

Definition at line 164 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

double SiStripBadAPVAlgorithmFromClusterOccupancy::apvMedianOccupancy
private

Definition at line 165 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

TTree* SiStripBadAPVAlgorithmFromClusterOccupancy::apvtree
private

Definition at line 144 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

uint32_t SiStripBadAPVAlgorithmFromClusterOccupancy::detrawid
private

Definition at line 146 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

int SiStripBadAPVAlgorithmFromClusterOccupancy::disc
private

Definition at line 149 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

TFile* SiStripBadAPVAlgorithmFromClusterOccupancy::f
private
float SiStripBadAPVAlgorithmFromClusterOccupancy::global_position_x
private

Definition at line 160 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

float SiStripBadAPVAlgorithmFromClusterOccupancy::global_position_y
private

Definition at line 161 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

float SiStripBadAPVAlgorithmFromClusterOccupancy::global_position_z
private

Definition at line 162 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

long double SiStripBadAPVAlgorithmFromClusterOccupancy::highoccupancy_
private
int SiStripBadAPVAlgorithmFromClusterOccupancy::isback
private

Definition at line 150 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

int SiStripBadAPVAlgorithmFromClusterOccupancy::isexternalstring
private

Definition at line 151 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

int SiStripBadAPVAlgorithmFromClusterOccupancy::isstereo
private

Definition at line 154 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

int SiStripBadAPVAlgorithmFromClusterOccupancy::iszminusside
private

Definition at line 152 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

int SiStripBadAPVAlgorithmFromClusterOccupancy::layer_ring
private

Definition at line 148 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 132 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 133 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 134 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 135 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 136 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 137 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 138 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 139 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 140 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 122 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 123 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 124 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 125 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 126 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 127 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 128 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 129 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 130 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 102 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 103 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 104 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 105 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 118 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 119 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 120 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 114 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 115 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 116 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 107 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 108 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 109 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 110 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 111 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 112 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 132 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 133 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 134 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 135 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 136 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 137 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 138 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 139 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 140 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 122 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 123 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 124 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 125 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 126 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 127 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 128 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 129 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 130 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 102 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 103 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 104 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 105 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 118 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 119 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 120 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 114 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 115 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 116 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 107 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 108 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 109 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 110 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 111 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 112 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

double SiStripBadAPVAlgorithmFromClusterOccupancy::minNevents_
private
int SiStripBadAPVAlgorithmFromClusterOccupancy::module_number
private

Definition at line 155 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

double SiStripBadAPVAlgorithmFromClusterOccupancy::Nevents_
private
int SiStripBadAPVAlgorithmFromClusterOccupancy::number_apvs
private

Definition at line 157 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

int SiStripBadAPVAlgorithmFromClusterOccupancy::number_strips
private

Definition at line 156 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

int SiStripBadAPVAlgorithmFromClusterOccupancy::numberiterations_
private
long double SiStripBadAPVAlgorithmFromClusterOccupancy::occupancy_
private
std::string SiStripBadAPVAlgorithmFromClusterOccupancy::OutFileName_
private
SiStripQuality* SiStripBadAPVAlgorithmFromClusterOccupancy::pQuality
private
int SiStripBadAPVAlgorithmFromClusterOccupancy::rodstringpetal
private

Definition at line 153 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

std::stringstream SiStripBadAPVAlgorithmFromClusterOccupancy::ss
private

Definition at line 167 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 99 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

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

Definition at line 100 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

int SiStripBadAPVAlgorithmFromClusterOccupancy::subdetid
private

Definition at line 147 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

const TrackerGeometry* SiStripBadAPVAlgorithmFromClusterOccupancy::TkGeom
private
const TrackerTopology* SiStripBadAPVAlgorithmFromClusterOccupancy::tTopo
private

Definition at line 95 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

bool SiStripBadAPVAlgorithmFromClusterOccupancy::UseInputDB_
private

Definition at line 93 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by AnalyzeOccupancy().

bool SiStripBadAPVAlgorithmFromClusterOccupancy::WriteOutputFile_
private