#include <DQM/HcalMonitorClient/interface/HcalDeadCellClient.h>
Definition at line 12 of file HcalDeadCellClient.h.
HcalDeadCellClient::HcalDeadCellClient | ( | ) |
HcalDeadCellClient::~HcalDeadCellClient | ( | ) |
Destructor.
Definition at line 72 of file HcalDeadCellClient.cc.
References cleanup().
00073 { 00074 this->cleanup(); 00075 } // destructor
Analyze.
Definition at line 278 of file HcalDeadCellClient.cc.
References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, lat::endl(), and HcalBaseClient::jevt_.
Referenced by HcalMonitorClient::analyze().
00279 { 00280 jevt_++; 00281 if ( jevt_ % 10 == 0 ) 00282 { 00283 if ( debug_>1 ) cout << "<HcalDeadCellClient::analyze> Running analyze "<<endl; 00284 } 00285 //getHistograms(); // not needed here? 00286 return; 00287 } // void HcalDeadCellClient::analyze(void)
void HcalDeadCellClient::beginJob | ( | const EventSetup & | c | ) |
BeginJob.
Definition at line 78 of file HcalDeadCellClient.cc.
References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, lat::endl(), HcalBaseClient::ievt_, HcalBaseClient::jevt_, and setup().
Referenced by HcalMonitorClient::beginJob().
00078 { 00079 00080 if ( debug_>1 ) cout << "HcalDeadCellClient: beginJob" << endl; 00081 00082 ievt_ = 0; 00083 jevt_ = 0; 00084 this->setup(); 00085 return; 00086 } // void HcalDeadCellClient::beginJob(const EventSetup& eventSetup);
BeginRun.
Definition at line 89 of file HcalDeadCellClient.cc.
References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, lat::endl(), HcalBaseClient::jevt_, resetAllME(), and setup().
Referenced by HcalMonitorClient::beginRun().
00090 { 00091 if ( debug_>1 ) cout << "HcalDeadCellClient: beginRun" << endl; 00092 00093 jevt_ = 0; 00094 this->setup(); 00095 this->resetAllME(); 00096 return; 00097 } // void HcalDeadCellClient::beginRun(void)
Cleanup.
Definition at line 124 of file HcalDeadCellClient.cc.
References BelowEnergyThresholdCellsByDepth, BelowNeighborsDeadCellsByDepth, BelowPedestalDeadCellsByDepth, HcalBaseClient::cloneME_, d_HBenergyVsNeighbor, d_HBnormped, d_HBrechitenergy, d_HEenergyVsNeighbor, d_HEnormped, d_HErechitenergy, d_HFenergyVsNeighbor, d_HFnormped, d_HFrechitenergy, d_HOenergyVsNeighbor, d_HOnormped, d_HOrechitenergy, deadclient_makeDiagnostics_, HcalBaseClient::dqmQtests_, HcalBaseClient::dqmReportMapErr_, HcalBaseClient::dqmReportMapOther_, HcalBaseClient::dqmReportMapWarn_, i, ProblemDeadCells, ProblemDeadCellsByDepth, and UnoccupiedDeadCellsByDepth.
Referenced by endJob(), endRun(), and ~HcalDeadCellClient().
00125 { 00126 if(cloneME_) 00127 { 00128 // delete individual histogram pointers 00129 if (ProblemDeadCells) delete ProblemDeadCells; 00130 00131 for (int i=0;i<6;++i) 00132 { 00133 // delete pointers within arrays of histograms 00134 if (ProblemDeadCellsByDepth[i]) delete ProblemDeadCellsByDepth[i]; 00135 if (UnoccupiedDeadCellsByDepth[i]) delete UnoccupiedDeadCellsByDepth[i]; 00136 if (BelowPedestalDeadCellsByDepth[i]) delete BelowPedestalDeadCellsByDepth[i]; 00137 if (BelowNeighborsDeadCellsByDepth[i]) delete BelowNeighborsDeadCellsByDepth[i]; 00138 if (BelowEnergyThresholdCellsByDepth[i]) delete BelowEnergyThresholdCellsByDepth[i]; 00139 } 00140 00141 if (deadclient_makeDiagnostics_) 00142 { 00143 if (d_HBnormped) delete d_HBnormped; 00144 if (d_HBrechitenergy) delete d_HBrechitenergy; 00145 if (d_HBenergyVsNeighbor) delete d_HBenergyVsNeighbor; 00146 if (d_HEnormped) delete d_HEnormped; 00147 if (d_HErechitenergy) delete d_HErechitenergy; 00148 if (d_HEenergyVsNeighbor) delete d_HEenergyVsNeighbor; 00149 if (d_HOnormped) delete d_HOnormped; 00150 if (d_HOrechitenergy) delete d_HOrechitenergy; 00151 if (d_HOenergyVsNeighbor) delete d_HOenergyVsNeighbor; 00152 if (d_HFnormped) delete d_HFnormped; 00153 if (d_HFrechitenergy) delete d_HFrechitenergy; 00154 if (d_HFenergyVsNeighbor) delete d_HFenergyVsNeighbor; 00155 } // if (deadclient_makeDiagnostics_) 00156 00157 00158 } 00159 00160 // Set individual pointers to NULL 00161 ProblemDeadCells = 0; 00162 00163 for (int i=0;i<6;++i) 00164 { 00165 // Set each array's pointers to NULL 00166 ProblemDeadCellsByDepth[i]=0; 00167 UnoccupiedDeadCellsByDepth[i]=0; 00168 BelowPedestalDeadCellsByDepth[i]=0; 00169 BelowNeighborsDeadCellsByDepth[i]=0; 00170 BelowEnergyThresholdCellsByDepth[i]=0; 00171 } 00172 00173 if (deadclient_makeDiagnostics_) 00174 { 00175 d_HBnormped=0; 00176 d_HBrechitenergy=0; 00177 d_HBenergyVsNeighbor=0; 00178 d_HEnormped=0; 00179 d_HErechitenergy=0; 00180 d_HEenergyVsNeighbor=0; 00181 d_HOnormped=0; 00182 d_HOrechitenergy=0; 00183 d_HOenergyVsNeighbor=0; 00184 d_HFnormped=0; 00185 d_HFrechitenergy=0; 00186 d_HFenergyVsNeighbor=0; 00187 } // if (deadclient_makeDiagnostics_) 00188 00189 dqmReportMapErr_.clear(); 00190 dqmReportMapWarn_.clear(); 00191 dqmReportMapOther_.clear(); 00192 dqmQtests_.clear(); 00193 00194 return; 00195 } // void HcalDeadCellClient::cleanup(void)
void HcalDeadCellClient::createTests | ( | ) |
Definition at line 290 of file HcalDeadCellClient.cc.
References HcalBaseClient::dbe_.
Referenced by HcalMonitorClient::createTests().
00291 { 00292 // Removed a bunch of code that was in older versions of HcalDeadCellClient 00293 // tests should now be handled from outside 00294 if(!dbe_) return; 00295 return; 00296 } // void HcalDeadCellClient::createTests()
EndJob.
Definition at line 100 of file HcalDeadCellClient.cc.
References cleanup(), GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, lat::endl(), and HcalBaseClient::ievt_.
Referenced by HcalMonitorClient::endJob().
00101 { 00102 if ( debug_>1 ) cout << "HcalDeadCellClient: endJob, ievt = " << ievt_ << endl; 00103 00104 this->cleanup(); 00105 return; 00106 } // void HcalDeadCellClient::endJob(void)
EndRun.
Definition at line 109 of file HcalDeadCellClient.cc.
References cleanup(), GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, lat::endl(), and HcalBaseClient::jevt_.
Referenced by HcalMonitorClient::endRun().
00110 { 00111 if ( debug_>1 ) cout << "HcalDeadCellClient: endRun, jevt = " << jevt_ << endl; 00112 00113 this->cleanup(); 00114 return; 00115 } // void HcalDeadCellClient::endRun(void)
void HcalDeadCellClient::getHistograms | ( | ) |
Definition at line 219 of file HcalDeadCellClient.cc.
References BelowEnergyThresholdCellsByDepth, BelowNeighborsDeadCellsByDepth, BelowPedestalDeadCellsByDepth, HcalBaseClient::cloneME_, d_HBenergyVsNeighbor, d_HBnormped, d_HBrechitenergy, d_HEenergyVsNeighbor, d_HEnormped, d_HErechitenergy, d_HFenergyVsNeighbor, d_HFnormped, d_HFrechitenergy, d_HOenergyVsNeighbor, d_HOnormped, d_HOrechitenergy, HcalBaseClient::dbe_, deadclient_makeDiagnostics_, deadclient_test_energy_, deadclient_test_neighbor_, deadclient_test_occupancy_, deadclient_test_pedestal_, deadclient_test_rechit_occupancy_, HcalBaseClient::debug_, dummy1D, dummy2D, getAnyHisto(), HcalBaseClient::getSJ6histos(), i, name, ProblemDeadCells, ProblemDeadCellsByDepth, HcalBaseClient::process_, UnoccupiedDeadCellsByDepth, and UnoccupiedRecHitsByDepth.
Referenced by htmlOutput(), and report().
00220 { 00221 if(!dbe_) return; 00222 00223 ostringstream name; 00224 // dummy histograms 00225 TH2F* dummy2D = new TH2F(); 00226 TH1F* dummy1D = new TH1F(); 00227 00228 // Set Problem cell palette (green = 0 = good, red = 1 = bad) 00229 00230 00231 // Grab individual histograms 00232 name<<process_.c_str()<<"DeadCellMonitor_Hcal/ ProblemDeadCells"; 00233 ProblemDeadCells = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_); 00234 name.str(""); 00235 00236 getSJ6histos("DeadCellMonitor_Hcal/problem_deadcells/", " Problem Dead Cell Rate", ProblemDeadCellsByDepth); 00237 00238 if (deadclient_test_occupancy_) getSJ6histos("DeadCellMonitor_Hcal/dead_unoccupied_digi/", "Dead Cells with No Digis", UnoccupiedDeadCellsByDepth); 00239 if (deadclient_test_rechit_occupancy_) getSJ6histos("DeadCellMonitor_Hcal/dead_unoccupied_rechit/", "Dead Cells with No Rec Hits", UnoccupiedRecHitsByDepth); 00240 00241 if (deadclient_test_pedestal_) getSJ6histos("DeadCellMonitor_Hcal/dead_pedestaltest/", "Dead Cells Failing Pedestal Test", BelowPedestalDeadCellsByDepth); 00242 if (deadclient_test_neighbor_) getSJ6histos("DeadCellMonitor_Hcal/dead_neighbortest/", "Dead Cells Failing Neighbor Test", BelowNeighborsDeadCellsByDepth); 00243 if (deadclient_test_energy_) getSJ6histos("DeadCellMonitor_Hcal/dead_energytest/", "Dead Cells Failing Energy Threshold Test", BelowEnergyThresholdCellsByDepth); 00244 00245 if (deadclient_makeDiagnostics_) 00246 { 00247 d_HBnormped=getAnyHisto(dummy1D,(process_+"DeadCellMonitor_Hcal/diagnostics/pedestal/HB_normped").c_str(), process_, dbe_, debug_, cloneME_); 00248 d_HBrechitenergy=getAnyHisto(dummy1D,(process_+"DeadCellMonitor_Hcal/diagnostics/energythreshold/HB_rechitenergy").c_str(), process_, dbe_, debug_, cloneME_); 00249 d_HBenergyVsNeighbor=getAnyHisto(dummy2D,(process_+"DeadCellMonitor_Hcal/diagnostics/neighborcells/HB_energyVsNeighbor").c_str(), process_, dbe_, debug_, cloneME_); 00250 d_HEnormped=getAnyHisto(dummy1D,(process_+"DeadCellMonitor_Hcal/diagnostics/pedestal/HE_normped").c_str(), process_, dbe_, debug_, cloneME_); 00251 d_HErechitenergy=getAnyHisto(dummy1D,(process_+"DeadCellMonitor_Hcal/diagnostics/energythreshold/HE_rechitenergy").c_str(), process_, dbe_, debug_, cloneME_); 00252 d_HEenergyVsNeighbor=getAnyHisto(dummy2D,(process_+"DeadCellMonitor_Hcal/diagnostics/neighborcells/HE_energyVsNeighbor").c_str(), process_, dbe_, debug_, cloneME_); 00253 d_HOnormped=getAnyHisto(dummy1D,(process_+"DeadCellMonitor_Hcal/diagnostics/pedestal/HO_normped").c_str(), process_, dbe_, debug_, cloneME_); 00254 d_HOrechitenergy=getAnyHisto(dummy1D,(process_+"DeadCellMonitor_Hcal/diagnostics/energythreshold/HO_rechitenergy").c_str(), process_, dbe_, debug_, cloneME_); 00255 d_HOenergyVsNeighbor=getAnyHisto(dummy2D,(process_+"DeadCellMonitor_Hcal/diagnostics/neighborcells/HO_energyVsNeighbor").c_str(), process_, dbe_, debug_, cloneME_); 00256 d_HFnormped=getAnyHisto(dummy1D,(process_+"DeadCellMonitor_Hcal/diagnostics/pedestal/HF_normped").c_str(), process_, dbe_, debug_, cloneME_); 00257 d_HFrechitenergy=getAnyHisto(dummy1D,(process_+"DeadCellMonitor_Hcal/diagnostics/energythreshold/HF_rechitenergy").c_str(), process_, dbe_, debug_, cloneME_); 00258 d_HFenergyVsNeighbor=getAnyHisto(dummy2D,(process_+"DeadCellMonitor_Hcal/diagnostics/neighborcells/HF_energyVsNeighbor").c_str(), process_, dbe_, debug_, cloneME_); 00259 } // if (deadclient_makeDiagnostics_) 00260 00261 00262 // Force min/max on problemcells 00263 for (int i=0;i<6;++i) 00264 { 00265 if (ProblemDeadCellsByDepth[i]) 00266 { 00267 ProblemDeadCellsByDepth[i]->SetMaximum(1); 00268 ProblemDeadCellsByDepth[i]->SetMinimum(0); 00269 } 00270 name.str(""); 00271 00272 } // for (int i=0;i<6;++i) 00273 00274 return; 00275 } //void HcalDeadCellClient::getHistograms()
Definition at line 501 of file HcalDeadCellClient.cc.
References BelowEnergyThresholdCellsByDepth, BelowNeighborsDeadCellsByDepth, BelowPedestalDeadCellsByDepth, GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, edm::CPUTimer::cpuTime(), d_HBenergyVsNeighbor, d_HBnormped, d_HBrechitenergy, d_HEenergyVsNeighbor, d_HEnormped, d_HErechitenergy, d_HFenergyVsNeighbor, d_HFnormped, d_HFrechitenergy, d_HOenergyVsNeighbor, d_HOnormped, d_HOrechitenergy, HcalBaseClient::dbe_, deadclient_checkNevents_energy_, deadclient_checkNevents_occupancy_, deadclient_checkNevents_pedestal_, deadclient_checkNevents_rechit_occupancy_, deadclient_makeDiagnostics_, deadclient_test_energy_, deadclient_test_neighbor_, deadclient_test_occupancy_, deadclient_test_pedestal_, deadclient_test_rechit_occupancy_, HcalBaseClient::debug_, HcalBaseClient::dqmReportMapErr_, HcalBaseClient::dqmReportMapOther_, HcalBaseClient::dqmReportMapWarn_, lat::endl(), htmlAnyHisto(), htmlErrors(), i, HcalBaseClient::ievt_, HcalBaseClient::pcol_error_, ProblemDeadCellsByDepth, HcalBaseClient::process_, edm::CPUTimer::reset(), HcalBaseClient::showTiming_, edm::CPUTimer::start(), edm::CPUTimer::stop(), UnoccupiedDeadCellsByDepth, and UnoccupiedRecHitsByDepth.
Referenced by htmlOutput().
00502 { 00503 if (showTiming_) 00504 { 00505 cpu_timer.reset(); cpu_timer.start(); 00506 } 00507 00508 if (debug_>1) 00509 cout <<" <HcalDeadCellClient::htmlExpertOutput> Preparing Expert html output ..." <<endl; 00510 00511 string client = "DeadCellMonitor"; 00512 htmlErrors(runNo,htmlDir,client,process_,dbe_,dqmReportMapErr_,dqmReportMapWarn_,dqmReportMapOther_); // does this do anything? 00513 00514 ofstream htmlFile; 00515 htmlFile.open((htmlDir +"Expert_"+ htmlName).c_str()); 00516 00517 // html page header 00518 htmlFile << "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> " << endl; 00519 htmlFile << "<html> " << endl; 00520 htmlFile << "<head> " << endl; 00521 htmlFile << " <meta content=\"text/html; charset=ISO-8859-1\" " << endl; 00522 htmlFile << " https-equiv=\"content-type\"> " << endl; 00523 htmlFile << " <title>Monitor: Hcal Dead Cell Task output</title> " << endl; 00524 htmlFile << "</head> " << endl; 00525 htmlFile << "<style type=\"text/css\"> td { font-weight: bold } </style>" << endl; 00526 htmlFile << "<body> " << endl; 00527 htmlFile <<"<a name=\"EXPERT_DEADCELL_TOP\" href = \".\"> Back to Main HCAL DQM Page </a><br>"<<endl; 00528 htmlFile <<"<a href= \""<<htmlName.c_str()<<"\" > Back to Dead Cell Status Page </a><br>"<<endl; 00529 htmlFile << "<br> " << endl; 00530 htmlFile << "<h2>Run: " << endl; 00531 htmlFile << " <span " << endl; 00532 htmlFile << " style=\"color: rgb(0, 0, 153);\">" << runNo << "</span></h2>" << endl; 00533 htmlFile << "<h2>Monitoring task: <span " << endl; 00534 htmlFile << " style=\"color: rgb(0, 0, 153);\">Hcal Dead Cells</span></h2> " << endl; 00535 htmlFile << "<h2>Events processed: " << endl; 00536 htmlFile << " <span " << endl; 00537 htmlFile << " style=\"color: rgb(0, 0, 153);\">" << ievt_ << "</span></h2>" << endl; 00538 htmlFile << "<hr>" << endl; 00539 00540 htmlFile << "<table width=100% border = 1>"<<endl; 00541 htmlFile << "<tr><td align=\"center\" colspan=1><a href=\"#OVERALL_PROBLEMS\">PROBLEM CELLS BY DEPTH </a></td></tr>"<<endl; 00542 htmlFile << "<tr><td align=\"center\">"<<endl; 00543 if (deadclient_test_occupancy_) htmlFile<<"<br><a href=\"#OCC_PROBLEMS\">Dead cell according to Digi Occupancy Test </a>"<<endl; 00544 if (deadclient_test_rechit_occupancy_) htmlFile<<"<br><a href=\"#OCCRECHIT_PROBLEMS\">Dead cell according to RecHit Occupancy Test </a>"<<endl; 00545 if (deadclient_test_pedestal_ ) htmlFile<<"<br><a href=\"#PED_PROBLEMS\">Dead cell according to Pedestal Test </a>"<<endl; 00546 if (deadclient_test_energy_ ) htmlFile<<"<br><a href=\"#ENERGY_PROBLEMS\">Dead cell according to Energy Threshold Test </a>"<<endl; 00547 if (deadclient_test_neighbor_ ) htmlFile<<"<br><a href=\"#NEIGHBOR_PROBLEMS\">Dead cell according to Neighbor Test </a>"<<endl; 00548 htmlFile << "</td></tr>"<<endl; 00549 htmlFile <<"</table>"<<endl; 00550 htmlFile <<"<br><br>"<<endl; 00551 00552 00553 // Plot overall errors 00554 htmlFile << "<h2><strong><a name=\"OVERALL_PROBLEMS\">Eta-Phi Maps of Problem Cells By Depth</strong></h2>"<<endl; 00555 htmlFile <<" These plots of problem cells combine results from all dead cell tests<br>"<<endl; 00556 htmlFile <<"<a href= \"#EXPERT_DEADCELL_TOP\" > Back to Top</a><br>"<<endl; 00557 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00558 htmlFile << "cellpadding=\"10\"> " << endl; 00559 gStyle->SetPalette(20,pcol_error_); // set palette to standard error color scheme 00560 00561 // Depths are stored as: 0: HB/HF depth 1, 1: HB/HF 2, 2: HE 3, 3: HO/ZDC, 4: HE 1, 5: HE2 00562 // remap so that HE depths are plotted consecutively 00563 int mydepth[6]={0,1,4,5,2,3}; 00564 for (int i=0;i<3;++i) 00565 { 00566 htmlFile << "<tr align=\"left\">" << endl; 00567 htmlAnyHisto(runNo,ProblemDeadCellsByDepth[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00568 htmlAnyHisto(runNo,ProblemDeadCellsByDepth[mydepth[2*i]+1],"i#eta","i#phi", 92, htmlFile, htmlDir); 00569 htmlFile <<"</tr>"<<endl; 00570 } 00571 00572 htmlFile <<"</table>"<<endl; 00573 htmlFile <<"<br><hr><br>"<<endl; 00574 00575 // Dead cells failing digi occupancy tests 00576 if (deadclient_test_occupancy_) 00577 { 00578 htmlFile << "<h2><strong><a name=\"OCC_PROBLEMS\">Digi Occupancy Problems</strong></h2>"<<endl; 00579 htmlFile <<"A cell fails this test if its digi is absent for "<<deadclient_checkNevents_occupancy_<<" consecutive events<br>"<<endl; 00580 htmlFile <<"<a href= \"#EXPERT_DEADCELL_TOP\" > Back to Top</a><br>"<<endl; 00581 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00582 htmlFile << "cellpadding=\"10\"> " << endl; 00583 gStyle->SetPalette(20,pcol_error_); // set palette to standard error color scheme 00584 for (int i=0;i<3;++i) 00585 { 00586 htmlFile << "<tr align=\"left\">" << endl; 00587 htmlAnyHisto(runNo,UnoccupiedDeadCellsByDepth[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00588 htmlAnyHisto(runNo,UnoccupiedDeadCellsByDepth[mydepth[2*i]+1],"i#eta","i#phi", 92, htmlFile, htmlDir); 00589 htmlFile <<"</tr>"<<endl; 00590 } 00591 htmlFile <<"</table>"<<endl; 00592 htmlFile <<"<br><hr><br>"<<endl; 00593 } 00594 00595 // Dead cells failing rec hit occupancy tests 00596 if (deadclient_test_rechit_occupancy_) 00597 { 00598 htmlFile << "<h2><strong><a name=\"OCCRECHIT_PROBLEMS\">rec HitOccupancy Problems</strong></h2>"<<endl; 00599 htmlFile <<"A cell fails this test if its rechit is absent for "<<deadclient_checkNevents_rechit_occupancy_<<" consecutive events<br>"<<endl; 00600 htmlFile <<"<a href= \"#EXPERT_DEADCELL_TOP\" > Back to Top</a><br>"<<endl; 00601 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00602 htmlFile << "cellpadding=\"10\"> " << endl; 00603 gStyle->SetPalette(20,pcol_error_); // set palette to standard error color scheme 00604 for (int i=0;i<3;++i) 00605 { 00606 htmlFile << "<tr align=\"left\">" << endl; 00607 htmlAnyHisto(runNo,UnoccupiedRecHitsByDepth[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00608 htmlAnyHisto(runNo,UnoccupiedRecHitsByDepth[mydepth[2*i]+1],"i#eta","i#phi", 92, htmlFile, htmlDir); 00609 htmlFile <<"</tr>"<<endl; 00610 } 00611 htmlFile <<"</table>"<<endl; 00612 htmlFile <<"<br><hr><br>"<<endl; 00613 } 00614 00615 // Dead cells failing pedestal tests 00616 if (deadclient_test_pedestal_) 00617 { 00618 htmlFile << "<h2><strong><a name=\"PED_PROBLEMS\">Pedestal Test Problems</strong></h2>"<<endl; 00619 htmlFile <<"A cell fails this test if its ADC sum is below (pedestal + Nsigma) for "<<deadclient_checkNevents_pedestal_<<" consecutive events <br>"<<endl; 00620 htmlFile <<"<a href= \"#EXPERT_DEADCELL_TOP\" > Back to Top</a><br>"<<endl; 00621 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00622 htmlFile << "cellpadding=\"10\"> " << endl; 00623 gStyle->SetPalette(20,pcol_error_); // set palette to standard error color scheme 00624 for (int i=0;i<3;++i) 00625 { 00626 htmlFile << "<tr align=\"left\">" << endl; 00627 htmlAnyHisto(runNo,BelowPedestalDeadCellsByDepth[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00628 htmlAnyHisto(runNo,BelowPedestalDeadCellsByDepth[mydepth[2*i]+1],"i#eta","i#phi", 92, htmlFile, htmlDir); 00629 htmlFile <<"</tr>"<<endl; 00630 } 00631 if (deadclient_makeDiagnostics_) 00632 { 00633 htmlFile <<"<tr align=\"left\">" <<endl; 00634 htmlAnyHisto(runNo, d_HBnormped, "(ADC-ped)/width","", 92, htmlFile, htmlDir,1); 00635 htmlAnyHisto(runNo, d_HEnormped, "(ADC-ped)/width","", 92, htmlFile, htmlDir,1); 00636 htmlFile <<"</tr>"<<endl; 00637 htmlFile <<"<tr align=\"left\">" <<endl; 00638 htmlAnyHisto(runNo, d_HOnormped, "(ADC-ped)/width","", 92, htmlFile, htmlDir,1); 00639 htmlAnyHisto(runNo, d_HFnormped, "(ADC-ped)/width","", 92, htmlFile, htmlDir,1); 00640 htmlFile <<"</tr>"<<endl; 00641 } // if (deadclient_makeDiagnostics_) 00642 htmlFile <<"</table>"<<endl; 00643 htmlFile <<"<br><hr><br>"<<endl; 00644 } 00645 00646 // Dead cells failing energy tests 00647 if (deadclient_test_energy_) 00648 { 00649 htmlFile << "<h2><strong><a name=\"ENERGY_PROBLEMS\">Energy Threshold Test Problems</strong></h2>"<<endl; 00650 htmlFile <<"A cell fails this test if its rechit energy is below threshold for "<<deadclient_checkNevents_energy_<<" consecutive events <br>"<<endl; 00651 htmlFile <<"<a href= \"#EXPERT_DEADCELL_TOP\" > Back to Top</a><br>"<<endl; 00652 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00653 htmlFile << "cellpadding=\"10\"> " << endl; 00654 gStyle->SetPalette(20,pcol_error_); // set palette to standard error color scheme 00655 for (int i=0;i<3;++i) 00656 { 00657 htmlFile << "<tr align=\"left\">" << endl; 00658 htmlAnyHisto(runNo,BelowEnergyThresholdCellsByDepth[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00659 htmlAnyHisto(runNo,BelowEnergyThresholdCellsByDepth[mydepth[2*i]+1],"i#eta","i#phi", 92, htmlFile, htmlDir); 00660 htmlFile <<"</tr>"<<endl; 00661 } 00662 if (deadclient_makeDiagnostics_) 00663 { 00664 htmlFile <<"<tr align=\"left\">" <<endl; 00665 htmlAnyHisto(runNo, d_HBrechitenergy, "Energy (GeV)","", 92, htmlFile, htmlDir,1,1); 00666 htmlAnyHisto(runNo, d_HErechitenergy, "Energy (GeV)","", 92, htmlFile, htmlDir,1,1); 00667 htmlFile <<"</tr>"<<endl; 00668 htmlFile <<"<tr align=\"left\">" <<endl; 00669 htmlAnyHisto(runNo, d_HOrechitenergy, "Energy (GeV)","", 92, htmlFile, htmlDir,1,1); 00670 htmlAnyHisto(runNo, d_HFrechitenergy, "Energy (GeV)","", 92, htmlFile, htmlDir,1,1); 00671 htmlFile <<"</tr>"<<endl; 00672 } // if (deadclient_makeDiagnostics_) 00673 00674 htmlFile <<"</table>"<<endl; 00675 htmlFile <<"<br><hr><br>"<<endl; 00676 } 00677 00678 // Dead cells failing neighbor tests 00679 if (deadclient_test_neighbor_) 00680 { 00681 htmlFile << "<h2><strong><a name=\"NEIGHBOR_PROBLEMS\">Neighbor Energy Test Problems</strong></h2>"<<endl; 00682 htmlFile <<"A cell fails this test if its rechit energy is significantly less than the average of its surrounding neighbors <br>"<<endl; 00683 htmlFile <<"<a href= \"#EXPERT_DEADCELL_TOP\" > Back to Top</a><br>"<<endl; 00684 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00685 htmlFile << "cellpadding=\"10\"> " << endl; 00686 gStyle->SetPalette(20,pcol_error_); // set palette to standard error color scheme 00687 for (int i=0;i<3;++i) 00688 { 00689 htmlFile << "<tr align=\"left\">" << endl; 00690 htmlAnyHisto(runNo,BelowNeighborsDeadCellsByDepth[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00691 htmlAnyHisto(runNo,BelowNeighborsDeadCellsByDepth[mydepth[2*i]+1],"i#eta","i#phi", 92, htmlFile, htmlDir); 00692 htmlFile <<"</tr>"<<endl; 00693 } 00694 if (deadclient_makeDiagnostics_) 00695 { 00696 gStyle->SetPalette(1); // back to rainbow coloring 00697 htmlFile <<"<tr align=\"left\">" <<endl; 00698 htmlAnyHisto(runNo, d_HBenergyVsNeighbor, "i#eta","i#phi", 92, htmlFile, htmlDir); 00699 htmlAnyHisto(runNo, d_HEenergyVsNeighbor, "i#eta","i#phi", 92, htmlFile, htmlDir); 00700 htmlFile <<"</tr>"<<endl; 00701 htmlFile <<"<tr align=\"left\">" <<endl; 00702 htmlAnyHisto(runNo, d_HOenergyVsNeighbor, "i#eta","i#phi", 92, htmlFile, htmlDir); 00703 htmlAnyHisto(runNo, d_HFenergyVsNeighbor, "i#eta","i#phi", 92, htmlFile, htmlDir); 00704 htmlFile <<"</tr>"<<endl; 00705 } // if (deadclient_makeDiagnostics_) 00706 00707 htmlFile <<"</table>"<<endl; 00708 htmlFile <<"<br><hr><br>"<<endl; 00709 } 00710 00711 00712 htmlFile <<"<br><hr><br><a href= \"#EXPERT_DEADCELL_TOP\" > Back to Top of Page </a><br>"<<endl; 00713 htmlFile <<"<a href = \".\"> Back to Main HCAL DQM Page </a><br>"<<endl; 00714 htmlFile <<"<a href= \""<<htmlName.c_str()<<"\" > Back to Dead Cell Status Page </a><br>"<<endl; 00715 00716 htmlFile << "</body> " << endl; 00717 htmlFile << "</html> " << endl; 00718 00719 htmlFile.close(); 00720 00721 if (showTiming_) 00722 { 00723 cpu_timer.stop(); cout <<"TIMER:: HcalDeadCellClient HTMLEXPERTOUTPUT ->"<<cpu_timer.cpuTime()<<endl; 00724 } 00725 return; 00726 } // void HcalDeadCellClient::htmlExpertOutput(...)
HtmlOutput.
Definition at line 369 of file HcalDeadCellClient.cc.
References funct::abs(), GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, edm::CPUTimer::cpuTime(), deadclient_test_energy_, deadclient_test_neighbor_, deadclient_test_occupancy_, deadclient_test_pedestal_, deadclient_test_rechit_occupancy_, HcalBaseClient::debug_, lat::endl(), eta, gen_hydjet_hard_muon_trigger_cfg::etaMin, getHistograms(), htmlAnyHisto(), htmlExpertOutput(), HcalBaseClient::ievt_, int, minErrorFlag_, name, HcalBaseClient::pcol_error_, phi, ProblemDeadCells, ProblemDeadCellsByDepth, edm::CPUTimer::reset(), HcalBaseClient::showTiming_, edm::CPUTimer::start(), and edm::CPUTimer::stop().
Referenced by HcalMonitorClient::htmlOutput().
00370 { 00371 if (showTiming_) 00372 { 00373 cpu_timer.reset(); cpu_timer.start(); 00374 } 00375 getHistograms(); 00376 if (debug_>1) cout << "Preparing HcalDeadCellClient html output ..." << endl; 00377 00378 string client = "DeadCellMonitor"; 00379 00380 ofstream htmlFile; 00381 htmlFile.open((htmlDir + htmlName).c_str()); 00382 00383 // html page header 00384 htmlFile << "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> " << endl; 00385 htmlFile << "<html> " << endl; 00386 htmlFile << "<head> " << endl; 00387 htmlFile << " <meta content=\"text/html; charset=ISO-8859-1\" " << endl; 00388 htmlFile << " https-equiv=\"content-type\"> " << endl; 00389 htmlFile << " <title>Monitor: Hcal Dead Cell Task output</title> " << endl; 00390 htmlFile << "</head> " << endl; 00391 htmlFile << "<style type=\"text/css\"> td { font-weight: bold } </style>" << endl; 00392 htmlFile << "<body> " << endl; 00393 htmlFile << "<br> " << endl; 00394 htmlFile << "<h2>Run: " << endl; 00395 htmlFile << " <span " << endl; 00396 htmlFile << " style=\"color: rgb(0, 0, 153);\">" << runNo << "</span></h2>" << endl; 00397 htmlFile << "<h2>Monitoring task: <span " << endl; 00398 htmlFile << " style=\"color: rgb(0, 0, 153);\">Hcal Dead Cells</span></h2> " << endl; 00399 00400 htmlFile << "<h2>Events processed: " << endl; 00401 htmlFile << " <span " << endl; 00402 htmlFile << " style=\"color: rgb(0, 0, 153);\">" << ievt_ << "</span></h2>" << endl; 00403 htmlFile << "<hr>" << endl; 00404 00405 htmlFile << "<h2><strong>Hcal Dead Cell Status</strong></h2>" << endl; 00406 htmlFile << "<h3>" << endl; 00407 htmlFile << "</h3>" << endl; 00408 00409 htmlFile << "<table align=\"center\" border=\"0\" cellspacing=\"0\" " << endl; 00410 htmlFile << "cellpadding=\"10\"> " << endl; 00411 htmlFile << "<tr align=\"center\">" << endl; 00412 gStyle->SetPalette(20,pcol_error_); // set palette to standard error color scheme 00413 htmlAnyHisto(runNo,ProblemDeadCells,"i#eta","i#phi", 92, htmlFile, htmlDir); 00414 htmlFile<<"</tr>"<<endl; 00415 htmlFile<<"<tr align=\"center\"><td> A cell is considered dead if it meets any of the following criteria:"<<endl; 00416 if (deadclient_test_occupancy_) htmlFile<<"<br> A cell's digi is not present for a number of consecutive events; "<<endl; 00417 if (deadclient_test_rechit_occupancy_) htmlFile<<"<br> A cell's rec hit is not present for a number of consecutive events; "<<endl; 00418 00419 if (deadclient_test_pedestal_ ) htmlFile<<"<br> A cell's ADC sum is consistently less than (pedestal + N sigma);"<<endl; 00420 if (deadclient_test_energy_ ) htmlFile<<"<br> A cell's energy is consistently less than a threshold value;"<<endl; 00421 if (deadclient_test_neighbor_ ) htmlFile<<"<br> A cell's energy is much less than the average of its neighbors;"<<endl; 00422 htmlFile<<"</td>"<<endl; 00423 htmlFile<<"</tr></table>"<<endl; 00424 htmlFile<<"<hr><table align=\"center\" border=\"0\" cellspacing=\"0\" " << endl; 00425 htmlFile << "cellpadding=\"10\"> " << endl; 00426 htmlFile << "<tr align=\"center\">" << endl; 00427 htmlFile<<"<tr><td align=center><a href=\"Expert_"<< htmlName<<"\"><h2>Detailed Dead Cell Plots</h2> </a></br></td>"<<endl; 00428 htmlFile<<"</tr></table><br><hr>"<<endl; 00429 00430 // Now print out problem cells 00431 htmlFile <<"<br>"<<endl; 00432 htmlFile << "<h2><strong>Hcal Problem Cells</strong></h2>" << endl; 00433 htmlFile << "(A problem cell is listed below if its failure rate exceeds "<<(100.*minErrorFlag_)<<"%).<br><br>"<<endl; 00434 htmlFile << "<table align=\"center\" border=\"1\" cellspacing=\"0\" " << endl; 00435 htmlFile << "cellpadding=\"10\"> " << endl; 00436 htmlFile << "<tr align=\"center\">" << endl; 00437 htmlFile <<"<td> Problem Dead Cells<br>(ieta, iphi, depth)</td><td align=\"center\"> Fraction of Events <br>in which cells are bad (%)</td></tr>"<<endl; 00438 00439 if (ProblemDeadCells==0) 00440 { 00441 if (debug_) cout <<"<HcalDeadCellClient::htmlOutput> ERROR: can't find Problem Dead Cell plot!"<<endl; 00442 return; 00443 } 00444 int etabins = ProblemDeadCells->GetNbinsX(); 00445 int phibins = ProblemDeadCells->GetNbinsY(); 00446 float etaMin = ProblemDeadCells->GetXaxis()->GetXmin(); 00447 float phiMin = ProblemDeadCells->GetYaxis()->GetXmin(); 00448 00449 int eta,phi; 00450 00451 ostringstream name; 00452 for (int depth=0;depth<6; ++depth) 00453 { 00454 for (int ieta=1;ieta<=etabins;++ieta) 00455 { 00456 for (int iphi=1; iphi<=phibins;++iphi) 00457 { 00458 eta=ieta+int(etaMin)-1; 00459 phi=iphi+int(phiMin)-1; 00460 if (abs(eta)>20 && phi%2!=1) continue; 00461 if (abs(eta)>39 && phi%4!=3) continue; 00462 int mydepth=depth+1; 00463 if (mydepth>4) mydepth-=4; // last two depth values are for HE depth 1,2 00464 if (ProblemDeadCellsByDepth[depth]==0) 00465 { 00466 continue; 00467 } 00468 if (ProblemDeadCellsByDepth[depth]->GetBinContent(ieta,iphi)>minErrorFlag_) 00469 { 00470 if (depth<2) 00471 (fabs(eta)<29) ? name<<"HB" : name<<"HF"; 00472 else if (depth==3) 00473 (fabs(eta)<42) ? name<<"HO" : name<<"ZDC"; 00474 else name <<"HE"; 00475 htmlFile<<"<td>"<<name.str().c_str()<<" ("<<eta<<", "<<phi<<", "<<mydepth<<")</td><td align=\"center\">"<<ProblemDeadCellsByDepth[depth]->GetBinContent(ieta,iphi)*100.<<"</td></tr>"<<endl; 00476 00477 name.str(""); 00478 } 00479 } // for (int iphi=1;...) 00480 } // for (int ieta=1;...) 00481 } // for (int depth=0;...) 00482 00483 00484 // html page footer 00485 htmlFile <<"</table> " << endl; 00486 htmlFile << "</body> " << endl; 00487 htmlFile << "</html> " << endl; 00488 00489 htmlFile.close(); 00490 htmlExpertOutput(runNo, htmlDir, htmlName); 00491 00492 if (showTiming_) 00493 { 00494 cpu_timer.stop(); cout <<"TIMER:: HcalDeadCellClient HTMLOUTPUT -> "<<cpu_timer.cpuTime()<<endl; 00495 } 00496 00497 return; 00498 } //void HcalDeadCellClient::htmlOutput(int runNo, ...)
void HcalDeadCellClient::init | ( | const edm::ParameterSet & | ps, | |
DQMStore * | dbe, | |||
string | clientName | |||
) | [virtual] |
Reimplemented from HcalBaseClient.
Definition at line 10 of file HcalDeadCellClient.cc.
References BelowEnergyThresholdCellsByDepth, BelowNeighborsDeadCellsByDepth, BelowPedestalDeadCellsByDepth, d_HBenergyVsNeighbor, d_HBnormped, d_HBrechitenergy, d_HEenergyVsNeighbor, d_HEnormped, d_HErechitenergy, d_HFenergyVsNeighbor, d_HFnormped, d_HFrechitenergy, d_HOenergyVsNeighbor, d_HOnormped, d_HOrechitenergy, deadclient_checkNevents_, deadclient_checkNevents_energy_, deadclient_checkNevents_neighbor_, deadclient_checkNevents_occupancy_, deadclient_checkNevents_pedestal_, deadclient_checkNevents_rechit_occupancy_, deadclient_makeDiagnostics_, deadclient_test_energy_, deadclient_test_neighbor_, deadclient_test_occupancy_, deadclient_test_pedestal_, deadclient_test_rechit_occupancy_, edm::ParameterSet::getUntrackedParameter(), i, HcalBaseClient::init(), minErrorFlag_, ProblemDeadCells, ProblemDeadCellsByDepth, subdets_, and UnoccupiedDeadCellsByDepth.
Referenced by HcalMonitorClient::initialize().
00010 { 00011 //Call the base class first 00012 HcalBaseClient::init(ps,dbe,clientName); 00013 00014 // Get variable values from cfg file 00015 // Set which dead cell checks will looked at 00016 deadclient_test_occupancy_ = ps.getUntrackedParameter<bool>("DeadCellClient_test_occupancy",true); 00017 deadclient_test_rechit_occupancy_ = ps.getUntrackedParameter<bool>("DeadCellClient_test_occupancy",true); 00018 deadclient_test_pedestal_ = ps.getUntrackedParameter<bool>("DeadCellClient_test_pedestal",true); 00019 deadclient_test_neighbor_ = ps.getUntrackedParameter<bool>("DeadCellClient_test_neighbor",true); 00020 deadclient_test_energy_ = ps.getUntrackedParameter<bool>("DeadCellClient_test_energy",true); 00021 00022 deadclient_checkNevents_ = ps.getUntrackedParameter<int>("DeadCellClient_checkNevents",100); 00023 deadclient_checkNevents_occupancy_ = ps.getUntrackedParameter<int>("DeadCellClient_checkNevents_occupancy",deadclient_checkNevents_); 00024 deadclient_checkNevents_rechit_occupancy_ = ps.getUntrackedParameter<int>("DeadCellClient_checkNevents_rechit_occupancy",deadclient_checkNevents_); 00025 deadclient_checkNevents_pedestal_ = ps.getUntrackedParameter<int>("DeadCellClient_checkNevents_pedestal" ,deadclient_checkNevents_); 00026 deadclient_checkNevents_neighbor_ = ps.getUntrackedParameter<int>("DeadCellClient_checkNevents_neighbor" ,deadclient_checkNevents_); 00027 deadclient_checkNevents_energy_ = ps.getUntrackedParameter<int>("DeadCellClient_checkNevents_energy" ,deadclient_checkNevents_); 00028 00029 minErrorFlag_ = ps.getUntrackedParameter<double>("DeadCellClient_minErrorFlag",0.0); 00030 00031 deadclient_makeDiagnostics_ = ps.getUntrackedParameter<bool>("DeadCellClient_makeDiagnosticPlots",false); 00032 00033 // Set histograms to NULL 00034 ProblemDeadCells=0; 00035 for (int i=0;i<6;++i) 00036 { 00037 // Set each array's pointers to NULL 00038 ProblemDeadCellsByDepth[i]=0; 00039 UnoccupiedDeadCellsByDepth[i]=0; 00040 BelowPedestalDeadCellsByDepth[i]=0; 00041 BelowNeighborsDeadCellsByDepth[i]=0; 00042 BelowEnergyThresholdCellsByDepth[i]=0; 00043 } 00044 00045 if (deadclient_makeDiagnostics_) 00046 { 00047 d_HBnormped=0; 00048 d_HBrechitenergy=0; 00049 d_HBenergyVsNeighbor=0; 00050 d_HEnormped=0; 00051 d_HErechitenergy=0; 00052 d_HEenergyVsNeighbor=0; 00053 d_HOnormped=0; 00054 d_HOrechitenergy=0; 00055 d_HOenergyVsNeighbor=0; 00056 d_HFnormped=0; 00057 d_HFrechitenergy=0; 00058 d_HFenergyVsNeighbor=0; 00059 } // if (deadclient_makeDiagnostics_) 00060 00061 subdets_.push_back("HB HF Depth 1 "); 00062 subdets_.push_back("HB HF Depth 2 "); 00063 subdets_.push_back("HE Depth 3 "); 00064 subdets_.push_back("HO ZDC "); 00065 subdets_.push_back("HE Depth 1 "); 00066 subdets_.push_back("HE Depth 2 "); 00067 00068 return; 00069 } // void HcalDeadCellClient::init(...)
void HcalDeadCellClient::loadHistograms | ( | TFile * | f | ) |
Definition at line 730 of file HcalDeadCellClient.cc.
References BelowEnergyThresholdCellsByDepth, BelowNeighborsDeadCellsByDepth, BelowPedestalDeadCellsByDepth, deadclient_test_energy_, deadclient_test_neighbor_, deadclient_test_occupancy_, deadclient_test_pedestal_, deadclient_test_rechit_occupancy_, i, HcalBaseClient::ievt_, name, ProblemDeadCells, ProblemDeadCellsByDepth, HcalBaseClient::process_, s, subdets_, UnoccupiedDeadCellsByDepth, and UnoccupiedRecHitsByDepth.
00731 { 00732 TNamed* tnd = (TNamed*)infile->Get("DQMData/Hcal/DeadCellMonitor_Hcal/Dead Cell Task Event Number"); 00733 if(tnd) 00734 { 00735 string s =tnd->GetTitle(); 00736 ievt_ = -1; 00737 sscanf((s.substr(2,s.length()-2)).c_str(), "%d", &ievt_); 00738 } 00739 00740 ostringstream name; 00741 // Grab individual histograms 00742 name<<process_.c_str()<<"DeadCellMonitor_Hcal/ ProblemDeadCells"; 00743 ProblemDeadCells = (TH2F*)infile->Get(name.str().c_str()); 00744 name.str(""); 00745 00746 for (int i=0;i<6;++i) 00747 { 00748 // Grab arrays of histograms 00749 name<<process_.c_str()<<"DeadCellMonitor_Hcal/problem_deadcells/"<<subdets_[i]<<" Problem Dead Cell Rate"; 00750 ProblemDeadCellsByDepth[i] = (TH2F*)infile->Get(name.str().c_str()); 00751 name.str(""); 00752 if (deadclient_test_occupancy_) 00753 { 00754 name<<process_.c_str()<<"DeadCellMonitor_Hcal/dead_unoccupied_digi/"<<subdets_[i]<<"Dead Cells with No Digis"; 00755 UnoccupiedDeadCellsByDepth[i] = (TH2F*)infile->Get(name.str().c_str()); 00756 name.str(""); 00757 } 00758 if (deadclient_test_rechit_occupancy_) 00759 { 00760 name<<process_.c_str()<<"DeadCellMonitor_Hcal/dead_unoccupied_rechit/"<<subdets_[i]<<"Dead Cells with No Rec Hits"; 00761 UnoccupiedRecHitsByDepth[i] = (TH2F*)infile->Get(name.str().c_str()); 00762 name.str(""); 00763 } 00764 00765 if (deadclient_test_pedestal_) 00766 { 00767 name<<process_.c_str()<<"DeadCellMonitor_Hcal/dead_pedestaltest"<<subdets_[i]<<"Dead Cells Failing Pedestal Test"; 00768 BelowPedestalDeadCellsByDepth[i] = (TH2F*)infile->Get(name.str().c_str()); 00769 name.str(""); 00770 } 00771 if (deadclient_test_neighbor_) 00772 { 00773 name<<process_.c_str()<<"DeadCellMonitor_Hcal/dead_neighbortest"<<subdets_[i]<<"Dead Cells Failing Neighbor Test"; 00774 BelowNeighborsDeadCellsByDepth[i] = (TH2F*)infile->Get(name.str().c_str()); 00775 name.str(""); 00776 } 00777 if (deadclient_test_energy_) 00778 { 00779 name<<process_.c_str()<<"DeadCellMonitor_Hcal/dead_energytest"<<subdets_[i]<<"Dead Cells Failing Energy Threshold Test"; 00780 BelowEnergyThresholdCellsByDepth[i] = (TH2F*)infile->Get(name.str().c_str()); 00781 name.str(""); 00782 } 00783 00784 } //for (int i=0;i<6;++i) 00785 return; 00786 } // void HcalDeadCellClient::loadHistograms(...)
void HcalDeadCellClient::report | ( | ) |
process report
Definition at line 198 of file HcalDeadCellClient.cc.
References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::dbe_, HcalBaseClient::debug_, lat::endl(), DQMStore::get(), getHistograms(), HcalBaseClient::ievt_, me, name, HcalBaseClient::process_, s, setup(), and MonitorElement::valueString().
Referenced by HcalMonitorClient::report().
00199 { 00200 if(!dbe_) return; 00201 if ( debug_>1 ) cout << "HcalDeadCellClient: report" << endl; 00202 this->setup(); 00203 00204 ostringstream name; 00205 name<<process_.c_str()<<"Hcal/DeadCellMonitor_Hcal/Dead Cell Task Event Number"; 00206 MonitorElement* me = dbe_->get(name.str().c_str()); 00207 if ( me ) { 00208 string s = me->valueString(); 00209 ievt_ = -1; 00210 sscanf((s.substr(2,s.length()-2)).c_str(), "%d", &ievt_); 00211 if ( debug_>1 ) cout << "Found '" << name.str().c_str() << "'" << endl; 00212 } 00213 getHistograms(); 00214 00215 return; 00216 } // HcalDeadCellClient::report()
void HcalDeadCellClient::resetAllME | ( | ) |
Definition at line 299 of file HcalDeadCellClient.cc.
References HcalBaseClient::dbe_, deadclient_makeDiagnostics_, deadclient_test_energy_, deadclient_test_neighbor_, deadclient_test_occupancy_, deadclient_test_pedestal_, deadclient_test_rechit_occupancy_, i, name, HcalBaseClient::process_, resetME(), and subdets_.
Referenced by beginRun(), and HcalMonitorClient::resetAllME().
00300 { 00301 if(!dbe_) return; 00302 00303 ostringstream name; 00304 00305 // Reset individual histograms 00306 name<<process_.c_str()<<"DeadCellMonitor_Hcal/ ProblemDeadCells"; 00307 resetME(name.str().c_str(),dbe_); 00308 name.str(""); 00309 00310 for (int i=0;i<6;++i) 00311 { 00312 // Reset arrays of histograms 00313 // Problem Pedestal Plots 00314 name<<process_.c_str()<<"DeadCellMonitor_Hcal/problem_deadcells/"<<subdets_[i]<<" Problem Dead Cell Rate"; 00315 resetME(name.str().c_str(),dbe_); 00316 name.str(""); 00317 if (deadclient_test_occupancy_) 00318 { 00319 name<<process_.c_str()<<"DeadCellMonitor_Hcal/dead_unoccupied_digi/"<<subdets_[i]<<"Dead Cells with No Digis"; 00320 resetME(name.str().c_str(),dbe_); 00321 name.str(""); 00322 } 00323 if (deadclient_test_rechit_occupancy_) 00324 { 00325 name<<process_.c_str()<<"DeadCellMonitor_Hcal/dead_unoccupied_rechit/"<<subdets_[i]<<"Dead Cells with No Rec Hits"; 00326 resetME(name.str().c_str(),dbe_); 00327 name.str(""); 00328 } 00329 00330 if (deadclient_test_pedestal_) 00331 { 00332 name<<process_.c_str()<<"DeadCellMonitor_Hcal/dead_pedestaltest"<<subdets_[i]<<"Dead Cells Failing Pedestal Test"; 00333 resetME(name.str().c_str(),dbe_); 00334 name.str(""); 00335 } 00336 if (deadclient_test_neighbor_) 00337 { 00338 name<<process_.c_str()<<"DeadCellMonitor_Hcal/dead_neighbortest"<<subdets_[i]<<"Dead Cells Failing Neighbor Test"; 00339 resetME(name.str().c_str(),dbe_); 00340 name.str(""); 00341 } 00342 if (deadclient_test_energy_) 00343 { 00344 name<<process_.c_str()<<"DeadCellMonitor_Hcal/dead_energytest"<<subdets_[i]<<"Dead Cells Failing Energy Threshold Test"; 00345 resetME(name.str().c_str(),dbe_); 00346 name.str(""); 00347 } 00348 if (deadclient_makeDiagnostics_) 00349 { 00350 resetME((process_+"DeadCellMonitor_Hcal/diagnostics/pedestal/HB_normped").c_str(),dbe_); 00351 resetME((process_+"DeadCellMonitor_Hcal/diagnostics/energythreshold/HB_rechitenergy").c_str(),dbe_); 00352 resetME((process_+"DeadCellMonitor_Hcal/diagnostics/neighborcells/HB_energyVsNeighbor").c_str(),dbe_); 00353 resetME((process_+"DeadCellMonitor_Hcal/diagnostics/pedestal/HE_normped").c_str(),dbe_); 00354 resetME((process_+"DeadCellMonitor_Hcal/diagnostics/energythreshold/HE_rechitenergy").c_str(),dbe_); 00355 resetME((process_+"DeadCellMonitor_Hcal/diagnostics/neighborcells/HE_energyVsNeighbor").c_str(),dbe_); 00356 resetME((process_+"DeadCellMonitor_Hcal/diagnostics/pedestal/HO_normped").c_str(),dbe_); 00357 resetME((process_+"DeadCellMonitor_Hcal/diagnostics/energythreshold/HO_rechitenergy").c_str(),dbe_); 00358 resetME((process_+"DeadCellMonitor_Hcal/diagnostics/neighborcells/HO_energyVsNeighbor").c_str(),dbe_); 00359 resetME((process_+"DeadCellMonitor_Hcal/diagnostics/pedestal/HF_normped").c_str(),dbe_); 00360 resetME((process_+"DeadCellMonitor_Hcal/diagnostics/energythreshold/HF_rechitenergy").c_str(),dbe_); 00361 resetME((process_+"DeadCellMonitor_Hcal/diagnostics/neighborcells/HF_energyVsNeighbor").c_str(),dbe_); 00362 } // if (deadclient_makeDiagnostics_) 00363 00364 } 00365 return; 00366 } // void HcalDeadCellClient::resetAllME()
Setup.
Definition at line 118 of file HcalDeadCellClient.cc.
Referenced by beginJob(), beginRun(), and report().
TH2F* HcalDeadCellClient::BelowEnergyThresholdCellsByDepth[6] [private] |
Definition at line 83 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalDeadCellClient::BelowNeighborsDeadCellsByDepth[6] [private] |
Definition at line 82 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalDeadCellClient::BelowPedestalDeadCellsByDepth[6] [private] |
Definition at line 81 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalDeadCellClient::d_HBenergyVsNeighbor [private] |
Definition at line 96 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), and init().
TH1F* HcalDeadCellClient::d_HBnormped [private] |
Definition at line 86 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), and init().
TH1F* HcalDeadCellClient::d_HBrechitenergy [private] |
Definition at line 91 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), and init().
TH2F* HcalDeadCellClient::d_HEenergyVsNeighbor [private] |
Definition at line 97 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), and init().
TH1F* HcalDeadCellClient::d_HEnormped [private] |
Definition at line 87 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), and init().
TH1F* HcalDeadCellClient::d_HErechitenergy [private] |
Definition at line 92 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), and init().
TH2F* HcalDeadCellClient::d_HFenergyVsNeighbor [private] |
Definition at line 99 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), and init().
TH1F* HcalDeadCellClient::d_HFnormped [private] |
Definition at line 89 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), and init().
TH1F* HcalDeadCellClient::d_HFrechitenergy [private] |
Definition at line 94 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), and init().
TH2F* HcalDeadCellClient::d_HOenergyVsNeighbor [private] |
Definition at line 98 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), and init().
TH1F* HcalDeadCellClient::d_HOnormped [private] |
Definition at line 88 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), and init().
TH1F* HcalDeadCellClient::d_HOrechitenergy [private] |
Definition at line 93 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), and init().
Definition at line 61 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and resetAllME().
Definition at line 67 of file HcalDeadCellClient.h.
Referenced by getHistograms(), htmlExpertOutput(), htmlOutput(), init(), loadHistograms(), and resetAllME().
Definition at line 66 of file HcalDeadCellClient.h.
Referenced by getHistograms(), htmlExpertOutput(), htmlOutput(), init(), loadHistograms(), and resetAllME().
Definition at line 63 of file HcalDeadCellClient.h.
Referenced by getHistograms(), htmlExpertOutput(), htmlOutput(), init(), loadHistograms(), and resetAllME().
Definition at line 65 of file HcalDeadCellClient.h.
Referenced by getHistograms(), htmlExpertOutput(), htmlOutput(), init(), loadHistograms(), and resetAllME().
Definition at line 64 of file HcalDeadCellClient.h.
Referenced by getHistograms(), htmlExpertOutput(), htmlOutput(), init(), loadHistograms(), and resetAllME().
double HcalDeadCellClient::minErrorFlag_ [private] |
TH2F* HcalDeadCellClient::ProblemDeadCells [private] |
Definition at line 77 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlOutput(), init(), and loadHistograms().
TH2F* HcalDeadCellClient::ProblemDeadCellsByDepth[6] [private] |
Definition at line 78 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), htmlOutput(), init(), and loadHistograms().
vector<std::string> HcalDeadCellClient::subdets_ [private] |
Definition at line 58 of file HcalDeadCellClient.h.
Referenced by init(), loadHistograms(), and resetAllME().
TH2F* HcalDeadCellClient::UnoccupiedDeadCellsByDepth[6] [private] |
Definition at line 79 of file HcalDeadCellClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalDeadCellClient::UnoccupiedRecHitsByDepth[6] [private] |
Definition at line 80 of file HcalDeadCellClient.h.
Referenced by getHistograms(), htmlExpertOutput(), and loadHistograms().