CMS 3D CMS Logo

Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes

SiStripBadAPVAlgorithmFromClusterOccupancy Class Reference

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

List of all members.

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 &)
virtual ~SiStripBadAPVAlgorithmFromClusterOccupancy ()

Private Member Functions

void AnalyzeOccupancy (SiStripQuality *, std::vector< Apv > &, std::pair< double, double > *, std::vector< unsigned int > &, edm::ESHandle< SiStripQuality > &)
void CalculateMeanAndRMS (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
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)

Definition at line 15 of file SiStripBadAPVAlgorithmFromClusterOccupancy.cc.

References minNevents_, Nevents_, and occupancy_.

                                                                                                                    :
  lowoccupancy_(0),
  highoccupancy_(100),
  absolutelow_(0),
  numberiterations_(2),
  Nevents_(0),
  occupancy_(0),
  OutFileName_("Occupancy.root"),
  UseInputDB_(iConfig.getUntrackedParameter<bool>("UseInputDB",false))
  {
    minNevents_=Nevents_*occupancy_;
  }
SiStripBadAPVAlgorithmFromClusterOccupancy::~SiStripBadAPVAlgorithmFromClusterOccupancy ( ) [virtual]

Definition at line 28 of file SiStripBadAPVAlgorithmFromClusterOccupancy.cc.

References LogTrace.

                                                                                       {
  LogTrace("SiStripBadAPVAlgorithmFromClusterOccupancy")<<"[SiStripBadAPVAlgorithmFromClusterOccupancy::~SiStripBadAPVAlgorithmFromClusterOccupancy] "<<std::endl;
}

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 395 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().

{
  int Moduleposition;
  uint32_t Detid;

  for (uint32_t it=0; it<medianValues.size(); it++)
    {
      Moduleposition = (medianValues[it].modulePosition)-1;
      Detid          = medianValues[it].detrawId;

      for (int apv=0; apv<medianValues[it].numberApvs; apv++)
        {
          if(UseInputDB_)
            {
              if(InSiStripQuality->IsApvBad(Detid,apv) )
                {
                  continue;//if the apv is already flagged as bad, continue.
                }
            }
          if (medianValues[it].apvMedian[apv] > minNevents_)
            {
              if ((medianValues[it].apvMedian[apv]>(MeanAndRms[Moduleposition].first+highoccupancy_*MeanAndRms[Moduleposition].second)) && (medianValues[it].apvMedian[apv]>absolutelow_))
                BadStripList.push_back(pQuality->encode((apv*128),128,0));
            }
          else if (medianValues[it].apvMedian[apv]<(MeanAndRms[Moduleposition].first-lowoccupancy_*MeanAndRms[Moduleposition].second) && (MeanAndRms[Moduleposition].first>2 || medianValues[it].apvabsoluteOccupancy[apv]==0))
            {
              BadStripList.push_back(pQuality->encode((apv*128),128,0));
              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;
            }
        }
      if (BadStripList.begin()!=BadStripList.end())
        {
          quality->compact(Detid,BadStripList);
          SiStripQuality::Range range(BadStripList.begin(),BadStripList.end());
          quality->put(Detid,range);
        }
      BadStripList.clear();
    }
}
void SiStripBadAPVAlgorithmFromClusterOccupancy::CalculateMeanAndRMS ( std::vector< Apv a,
std::pair< double, double > *  MeanRMS,
int  number_iterations 
) [private]

Definition at line 340 of file SiStripBadAPVAlgorithmFromClusterOccupancy.cc.

References i, j, Mean, and n.

Referenced by extractBadAPVs().

