Perform client diagnostic operations.
152 vector<const DTChamber*>::const_iterator ch_it =
muonGeom->
chambers().begin();
153 vector<const DTChamber*>::const_iterator ch_end =
muonGeom->
chambers().end();
155 for (; ch_it != ch_end; ++ch_it) {
161 if (hNHits && hSegmOcc) {
163 TH1F * hNHits_root = hNHits->
getTH1F();
164 TH2F * hSegmOcc_root = hSegmOcc->
getTH2F();
167 int sector = chID.
sector();
168 if(sector == 13) sector=4;
169 if(sector == 14) sector=10;
175 if(summary_histo_root->GetBinContent(sector, chID.
wheel()+3)<1)
190 if(hSegmOcc_root->GetBinContent(sector,chID.
station())==0){
192 if(summary2_histo_root->GetBinContent(sector, chID.
wheel()+3)<2)
197 if((sector == 4 || sector == 10) && chID.
station() == 4) weight = 1./8.;
201 LogVerbatim (
"DTDQM|DTMonitorClient|DTSegmentAnalysisTest")
202 <<
"[DTSegmentAnalysisTest]: histos not found!!";
211 TH1F * chi2_histo_root = chi2_histo->
getTH1F();
213 double maximum = chi2_histo_root->GetXaxis()->GetXmax();
214 double minimum = chi2_histo_root->GetXaxis()->GetXmin();
215 int nbins = chi2_histo_root->GetXaxis()->GetNbins();
216 int thresholdBin =
int(threshold/((maximum-minimum)/nbins));
218 double badSegments=0;
220 badSegments+=chi2_histo_root->GetBinContent(
bin);
223 if(chi2_histo_root->GetEntries()!=0){
224 double badSegmentsPercentual= badSegments/double(chi2_histo_root->GetEntries());
228 LogVerbatim (
"DTDQM|DTMonitorClient|DTSegmentAnalysisTest")
229 <<
"[DTSegmentAnalysisTest]: Histo: " <<
getMEName(chID,
"h4DChi2") <<
" not found!" << endl;
235 string nEvtsName =
"DT/EventInfo/Counters/nProcessedEventsSegment";
244 LogVerbatim (
"DTDQM|DTMonitorClient|DTOccupancyTest") <<
"[DTOccupancyTest] ME: " 245 << nEvtsName <<
" not found!" << endl;
250 string chi2CriterionName =
parameters.getUntrackedParameter<
string>(
"chi2TestName",
"chi2InRange");
255 const QReport * theChi2QReport = (*histo).second->getQReport(chi2CriterionName);
257 vector<dqm::me_util::Channel> badChannels = theChi2QReport->
getBadChannels();
258 for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin();
259 channel != badChannels.end(); channel++) {
261 LogError (
"DTDQM|DTMonitorClient|DTSegmentAnalysisTest") <<
"Wheel: "<<(*histo).first.first
262 <<
" Sector: "<<(*histo).first.second
263 <<
" Bad stations: "<<(*channel).getBin()
264 <<
" Contents : "<<(*channel).getContents();
270 string segmRecHitCriterionName =
parameters.getUntrackedParameter<
string>(
"segmRecHitTestName",
"segmRecHitInRange");
275 const QReport * theSegmRecHitQReport = (*histo).second->getQReport(segmRecHitCriterionName);
276 if(theSegmRecHitQReport) {
277 vector<dqm::me_util::Channel> badChannels = theSegmRecHitQReport->
getBadChannels();
278 for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin();
279 channel != badChannels.end(); channel++) {
281 LogError (
"DTDQM|DTMonitorClient|DTSegmentAnalysisTest") <<
"Wheel: "<<(*histo).first.first
282 <<
" Sector: "<<(*histo).first.second
283 <<
" Bad stations on recHit number: " 284 <<(*channel).getBin()
286 <<(*channel).getContents();
const std::vector< const DTChamber * > & chambers() const
Return a vector of all Chamber.
const std::vector< DQMChannel > & getBadChannels() const
double getFloatValue() const
MonitorElement * get(const std::string &path)
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
std::map< std::pair< int, int >, MonitorElement * > segmRecHitHistos
Abs< T >::type abs(const T &t)
bin
set the eta bin as selection string.
std::string getMEName(const DTChamberId &chID, std::string histoTag)
Get the ME name.
std::map< std::pair< int, int >, MonitorElement * > chi2Histos
edm::ESHandle< DTGeometry > muonGeom
std::map< int, MonitorElement * > summaryHistos
int station() const
Return the station number.
int wheel() const
Return the wheel number.