19 #ifndef CalibTracker_SiStripQuality_SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy_H
20 #define CalibTracker_SiStripQuality_SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy_H
65 bool WriteDQMHistograms) {
90 std::pair<double, double>*,
91 std::vector<unsigned int>&,
252 std::stringstream
ss;
std::vector< TH1F * > projXNHitsGoodStripsVsStripNumber
std::pair< double, double > MeanAndRms_TIB_Layer1[7]
void setAbsoluteLowThreshold(long double absolute_low)
std::vector< Apv > medianValues_TECMinus_Disc3
std::vector< Apv > medianValues_TECMinus_Disc4
std::pair< double, double > MeanAndRms_TECPlus_Disc6[7]
void setBasicTreeParameters(int detid)
std::pair< double, double > MeanAndRms_TECPlus_Disc1[7]
std::pair< double, double > MeanAndRms_TIDPlus_Disc1[7]
std::vector< TProfile * > pfxPoissonProbGoodStripsVsStripNumber
float strip_global_position_z
std::vector< std::string > subDetName
std::vector< Apv > medianValues_TECPlus_Disc8
std::pair< double, double > MeanAndRms_TIB_Layer2[7]
unsigned short MinNumEntries_
std::vector< Apv > medianValues_TECPlus_Disc7
std::pair< double, double > MeanAndRms_TECMinus_Disc3[7]
std::pair< double, double > MeanAndRms_TECMinus_Disc9[7]
void setOutputFileName(std::string OutputFileName, bool WriteOutputFile, std::string DQMOutfileName, bool WriteDQMHistograms)
void setAbsoluteOccupancyThreshold(long double absolute_occupancy)
std::vector< Apv > medianValues_TIDMinus_Disc2
dqm::legacy::MonitorElement MonitorElement
std::vector< TH2F * > distanceVsStripNumber
std::pair< double, double > MeanAndRms_TECMinus_Disc4[7]
std::pair< double, double > MeanAndRms_TOB_Layer1[7]
const TrackerGeometry * TkGeom
std::vector< TH1F * > projXNHitsHotStripsVsStripNumber
std::vector< Apv > medianValues_TOB_Layer2
std::vector< TProfile * > pfxNHitsHotStripsVsStripNumber
std::vector< Apv > medianValues_TECPlus_Disc6
void extractBadAPVSandStrips(SiStripQuality *, HistoMap &, const SiStripQuality *)
std::pair< double, double > MeanAndRms_TECMinus_Disc5[7]
void setNumberOfEvents(double Nevents)
std::pair< double, double > MeanAndRms_TOB_Layer3[7]
std::vector< Apv > medianValues_TOB_Layer5
std::vector< TProfile * > pfxNHitsGoodStripsVsStripNumber
std::vector< Apv > medianValues_TECPlus_Disc1
std::pair< double, double > MeanAndRms_TIDPlus_Disc2[7]
std::pair< double, double > MeanAndRms_TOB_Layer6[7]
void setHighOccupancyThreshold(long double high_occupancy)
std::pair< double, double > MeanAndRms_TOB_Layer2[7]
std::vector< Apv > medianValues_TECPlus_Disc2
std::vector< TProfile * > pfxDistanceVsStripNumber
void CalculateMeanAndRMS(const std::vector< Apv > &, std::pair< double, double > *, int)
void initializeDQMHistograms()
std::vector< TH1F * > projXNHitsVsStripNumber
std::pair< double, double > MeanAndRms_TECMinus_Disc6[7]
std::vector< Apv > medianValues_TIB_Layer2
std::vector< Apv > medianValues_TOB_Layer6
std::vector< TH2F * > poissonProbGoodStripsVsStripNumber
std::pair< double, double > MeanAndRms_TECMinus_Disc1[7]
std::vector< unsigned int > nLayers
std::vector< Apv > medianValues_TECMinus_Disc1
long double absolute_occupancy_
double singleStripOccupancy
std::vector< TH1F * > projYOccupancyHotStripsVsStripNumber
std::vector< Apv > medianValues_TECMinus_Disc5
std::vector< TH1F * > projYPoissonProbGoodStripsVsStripNumber
std::vector< TH1F * > projYNHitsGoodStripsVsStripNumber
std::vector< Apv > medianValues_TIDMinus_Disc3
std::vector< TProfile * > pfxOccupancyGoodStripsVsStripNumber
std::unordered_map< unsigned int, std::shared_ptr< TH1F > > QualityHistosMap
std::vector< Apv > medianValues_TECPlus_Disc4
std::vector< std::string > layerName
std::pair< double, double > MeanAndRms_TECMinus_Disc8[7]
std::vector< TH1F * > projYOccupancyVsStripNumber
std::vector< Apv > medianValues_TIDMinus_Disc1
void fillStripDQMHistograms()
std::vector< Apv > medianValues_TECMinus_Disc6
std::pair< double, double > MeanAndRms_TIDMinus_Disc2[7]
std::vector< TProfile * > pfxPoissonProbHotStripsVsStripNumber
std::vector< TH1F * > projYOccupancyGoodStripsVsStripNumber
std::vector< TH2F * > poissonProbHotStripsVsStripNumber
std::vector< TH2F * > occupancyHotStripsVsStripNumber
std::vector< Apv > medianValues_TECMinus_Disc8
std::vector< Apv > medianValues_TECMinus_Disc7
void setLowOccupancyThreshold(long double low_occupancy)
std::vector< TH1F * > projXDistanceVsStripNumber
std::string DQMOutfileName_
std::pair< double, double > MeanAndRms_TECPlus_Disc3[7]
std::vector< Apv > medianValues_TECMinus_Disc2
std::vector< Apv > medianValues_TIDPlus_Disc3
void AnalyzeOccupancy(SiStripQuality *, std::vector< Apv > &, std::pair< double, double > *, std::vector< unsigned int > &, const SiStripQuality *)
double stripOccupancy[6][128]
std::pair< double, double > MeanAndRms_TIB_Layer3[7]
float strip_global_position_x
unsigned short MinNumEntriesPerStrip_
std::vector< Apv > medianValues_TIB_Layer4
std::pair< double, double > MeanAndRms_TECMinus_Disc7[7]
double stripWeight[6][128]
virtual ~SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy()
std::vector< Apv > medianValues_TIDPlus_Disc2
SiStripBadAPVandHotStripAlgorithmFromClusterOccupancy(const edm::ParameterSet &, const TrackerTopology *)
std::vector< TH1F * > projYNHitsHotStripsVsStripNumber
long double lowoccupancy_
SiStrip::QualityHistosMap HistoMap
std::vector< TH1F * > projYNHitsVsStripNumber
std::pair< double, double > MeanAndRms_TECPlus_Disc8[7]
void setTrackerGeometry(const TrackerGeometry *tkgeom)
std::vector< Apv > medianValues_TOB_Layer1
std::vector< Apv > medianValues_TIDPlus_Disc1
void setProbabilityThreshold(long double prob)
std::pair< double, double > MeanAndRms_TOB_Layer5[7]
std::vector< TProfile * > pfxPoissonProbVsStripNumber
std::vector< TH2F * > nHitsHotStripsVsStripNumber
std::vector< TH2F * > occupancyGoodStripsVsStripNumber
std::pair< double, double > MeanAndRms_TECPlus_Disc2[7]
void iterativeSearch(Apv &, std::vector< unsigned int > &, int)
std::pair< double, double > MeanAndRms_TECPlus_Disc5[7]
std::pair< double, double > MeanAndRms_TOB_Layer4[7]
TH1F * medianOccupancy[5][10]
void setNumberIterations(int number_iterations)
std::pair< double, double > MeanAndRms_TIDMinus_Disc3[7]
TH1F * absoluteOccupancy[5][10]
std::vector< TH2F * > occupancyVsStripNumber
std::vector< TH1F * > projYPoissonProbHotStripsVsStripNumber
const TrackerTopology * tTopo
std::vector< TH1F * > projYPoissonProbVsStripNumber
std::vector< TProfile * > pfxNHitsVsStripNumber
TH2F * medianVsAbsoluteOccupancy[5][10]
std::pair< double, double > MeanAndRms_TECPlus_Disc9[7]
std::pair< double, double > MeanAndRms_TECPlus_Disc7[7]
long double highoccupancy_
SiStripQuality * pQuality
void setMinNumEntries(unsigned short m)
std::pair< double, double > MeanAndRms_TIDMinus_Disc1[7]
std::pair< double, double > MeanAndRms_TECPlus_Disc4[7]
std::pair< double, double > MeanAndRms_TIB_Layer4[7]
std::pair< double, double > MeanAndRms_TECMinus_Disc2[7]
std::vector< Apv > medianValues_TIB_Layer3
double apvMedianOccupancy
std::vector< Apv > medianValues_TECPlus_Disc3
std::vector< TH2F * > nHitsGoodStripsVsStripNumber
std::vector< TProfile * > pfxOccupancyVsStripNumber
std::vector< Apv > medianValues_TECPlus_Disc5
std::vector< unsigned int > vHotStripsInModule
std::vector< TH1F * > projYDistanceVsStripNumber
std::vector< TProfile * > pfxOccupancyHotStripsVsStripNumber
std::pair< double, double > MeanAndRms_TIDPlus_Disc3[7]
dqm::legacy::DQMStore DQMStore
std::vector< Apv > medianValues_TECMinus_Disc9
std::vector< TH2F * > poissonProbVsStripNumber
std::vector< Apv > medianValues_TOB_Layer3
std::vector< Apv > medianValues_TIB_Layer1
void evaluatePoissonian(std::vector< long double > &, long double &meanVal)
std::vector< Apv > medianValues_TOB_Layer4
std::vector< TH2F * > nHitsVsStripNumber
float strip_global_position_y
void setMinNumEntriesPerStrip(unsigned short m)
std::vector< Apv > medianValues_TECPlus_Disc9
int apvabsoluteOccupancy[6]
double stripoccupancy[128]