{
  Double_t tot[7], tot2[7];
  Double_t n[7];

  Double_t Mean[7] = {0};
  Double_t Rms[7]  = {1000,1000,1000,1000,1000,1000,1000};

  int Moduleposition;

  for (int i=0; i<number_iterations; i++)
    {
      for (int j=0; j<7; j++)
        {
          n[j]    = 0;
          tot[j]  = 0;
          tot2[j] = 0;
        }

      for (uint32_t it=0; it<a.size(); it++)
        {
          Moduleposition = (a[it].modulePosition)-1;

          for (int apv=0; apv<a[it].numberApvs; apv++)
            {
              if (i>0)
                {
                  if (a[it].apvMedian[apv]<(Mean[Moduleposition]-3*Rms[Moduleposition]) || (a[it].apvMedian[apv]>(Mean[Moduleposition]+5*Rms[Moduleposition])))
                    {
                      continue;
                    }
                }
              tot[Moduleposition]  += a[it].apvMedian[apv];
              tot2[Moduleposition] += (a[it].apvMedian[apv])*(a[it].apvMedian[apv]);
              n[Moduleposition]++;
            }
        }

      for (int j=0; j<7; j++)
        {
          if (n[j]!=0)
            {
              Mean[j] = tot[j]/n[j];
              Rms[j]  = TMath::Sqrt(TMath::Abs(tot2[j]/n[j] -Mean[j]*Mean[j]));
            }
        }
    }

  for (int j=0; j<7; j++)
    {
      MeanRMS[j] = std::make_pair(Mean[j],Rms[j]);
    }

}
void SiStripBadAPVAlgorithmFromClusterOccupancy::extractBadAPVs ( SiStripQuality siStripQuality,
HistoMap DM,
edm::ESHandle< SiStripQuality > &  inSiStripQuality 
)

Definition at line 32 of file SiStripBadAPVAlgorithmFromClusterOccupancy.cc.

