#include <DQM/HcalMonitorClient/interface/HcalDigiClient.h>
Definition at line 28 of file HcalDigiClient.h.
HcalDigiClient::HcalDigiClient | ( | ) |
HcalDigiClient::~HcalDigiClient | ( | ) |
Destructor.
Definition at line 113 of file HcalDigiClient.cc.
References cleanup().
00113 { 00114 cleanup(); 00115 }
Analyze.
Definition at line 353 of file HcalDigiClient.cc.
References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, edm::CPUTimer::cpuTime(), HcalBaseClient::debug_, lat::endl(), HcalBaseClient::jevt_, edm::CPUTimer::reset(), HcalBaseClient::showTiming_, edm::CPUTimer::start(), and edm::CPUTimer::stop().
Referenced by HcalMonitorClient::analyze().
00353 { 00354 00355 if (showTiming_) 00356 { 00357 cpu_timer.reset(); cpu_timer.start(); 00358 } 00359 jevt_++; 00360 int updates = 0; 00361 00362 if ( updates % 10 == 0 ) { 00363 if ( debug_ ) cout << "HcalDigiClient: " << updates << " updates" << endl; 00364 } 00365 if (showTiming_) 00366 { 00367 cpu_timer.stop(); cout <<"TIMER:: HcalDigiClient ANALYZE -> "<<cpu_timer.cpuTime()<<endl; 00368 } 00369 return; 00370 }
BeginJob.
Definition at line 117 of file HcalDigiClient.cc.
References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, lat::endl(), HcalBaseClient::ievt_, HcalBaseClient::jevt_, resetAllME(), and setup().
Referenced by HcalMonitorClient::beginJob().
00117 { 00118 00119 if ( debug_>0 ) 00120 cout << "HcalDigiClient: beginJob" << endl; 00121 00122 ievt_ = 0; 00123 jevt_ = 0; 00124 setup(); 00125 resetAllME(); 00126 return; 00127 }
BeginRun.
Definition at line 129 of file HcalDigiClient.cc.
References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, lat::endl(), HcalBaseClient::jevt_, resetAllME(), and setup().
Referenced by HcalMonitorClient::beginRun().
00129 { 00130 00131 if ( debug_>0 ) 00132 cout << "HcalDigiClient: beginRun" << endl; 00133 00134 jevt_ = 0; 00135 setup(); 00136 resetAllME(); 00137 return; 00138 }
Cleanup.
Definition at line 163 of file HcalDigiClient.cc.
References DigiClientHists::ADC, DigiClientHists::ADCsum, DigiClientHists::BQ, DigiClientHists::BQFrac, DigiClientHists::CapID, HcalBaseClient::cloneME_, DigiBQ, DigiBQFrac, DigiErrorEtaPhi, DigiErrorsBadADCSum, DigiErrorsBadCapID, DigiErrorsBadDigiSize, DigiErrorsDVErr, DigiErrorsNoDigi, DigiErrorSpigot, DigiErrorVME, DigiClientHists::DigiFirstCapID, DigiNum, DigiOccupancyByDepth, DigiOccupancyEta, DigiOccupancyPhi, DigiOccupancySpigot, DigiOccupancyVME, DigiSize, HcalBaseClient::dqmQtests_, HcalBaseClient::dqmReportMapErr_, HcalBaseClient::dqmReportMapOther_, HcalBaseClient::dqmReportMapWarn_, DigiClientHists::DVerr, hbHists, heHists, hfHists, hoHists, i, DigiClientHists::presample, ProblemDigis, ProblemDigisByDepth, DigiClientHists::shape, DigiClientHists::shapeThresh, DigiClientHists::TS_sum_minus, and DigiClientHists::TS_sum_plus.
Referenced by endJob(), endRun(), and ~HcalDigiClient().
00164 { 00165 if ( cloneME_ ) 00166 { 00167 if (hbHists.shape) delete hbHists.shape; 00168 if (heHists.shape) delete heHists.shape; 00169 if (hoHists.shape) delete hoHists.shape; 00170 if (hfHists.shape) delete hfHists.shape; 00171 if (hbHists.shapeThresh) delete hbHists.shapeThresh; 00172 if (heHists.shapeThresh) delete heHists.shapeThresh; 00173 if (hoHists.shapeThresh) delete hoHists.shapeThresh; 00174 if (hfHists.shapeThresh) delete hfHists.shapeThresh; 00175 if (hbHists.presample) delete hbHists.presample; 00176 if (heHists.presample) delete heHists.presample; 00177 if (hoHists.presample) delete hoHists.presample; 00178 if (hfHists.presample) delete hfHists.presample; 00179 if (hbHists.BQ) delete hbHists.BQ; 00180 if (heHists.BQ) delete heHists.BQ; 00181 if (hoHists.BQ) delete hoHists.BQ; 00182 if (hfHists.BQ) delete hfHists.BQ; 00183 if (hbHists.BQFrac) delete hbHists.BQFrac; 00184 if (heHists.BQFrac) delete heHists.BQFrac; 00185 if (hoHists.BQFrac) delete hoHists.BQFrac; 00186 if (hfHists.BQFrac) delete hfHists.BQFrac; 00187 if (hbHists.DigiFirstCapID) delete hbHists.DigiFirstCapID; 00188 if (heHists.DigiFirstCapID) delete heHists.DigiFirstCapID; 00189 if (hoHists.DigiFirstCapID) delete hoHists.DigiFirstCapID; 00190 if (hfHists.DigiFirstCapID) delete hfHists.DigiFirstCapID; 00191 if (hbHists.DVerr) delete hbHists.DVerr; 00192 if (heHists.DVerr) delete heHists.DVerr; 00193 if (hoHists.DVerr) delete hoHists.DVerr; 00194 if (hfHists.DVerr) delete hfHists.DVerr; 00195 if (hbHists.CapID) delete hbHists.CapID; 00196 if (heHists.CapID) delete heHists.CapID; 00197 if (hoHists.CapID) delete hoHists.CapID; 00198 if (hfHists.CapID) delete hfHists.CapID; 00199 if (hbHists.ADC) delete hbHists.ADC; 00200 if (heHists.ADC) delete heHists.ADC; 00201 if (hoHists.ADC) delete hoHists.ADC; 00202 if (hfHists.ADC) delete hfHists.ADC; 00203 if (hbHists.ADCsum) delete hbHists.ADCsum; 00204 if (heHists.ADCsum) delete heHists.ADCsum; 00205 if (hoHists.ADCsum) delete hoHists.ADCsum; 00206 if (hfHists.ADCsum) delete hfHists.ADCsum; 00207 if (DigiSize) delete DigiSize; 00208 if (DigiOccupancyEta) delete DigiOccupancyEta; 00209 if (DigiOccupancyPhi) delete DigiOccupancyPhi; 00210 if (DigiNum) delete DigiNum; 00211 if (DigiBQ) delete DigiBQ; 00212 if (DigiBQFrac) delete DigiBQFrac; 00213 if (ProblemDigis) delete ProblemDigis; 00214 if (DigiOccupancyVME) delete DigiOccupancyVME; 00215 if (DigiOccupancySpigot) delete DigiOccupancySpigot; 00216 if (DigiErrorEtaPhi) delete DigiErrorEtaPhi; 00217 if (DigiErrorVME) delete DigiErrorVME; 00218 if (DigiErrorSpigot) delete DigiErrorSpigot; 00219 for (int i=0;i<6;++i) 00220 { 00221 if (ProblemDigisByDepth[i]) delete ProblemDigisByDepth[i]; 00222 if (DigiErrorsBadCapID[i]) delete DigiErrorsBadCapID[i]; 00223 if (DigiErrorsBadDigiSize[i]) delete DigiErrorsBadDigiSize[i]; 00224 if (DigiErrorsBadADCSum[i]) delete DigiErrorsBadADCSum[i]; 00225 if (DigiErrorsNoDigi[i]) delete DigiErrorsNoDigi[i]; 00226 if (DigiErrorsDVErr[i]) delete DigiErrorsDVErr[i]; 00227 if (DigiOccupancyByDepth[i]) delete DigiOccupancyByDepth[i]; 00228 } // for (int i=0;i<6;++i) 00229 for (int i=0;i<9;++i) 00230 { 00231 if (hbHists.TS_sum_plus[i]) delete hbHists.TS_sum_plus[i]; 00232 if (hbHists.TS_sum_minus[i]) delete hbHists.TS_sum_minus[i]; 00233 if (heHists.TS_sum_plus[i]) delete heHists.TS_sum_plus[i]; 00234 if (heHists.TS_sum_minus[i]) delete heHists.TS_sum_minus[i]; 00235 if (hoHists.TS_sum_plus[i]) delete hoHists.TS_sum_plus[i]; 00236 if (hoHists.TS_sum_minus[i]) delete hoHists.TS_sum_minus[i]; 00237 if (hfHists.TS_sum_plus[i]) delete hfHists.TS_sum_plus[i]; 00238 if (hfHists.TS_sum_minus[i]) delete hfHists.TS_sum_minus[i]; 00239 } 00240 } // if (cloneME_) 00241 00242 hbHists.shape =0; 00243 heHists.shape =0; 00244 hoHists.shape =0; 00245 hfHists.shape =0; 00246 hbHists.shapeThresh =0; 00247 heHists.shapeThresh =0; 00248 hoHists.shapeThresh =0; 00249 hfHists.shapeThresh =0; 00250 hbHists.presample =0; 00251 heHists.presample =0; 00252 hoHists.presample =0; 00253 hfHists.presample =0; 00254 hbHists.BQ =0; 00255 heHists.BQ =0; 00256 hoHists.BQ =0; 00257 hfHists.BQ =0; 00258 hbHists.BQFrac =0; 00259 heHists.BQFrac =0; 00260 hoHists.BQFrac =0; 00261 hfHists.BQFrac =0; 00262 hbHists.DigiFirstCapID =0; 00263 heHists.DigiFirstCapID =0; 00264 hoHists.DigiFirstCapID =0; 00265 hfHists.DigiFirstCapID =0; 00266 hbHists.DVerr =0; 00267 heHists.DVerr =0; 00268 hoHists.DVerr =0; 00269 hfHists.DVerr =0; 00270 hbHists.CapID =0; 00271 heHists.CapID =0; 00272 hoHists.CapID =0; 00273 hfHists.CapID =0; 00274 hbHists.ADC =0; 00275 heHists.ADC =0; 00276 hoHists.ADC =0; 00277 hfHists.ADC =0; 00278 hbHists.ADCsum =0; 00279 heHists.ADCsum =0; 00280 hoHists.ADCsum =0; 00281 hfHists.ADCsum =0; 00282 DigiSize =0; 00283 DigiOccupancyEta =0; 00284 DigiOccupancyPhi =0; 00285 DigiNum =0; 00286 DigiBQ =0; 00287 DigiBQFrac =0; 00288 ProblemDigis =0; 00289 00290 DigiOccupancyVME =0; 00291 DigiOccupancySpigot =0; 00292 DigiErrorEtaPhi =0; 00293 DigiErrorVME =0; 00294 DigiErrorSpigot =0; 00295 for (int i=0;i<6;++i) 00296 { 00297 ProblemDigisByDepth[i] =0; 00298 DigiErrorsBadCapID[i] =0; 00299 DigiErrorsBadDigiSize[i] =0; 00300 DigiErrorsBadADCSum[i] =0; 00301 DigiErrorsNoDigi[i] =0; 00302 DigiErrorsDVErr[i] =0; 00303 DigiOccupancyByDepth[i] =0; 00304 } // for (int i=0;i<6;++i) 00305 for (int i=0;i<9;++i) 00306 { 00307 hbHists.TS_sum_plus[i]=0; 00308 hbHists.TS_sum_minus[i]=0; 00309 heHists.TS_sum_plus[i]=0; 00310 heHists.TS_sum_minus[i]=0; 00311 hoHists.TS_sum_plus[i]=0; 00312 hoHists.TS_sum_minus[i]=0; 00313 hfHists.TS_sum_plus[i]=0; 00314 hfHists.TS_sum_minus[i]=0; 00315 } 00316 00317 dqmReportMapErr_.clear(); 00318 dqmReportMapWarn_.clear(); 00319 dqmReportMapOther_.clear(); 00320 dqmQtests_.clear(); 00321 return; 00322 } // void HcalDigiClient::cleanup(void)
void HcalDigiClient::createTests | ( | ) |
Definition at line 1167 of file HcalDigiClient.cc.
References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, createH2ContentTest(), HcalBaseClient::dbe_, HcalBaseClient::debug_, HcalBaseClient::dqmQtests_, lat::endl(), DQMStore::get(), i, me, name, params, HcalBaseClient::process_, edm::CPUTimer::reset(), HcalBaseClient::showTiming_, edm::CPUTimer::start(), and HcalBaseClient::subDetsOn_.
Referenced by HcalMonitorClient::createTests().
01167 { 01168 if(!dbe_) return; 01169 if (showTiming_) 01170 { 01171 cpu_timer.reset(); cpu_timer.start(); 01172 } 01173 char meTitle[250], name[250]; 01174 vector<string> params; 01175 01176 if(debug_) cout <<"Creating Digi tests..."<<endl; 01177 01178 for(int i=0; i<4; ++i){ 01179 if(!subDetsOn_[i]) continue; 01180 01181 string type = "HB"; 01182 if(i==1) type = "HE"; 01183 if(i==2) type = "HF"; 01184 if(i==3) type = "HO"; 01185 01186 sprintf(meTitle,"%sHcal/DigiMonitor/%s/%s Digi Geo Error Map",process_.c_str(),type.c_str(),type.c_str()); 01187 sprintf(name,"%s Digi Errors by Geo_metry",type.c_str()); 01188 if(dqmQtests_.find(name) == dqmQtests_.end()){ 01189 MonitorElement* me = dbe_->get(meTitle); 01190 if(me){ 01191 dqmQtests_[name]=meTitle; 01192 params.clear(); 01193 params.push_back((string)meTitle); params.push_back((string)name); //hist and qtest titles 01194 params.push_back("0"); params.push_back("1e-10"); //mean ranges 01195 params.push_back("0"); params.push_back("1e-10"); //rms ranges 01196 createH2ContentTest(dbe_, params); 01197 } 01198 } 01199 01200 /* 01201 sprintf(meTitle,"%sHcal/DigiMonitor/%s/%s QIE Cap-ID",process_.c_str(),type.c_str(),type.c_str()); 01202 sprintf(name,"%s QIE CapID",type.c_str()); 01203 if(dqmQtests_.find(name) == dqmQtests_.end()){ 01204 MonitorElement* me = dbe_->get(meTitle); 01205 if(me){ 01206 dqmQtests_[name]=meTitle; 01207 params.clear(); 01208 params.push_back(meTitle); params.push_back(name); //hist and test titles 01209 params.push_back("1.0"); params.push_back("0.975"); //warn, err probs 01210 params.push_back("0"); params.push_back("3"); //xmin, xmax 01211 createXRangeTest(dbe_, params); 01212 } 01213 } 01214 */ 01215 } // for (int i=0;i<4;++i) 01216 01217 return; 01218 } //void HcalDigiClient::createTests()
EndJob.
Definition at line 140 of file HcalDigiClient.cc.
References cleanup(), GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, lat::endl(), and HcalBaseClient::ievt_.
Referenced by HcalMonitorClient::endJob().
00140 { 00141 00142 if ( debug_>0 ) 00143 cout << "HcalDigiClient: endJob, ievt = " << ievt_ << endl; 00144 00145 cleanup(); 00146 return; 00147 }
EndRun.
Definition at line 149 of file HcalDigiClient.cc.
References cleanup(), GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, lat::endl(), and HcalBaseClient::jevt_.
Referenced by HcalMonitorClient::endRun().
00149 { 00150 00151 if ( debug_ >0) 00152 cout << "HcalDigiClient: endRun, jevt = " << jevt_ << endl; 00153 00154 cleanup(); 00155 return; 00156 }
void HcalDigiClient::getHistograms | ( | ) |
Definition at line 372 of file HcalDigiClient.cc.
References DigiClientHists::ADC, DigiClientHists::ADCsum, DigiClientHists::BQ, DigiClientHists::BQFrac, DigiClientHists::CapID, HcalBaseClient::cloneME_, GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, edm::CPUTimer::cpuTime(), HcalBaseClient::dbe_, HcalBaseClient::debug_, DigiBQ, DigiBQFrac, DigiErrorEtaPhi, DigiErrorsBadADCSum, DigiErrorsBadCapID, DigiErrorsBadDigiSize, DigiErrorsDVErr, DigiErrorsNoDigi, DigiErrorSpigot, DigiErrorVME, DigiClientHists::DigiFirstCapID, DigiNum, DigiOccupancyByDepth, DigiOccupancyEta, DigiOccupancyPhi, DigiOccupancySpigot, DigiOccupancyVME, DigiSize, dummy1D, dummy2D, DigiClientHists::DVerr, lat::endl(), getAnyHisto(), HcalBaseClient::getSJ6histos(), hbHists, heHists, hfHists, hoHists, i, name, DigiClientHists::presample, ProblemDigis, ProblemDigisByDepth, HcalBaseClient::process_, edm::CPUTimer::reset(), DigiClientHists::shape, DigiClientHists::shapeThresh, HcalBaseClient::showTiming_, edm::CPUTimer::start(), edm::CPUTimer::stop(), DigiClientHists::TS_sum_minus, and DigiClientHists::TS_sum_plus.
Referenced by htmlOutput(), and report().
00372 { 00373 if(!dbe_) return; 00374 if (showTiming_) 00375 { 00376 cpu_timer.reset(); cpu_timer.start(); 00377 } 00378 if (debug_>0) cout <<"HcalDigiClient> getHistograms()"<<endl; 00379 00380 ostringstream name; 00381 TH2F* dummy2D = new TH2F(); 00382 TH1F* dummy1D = new TH1F(); 00383 00384 // Get Histograms 00385 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Digi Shape"; //hbHists.shape 00386 hbHists.shape = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00387 name.str(""); 00388 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Digi Shape"; //heHists.shape 00389 heHists.shape = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00390 name.str(""); 00391 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Digi Shape"; //hoHists.shape 00392 hoHists.shape = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00393 name.str(""); 00394 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Digi Shape"; //hfHists.shape 00395 hfHists.shape = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00396 name.str(""); 00397 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Digi Shape - over thresh"; //hbHists.shapeThresh 00398 hbHists.shapeThresh = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00399 name.str(""); 00400 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Digi Shape - over thresh"; //heHists.shapeThresh 00401 heHists.shapeThresh = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00402 name.str(""); 00403 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Digi Shape - over thresh"; //hoHists.shapeThresh 00404 hoHists.shapeThresh = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00405 name.str(""); 00406 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Digi Shape - over thresh"; //hfHists.shapeThresh 00407 hfHists.shapeThresh = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00408 name.str(""); 00409 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Digi Presamples"; //hbHists.presample 00410 hbHists.presample = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00411 name.str(""); 00412 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Digi Presamples"; //heHists.presample 00413 heHists.presample = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00414 name.str(""); 00415 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Digi Presamples"; //hoHists.presample 00416 hoHists.presample = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00417 name.str(""); 00418 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Digi Presamples"; //hfHists.presample 00419 hfHists.presample = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00420 name.str(""); 00421 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Bad Quality Digis"; //hbHists.BQ 00422 hbHists.BQ = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00423 name.str(""); 00424 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Bad Quality Digis"; //heHists.BQ 00425 heHists.BQ = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00426 name.str(""); 00427 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Bad Quality Digis"; //hoHists.BQ 00428 hoHists.BQ = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00429 name.str(""); 00430 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Bad Quality Digis"; //hfHists.BQ 00431 hfHists.BQ = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00432 name.str(""); 00433 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Bad Quality Digi Fraction"; //hbHists.BQFrac 00434 hbHists.BQFrac = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00435 name.str(""); 00436 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Bad Quality Digi Fraction"; //heHists.BQFrac 00437 heHists.BQFrac = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00438 name.str(""); 00439 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Bad Quality Digi Fraction"; //hoHists.BQFrac 00440 hoHists.BQFrac = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00441 name.str(""); 00442 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Bad Quality Digi Fraction"; //hfHists.BQFrac 00443 hfHists.BQFrac = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00444 name.str(""); 00445 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Capid 1st Time Slice"; //hbHists.DigiFirstCapID 00446 hbHists.DigiFirstCapID = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00447 name.str(""); 00448 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Capid 1st Time Slice"; //heHists.DigiFirstCapID 00449 heHists.DigiFirstCapID = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00450 name.str(""); 00451 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Capid 1st Time Slice"; //hoHists.DigiFirstCapID 00452 hoHists.DigiFirstCapID = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00453 name.str(""); 00454 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Capid 1st Time Slice"; //hfHists.DigiFirstCapID 00455 hfHists.DigiFirstCapID = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00456 name.str(""); 00457 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Data Valid Err Bits"; //hbHists.DVerr 00458 hbHists.DVerr = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00459 name.str(""); 00460 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Data Valid Err Bits"; //heHists.DVerr 00461 heHists.DVerr = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00462 name.str(""); 00463 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Data Valid Err Bits"; //hoHists.DVerr 00464 hoHists.DVerr = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00465 name.str(""); 00466 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Data Valid Err Bits"; //hfHists.DVerr 00467 hfHists.DVerr = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00468 name.str(""); 00469 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB CapID"; //hbHists.CapID 00470 hbHists.CapID = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00471 name.str(""); 00472 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE CapID"; //heHists.CapID 00473 heHists.CapID = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00474 name.str(""); 00475 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO CapID"; //hoHists.CapID 00476 hoHists.CapID = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00477 name.str(""); 00478 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF CapID"; //hfHists.CapID 00479 hfHists.CapID = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00480 name.str(""); 00481 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB ADC count per time slice"; //hbHists.ADC 00482 hbHists.ADC = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00483 name.str(""); 00484 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE ADC count per time slice"; //heHists.ADC 00485 heHists.ADC = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00486 name.str(""); 00487 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO ADC count per time slice"; //hoHists.ADC 00488 hoHists.ADC = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00489 name.str(""); 00490 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF ADC count per time slice"; //hfHists.ADC 00491 hfHists.ADC = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00492 name.str(""); 00493 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB ADC sum"; //hbHists.ADCsum 00494 hbHists.ADCsum = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00495 name.str(""); 00496 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE ADC sum"; //heHists.ADCsum 00497 heHists.ADCsum = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00498 name.str(""); 00499 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO ADC sum"; //hoHists.ADCsum 00500 hoHists.ADCsum = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00501 name.str(""); 00502 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF ADC sum"; //hfHists.ADCsum 00503 hfHists.ADCsum = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00504 name.str(""); 00505 name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/baddigisize/Digi Size"; //DigiSize 00506 DigiSize = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_); 00507 name.str(""); 00508 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Eta Occupancy Map"; //DigiOccupancyEta 00509 DigiOccupancyEta = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00510 name.str(""); 00511 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Phi Occupancy Map"; //DigiOccupancyPhi 00512 DigiOccupancyPhi = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00513 name.str(""); 00514 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/# of Digis"; //DigiNum 00515 DigiNum = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00516 name.str(""); 00517 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/# Bad Qual Digis"; //DigiBQ 00518 DigiBQ = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00519 name.str(""); 00520 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Bad Digi Fraction"; //DigiBQFrac 00521 DigiBQFrac = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00522 name.str(""); 00523 name<<process_.c_str()<<"DigiMonitor_Hcal/ ProblemDigis"; //ProblemDigis 00524 ProblemDigis = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_); 00525 name.str(""); 00526 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi VME Occupancy Map"; //DigiOccupancyVME 00527 DigiOccupancyVME = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_); 00528 name.str(""); 00529 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Spigot Occupancy Map"; //DigiOccupancySpigot 00530 DigiOccupancySpigot = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_); 00531 name.str(""); 00532 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Digi Geo Error Map"; //DigiErrorEtaPhi 00533 DigiErrorEtaPhi = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_); 00534 name.str(""); 00535 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Digi VME Error Map"; //DigiErrorVME 00536 DigiErrorVME = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_); 00537 name.str(""); 00538 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Digi Spigot Error Map"; //DigiErrorSpigot 00539 DigiErrorSpigot = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_); 00540 name.str(""); 00541 for (int i=0;i<9;++i) 00542 { 00543 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Plus Time Slices "<<i<<" and "<<i+1; //hbHists.TS_sum_plus[i] 00544 hbHists.TS_sum_plus[i] = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00545 name.str(""); 00546 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Plus Time Slices "<<i<<" and "<<i+1; //heHists.TS_sum_plus[i] 00547 heHists.TS_sum_plus[i] = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00548 name.str(""); 00549 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Plus Time Slices "<<i<<" and "<<i+1; //hoHists.TS_sum_plus[i] 00550 hoHists.TS_sum_plus[i] = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00551 name.str(""); 00552 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Plus Time Slices "<<i<<" and "<<i+1; //hfHists.TS_sum_plus[i] 00553 hfHists.TS_sum_plus[i] = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00554 name.str(""); 00555 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Minus Time Slices "<<i<<" and "<<i+1; //hbHists.TS_sum_minus[i] 00556 hbHists.TS_sum_minus[i] = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00557 name.str(""); 00558 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Minus Time Slices "<<i<<" and "<<i+1; //heHists.TS_sum_minus[i] 00559 heHists.TS_sum_minus[i] = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00560 name.str(""); 00561 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Minus Time Slices "<<i<<" and "<<i+1; //hoHists.TS_sum_minus[i] 00562 hoHists.TS_sum_minus[i] = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00563 name.str(""); 00564 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Minus Time Slices "<<i<<" and "<<i+1; //hfHists.TS_sum_minus[i] 00565 hfHists.TS_sum_minus[i] = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_); 00566 name.str(""); 00567 } // for (int i=0;i<9;++i) 00568 00569 getSJ6histos("DigiMonitor_Hcal/digi_occupancy/"," Digi Eta-Phi Occupancy Map",DigiOccupancyByDepth); 00570 getSJ6histos("DigiMonitor_Hcal/problem_digis/"," Problem Digi Rate",ProblemDigisByDepth); 00571 getSJ6histos("DigiMonitor_Hcal/problem_digis/badcapID/"," Digis with Bad Cap ID Rotation",DigiErrorsBadCapID); 00572 getSJ6histos("DigiMonitor_Hcal/problem_digis/baddigisize/"," Digis with Bad Size",DigiErrorsBadDigiSize); 00573 getSJ6histos("DigiMonitor_Hcal/problem_digis/badADCsum/"," Digis with ADC sum below threshold ADC counts",DigiErrorsBadADCSum); 00574 getSJ6histos("DigiMonitor_Hcal/problem_digis/nodigis/"," Digis Missing for a Number of Consecutive Events",DigiErrorsNoDigi); 00575 getSJ6histos("DigiMonitor_Hcal/problem_digis/data_invalid_error/"," Digis with Data Invalid or Error Bit Set",DigiErrorsDVErr); 00576 if (showTiming_) 00577 { 00578 cpu_timer.stop(); cout <<"TIMER:: HcalDigiClient GET HISTOGRAMS -> "<<cpu_timer.cpuTime()<<endl; 00579 } 00580 return; 00581 } // void HcalDigiClient::getHistograms()
Definition at line 811 of file HcalDigiClient.cc.
References DigiClientHists::ADC, DigiClientHists::ADCsum, DigiClientHists::BQ, DigiClientHists::BQFrac, DigiClientHists::CapID, GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, edm::CPUTimer::cpuTime(), HcalBaseClient::debug_, DigiBQ, DigiBQFrac, DigiErrorsBadADCSum, DigiErrorsBadCapID, DigiErrorsBadDigiSize, DigiErrorsDVErr, DigiErrorsNoDigi, DigiClientHists::DigiFirstCapID, DigiNum, DigiOccupancyByDepth, DigiOccupancyEta, DigiOccupancyPhi, DigiOccupancySpigot, DigiOccupancyVME, DigiSize, DigiClientHists::DVerr, lat::endl(), hbHists, heHists, hfHists, hoHists, htmlAnyHisto(), i, HcalBaseClient::ievt_, HcalBaseClient::pcol_error_, DigiClientHists::presample, ProblemDigisByDepth, edm::CPUTimer::reset(), DigiClientHists::shape, DigiClientHists::shapeThresh, HcalBaseClient::showTiming_, edm::CPUTimer::start(), edm::CPUTimer::stop(), DigiClientHists::TS_sum_minus, and DigiClientHists::TS_sum_plus.
Referenced by htmlOutput().
00811 { 00812 if (showTiming_) 00813 { 00814 cpu_timer.reset(); cpu_timer.start(); 00815 } 00816 if (debug_>1) 00817 cout << "<HcalDigiClient> Preparing HcalDigiClient Expert html output ..." << endl; 00818 00819 ofstream htmlFile; 00820 htmlFile.open((htmlDir +"Expert_"+ htmlName).c_str()); 00821 00822 // html page header 00823 htmlFile << "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> " << endl; 00824 htmlFile << "<html> " << endl; 00825 htmlFile << "<head> " << endl; 00826 htmlFile << " <meta content=\"text/html; charset=ISO-8859-1\" " << endl; 00827 htmlFile << " https-equiv=\"content-type\"> " << endl; 00828 htmlFile << " <title>Monitor: Hcal Digi Task output</title> " << endl; 00829 htmlFile << "</head> " << endl; 00830 htmlFile << "<style type=\"text/css\"> td { font-weight: bold } </style>" << endl; 00831 htmlFile << "<body> " << endl; 00832 htmlFile <<"<a name=\"EXPERT_DIGI_TOP\" href = \".\"> Back to Main HCAL DQM Page </a><br>"<<endl; 00833 htmlFile <<"<a href= \""<<htmlName.c_str()<<"\" > Back to Digi Status Page </a><br>"<<endl; 00834 htmlFile << "<br> " << endl; 00835 htmlFile << "<h2>Run: " << endl; 00836 htmlFile << " <span " << endl; 00837 htmlFile << " style=\"color: rgb(0, 0, 153);\">" << runNo << "</span></h2>" << endl; 00838 htmlFile << "<h2>Monitoring task: <span " << endl; 00839 htmlFile << " style=\"color: rgb(0, 0, 153);\">Hcal Digis</span></h2> " << endl; 00840 htmlFile << "<h2>Events processed: " << endl; 00841 htmlFile << " <span " << endl; 00842 htmlFile << " style=\"color: rgb(0, 0, 153);\">" << ievt_ << "</span></h2>" << endl; 00843 htmlFile << "<hr>" << endl; 00844 00845 htmlFile << "<table width=100% border = 1>"<<endl; 00846 htmlFile << "<tr><td align=\"center\" colspan=2><a href=\"#OVERALL_PROBLEMS\">PROBLEM CELLS BY DEPTH </a></td></tr>"<<endl; 00847 htmlFile << "<tr><td align=\"center\">"<<endl; 00848 htmlFile<<"<br><a href=\"#OCCUPANCY\">Digi Occupancy Plots </a>"<<endl; 00849 htmlFile<<"<br><a href=\"#DIGISIZE\">Digi Bad Size Plots</a>"<<endl; 00850 htmlFile<<"<br><a href=\"#DIGICAPID\">Digi Bad Cap ID Plots </a>"<<endl; 00851 htmlFile<<"</td><td align=\"center\">"<<endl; 00852 htmlFile<<"<br><a href=\"#DIGIADCSUM\">Digi Bad ADC Sum Plots </a>"<<endl; 00853 htmlFile<<"<br><a href=\"#DIGIERRORBIT\">Digi Bad Error Bit Plots </a>"<<endl; 00854 htmlFile<<"<br><a href=\"#NODIGI\">Missing Digi Plots </a>"<<endl; 00855 htmlFile<<"</td></tr><tr><td align=\"center\">"<<endl; 00856 htmlFile<<"<br><a href=\"#HBDIGI\">HB Digi Plots </a>"<<endl; 00857 htmlFile<<"<br><a href=\"#HEDIGI\">HE Digi Plots </a>"<<endl; 00858 htmlFile<<"</td><td align=\"center\">"<<endl; 00859 htmlFile<<"<br><a href=\"#HODIGI\">HO Digi Plots </a>"<<endl; 00860 htmlFile<<"<br><a href=\"#HFDIGI\">HF Digi Plots </a>"<<endl; 00861 00862 htmlFile << "</td></tr>"<<endl; 00863 htmlFile <<"</table>"<<endl; 00864 htmlFile <<"<br><br>"<<endl; 00865 00866 // Plot overall errors 00867 htmlFile << "<h2><strong><a name=\"OVERALL_PROBLEMS\">Eta-Phi Maps of Problem Cells By Depth</strong></h2>"<<endl; 00868 htmlFile <<" These plots of problem cells combine results from all digi tests<br>"<<endl; 00869 htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl; 00870 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00871 htmlFile << "cellpadding=\"10\"> " << endl; 00872 gStyle->SetPalette(20,pcol_error_); // set palette to standard error color scheme 00873 00874 // Depths are stored as: 0: HF/HF depth 1, 1: HF/HF 2, 2: HE 3, 3: HO/ZDC, 4: HE 1, 5: HE2 00875 // remap so that HE depths are plotted consecutively 00876 int mydepth[6]={0,1,4,5,2,3}; 00877 for (int i=0;i<3;++i) 00878 { 00879 htmlFile << "<tr align=\"left\">" << endl; 00880 htmlAnyHisto(runNo,ProblemDigisByDepth[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00881 htmlAnyHisto(runNo,ProblemDigisByDepth[mydepth[2*i]+1],"i#eta","i#phi", 92, htmlFile, htmlDir); 00882 htmlFile <<"</tr>"<<endl; 00883 } 00884 00885 htmlFile <<"</table>"<<endl; 00886 htmlFile <<"<br><hr><br>"<<endl; 00887 00888 00889 // Occupancy Plots 00890 htmlFile << "<h2><strong><a name=\"OCCUPANCY\">Occupancy Plots</strong></h2>"<<endl; 00891 htmlFile <<"This shows average digi occupancy of each cell per event<br>"<<endl; 00892 htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl; 00893 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00894 htmlFile << "cellpadding=\"10\"> " << endl; 00895 gStyle->SetPalette(1); 00896 for (int i=0;i<3;++i) 00897 { 00898 htmlFile << "<tr align=\"left\">" << endl; 00899 htmlAnyHisto(runNo,DigiOccupancyByDepth[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00900 htmlAnyHisto(runNo,DigiOccupancyByDepth[mydepth[2*i+1]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00901 htmlFile <<"</tr>"<<endl; 00902 } 00903 htmlFile <<"</table>"<<endl; 00904 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00905 htmlFile << "cellpadding=\"10\"> " << endl; 00906 htmlFile<<"<tr align=\"left\">"<<endl; 00907 htmlAnyHisto(runNo,DigiOccupancyEta,"","", 92, htmlFile, htmlDir); 00908 htmlAnyHisto(runNo,DigiOccupancyPhi,"","", 92, htmlFile, htmlDir); 00909 htmlFile<<"</tr>"<<endl; 00910 htmlFile<<"<tr align=\"left\">"<<endl; 00911 htmlAnyHisto(runNo,DigiOccupancyVME,"","", 92, htmlFile, htmlDir); 00912 htmlAnyHisto(runNo,DigiOccupancySpigot,"","", 92, htmlFile, htmlDir); 00913 htmlFile<<"</tr>"<<endl; 00914 htmlFile <<"</table>"<<endl; 00915 00916 // Digi Size Plots 00917 htmlFile << "<h2><strong><a name=\"DIGISIZE\">Digi Size Plots</strong></h2>"<<endl; 00918 htmlFile <<"This shows the fraction of events for each digi in which the digi's size is outside the expected range.<br>"<<endl; 00919 htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl; 00920 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00921 htmlFile << "cellpadding=\"10\"> " << endl; 00922 gStyle->SetPalette(1); 00923 for (int i=0;i<3;++i) 00924 { 00925 htmlFile << "<tr align=\"left\">" << endl; 00926 htmlAnyHisto(runNo,DigiErrorsBadDigiSize[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00927 htmlAnyHisto(runNo,DigiErrorsBadDigiSize[mydepth[2*i+1]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00928 htmlFile <<"</tr>"<<endl; 00929 } 00930 htmlFile <<"</table>"<<endl; 00931 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00932 htmlFile << "cellpadding=\"10\"> " << endl; 00933 htmlFile<<"<tr align=\"left\">"<<endl; 00934 htmlAnyHisto(runNo,DigiSize,"","", 92, htmlFile, htmlDir); 00935 htmlAnyHisto(runNo,DigiNum,"","", 92, htmlFile, htmlDir); 00936 htmlFile<<"</tr>"<<endl; 00937 htmlFile <<"</table>"<<endl; 00938 00939 // Digi Cap ID Plots 00940 htmlFile << "<h2><strong><a name=\"DIGICAPID\">Digi Cap ID Plots</strong></h2>"<<endl; 00941 htmlFile <<"This shows the fraction of events for each digi in which the digi's capacitor-ID rotation is incorrect.<br>"<<endl; 00942 htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl; 00943 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00944 htmlFile << "cellpadding=\"10\"> " << endl; 00945 gStyle->SetPalette(1); 00946 for (int i=0;i<3;++i) 00947 { 00948 htmlFile << "<tr align=\"left\">" << endl; 00949 htmlAnyHisto(runNo,DigiErrorsBadCapID[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00950 htmlAnyHisto(runNo,DigiErrorsBadCapID[mydepth[2*i+1]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00951 htmlFile <<"</tr>"<<endl; 00952 } 00953 htmlFile <<"</table>"<<endl; 00954 00955 // Digi ADC SUM Plots 00956 htmlFile << "<h2><strong><a name=\"DIGIADCSUM\">Digi ADC Sum Plots</strong></h2>"<<endl; 00957 htmlFile <<"This shows the fraction of events for each digi in which the digi's ADC sum is below threshold.<br>"<<endl; 00958 htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl; 00959 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00960 htmlFile << "cellpadding=\"10\"> " << endl; 00961 gStyle->SetPalette(1); 00962 for (int i=0;i<3;++i) 00963 { 00964 htmlFile << "<tr align=\"left\">" << endl; 00965 htmlAnyHisto(runNo,DigiErrorsBadADCSum[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00966 htmlAnyHisto(runNo,DigiErrorsBadADCSum[mydepth[2*i+1]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00967 htmlFile <<"</tr>"<<endl; 00968 } 00969 htmlFile <<"</table>"<<endl; 00970 00971 // Digi Error Bit Plots 00972 htmlFile << "<h2><strong><a name=\"DIGIERRORBIT\">Digi Error Bit Plots</strong></h2>"<<endl; 00973 htmlFile <<"This shows average number of digi errors/data invalids of each cell per event<br>"<<endl; 00974 htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl; 00975 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00976 htmlFile << "cellpadding=\"10\"> " << endl; 00977 gStyle->SetPalette(1); 00978 for (int i=0;i<3;++i) 00979 { 00980 htmlFile << "<tr align=\"left\">" << endl; 00981 htmlAnyHisto(runNo,DigiErrorsDVErr[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00982 htmlAnyHisto(runNo,DigiErrorsDVErr[mydepth[2*i+1]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00983 htmlFile <<"</tr>"<<endl; 00984 } 00985 htmlFile <<"</table>"<<endl; 00986 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00987 htmlFile << "cellpadding=\"10\"> " << endl; 00988 htmlAnyHisto(runNo,DigiBQ,"","", 92, htmlFile, htmlDir); 00989 htmlAnyHisto(runNo,DigiBQFrac,"","", 92, htmlFile, htmlDir); 00990 htmlFile<<"</tr></table>"<<endl; 00991 00992 00993 // Missing Digi 00994 htmlFile << "<h2><strong><a name=\"NODIGI\">Missing digi Plots</strong></h2>"<<endl; 00995 htmlFile <<"This shows digis that are not present for a number of consecutive events <br>"<<endl; 00996 htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl; 00997 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00998 htmlFile << "cellpadding=\"10\"> " << endl; 00999 gStyle->SetPalette(1); 01000 for (int i=0;i<3;++i) 01001 { 01002 htmlFile << "<tr align=\"left\">" << endl; 01003 htmlAnyHisto(runNo,DigiErrorsNoDigi[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 01004 htmlAnyHisto(runNo,DigiErrorsNoDigi[mydepth[2*i+1]],"i#eta","i#phi", 92, htmlFile, htmlDir); 01005 htmlFile <<"</tr>"<<endl; 01006 } 01007 htmlFile <<"</table>"<<endl; 01008 01009 01010 // HB Plots 01011 htmlFile << "<h2><strong><a name=\"HBDIGI\">HB digi Plots</strong></h2>"<<endl; 01012 htmlFile <<"This shows expert-level information for the HB subdetector digis <br>"<<endl; 01013 htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl; 01014 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 01015 htmlFile << "cellpadding=\"10\"> " << endl; 01016 gStyle->SetPalette(1); 01017 htmlFile << "<tr align=\"left\">" << endl; 01018 htmlAnyHisto(runNo,hbHists.shape,"","",92,htmlFile,htmlDir); 01019 htmlAnyHisto(runNo,hbHists.shapeThresh,"","",92,htmlFile,htmlDir); 01020 htmlFile << "</tr>"<<endl; 01021 htmlFile << "<tr align=\"left\">" << endl; 01022 htmlAnyHisto(runNo,hbHists.BQ,"","",92,htmlFile,htmlDir); 01023 htmlAnyHisto(runNo,hbHists.BQFrac,"","",92,htmlFile,htmlDir); 01024 htmlFile << "</tr>"<<endl; 01025 htmlFile << "<tr align=\"left\">" << endl; 01026 htmlAnyHisto(runNo,hbHists.DigiFirstCapID,"","",92,htmlFile,htmlDir); 01027 htmlAnyHisto(runNo,hbHists.CapID,"","",92,htmlFile,htmlDir); 01028 htmlFile << "</tr>"<<endl; 01029 htmlFile << "<tr align=\"left\">" << endl; 01030 htmlAnyHisto(runNo,hbHists.ADC,"","",92,htmlFile,htmlDir); 01031 htmlAnyHisto(runNo,hbHists.ADCsum,"","",92,htmlFile,htmlDir); 01032 htmlFile << "</tr>"<<endl; 01033 htmlFile << "<tr align=\"left\">" << endl; 01034 htmlAnyHisto(runNo,hbHists.presample,"","",92,htmlFile,htmlDir); 01035 htmlAnyHisto(runNo,hbHists.DVerr,"","",92,htmlFile,htmlDir); 01036 htmlFile << "</tr>"<<endl; 01037 for (int i=0;i<9;++i) 01038 { 01039 htmlFile << "</tr>"<<endl; 01040 htmlAnyHisto(runNo,hbHists.TS_sum_plus[i],"","",92,htmlFile,htmlDir); 01041 htmlAnyHisto(runNo,hbHists.TS_sum_minus[i],"","",92,htmlFile,htmlDir); 01042 htmlFile << "</tr>"<<endl; 01043 } 01044 htmlFile <<"</table>"<<endl; 01045 01046 01047 // HE Plots 01048 htmlFile << "<h2><strong><a name=\"HEDIGI\">HE digi Plots</strong></h2>"<<endl; 01049 htmlFile <<"This shows expert-level information for the HE subdetector digis <br>"<<endl; 01050 htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl; 01051 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 01052 htmlFile << "cellpadding=\"10\"> " << endl; 01053 gStyle->SetPalette(1); 01054 htmlFile << "<tr align=\"left\">" << endl; 01055 htmlAnyHisto(runNo,heHists.shape,"","",92,htmlFile,htmlDir); 01056 htmlAnyHisto(runNo,heHists.shapeThresh,"","",92,htmlFile,htmlDir); 01057 htmlFile << "</tr>"<<endl; 01058 htmlFile << "<tr align=\"left\">" << endl; 01059 htmlAnyHisto(runNo,heHists.BQ,"","",92,htmlFile,htmlDir); 01060 htmlAnyHisto(runNo,heHists.BQFrac,"","",92,htmlFile,htmlDir); 01061 htmlFile << "</tr>"<<endl; 01062 htmlFile << "<tr align=\"left\">" << endl; 01063 htmlAnyHisto(runNo,heHists.DigiFirstCapID,"","",92,htmlFile,htmlDir); 01064 htmlAnyHisto(runNo,heHists.CapID,"","",92,htmlFile,htmlDir); 01065 htmlFile << "</tr>"<<endl; 01066 htmlFile << "<tr align=\"left\">" << endl; 01067 htmlAnyHisto(runNo,heHists.ADC,"","",92,htmlFile,htmlDir); 01068 htmlAnyHisto(runNo,heHists.ADCsum,"","",92,htmlFile,htmlDir); 01069 htmlFile << "</tr>"<<endl; 01070 htmlFile << "<tr align=\"left\">" << endl; 01071 htmlAnyHisto(runNo,heHists.presample,"","",92,htmlFile,htmlDir); 01072 htmlAnyHisto(runNo,heHists.DVerr,"","",92,htmlFile,htmlDir); 01073 htmlFile << "</tr>"<<endl; 01074 for (int i=0;i<9;++i) 01075 { 01076 htmlFile << "</tr>"<<endl; 01077 htmlAnyHisto(runNo,heHists.TS_sum_plus[i],"","",92,htmlFile,htmlDir); 01078 htmlAnyHisto(runNo,heHists.TS_sum_minus[i],"","",92,htmlFile,htmlDir); 01079 htmlFile << "</tr>"<<endl; 01080 } 01081 htmlFile <<"</table>"<<endl; 01082 01083 // HO Plots 01084 htmlFile << "<h2><strong><a name=\"HODIGI\">HO digi Plots</strong></h2>"<<endl; 01085 htmlFile <<"This shows expert-level information for the HO subdetector digis <br>"<<endl; 01086 htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl; 01087 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 01088 htmlFile << "cellpadding=\"10\"> " << endl; 01089 gStyle->SetPalette(1); 01090 htmlFile << "<tr align=\"left\">" << endl; 01091 htmlAnyHisto(runNo,hoHists.shape,"","",92,htmlFile,htmlDir); 01092 htmlAnyHisto(runNo,hoHists.shapeThresh,"","",92,htmlFile,htmlDir); 01093 htmlFile << "</tr>"<<endl; 01094 htmlFile << "<tr align=\"left\">" << endl; 01095 htmlAnyHisto(runNo,hoHists.BQ,"","",92,htmlFile,htmlDir); 01096 htmlAnyHisto(runNo,hoHists.BQFrac,"","",92,htmlFile,htmlDir); 01097 htmlFile << "</tr>"<<endl; 01098 htmlFile << "<tr align=\"left\">" << endl; 01099 htmlAnyHisto(runNo,hoHists.DigiFirstCapID,"","",92,htmlFile,htmlDir); 01100 htmlAnyHisto(runNo,hoHists.CapID,"","",92,htmlFile,htmlDir); 01101 htmlFile << "</tr>"<<endl; 01102 htmlFile << "<tr align=\"left\">" << endl; 01103 htmlAnyHisto(runNo,hoHists.ADC,"","",92,htmlFile,htmlDir); 01104 htmlAnyHisto(runNo,hoHists.ADCsum,"","",92,htmlFile,htmlDir); 01105 htmlFile << "</tr>"<<endl; 01106 htmlFile << "<tr align=\"left\">" << endl; 01107 htmlAnyHisto(runNo,hoHists.presample,"","",92,htmlFile,htmlDir); 01108 htmlAnyHisto(runNo,hoHists.DVerr,"","",92,htmlFile,htmlDir); 01109 htmlFile << "</tr>"<<endl; 01110 for (int i=0;i<9;++i) 01111 { 01112 htmlFile << "</tr>"<<endl; 01113 htmlAnyHisto(runNo,hoHists.TS_sum_plus[i],"","",92,htmlFile,htmlDir); 01114 htmlAnyHisto(runNo,hoHists.TS_sum_minus[i],"","",92,htmlFile,htmlDir); 01115 htmlFile << "</tr>"<<endl; 01116 } 01117 htmlFile <<"</table>"<<endl; 01118 01119 // HF Plots 01120 htmlFile << "<h2><strong><a name=\"HFDIGI\">HF digi Plots</strong></h2>"<<endl; 01121 htmlFile <<"This shows expert-level information for the HF subdetector digis <br>"<<endl; 01122 htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl; 01123 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 01124 htmlFile << "cellpadding=\"10\"> " << endl; 01125 gStyle->SetPalette(1); 01126 htmlFile << "<tr align=\"left\">" << endl; 01127 htmlAnyHisto(runNo,hfHists.shape,"","",92,htmlFile,htmlDir); 01128 htmlAnyHisto(runNo,hfHists.shapeThresh,"","",92,htmlFile,htmlDir); 01129 htmlFile << "</tr>"<<endl; 01130 htmlFile << "<tr align=\"left\">" << endl; 01131 htmlAnyHisto(runNo,hfHists.BQ,"","",92,htmlFile,htmlDir); 01132 htmlAnyHisto(runNo,hfHists.BQFrac,"","",92,htmlFile,htmlDir); 01133 htmlFile << "</tr>"<<endl; 01134 htmlFile << "<tr align=\"left\">" << endl; 01135 htmlAnyHisto(runNo,hfHists.DigiFirstCapID,"","",92,htmlFile,htmlDir); 01136 htmlAnyHisto(runNo,hfHists.CapID,"","",92,htmlFile,htmlDir); 01137 htmlFile << "</tr>"<<endl; 01138 htmlFile << "<tr align=\"left\">" << endl; 01139 htmlAnyHisto(runNo,hfHists.ADC,"","",92,htmlFile,htmlDir); 01140 htmlAnyHisto(runNo,hfHists.ADCsum,"","",92,htmlFile,htmlDir); 01141 htmlFile << "</tr>"<<endl; 01142 htmlFile << "<tr align=\"left\">" << endl; 01143 htmlAnyHisto(runNo,hfHists.presample,"","",92,htmlFile,htmlDir); 01144 htmlAnyHisto(runNo,hfHists.DVerr,"","",92,htmlFile,htmlDir); 01145 htmlFile << "</tr>"<<endl; 01146 for (int i=0;i<9;++i) 01147 { 01148 htmlFile << "</tr>"<<endl; 01149 htmlAnyHisto(runNo,hfHists.TS_sum_plus[i],"","",92,htmlFile,htmlDir); 01150 htmlAnyHisto(runNo,hfHists.TS_sum_minus[i],"","",92,htmlFile,htmlDir); 01151 htmlFile << "</tr>"<<endl; 01152 } 01153 htmlFile <<"</table>"<<endl; 01154 01155 // html page footer 01156 htmlFile << "</body> " << endl; 01157 htmlFile << "</html> " << endl; 01158 01159 htmlFile.close(); 01160 if (showTiming_) 01161 { 01162 cpu_timer.stop(); cout <<"TIMER:: HcalDigiClient HTML EXPERT -> "<<cpu_timer.cpuTime()<<endl; 01163 } 01164 return; 01165 }
WriteDB.
Definition at line 1451 of file HcalDigiClient.cc.
References funct::abs(), GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, edm::CPUTimer::cpuTime(), HcalBaseClient::dbe_, HcalBaseClient::debug_, HcalBaseClient::dqmReportMapErr_, HcalBaseClient::dqmReportMapOther_, HcalBaseClient::dqmReportMapWarn_, lat::endl(), eta, gen_hydjet_hard_muon_trigger_cfg::etaMin, getHistograms(), HcalBaseClient::hasErrors(), HcalBaseClient::hasOther(), HcalBaseClient::hasWarnings(), htmlAnyHisto(), htmlErrors(), htmlExpertOutput(), HcalBaseClient::ievt_, int, name, HcalBaseClient::pcol_error_, phi, ProblemDigis, ProblemDigisByDepth, HcalBaseClient::process_, edm::CPUTimer::reset(), HcalBaseClient::showTiming_, edm::CPUTimer::start(), and edm::CPUTimer::stop().
Referenced by HcalMonitorClient::htmlOutput().
01452 { 01453 if (showTiming_) 01454 { 01455 cpu_timer.reset(); cpu_timer.start(); 01456 } 01457 01458 if (debug_>0) cout << "<HcalDigiClient::htmlOutput> Preparing html output ..." << endl; 01459 01460 getHistograms(); // only do this here; no need to do it in regular analyze() method? 01461 01462 string client = "DigiMonitor"; 01463 htmlErrors(runNo,htmlDir,client,process_,dbe_,dqmReportMapErr_,dqmReportMapWarn_,dqmReportMapOther_); 01464 01465 ofstream htmlFile; 01466 htmlFile.open((htmlDir + htmlName).c_str()); 01467 01468 // html page header 01469 htmlFile << "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> " << endl; 01470 htmlFile << "<html> " << endl; 01471 htmlFile << "<head> " << endl; 01472 htmlFile << " <meta content=\"text/html; charset=ISO-8859-1\" " << endl; 01473 htmlFile << " https-equiv=\"content-type\"> " << endl; 01474 htmlFile << " <title>Monitor: Hcal Digi Task output</title> " << endl; 01475 htmlFile << "</head> " << endl; 01476 htmlFile << "<style type=\"text/css\"> td { font-weight: bold } </style>" << endl; 01477 htmlFile << "<body> " << endl; 01478 htmlFile << "<br> " << endl; 01479 htmlFile << "<h2>Run: " << endl; 01480 htmlFile << " <span " << endl; 01481 htmlFile << " style=\"color: rgb(0, 0, 153);\">" << runNo << "</span></h2>" << endl; 01482 htmlFile << "<h2>Monitoring task: <span " << endl; 01483 htmlFile << " style=\"color: rgb(0, 0, 153);\">Hcal Digis</span></h2> " << endl; 01484 htmlFile << "<h2>Events processed: " << endl; 01485 htmlFile << " <span " << endl; 01486 htmlFile << " style=\"color: rgb(0, 0, 153);\">" << ievt_ << "</span></h2>" << endl; 01487 htmlFile << "<hr>" << endl; 01488 htmlFile << "<table width=100% border=1><tr>" << endl; 01489 if(hasErrors())htmlFile << "<td bgcolor=red><a href=\"DigiMonitorErrors.html\">Errors in this task</a></td>" << endl; 01490 else htmlFile << "<td bgcolor=lime>No Errors</td>" << endl; 01491 if(hasWarnings()) htmlFile << "<td bgcolor=yellow><a href=\"DigiMonitorWarnings.html\">Warnings in this task</a></td>" << endl; 01492 else htmlFile << "<td bgcolor=lime>No Warnings</td>" << endl; 01493 if(hasOther()) htmlFile << "<td bgcolor=aqua><a href=\"DigiMonitorMessages.html\">Messages in this task</a></td>" << endl; 01494 else htmlFile << "<td bgcolor=lime>No Messages</td>" << endl; 01495 htmlFile << "</tr></table>" << endl; 01496 htmlFile << "<hr>" << endl; 01497 01498 htmlFile << "<h2><strong>Hcal Digi Status</strong></h2>" << endl; 01499 01500 htmlFile << "<table align=\"center\" border=\"0\" cellspacing=\"0\" " << endl; 01501 htmlFile << "cellpadding=\"10\"> " << endl; 01502 htmlFile << "<tr align=\"center\">" << endl; 01503 gStyle->SetPalette(20,pcol_error_); // set palette to standard error color scheme 01504 htmlAnyHisto(runNo,ProblemDigis,"i#eta","i#phi", 92, htmlFile, htmlDir); 01505 htmlFile<<"</tr>"<<endl; 01506 htmlFile<<"<tr align=\"center\"><td> A digi is considered bad if the digi size is incorrect, the cap ID rotation is incorrect, or the ADC sum for the digi is less than some threshold value. It is also considered bad if its error bit is on or its data valid bit is off."<<endl; 01507 01508 htmlFile<<"</td>"<<endl; 01509 htmlFile<<"</tr></table>"<<endl; 01510 htmlFile<<"<hr><table align=\"center\" border=\"0\" cellspacing=\"0\" " << endl; 01511 htmlFile << "cellpadding=\"10\"> " << endl; 01512 htmlFile << "<tr align=\"center\">" << endl; 01513 htmlFile<<"<tr><td align=center><a href=\"Expert_"<< htmlName<<"\"><h2>Detailed Digi Plots</h2> </a></br></td>"<<endl; 01514 htmlFile<<"</tr></table><br><hr>"<<endl; 01515 01516 // Now print out problem cells 01517 htmlFile <<"<br>"<<endl; 01518 htmlFile << "<h2><strong>Hcal Problem Digis</strong></h2>" << endl; 01519 htmlFile << "<table align=\"center\" border=\"1\" cellspacing=\"0\" " << endl; 01520 htmlFile << "cellpadding=\"10\"> " << endl; 01521 htmlFile << "<tr align=\"center\">" << endl; 01522 htmlFile <<"<td> Problem Digis<br>(ieta, iphi, depth)</td><td align=\"center\"> Fraction of Events <br>in which cells are bad (%)</td></tr>"<<endl; 01523 01524 if (ProblemDigis==0) 01525 { 01526 if (debug_>0) cout <<"<HcalDigiClient::htmlOutput> ERROR: can't find Problem Rec Hit plot!"<<endl; 01527 return; 01528 } 01529 int etabins = ProblemDigis->GetNbinsX(); 01530 int phibins = ProblemDigis->GetNbinsY(); 01531 float etaMin = ProblemDigis->GetXaxis()->GetXmin(); 01532 float phiMin = ProblemDigis->GetYaxis()->GetXmin(); 01533 01534 int eta,phi; 01535 01536 ostringstream name; 01537 for (int depth=0;depth<6; ++depth) 01538 { 01539 for (int ieta=1;ieta<=etabins;++ieta) 01540 { 01541 for (int iphi=1; iphi<=phibins;++iphi) 01542 { 01543 eta=ieta+int(etaMin)-1; 01544 phi=iphi+int(phiMin)-1; 01545 if (abs(eta)>20 && phi%2!=1) continue; 01546 if (abs(eta)>39 && phi%4!=3) continue; 01547 int mydepth=depth+1; 01548 if (mydepth>4) mydepth-=4; // last two depth values are for HE depth 1,2 01549 if (ProblemDigisByDepth[depth]==0) 01550 { 01551 continue; 01552 } 01553 if (ProblemDigisByDepth[depth]->GetBinContent(ieta,iphi)>0) 01554 { 01555 if (depth<2) 01556 (fabs(eta)<29) ? name<<"HB" : name<<"HF"; 01557 else if (depth==3) 01558 (fabs(eta)<42) ? name<<"HO" : name<<"ZDC"; 01559 else name <<"HE"; 01560 htmlFile<<"<td>"<<name.str().c_str()<<" ("<<eta<<", "<<phi<<", "<<mydepth<<")</td><td align=\"center\">"<<ProblemDigisByDepth[depth]->GetBinContent(ieta,iphi)*100.<<"</td></tr>"<<endl; 01561 01562 name.str(""); 01563 } 01564 } // for (int iphi=1;...) 01565 } // for (int ieta=1;...) 01566 } // for (int depth=0;...) 01567 01568 01569 // html page footer 01570 htmlFile <<"</table> " << endl; 01571 htmlFile << "</body> " << endl; 01572 htmlFile << "</html> " << endl; 01573 01574 htmlFile.close(); 01575 htmlExpertOutput(runNo, htmlDir, htmlName); 01576 01577 if (showTiming_) 01578 { 01579 cpu_timer.stop(); cout <<"TIMER:: HcalDigiClient HTMLOUTPUT -> "<<cpu_timer.cpuTime()<<endl; 01580 } 01581 01582 return; 01583 01584 }
void HcalDigiClient::init | ( | const edm::ParameterSet & | ps, | |
DQMStore * | dbe, | |||
string | clientName | |||
) | [virtual] |
Reimplemented from HcalBaseClient.
Definition at line 9 of file HcalDigiClient.cc.
References DigiClientHists::ADC, DigiClientHists::ADCsum, DigiClientHists::BQ, DigiClientHists::BQFrac, DigiClientHists::CapID, GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, edm::CPUTimer::cpuTime(), HcalBaseClient::debug_, DigiBQ, DigiBQFrac, DigiErrorEtaPhi, DigiErrorsBadADCSum, DigiErrorsBadCapID, DigiErrorsBadDigiSize, DigiErrorsDVErr, DigiErrorsNoDigi, DigiErrorSpigot, DigiErrorVME, DigiClientHists::DigiFirstCapID, DigiNum, DigiOccupancyByDepth, DigiOccupancyEta, DigiOccupancyPhi, DigiOccupancySpigot, DigiOccupancyVME, DigiSize, DigiClientHists::DVerr, lat::endl(), hbHists, heHists, hfHists, hoHists, i, HcalBaseClient::init(), DigiClientHists::presample, ProblemDigis, ProblemDigisByDepth, edm::CPUTimer::reset(), DigiClientHists::shape, DigiClientHists::shapeThresh, HcalBaseClient::showTiming_, edm::CPUTimer::start(), edm::CPUTimer::stop(), subdets_, DigiClientHists::TS_sum_minus, and DigiClientHists::TS_sum_plus.
Referenced by HcalMonitorClient::initialize().
00010 { 00011 //Call the base class first 00012 HcalBaseClient::init(ps,dbe,clientName); 00013 00014 if (showTiming_) 00015 { 00016 cpu_timer.reset(); cpu_timer.start(); 00017 } 00018 00019 if (debug_>0) 00020 cout <<"<HcalDigiClient> init(const ParameterSet& ps, QMStore* dbe, string clientName)"<<endl; 00021 00022 //errorFrac_=ps.getUntrackedParameter<double>("digiErrorFrac",0.05); 00023 00024 hbHists.shape =0; 00025 heHists.shape =0; 00026 hoHists.shape =0; 00027 hfHists.shape =0; 00028 hbHists.shapeThresh =0; 00029 heHists.shapeThresh =0; 00030 hoHists.shapeThresh =0; 00031 hfHists.shapeThresh =0; 00032 hbHists.presample =0; 00033 heHists.presample =0; 00034 hoHists.presample =0; 00035 hfHists.presample =0; 00036 hbHists.BQ =0; 00037 heHists.BQ =0; 00038 hoHists.BQ =0; 00039 hfHists.BQ =0; 00040 hbHists.BQFrac =0; 00041 heHists.BQFrac =0; 00042 hoHists.BQFrac =0; 00043 hfHists.BQFrac =0; 00044 hbHists.DigiFirstCapID =0; 00045 heHists.DigiFirstCapID =0; 00046 hoHists.DigiFirstCapID =0; 00047 hfHists.DigiFirstCapID =0; 00048 hbHists.DVerr =0; 00049 heHists.DVerr =0; 00050 hoHists.DVerr =0; 00051 hfHists.DVerr =0; 00052 hbHists.CapID =0; 00053 heHists.CapID =0; 00054 hoHists.CapID =0; 00055 hfHists.CapID =0; 00056 hbHists.ADC =0; 00057 heHists.ADC =0; 00058 hoHists.ADC =0; 00059 hfHists.ADC =0; 00060 hbHists.ADCsum =0; 00061 heHists.ADCsum =0; 00062 hoHists.ADCsum =0; 00063 hfHists.ADCsum =0; 00064 DigiSize =0; 00065 DigiOccupancyEta =0; 00066 DigiOccupancyPhi =0; 00067 DigiNum =0; 00068 DigiBQ =0; 00069 DigiBQFrac =0; 00070 ProblemDigis =0; 00071 DigiOccupancyVME =0; 00072 DigiOccupancySpigot =0; 00073 DigiErrorEtaPhi =0; 00074 DigiErrorVME =0; 00075 DigiErrorSpigot =0; 00076 for (int i=0;i<6;++i) 00077 { 00078 ProblemDigisByDepth[i] =0; 00079 DigiErrorsBadCapID[i] =0; 00080 DigiErrorsBadDigiSize[i] =0; 00081 DigiErrorsBadADCSum[i] =0; 00082 DigiErrorsNoDigi[i] =0; 00083 DigiErrorsDVErr[i] =0; 00084 DigiOccupancyByDepth[i] =0; 00085 } // for (int i=0;i<6;++i) 00086 00087 for (int i=0;i<9;++i) 00088 { 00089 hbHists.TS_sum_plus[i]=0; 00090 hbHists.TS_sum_minus[i]=0; 00091 heHists.TS_sum_plus[i]=0; 00092 heHists.TS_sum_minus[i]=0; 00093 hoHists.TS_sum_plus[i]=0; 00094 hoHists.TS_sum_minus[i]=0; 00095 hfHists.TS_sum_plus[i]=0; 00096 hfHists.TS_sum_minus[i]=0; 00097 } 00098 00099 subdets_.push_back("HB HF Depth 1 "); 00100 subdets_.push_back("HB HF Depth 2 "); 00101 subdets_.push_back("HE Depth 3 "); 00102 subdets_.push_back("HO ZDC "); 00103 subdets_.push_back("HE Depth 1 "); 00104 subdets_.push_back("HE Depth 2 "); 00105 00106 if (showTiming_) 00107 { 00108 cpu_timer.stop(); cout <<"TIMER:: HcalDigiClient INIT -> "<<cpu_timer.cpuTime()<<endl; 00109 } 00110 return; 00111 } // void HcalDigiClient::init(...)
void HcalDigiClient::loadHistograms | ( | TFile * | f | ) |
Definition at line 1220 of file HcalDigiClient.cc.
References DigiClientHists::ADC, DigiClientHists::ADCsum, DigiClientHists::BQ, DigiClientHists::BQFrac, DigiClientHists::CapID, GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, DigiBQ, DigiBQFrac, DigiErrorEtaPhi, DigiErrorsBadADCSum, DigiErrorsBadCapID, DigiErrorsBadDigiSize, DigiErrorsDVErr, DigiErrorsNoDigi, DigiErrorSpigot, DigiErrorVME, DigiClientHists::DigiFirstCapID, DigiNum, DigiOccupancyByDepth, DigiOccupancyEta, DigiOccupancyPhi, DigiOccupancySpigot, DigiOccupancyVME, DigiSize, DigiClientHists::DVerr, lat::endl(), hbHists, heHists, hfHists, hoHists, i, HcalBaseClient::ievt_, name, DigiClientHists::presample, ProblemDigis, ProblemDigisByDepth, HcalBaseClient::process_, s, DigiClientHists::shape, DigiClientHists::shapeThresh, subdets_, DigiClientHists::TS_sum_minus, and DigiClientHists::TS_sum_plus.
01220 { 01221 01222 if (debug_>0) cout <<"HcalDigiClient> loadHistograms(TFile* infile)"<<endl; 01223 01224 TNamed* tnd = (TNamed*)infile->Get("DQMData/Hcal/DigiMonitor_Hcal/Digi Task Event Number"); 01225 if(tnd){ 01226 string s =tnd->GetTitle(); 01227 ievt_ = -1; 01228 sscanf((s.substr(2,s.length()-2)).c_str(), "%d", &ievt_); 01229 } 01230 01231 ostringstream name; 01232 01233 //Load Histograms 01234 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Digi Shape"; 01235 hbHists.shape = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01236 name.str(""); 01237 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Digi Shape"; 01238 heHists.shape = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01239 name.str(""); 01240 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Digi Shape"; 01241 hoHists.shape = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01242 name.str(""); 01243 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Digi Shape"; 01244 hfHists.shape = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01245 name.str(""); 01246 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Digi Shape - over thresh"; 01247 hbHists.shapeThresh = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01248 name.str(""); 01249 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Digi Shape - over thresh"; 01250 heHists.shapeThresh = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01251 name.str(""); 01252 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Digi Shape - over thresh"; 01253 hoHists.shapeThresh = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01254 name.str(""); 01255 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Digi Shape - over thresh"; 01256 hfHists.shapeThresh = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01257 name.str(""); 01258 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Digi Presamples"; 01259 hbHists.presample = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01260 name.str(""); 01261 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Digi Presamples"; 01262 heHists.presample = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01263 name.str(""); 01264 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Digi Presamples"; 01265 hoHists.presample = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01266 name.str(""); 01267 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Digi Presamples"; 01268 hfHists.presample = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01269 name.str(""); 01270 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Bad Quality Digis"; 01271 hbHists.BQ = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01272 name.str(""); 01273 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Bad Quality Digis"; 01274 heHists.BQ = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01275 name.str(""); 01276 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Bad Quality Digis"; 01277 hoHists.BQ = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01278 name.str(""); 01279 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Bad Quality Digis"; 01280 hfHists.BQ = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01281 name.str(""); 01282 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Bad Quality Digi Fraction"; 01283 hbHists.BQFrac = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01284 name.str(""); 01285 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Bad Quality Digi Fraction"; 01286 heHists.BQFrac = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01287 name.str(""); 01288 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Bad Quality Digi Fraction"; 01289 hoHists.BQFrac = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01290 name.str(""); 01291 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Bad Quality Digi Fraction"; 01292 hfHists.BQFrac = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01293 name.str(""); 01294 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Capid 1st Time Slice"; 01295 hbHists.DigiFirstCapID = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01296 name.str(""); 01297 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Capid 1st Time Slice"; 01298 heHists.DigiFirstCapID = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01299 name.str(""); 01300 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Capid 1st Time Slice"; 01301 hoHists.DigiFirstCapID = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01302 name.str(""); 01303 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Capid 1st Time Slice"; 01304 hfHists.DigiFirstCapID = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01305 name.str(""); 01306 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Data Valid Err Bits"; 01307 hbHists.DVerr = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01308 name.str(""); 01309 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Data Valid Err Bits"; 01310 heHists.DVerr = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01311 name.str(""); 01312 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Data Valid Err Bits"; 01313 hoHists.DVerr = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01314 name.str(""); 01315 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Data Valid Err Bits"; 01316 hfHists.DVerr = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01317 name.str(""); 01318 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB CapID"; 01319 hbHists.CapID = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01320 name.str(""); 01321 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE CapID"; 01322 heHists.CapID = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01323 name.str(""); 01324 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO CapID"; 01325 hoHists.CapID = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01326 name.str(""); 01327 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF CapID"; 01328 hfHists.CapID = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01329 name.str(""); 01330 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB ADC count per time slice"; 01331 hbHists.ADC = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01332 name.str(""); 01333 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE ADC count per time slice"; 01334 heHists.ADC = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01335 name.str(""); 01336 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO ADC count per time slice"; 01337 hoHists.ADC = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01338 name.str(""); 01339 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF ADC count per time slice"; 01340 hfHists.ADC = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01341 name.str(""); 01342 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB ADC sum"; 01343 hbHists.ADCsum = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01344 name.str(""); 01345 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE ADC sum"; 01346 heHists.ADCsum = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01347 name.str(""); 01348 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO ADC sum"; 01349 hoHists.ADCsum = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01350 name.str(""); 01351 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF ADC sum"; 01352 hfHists.ADCsum = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01353 name.str(""); 01354 name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/baddigisize/ Digis with Bad Size"; 01355 DigiSize = static_cast<TH2F*>(infile->Get(name.str().c_str())); 01356 name.str(""); 01357 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Eta Occupancy Map"; 01358 DigiOccupancyEta = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01359 name.str(""); 01360 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Phi Occupancy Map"; 01361 DigiOccupancyPhi = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01362 name.str(""); 01363 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/# of Digis"; 01364 DigiNum = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01365 name.str(""); 01366 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/# Bad Qual Digis"; 01367 DigiBQ = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01368 name.str(""); 01369 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Bad Digi Fraction"; 01370 DigiBQFrac = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01371 name.str(""); 01372 name<<process_.c_str()<<"DigiMonitor_Hcal/ ProblemDigis"; 01373 ProblemDigis = static_cast<TH2F*>(infile->Get(name.str().c_str())); 01374 name.str(""); 01375 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi VME Occupancy Map"; 01376 DigiOccupancyVME = static_cast<TH2F*>(infile->Get(name.str().c_str())); 01377 name.str(""); 01378 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Spigot Occupancy Map"; 01379 DigiOccupancySpigot = static_cast<TH2F*>(infile->Get(name.str().c_str())); 01380 name.str(""); 01381 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Digi Geo Error Map"; 01382 DigiErrorEtaPhi = static_cast<TH2F*>(infile->Get(name.str().c_str())); 01383 name.str(""); 01384 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Digi VME Error Map"; 01385 DigiErrorVME = static_cast<TH2F*>(infile->Get(name.str().c_str())); 01386 name.str(""); 01387 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Digi Spigot Error Map"; 01388 DigiErrorSpigot = static_cast<TH2F*>(infile->Get(name.str().c_str())); 01389 name.str(""); 01390 01391 for (int i=0;i<9;++i) 01392 { 01393 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Plus Time Slices "<<i<<" and "<<i+1; //hbHists.TS_sum_plus[i] 01394 hbHists.TS_sum_plus[i] = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01395 name.str(""); 01396 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Plus Time Slices "<<i<<" and "<<i+1; //heHists.TS_sum_plus[i] 01397 heHists.TS_sum_plus[i] = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01398 name.str(""); 01399 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Plus Time Slices "<<i<<" and "<<i+1; //hoHists.TS_sum_plus[i] 01400 hoHists.TS_sum_plus[i] = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01401 name.str(""); 01402 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Plus Time Slices "<<i<<" and "<<i+1; //hfHists.TS_sum_plus[i] 01403 hfHists.TS_sum_plus[i] = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01404 name.str(""); 01405 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Minus Time Slices "<<i<<" and "<<i+1; //hbHists.TS_sum_minus[i] 01406 hbHists.TS_sum_minus[i] = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01407 name.str(""); 01408 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Minus Time Slices "<<i<<" and "<<i+1; //heHists.TS_sum_minus[i] 01409 heHists.TS_sum_minus[i] = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01410 name.str(""); 01411 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Minus Time Slices "<<i<<" and "<<i+1; //hoHists.TS_sum_minus[i] 01412 hoHists.TS_sum_minus[i] = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01413 name.str(""); 01414 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Minus Time Slices "<<i<<" and "<<i+1; //hfHists.TS_sum_minus[i] 01415 hfHists.TS_sum_minus[i] = static_cast<TH1F*>(infile->Get(name.str().c_str())); 01416 name.str(""); 01417 } // for (int i=0;i<9;++i) 01418 01419 for (int i=0;i<6;++i) 01420 { 01421 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/"<<subdets_[i]<<" Digi Eta-Phi Occupancy Map"; 01422 DigiOccupancyByDepth[i] = static_cast<TH2F*>(infile->Get(name.str().c_str())); 01423 name.str(""); 01424 name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/"<<subdets_[i]<<" Problem Digi Rate"; 01425 ProblemDigisByDepth[i] = static_cast<TH2F*>(infile->Get(name.str().c_str())); 01426 name.str(""); 01427 name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/badcapID/"<<subdets_[i]<<" Digis with Bad Cap ID Rotation"; 01428 DigiErrorsBadCapID[i] = static_cast<TH2F*>(infile->Get(name.str().c_str())); 01429 name.str(""); 01430 name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/baddigisize/"<<subdets_[i]<<" Digis with Bad Size"; 01431 DigiErrorsBadDigiSize[i] = static_cast<TH2F*>(infile->Get(name.str().c_str())); 01432 name.str(""); 01433 name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/badADCsum/"<<subdets_[i]<<" Digis with ADC sum below threshold ADC counts"; 01434 DigiErrorsBadADCSum[i] = static_cast<TH2F*>(infile->Get(name.str().c_str())); 01435 name.str(""); 01436 name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/nodigis/"<<subdets_[i]<<" Digis Missing for a Number of Consecutive Events"; 01437 DigiErrorsNoDigi[i] = static_cast<TH2F*>(infile->Get(name.str().c_str())); 01438 name.str(""); 01439 name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/data_invalid_error/"<<subdets_[i]<<" Digis with Data Invalid or Error Bit Set"; 01440 DigiErrorsDVErr[i] = static_cast<TH2F*>(infile->Get(name.str().c_str())); 01441 name.str(""); 01442 } // for (int i=0;i<6;++i) 01443 01444 01445 return; 01446 } // void HcalDigiClient::loadHistograms()
void HcalDigiClient::report | ( | ) |
process report
Definition at line 325 of file HcalDigiClient.cc.
References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, edm::CPUTimer::cpuTime(), HcalBaseClient::dbe_, HcalBaseClient::debug_, lat::endl(), DQMStore::get(), getHistograms(), HcalBaseClient::ievt_, me, name, HcalBaseClient::process_, edm::CPUTimer::reset(), s, HcalBaseClient::showTiming_, edm::CPUTimer::start(), edm::CPUTimer::stop(), and MonitorElement::valueString().
Referenced by HcalMonitorClient::report().
00325 { 00326 if (showTiming_) 00327 { 00328 cpu_timer.reset(); cpu_timer.start(); 00329 } 00330 if ( debug_ ) cout << "HcalDigiClient: report" << endl; 00331 00332 ostringstream name; 00333 name<<process_.c_str()<<"Hcal/DigiMonitor_Hcal/Digi Task Event Number"; 00334 MonitorElement* me = 0; 00335 if(dbe_) me = dbe_->get(name.str().c_str()); 00336 if ( me ) 00337 { 00338 string s = me->valueString(); 00339 ievt_ = -1; 00340 sscanf((s.substr(2,s.length()-2)).c_str(), "%d", &ievt_); 00341 if ( debug_ ) cout << "Found '" << name.str().c_str() << "'" << endl; 00342 } 00343 name.str(""); 00344 getHistograms(); 00345 00346 if (showTiming_) 00347 { 00348 cpu_timer.stop(); cout <<"TIMER:: HcalDigiClient REPORT -> "<<cpu_timer.cpuTime()<<endl; 00349 } 00350 return; 00351 }
void HcalDigiClient::resetAllME | ( | ) |
Definition at line 584 of file HcalDigiClient.cc.
References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, edm::CPUTimer::cpuTime(), HcalBaseClient::dbe_, HcalBaseClient::debug_, lat::endl(), i, name, HcalBaseClient::process_, edm::CPUTimer::reset(), resetME(), HcalBaseClient::showTiming_, edm::CPUTimer::start(), edm::CPUTimer::stop(), and subdets_.
Referenced by beginJob(), beginRun(), and HcalMonitorClient::resetAllME().
00585 { 00586 if (debug_>0) cout <<"HcalDigiClient> resetAllME()"<<endl; 00587 if(!dbe_) return; 00588 if (showTiming_) 00589 { 00590 cpu_timer.reset(); cpu_timer.start(); 00591 } 00592 00593 ostringstream name; 00594 // Reset 00595 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Digi Shape"; 00596 resetME(name.str().c_str(),dbe_); 00597 name.str(""); 00598 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Digi Shape"; 00599 resetME(name.str().c_str(),dbe_); 00600 name.str(""); 00601 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Digi Shape"; 00602 resetME(name.str().c_str(),dbe_); 00603 name.str(""); 00604 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Digi Shape"; 00605 resetME(name.str().c_str(),dbe_); 00606 name.str(""); 00607 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Digi Shape - over thresh"; 00608 resetME(name.str().c_str(),dbe_); 00609 name.str(""); 00610 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Digi Shape - over thresh"; 00611 resetME(name.str().c_str(),dbe_); 00612 name.str(""); 00613 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Digi Shape - over thresh"; 00614 resetME(name.str().c_str(),dbe_); 00615 name.str(""); 00616 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Digi Shape - over thresh"; 00617 resetME(name.str().c_str(),dbe_); 00618 name.str(""); 00619 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Digi Presamples"; 00620 resetME(name.str().c_str(),dbe_); 00621 name.str(""); 00622 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Digi Presamples"; 00623 resetME(name.str().c_str(),dbe_); 00624 name.str(""); 00625 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Digi Presamples"; 00626 resetME(name.str().c_str(),dbe_); 00627 name.str(""); 00628 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Digi Presamples"; 00629 resetME(name.str().c_str(),dbe_); 00630 name.str(""); 00631 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Bad Quality Digis"; 00632 resetME(name.str().c_str(),dbe_); 00633 name.str(""); 00634 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Bad Quality Digis"; 00635 resetME(name.str().c_str(),dbe_); 00636 name.str(""); 00637 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Bad Quality Digis"; 00638 resetME(name.str().c_str(),dbe_); 00639 name.str(""); 00640 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Bad Quality Digis"; 00641 resetME(name.str().c_str(),dbe_); 00642 name.str(""); 00643 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Bad Quality Digi Fraction"; 00644 resetME(name.str().c_str(),dbe_); 00645 name.str(""); 00646 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Bad Quality Digi Fraction"; 00647 resetME(name.str().c_str(),dbe_); 00648 name.str(""); 00649 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Bad Quality Digi Fraction"; 00650 resetME(name.str().c_str(),dbe_); 00651 name.str(""); 00652 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Bad Quality Digi Fraction"; 00653 resetME(name.str().c_str(),dbe_); 00654 name.str(""); 00655 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Capid 1st Time Slice"; 00656 resetME(name.str().c_str(),dbe_); 00657 name.str(""); 00658 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Capid 1st Time Slice"; 00659 resetME(name.str().c_str(),dbe_); 00660 name.str(""); 00661 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Capid 1st Time Slice"; 00662 resetME(name.str().c_str(),dbe_); 00663 name.str(""); 00664 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Capid 1st Time Slice"; 00665 resetME(name.str().c_str(),dbe_); 00666 name.str(""); 00667 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Data Valid Err Bits"; 00668 resetME(name.str().c_str(),dbe_); 00669 name.str(""); 00670 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Data Valid Err Bits"; 00671 resetME(name.str().c_str(),dbe_); 00672 name.str(""); 00673 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Data Valid Err Bits"; 00674 resetME(name.str().c_str(),dbe_); 00675 name.str(""); 00676 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Data Valid Err Bits"; 00677 resetME(name.str().c_str(),dbe_); 00678 name.str(""); 00679 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB CapID"; 00680 resetME(name.str().c_str(),dbe_); 00681 name.str(""); 00682 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE CapID"; 00683 resetME(name.str().c_str(),dbe_); 00684 name.str(""); 00685 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO CapID"; 00686 resetME(name.str().c_str(),dbe_); 00687 name.str(""); 00688 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF CapID"; 00689 resetME(name.str().c_str(),dbe_); 00690 name.str(""); 00691 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB ADC count per time slice"; 00692 resetME(name.str().c_str(),dbe_); 00693 name.str(""); 00694 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE ADC count per time slice"; 00695 resetME(name.str().c_str(),dbe_); 00696 name.str(""); 00697 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO ADC count per time slice"; 00698 resetME(name.str().c_str(),dbe_); 00699 name.str(""); 00700 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF ADC count per time slice"; 00701 resetME(name.str().c_str(),dbe_); 00702 name.str(""); 00703 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB ADC sum"; 00704 resetME(name.str().c_str(),dbe_); 00705 name.str(""); 00706 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE ADC sum"; 00707 resetME(name.str().c_str(),dbe_); 00708 name.str(""); 00709 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO ADC sum"; 00710 resetME(name.str().c_str(),dbe_); 00711 name.str(""); 00712 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF ADC sum"; 00713 resetME(name.str().c_str(),dbe_); 00714 name.str(""); 00715 name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/baddigisize/ Digis with Bad Size"; 00716 resetME(name.str().c_str(),dbe_); 00717 name.str(""); 00718 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Eta Occupancy Map"; 00719 resetME(name.str().c_str(),dbe_); 00720 name.str(""); 00721 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Phi Occupancy Map"; 00722 resetME(name.str().c_str(),dbe_); 00723 name.str(""); 00724 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/# of Digis"; 00725 resetME(name.str().c_str(),dbe_); 00726 name.str(""); 00727 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/# Bad Qual Digis"; 00728 resetME(name.str().c_str(),dbe_); 00729 name.str(""); 00730 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Bad Digi Fraction"; 00731 resetME(name.str().c_str(),dbe_); 00732 name.str(""); 00733 name<<process_.c_str()<<"DigiMonitor_Hcal/ ProblemDigis"; 00734 resetME(name.str().c_str(),dbe_); 00735 name.str(""); 00736 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Eta-Phi Occupancy Map"; 00737 resetME(name.str().c_str(),dbe_); 00738 name.str(""); 00739 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi VME Occupancy Map"; 00740 resetME(name.str().c_str(),dbe_); 00741 name.str(""); 00742 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Spigot Occupancy Map"; 00743 resetME(name.str().c_str(),dbe_); 00744 name.str(""); 00745 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Digi Geo Error Map"; 00746 resetME(name.str().c_str(),dbe_); 00747 name.str(""); 00748 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Digi VME Error Map"; 00749 resetME(name.str().c_str(),dbe_); 00750 name.str(""); 00751 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Digi Spigot Error Map"; 00752 resetME(name.str().c_str(),dbe_); 00753 name.str(""); 00754 00755 for (int i=0;i<9;++i) 00756 { 00757 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Plus Time Slices "<<i<<" and "<<i+1; //hbHists.TS_sum_plus[i] 00758 resetME(name.str().c_str(),dbe_); 00759 name.str(""); 00760 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Plus Time Slices "<<i<<" and "<<i+1; //heHists.TS_sum_plus[i] 00761 resetME(name.str().c_str(),dbe_); 00762 name.str(""); 00763 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Plus Time Slices "<<i<<" and "<<i+1; //hoHists.TS_sum_plus[i] 00764 resetME(name.str().c_str(),dbe_); 00765 name.str(""); 00766 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Plus Time Slices "<<i<<" and "<<i+1; //hfHists.TS_sum_plus[i] 00767 resetME(name.str().c_str(),dbe_); 00768 name.str(""); 00769 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Minus Time Slices "<<i<<" and "<<i+1; //hbHists.TS_sum_minus[i] 00770 resetME(name.str().c_str(),dbe_); 00771 name.str(""); 00772 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Minus Time Slices "<<i<<" and "<<i+1; //heHists.TS_sum_minus[i] 00773 resetME(name.str().c_str(),dbe_); 00774 name.str(""); 00775 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Minus Time Slices "<<i<<" and "<<i+1; //hoHists.TS_sum_minus[i] 00776 resetME(name.str().c_str(),dbe_); 00777 name.str(""); 00778 name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Minus Time Slices "<<i<<" and "<<i+1; //hfHists.TS_sum_minus[i] 00779 resetME(name.str().c_str(),dbe_); 00780 name.str(""); 00781 } // for (int i=0;i<9;++i) 00782 00783 for (int i=0;i<6;++i) 00784 { 00785 name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/"<<subdets_[i]<<" Problem Digi Rate"; 00786 resetME(name.str().c_str(),dbe_); 00787 name.str(""); 00788 name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/badcapID/"<<subdets_[i]<<" Digis with Bad Cap ID Rotation"; 00789 resetME(name.str().c_str(),dbe_); 00790 name.str(""); 00791 name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/baddigisize/"<<subdets_[i]<<" Digis with Bad Size"; 00792 resetME(name.str().c_str(),dbe_); 00793 name.str(""); 00794 name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/badADCsum/"<<subdets_[i]<<" Digis with ADC sum below threshold ADC counts"; 00795 resetME(name.str().c_str(),dbe_); 00796 name.str(""); 00797 name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/nodigis/"<<subdets_[i]<<" Digis Missing for a Number of Consecutive Events"; 00798 resetME(name.str().c_str(),dbe_); 00799 name.str(""); 00800 name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/data_invalid_error/"<<subdets_[i]<<" Digis with Data Invalid or Error Bit Set"; 00801 resetME(name.str().c_str(),dbe_); 00802 name.str(""); 00803 } // for (int i=0;i<6;++i) 00804 if (showTiming_) 00805 { 00806 cpu_timer.stop(); cout <<"TIMER:: HcalDigiClient RESET ALL ME -> "<<cpu_timer.cpuTime()<<endl; 00807 } 00808 return; 00809 } // void HcalDigiClient::resetAllME()
TH1F* HcalDigiClient::DigiBQ [private] |
Definition at line 100 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH1F* HcalDigiClient::DigiBQFrac [private] |
Definition at line 101 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
int HcalDigiClient::digiclient_checkNevents_ [private] |
Definition at line 78 of file HcalDigiClient.h.
Definition at line 77 of file HcalDigiClient.h.
TH2F* HcalDigiClient::DigiErrorEtaPhi [private] |
Definition at line 92 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), init(), and loadHistograms().
TH2F* HcalDigiClient::DigiErrorsBadADCSum[6] [private] |
Definition at line 86 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalDigiClient::DigiErrorsBadCapID[6] [private] |
Definition at line 84 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalDigiClient::DigiErrorsBadDigiSize[6] [private] |
Definition at line 85 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalDigiClient::DigiErrorsDVErr[6] [private] |
Definition at line 88 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalDigiClient::DigiErrorsNoDigi[6] [private] |
Definition at line 87 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalDigiClient::DigiErrorSpigot [private] |
Definition at line 94 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), init(), and loadHistograms().
TH2F* HcalDigiClient::DigiErrorVME [private] |
Definition at line 93 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), init(), and loadHistograms().
TH1F* HcalDigiClient::DigiNum [private] |
Definition at line 99 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalDigiClient::DigiOccupancyByDepth[6] [private] |
Definition at line 89 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH1F* HcalDigiClient::DigiOccupancyEta [private] |
Definition at line 97 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH1F* HcalDigiClient::DigiOccupancyPhi [private] |
Definition at line 98 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalDigiClient::DigiOccupancySpigot [private] |
Definition at line 91 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalDigiClient::DigiOccupancyVME [private] |
Definition at line 90 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalDigiClient::DigiSize [private] |
Definition at line 96 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
DigiClientHists HcalDigiClient::hbHists [private] |
Definition at line 103 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
DigiClientHists HcalDigiClient::heHists [private] |
Definition at line 103 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
DigiClientHists HcalDigiClient::hfHists [private] |
Definition at line 103 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
DigiClientHists HcalDigiClient::hoHists [private] |
Definition at line 103 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalDigiClient::ProblemDigis [private] |
Definition at line 82 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlOutput(), init(), and loadHistograms().
TH2F* HcalDigiClient::ProblemDigisByDepth[6] [private] |
Definition at line 83 of file HcalDigiClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), htmlOutput(), init(), and loadHistograms().
vector<std::string> HcalDigiClient::subdets_ [private] |
Definition at line 76 of file HcalDigiClient.h.
Referenced by init(), loadHistograms(), and resetAllME().