Perform client diagnostic operations.
140 vector<const DTChamber*>::const_iterator ch_it =
muonGeom->
chambers().begin();
141 vector<const DTChamber*>::const_iterator ch_end =
muonGeom->
chambers().end();
143 for (; ch_it != ch_end; ++ch_it) {
149 if (hNHits && hSegmOcc) {
150 TH1F* hNHits_root = hNHits->
getTH1F();
151 TH2F* hSegmOcc_root = hSegmOcc->
getTH2F();
154 int sector = chID.
sector();
163 if (summary_histo_root->GetBinContent(sector, chID.
wheel() + 3) < 1)
171 abs(12 - hNHits_root->GetMaximumBin()));
174 abs(8 - hNHits_root->GetMaximumBin()));
179 if (hSegmOcc_root->GetBinContent(sector, chID.
station()) == 0) {
181 if (summary2_histo_root->GetBinContent(sector, chID.
wheel() + 3) < 2)
186 if ((sector == 4 || sector == 10) && chID.
station() == 4)
191 LogVerbatim(
"DTDQM|DTMonitorClient|DTSegmentAnalysisTest")
192 <<
"[DTSegmentAnalysisTest]: histos not found!!";
201 TH1F* chi2_histo_root = chi2_histo->
getTH1F();
203 double maximum = chi2_histo_root->GetXaxis()->GetXmax();
204 double minimum = chi2_histo_root->GetXaxis()->GetXmin();
205 int nbins = chi2_histo_root->GetXaxis()->GetNbins();
206 int thresholdBin =
int(threshold / ((maximum - minimum) / nbins));
208 double badSegments = 0;
210 badSegments += chi2_histo_root->GetBinContent(
bin);
213 if (chi2_histo_root->GetEntries() != 0) {
214 double badSegmentsPercentual = badSegments / double(chi2_histo_root->GetEntries());
218 LogVerbatim(
"DTDQM|DTMonitorClient|DTSegmentAnalysisTest")
219 <<
"[DTSegmentAnalysisTest]: Histo: " <<
getMEName(chID,
"h4DChi2") <<
" not found!" << endl;
225 string nEvtsName =
"DT/EventInfo/Counters/nProcessedEventsSegment";
234 LogVerbatim(
"DTDQM|DTMonitorClient|DTOccupancyTest")
235 <<
"[DTOccupancyTest] ME: " << nEvtsName <<
" not found!" << endl;
239 string chi2CriterionName =
parameters.getUntrackedParameter<
string>(
"chi2TestName",
"chi2InRange");
242 const QReport* theChi2QReport = (*histo).second->getQReport(chi2CriterionName);
243 if (theChi2QReport) {
244 vector<dqm::me_util::Channel> badChannels = theChi2QReport->
getBadChannels();
245 for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin(); channel != badChannels.end();
247 LogError(
"DTDQM|DTMonitorClient|DTSegmentAnalysisTest")
248 <<
"Wheel: " << (*histo).first.first <<
" Sector: " << (*histo).first.second
249 <<
" Bad stations: " << (*channel).getBin() <<
" Contents : " << (*channel).getContents();
254 string segmRecHitCriterionName =
255 parameters.getUntrackedParameter<
string>(
"segmRecHitTestName",
"segmRecHitInRange");
259 const QReport* theSegmRecHitQReport = (*histo).second->getQReport(segmRecHitCriterionName);
260 if (theSegmRecHitQReport) {
261 vector<dqm::me_util::Channel> badChannels = theSegmRecHitQReport->
getBadChannels();
262 for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin(); channel != badChannels.end();
264 LogError(
"DTDQM|DTMonitorClient|DTSegmentAnalysisTest")
265 <<
"Wheel: " << (*histo).first.first <<
" Sector: " << (*histo).first.second
266 <<
" Bad stations on recHit number: " << (*channel).getBin()
267 <<
" Contents : " << (*channel).getContents();
const std::vector< const DTChamber * > & chambers() const
Return a vector of all Chamber.
virtual TH2F * getTH2F() const
const std::vector< DQMChannel > & getBadChannels() const
std::map< std::pair< int, int >, MonitorElement * > chi2Histos
virtual TH1F * getTH1F() const
std::map< int, MonitorElement * > summaryHistos
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
Abs< T >::type abs(const T &t)
std::string getMEName(const DTChamberId &chID, std::string histoTag)
Get the ME name.
std::map< std::pair< int, int >, MonitorElement * > segmRecHitHistos
edm::ESHandle< DTGeometry > muonGeom
virtual double getFloatValue() const
int station() const
Return the station number.
int wheel() const
Return the wheel number.