References SiStripBadAPVAlgorithmFromClusterOccupancy::pHisto::_NBins, SiStripBadAPVAlgorithmFromClusterOccupancy::pHisto::_NEntries, SiStripBadAPVAlgorithmFromClusterOccupancy::pHisto::_th1f, AnalyzeOccupancy(), sistrip::APV, apv_number, apvAbsoluteOccupancy, SiStripBadAPVAlgorithmFromClusterOccupancy::Apv::apvabsoluteOccupancy, SiStripBadAPVAlgorithmFromClusterOccupancy::Apv::apvMedian, apvMedianOccupancy, apvtree, CalculateMeanAndRMS(), SiStripQuality::clear(), gather_cfg::cout, cond::rpcobgas::detid, detrawid, SiStripBadAPVAlgorithmFromClusterOccupancy::Apv::detrawId, disc, f, SiStripQuality::fillBadComponents(), global_position_x, global_position_y, global_position_z, TrackerGeometry::idToDet(), isback, edm::isDebugEnabled(), isexternalstring, isstereo, iszminusside, TIBDetId::layer(), TOBDetId::layer(), 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, TIDDetId::moduleNumber(), TECDetId::moduleNumber(), TOBDetId::moduleNumber(), TIBDetId::moduleNumber(), SiStripBadAPVAlgorithmFromClusterOccupancy::Apv::modulePosition, number_apvs, number_strips, SiStripBadAPVAlgorithmFromClusterOccupancy::Apv::numberApvs, numberiterations_, OutFileName_, TECDetId::petalNumber(), pQuality, TIDDetId::ring(), TECDetId::ring(), TOBDetId::rodNumber(), rodstringpetal, StripGeomDetUnit::specificTopology(), ss, TIBDetId::stringNumber(), strip(), stripOccupancy, stripWeight, subdetid, DetId::subdetId(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, TkGeom, StripSubdetector::TOB, TIDDetId::wheel(), TECDetId::wheel(), WriteOutputFile_, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by SiStripQualityHotStripIdentifierRoot::getNewObject().

                                                                                                                                                         {

  LogTrace("SiStripBadAPVAlgorithmFromClusterOccupancy")<<"[SiStripBadAPVAlgorithmFromClusterOccupancy::extractBadAPVs] "<<std::endl;

  if (WriteOutputFile_==true){
  f = new TFile(OutFileName_.c_str(),"RECREATE");
  f->cd();

  apvtree = new TTree("moduleOccupancy","tree");

  apvtree->Branch("DetRawId",                &detrawid,                "DetRawId/I");
  apvtree->Branch("SubDetId",                &subdetid,                "SubDetId/I");
  apvtree->Branch("Layer_Ring",              &layer_ring,              "Layer_Ring/I");
  apvtree->Branch("Disc",                    &disc,                    "Disc/I");
  apvtree->Branch("IsBack",                  &isback,                  "IsBack/I");
  apvtree->Branch("IsExternalString",        &isexternalstring,        "IsExternalString/I");
  apvtree->Branch("IsZMinusSide",            &iszminusside,            "IsZMinusSide/I");
  apvtree->Branch("RodStringPetal",          &rodstringpetal,          "RodStringPetal/I");
  apvtree->Branch("IsStereo",                &isstereo,                "IsStereo/I");
  apvtree->Branch("ModuleNumber",            &module_number,           "ModuleNumber/I");
  apvtree->Branch("NumberOfStrips",          &number_strips,           "NumberOfStrips/I");
  apvtree->Branch("APVGlobalPositionX",      &global_position_x,       "APVGlobalPositionX/F");
  apvtree->Branch("APVGlobalPositionY",      &global_position_y,       "APVGlobalPositionY/F");
  apvtree->Branch("APVGlobalPositionZ",      &global_position_z,       "APVGlobalPositionZ/F");
  apvtree->Branch("APVNumber",               &apv_number,              "APVNumber/I");
  apvtree->Branch("APVAbsoluteOccupancy",    &apvAbsoluteOccupancy,    "apvAbsoluteOccupancy/D");
  apvtree->Branch("APVMedianOccupancy",      &apvMedianOccupancy,      "apvMedianOccupancy/D");
  }

  HistoMap::iterator it=DM.begin();
  HistoMap::iterator itEnd=DM.end();
  std::vector<unsigned int> badStripList;
  uint32_t detid;
  for (;it!=itEnd;++it){

    Apv APV;

    for (int apv=0; apv<6; apv++)
      {
        APV.apvMedian[apv]            = 0;
        APV.apvabsoluteOccupancy[apv] = 0;

        for (int strip=0; strip<128; strip++)
          {
            stripOccupancy[apv][strip] = 0;
            stripWeight[apv][strip]    = 0;
          }
      }

    pHisto phisto;
    phisto._th1f = it->second.get();
    phisto._NEntries = (int)phisto._th1f->GetEntries();
    phisto._NBins = phisto._th1f->GetNbinsX();

    number_strips  = (int)phisto._NBins;
    number_apvs    = number_strips/128;
    APV.numberApvs = number_apvs;

    for (int apv=0; apv<number_apvs; apv++)
      {
        for (int strip=0; strip<128; strip++)
          {
            stripOccupancy[apv][strip]     = phisto._th1f->GetBinContent((apv*128)+strip+1); // Remember: Bin=0 is underflow bin!
            stripWeight[apv][strip]        = 1;
            APV.apvabsoluteOccupancy[apv] += phisto._th1f->GetBinContent((apv*128)+strip+1); // Remember: Bin=0 is underflow bin!
          }
      }

    for (int apv=0; apv<number_apvs; apv++)
      {
        APV.apvMedian[apv] = TMath::Median(128,stripOccupancy[apv],stripWeight[apv]);
      }

    detid=it->first;
    DetId detectorId=DetId(detid);

    if (edm::isDebugEnabled())
      LogTrace("SiStripBadAPV") << "Analyzing detid " << detid<< std::endl;

    detrawid     = detid;
    APV.detrawId = detrawid;
    subdetid     = detectorId.subdetId();
    if (SiStripDetId(detrawid).stereo() !=0 ) isstereo = 1; // It's a stereo module
    else                                      isstereo = 0; // It's an rphi module
    switch (detectorId.subdetId())
      {
      case StripSubdetector::TIB :
        layer_ring = TIBDetId(detrawid).layer();
        disc       = -1;
        isback     = -1;
        if (TIBDetId(detrawid).isExternalString()) isexternalstring = 1;
        else                                       isexternalstring = 0;
        if (TIBDetId(detrawid).isZMinusSide()) iszminusside = 1;
        else                                   iszminusside = 0;
        rodstringpetal     = TIBDetId(detrawid).stringNumber();
        module_number      = TIBDetId(detrawid).moduleNumber();
        APV.modulePosition = module_number;

        if      (layer_ring == 1) medianValues_TIB_Layer1.push_back(APV);
        else if (layer_ring == 2) medianValues_TIB_Layer2.push_back(APV);
        else if (layer_ring == 3) medianValues_TIB_Layer3.push_back(APV);
        else if (layer_ring == 4) medianValues_TIB_Layer4.push_back(APV);
        break;

      case StripSubdetector::TID :
        layer_ring = TIDDetId(detrawid).ring();
        disc       = TIDDetId(detrawid).wheel();
        if (TIDDetId(detrawid).isBackRing()) isback = 1;
        else                                 isback = 0;
        if (TIDDetId(detrawid).isZMinusSide()) iszminusside = 1;
        else                                   iszminusside = 0;
        isexternalstring   = -1;
        rodstringpetal     = -1;
        module_number      = TIDDetId(detrawid).moduleNumber();
        APV.modulePosition = layer_ring;

        if (iszminusside==0)
          {
            if      (disc==1) medianValues_TIDPlus_Disc1.push_back(APV);
            else if (disc==2) medianValues_TIDPlus_Disc2.push_back(APV);
            else if (disc==3) medianValues_TIDPlus_Disc3.push_back(APV);
          }
        else if (iszminusside==1)
          {
            if      (disc==1) medianValues_TIDMinus_Disc1.push_back(APV);
            else if (disc==2) medianValues_TIDMinus_Disc2.push_back(APV);
            else if (disc==3) medianValues_TIDMinus_Disc3.push_back(APV);
          }
        break;

      case StripSubdetector::TOB :
        layer_ring = TOBDetId(detrawid).layer();
        disc       = -1;
        isback     = -1;
        if (TOBDetId(detrawid).isZMinusSide()) iszminusside = 1;
        else                                   iszminusside = 0;
        isexternalstring   = -1;
        rodstringpetal     = TOBDetId(detrawid).rodNumber();
        module_number      = TOBDetId(detrawid).moduleNumber();
        APV.modulePosition = module_number;

        if      (layer_ring == 1) medianValues_TOB_Layer1.push_back(APV);
        else if (layer_ring == 2) medianValues_TOB_Layer2.push_back(APV);
        else if (layer_ring == 3) medianValues_TOB_Layer3.push_back(APV);
        else if (layer_ring == 4) medianValues_TOB_Layer4.push_back(APV);
        else if (layer_ring == 5) medianValues_TOB_Layer5.push_back(APV);
        else if (layer_ring == 6) medianValues_TOB_Layer6.push_back(APV);
        break;

      case StripSubdetector::TEC :
        layer_ring = TECDetId(detrawid).ring();
        disc       = TECDetId(detrawid).wheel();
        if (TECDetId(detrawid).isBackPetal()) isback = 1;
        else                                  isback = 0;
        if (TECDetId(detrawid).isZMinusSide()) iszminusside = 1;
        else                                   iszminusside = 0;
        isexternalstring   = -1;
        rodstringpetal     = TECDetId(detrawid).petalNumber();
        module_number      = TECDetId(detrawid).moduleNumber();
        APV.modulePosition = layer_ring;

        if (iszminusside==0)
          {
            if      (disc==1) medianValues_TECPlus_Disc1.push_back(APV);
            else if (disc==2) medianValues_TECPlus_Disc2.push_back(APV);
            else if (disc==3) medianValues_TECPlus_Disc3.push_back(APV);
            else if (disc==4) medianValues_TECPlus_Disc4.push_back(APV);
            else if (disc==5) medianValues_TECPlus_Disc5.push_back(APV);
            else if (disc==6) medianValues_TECPlus_Disc6.push_back(APV);
            else if (disc==7) medianValues_TECPlus_Disc7.push_back(APV);
            else if (disc==8) medianValues_TECPlus_Disc8.push_back(APV);
            else if (disc==9) medianValues_TECPlus_Disc9.push_back(APV);
          }
        else if (iszminusside==1)
          {
            if      (disc==1) medianValues_TECMinus_Disc1.push_back(APV);
            else if (disc==2) medianValues_TECMinus_Disc2.push_back(APV);
            else if (disc==3) medianValues_TECMinus_Disc3.push_back(APV);
            else if (disc==4) medianValues_TECMinus_Disc4.push_back(APV);
            else if (disc==5) medianValues_TECMinus_Disc5.push_back(APV);
            else if (disc==6) medianValues_TECMinus_Disc6.push_back(APV);
            else if (disc==7) medianValues_TECMinus_Disc7.push_back(APV);
            else if (disc==8) medianValues_TECMinus_Disc8.push_back(APV);
            else if (disc==9) medianValues_TECMinus_Disc9.push_back(APV);
          }
        break;

      default :
        std::cout << "### Detector does not belong to TIB, TID, TOB or TEC !? ###" << std::endl;
        std::cout << "### DetRawId: " << detrawid << " ###" << std::endl;
      }

    const StripGeomDetUnit*  theStripDet = dynamic_cast<const StripGeomDetUnit*>( (TkGeom->idToDet(detectorId)) );
    const StripTopology* theStripTopol   = dynamic_cast<const StripTopology*>( &(theStripDet->specificTopology()) );

    for (int apv=0; apv<number_apvs; apv++)
      {
        apv_number           = apv+1;
        apvMedianOccupancy   = APV.apvMedian[apv];
        apvAbsoluteOccupancy = APV.apvabsoluteOccupancy[apv];

        LocalPoint  pos_strip_local  = theStripTopol->localPosition((apv*128));
        GlobalPoint pos_strip_global = (TkGeom->idToDet(detectorId))->surface().toGlobal(pos_strip_local);

        global_position_x = pos_strip_global.x();
        global_position_y = pos_strip_global.y();
        global_position_z = pos_strip_global.z();

        if (WriteOutputFile_==true) apvtree->Fill();
      }

  } // end loop on modules

  // Calculate Mean and RMS for each Layer
  CalculateMeanAndRMS(medianValues_TIB_Layer1,MeanAndRms_TIB_Layer1,numberiterations_);
  CalculateMeanAndRMS(medianValues_TIB_Layer2,MeanAndRms_TIB_Layer2,numberiterations_);
  CalculateMeanAndRMS(medianValues_TIB_Layer3,MeanAndRms_TIB_Layer3,numberiterations_);
  CalculateMeanAndRMS(medianValues_TIB_Layer4,MeanAndRms_TIB_Layer4,numberiterations_);

  CalculateMeanAndRMS(medianValues_TOB_Layer1,MeanAndRms_TOB_Layer1,numberiterations_);
  CalculateMeanAndRMS(medianValues_TOB_Layer2,MeanAndRms_TOB_Layer2,numberiterations_);
  CalculateMeanAndRMS(medianValues_TOB_Layer3,MeanAndRms_TOB_Layer3,numberiterations_);
  CalculateMeanAndRMS(medianValues_TOB_Layer4,MeanAndRms_TOB_Layer4,numberiterations_);
  CalculateMeanAndRMS(medianValues_TOB_Layer5,MeanAndRms_TOB_Layer5,numberiterations_);
  CalculateMeanAndRMS(medianValues_TOB_Layer6,MeanAndRms_TOB_Layer6,numberiterations_);

  CalculateMeanAndRMS(medianValues_TIDPlus_Disc1,MeanAndRms_TIDPlus_Disc1,numberiterations_);
  CalculateMeanAndRMS(medianValues_TIDPlus_Disc2,MeanAndRms_TIDPlus_Disc2,numberiterations_);
  CalculateMeanAndRMS(medianValues_TIDPlus_Disc3,MeanAndRms_TIDPlus_Disc3,numberiterations_);
  CalculateMeanAndRMS(medianValues_TIDMinus_Disc1,MeanAndRms_TIDMinus_Disc1,numberiterations_);
  CalculateMeanAndRMS(medianValues_TIDMinus_Disc2,MeanAndRms_TIDMinus_Disc2,numberiterations_);
  CalculateMeanAndRMS(medianValues_TIDMinus_Disc3,MeanAndRms_TIDMinus_Disc3,numberiterations_);

  CalculateMeanAndRMS(medianValues_TECPlus_Disc1,MeanAndRms_TECPlus_Disc1,numberiterations_);
  CalculateMeanAndRMS(medianValues_TECPlus_Disc2,MeanAndRms_TECPlus_Disc2,numberiterations_);
  CalculateMeanAndRMS(medianValues_TECPlus_Disc3,MeanAndRms_TECPlus_Disc3,numberiterations_);
  CalculateMeanAndRMS(medianValues_TECPlus_Disc4,MeanAndRms_TECPlus_Disc4,numberiterations_);
  CalculateMeanAndRMS(medianValues_TECPlus_Disc5,MeanAndRms_TECPlus_Disc5,numberiterations_);
  CalculateMeanAndRMS(medianValues_TECPlus_Disc6,MeanAndRms_TECPlus_Disc6,numberiterations_);
  CalculateMeanAndRMS(medianValues_TECPlus_Disc7,MeanAndRms_TECPlus_Disc7,numberiterations_);
  CalculateMeanAndRMS(medianValues_TECPlus_Disc8,MeanAndRms_TECPlus_Disc8,numberiterations_);
  CalculateMeanAndRMS(medianValues_TECPlus_Disc9,MeanAndRms_TECPlus_Disc9,numberiterations_);

  CalculateMeanAndRMS(medianValues_TECMinus_Disc1,MeanAndRms_TECMinus_Disc1,numberiterations_);
  CalculateMeanAndRMS(medianValues_TECMinus_Disc2,MeanAndRms_TECMinus_Disc2,numberiterations_);
  CalculateMeanAndRMS(medianValues_TECMinus_Disc3,MeanAndRms_TECMinus_Disc3,numberiterations_);
  CalculateMeanAndRMS(medianValues_TECMinus_Disc4,MeanAndRms_TECMinus_Disc4,numberiterations_);
  CalculateMeanAndRMS(medianValues_TECMinus_Disc5,MeanAndRms_TECMinus_Disc5,numberiterations_);
  CalculateMeanAndRMS(medianValues_TECMinus_Disc6,MeanAndRms_TECMinus_Disc6,numberiterations_);
  CalculateMeanAndRMS(medianValues_TECMinus_Disc7,MeanAndRms_TECMinus_Disc7,numberiterations_);
  CalculateMeanAndRMS(medianValues_TECMinus_Disc8,MeanAndRms_TECMinus_Disc8,numberiterations_);
  CalculateMeanAndRMS(medianValues_TECMinus_Disc9,MeanAndRms_TECMinus_Disc9,numberiterations_);

  pQuality=siStripQuality;
  badStripList.clear();

  // Analyze the APV Occupancy for hot APVs
  AnalyzeOccupancy(siStripQuality,medianValues_TIB_Layer1,MeanAndRms_TIB_Layer1,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TIB_Layer2,MeanAndRms_TIB_Layer2,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TIB_Layer3,MeanAndRms_TIB_Layer3,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TIB_Layer4,MeanAndRms_TIB_Layer4,badStripList,inSiStripQuality);

  AnalyzeOccupancy(siStripQuality,medianValues_TOB_Layer1,MeanAndRms_TOB_Layer1,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TOB_Layer2,MeanAndRms_TOB_Layer2,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TOB_Layer3,MeanAndRms_TOB_Layer3,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TOB_Layer4,MeanAndRms_TOB_Layer4,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TOB_Layer5,MeanAndRms_TOB_Layer5,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TOB_Layer6,MeanAndRms_TOB_Layer6,badStripList,inSiStripQuality);

  AnalyzeOccupancy(siStripQuality,medianValues_TIDPlus_Disc1,MeanAndRms_TIDPlus_Disc1,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TIDPlus_Disc2,MeanAndRms_TIDPlus_Disc2,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TIDPlus_Disc3,MeanAndRms_TIDPlus_Disc3,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TIDMinus_Disc1,MeanAndRms_TIDMinus_Disc1,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TIDMinus_Disc2,MeanAndRms_TIDMinus_Disc2,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TIDMinus_Disc3,MeanAndRms_TIDMinus_Disc3,badStripList,inSiStripQuality);

  AnalyzeOccupancy(siStripQuality,medianValues_TECPlus_Disc1,MeanAndRms_TECPlus_Disc1,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TECPlus_Disc2,MeanAndRms_TECPlus_Disc2,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TECPlus_Disc3,MeanAndRms_TECPlus_Disc3,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TECPlus_Disc4,MeanAndRms_TECPlus_Disc4,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TECPlus_Disc5,MeanAndRms_TECPlus_Disc5,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TECPlus_Disc6,MeanAndRms_TECPlus_Disc6,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TECPlus_Disc7,MeanAndRms_TECPlus_Disc7,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TECPlus_Disc8,MeanAndRms_TECPlus_Disc8,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TECPlus_Disc9,MeanAndRms_TECPlus_Disc9,badStripList,inSiStripQuality);

  AnalyzeOccupancy(siStripQuality,medianValues_TECMinus_Disc1,MeanAndRms_TECMinus_Disc1,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TECMinus_Disc2,MeanAndRms_TECMinus_Disc2,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TECMinus_Disc3,MeanAndRms_TECMinus_Disc3,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TECMinus_Disc4,MeanAndRms_TECMinus_Disc4,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TECMinus_Disc5,MeanAndRms_TECMinus_Disc5,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TECMinus_Disc6,MeanAndRms_TECMinus_Disc6,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TECMinus_Disc7,MeanAndRms_TECMinus_Disc7,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TECMinus_Disc8,MeanAndRms_TECMinus_Disc8,badStripList,inSiStripQuality);
  AnalyzeOccupancy(siStripQuality,medianValues_TECMinus_Disc9,MeanAndRms_TECMinus_Disc9,badStripList,inSiStripQuality);

  siStripQuality->fillBadComponents();

  if (WriteOutputFile_==true){
  f->cd();
  apvtree->Write();
  f->Close();
  }

  LogTrace("SiStripBadAPV") << ss.str() << std::endl;
}
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

Definition at line 157 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 163 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 164 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 143 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 145 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 148 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 142 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 159 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 160 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 161 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 149 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 150 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 153 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 151 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 147 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 131 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 132 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 133 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 134 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 135 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 136 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 137 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 138 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 139 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 121 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 122 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 123 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 124 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 125 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 126 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 127 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 128 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 129 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 101 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 102 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 103 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 104 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 117 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 118 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 119 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 113 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 114 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 115 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 106 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 107 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 108 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 109 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 110 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 111 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 131 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 132 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 133 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 134 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 135 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 136 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 137 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 138 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 139 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 121 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 122 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 123 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 124 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 125 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 126 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 127 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 128 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 129 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 101 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 102 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 103 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 104 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 117 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 118 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 119 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 113 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 114 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 115 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 106 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 107 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 108 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 109 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 110 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 111 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 154 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 156 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 155 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 152 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 166 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 98 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 99 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 146 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by extractBadAPVs().

Definition at line 93 of file SiStripBadAPVAlgorithmFromClusterOccupancy.h.

Referenced by AnalyzeOccupancy().