![]() |
![]() |
#include <DQM/HcalMonitorClient/interface/HcalPedestalClient.h>
Definition at line 20 of file HcalPedestalClient.h.
HcalPedestalClient::HcalPedestalClient | ( | ) |
HcalPedestalClient::~HcalPedestalClient | ( | ) |
Destructor.
Definition at line 83 of file HcalPedestalClient.cc.
References cleanup().
00084 { 00085 this->cleanup(); 00086 } // destructor
Analyze.
Definition at line 322 of file HcalPedestalClient.cc.
References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, lat::endl(), getHistograms(), and HcalBaseClient::jevt_.
Referenced by HcalMonitorClient::analyze().
00323 { 00324 jevt_++; 00325 if ( jevt_ % 10 == 0 ) 00326 { 00327 if ( debug_ ) cout << "<HcalPedestalClient::analyze> Running analyze "<<endl; 00328 } 00329 getHistograms(); 00330 return; 00331 } // void HcalPedestalClient::analyze(void)
void HcalPedestalClient::beginJob | ( | const EventSetup & | c | ) |
BeginJob.
Definition at line 89 of file HcalPedestalClient.cc.
References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, lat::endl(), HcalBaseClient::ievt_, HcalBaseClient::jevt_, and setup().
Referenced by HcalMonitorClient::beginJob().
00089 { 00090 00091 if ( debug_ ) cout << "HcalPedestalClient: beginJob" << endl; 00092 00093 ievt_ = 0; 00094 jevt_ = 0; 00095 this->setup(); 00096 return; 00097 } // void HcalPedestalClient::beginJob(const EventSetup& eventSetup);
BeginRun.
Definition at line 100 of file HcalPedestalClient.cc.
References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, lat::endl(), HcalBaseClient::jevt_, resetAllME(), and setup().
Referenced by HcalMonitorClient::beginRun().
00101 { 00102 if ( debug_ ) cout << "HcalPedestalClient: beginRun" << endl; 00103 00104 jevt_ = 0; 00105 this->setup(); 00106 this->resetAllME(); 00107 return; 00108 } // void HcalPedestalClient::beginRun(void)
Cleanup.
Definition at line 135 of file HcalPedestalClient.cc.
References ADC_PedestalFromDBByDepth, ADC_WidthFromDBByDepth, HcalBaseClient::cloneME_, HcalBaseClient::dqmQtests_, HcalBaseClient::dqmReportMapErr_, HcalBaseClient::dqmReportMapOther_, HcalBaseClient::dqmReportMapWarn_, fC_PedestalFromDBByDepth, fC_WidthFromDBByDepth, i, MeanMapByDepth, ProblemPedestals, ProblemPedestalsByDepth, rawADCPedestalMean, rawADCPedestalMean_1D, rawADCPedestalRMS, rawADCPedestalRMS_1D, rawFCPedestalMean, rawFCPedestalMean_1D, rawFCPedestalRMS, rawFCPedestalRMS_1D, RMSMapByDepth, subADCPedestalMean, subADCPedestalMean_1D, subADCPedestalRMS, subADCPedestalRMS_1D, subFCPedestalMean, subFCPedestalMean_1D, subFCPedestalRMS, and subFCPedestalRMS_1D.
Referenced by endJob(), endRun(), and ~HcalPedestalClient().
00136 { 00137 if(cloneME_) 00138 { 00139 // delete individual histogram pointers 00140 if (ProblemPedestals) delete ProblemPedestals; 00141 00142 for (int i=0;i<6;++i) 00143 { 00144 // delete pointers within arrays of histograms 00145 if (ProblemPedestalsByDepth[i]) delete ProblemPedestalsByDepth[i]; 00146 if (MeanMapByDepth[i]) delete MeanMapByDepth[i]; 00147 if (RMSMapByDepth[i]) delete RMSMapByDepth[i]; 00148 00149 // Pedestals from Database 00150 if (ADC_PedestalFromDBByDepth[i]) delete ADC_PedestalFromDBByDepth[i]; 00151 if (ADC_WidthFromDBByDepth[i]) delete ADC_WidthFromDBByDepth[i]; 00152 if (fC_PedestalFromDBByDepth[i]) delete fC_PedestalFromDBByDepth[i]; 00153 if (fC_WidthFromDBByDepth[i]) delete fC_WidthFromDBByDepth[i]; 00154 00155 // Raw pedestals in ADC 00156 if (rawADCPedestalMean[i]) delete rawADCPedestalMean[i]; 00157 if (rawADCPedestalRMS[i]) delete rawADCPedestalRMS[i]; 00158 if (rawADCPedestalMean_1D[i]) delete rawADCPedestalMean_1D[i]; 00159 if (rawADCPedestalRMS_1D[i]) delete rawADCPedestalRMS_1D[i]; 00160 00161 // Subtracted pedestals in ADC 00162 if (subADCPedestalMean[i]) delete subADCPedestalMean[i]; 00163 if (subADCPedestalRMS[i]) delete subADCPedestalRMS[i]; 00164 if (subADCPedestalMean_1D[i]) delete subADCPedestalMean_1D[i]; 00165 if (subADCPedestalRMS_1D[i]) delete subADCPedestalRMS_1D[i]; 00166 00167 // Raw pedestals in FC 00168 if (rawFCPedestalMean[i]) delete rawFCPedestalMean[i]; 00169 if (rawFCPedestalRMS[i]) delete rawFCPedestalRMS[i]; 00170 if (rawFCPedestalMean_1D[i]) delete rawFCPedestalMean_1D[i]; 00171 if (rawFCPedestalRMS_1D[i]) delete rawFCPedestalRMS_1D[i]; 00172 00173 // Subtracted pedestals in FC 00174 if (subFCPedestalMean[i]) delete subFCPedestalMean[i]; 00175 if (subFCPedestalRMS[i]) delete subFCPedestalRMS[i]; 00176 if (subFCPedestalMean_1D[i]) delete subFCPedestalMean_1D[i]; 00177 if (subFCPedestalRMS_1D[i]) delete subFCPedestalRMS_1D[i]; 00178 } 00179 } 00180 00181 // Set individual pointers to NULL 00182 ProblemPedestals = 0; 00183 00184 for (int i=0;i<6;++i) 00185 { 00186 // Set each array's pointers to NULL 00187 ProblemPedestalsByDepth[i]=0; 00188 MeanMapByDepth[i]=0; 00189 RMSMapByDepth[i]=0; 00190 ADC_PedestalFromDBByDepth[i]=0; 00191 ADC_WidthFromDBByDepth[i]=0; 00192 fC_PedestalFromDBByDepth[i]=0; 00193 fC_WidthFromDBByDepth[i]=0; 00194 // Raw pedestals in ADC 00195 rawADCPedestalMean[i]=0; 00196 rawADCPedestalRMS[i]=0; 00197 rawADCPedestalMean_1D[i]=0; 00198 rawADCPedestalRMS_1D[i]=0; 00199 00200 // Raw pedestals in ADC 00201 subADCPedestalMean[i]=0; 00202 subADCPedestalRMS[i]=0; 00203 subADCPedestalMean_1D[i]=0; 00204 subADCPedestalRMS_1D[i]=0; 00205 00206 // Raw pedestals in FC 00207 rawFCPedestalMean[i]=0; 00208 rawFCPedestalRMS[i]=0; 00209 rawFCPedestalMean_1D[i]=0; 00210 rawFCPedestalRMS_1D[i]=0; 00211 00212 // Raw pedestals in FC 00213 subFCPedestalMean[i]=0; 00214 subFCPedestalRMS[i]=0; 00215 subFCPedestalMean_1D[i]=0; 00216 subFCPedestalRMS_1D[i]=0; 00217 } 00218 00219 dqmReportMapErr_.clear(); 00220 dqmReportMapWarn_.clear(); 00221 dqmReportMapOther_.clear(); 00222 dqmQtests_.clear(); 00223 00224 return; 00225 } // void HcalPedestalClient::cleanup(void)
Definition at line 334 of file HcalPedestalClient.cc.
References HcalBaseClient::dbe_.
Referenced by HcalMonitorClient::createTests().
00335 { 00336 // Removed a bunch of code that was in older versions of HcalPedestalClient 00337 // tests should now be handled from outside 00338 if(!dbe_) return; 00339 return; 00340 } // void HcalPedestalClient::createTests()
EndJob.
Definition at line 111 of file HcalPedestalClient.cc.
References cleanup(), GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, lat::endl(), and HcalBaseClient::ievt_.
Referenced by HcalMonitorClient::endJob().
00112 { 00113 if ( debug_ ) cout << "HcalPedestalClient: endJob, ievt = " << ievt_ << endl; 00114 00115 this->cleanup(); 00116 return; 00117 } // void HcalPedestalClient::endJob(void)
EndRun.
Definition at line 120 of file HcalPedestalClient.cc.
References cleanup(), GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, lat::endl(), and HcalBaseClient::jevt_.
Referenced by HcalMonitorClient::endRun().
00121 { 00122 if ( debug_ ) cout << "HcalPedestalClient: endRun, jevt = " << jevt_ << endl; 00123 00124 this->cleanup(); 00125 return; 00126 } // void HcalPedestalClient::endRun(void)
void HcalPedestalClient::getHistograms | ( | ) |
Definition at line 249 of file HcalPedestalClient.cc.
References ADC_PedestalFromDBByDepth, ADC_WidthFromDBByDepth, HcalBaseClient::cloneME_, HcalBaseClient::dbe_, HcalBaseClient::debug_, dummy2D, fC_PedestalFromDBByDepth, fC_WidthFromDBByDepth, getAnyHisto(), HcalBaseClient::getSJ6histos(), i, MeanMapByDepth, name, nominalPedMeanInADC_, nominalPedWidthInADC_, ProblemPedestals, ProblemPedestalsByDepth, HcalBaseClient::process_, rawADCPedestalMean, rawADCPedestalMean_1D, rawADCPedestalRMS, rawADCPedestalRMS_1D, rawFCPedestalMean, rawFCPedestalMean_1D, rawFCPedestalRMS, rawFCPedestalRMS_1D, RMSMapByDepth, subADCPedestalMean, subADCPedestalMean_1D, subADCPedestalRMS, subADCPedestalRMS_1D, subFCPedestalMean, subFCPedestalMean_1D, subFCPedestalRMS, and subFCPedestalRMS_1D.
Referenced by analyze(), and report().
00250 { 00251 if(!dbe_) return; 00252 00253 // Grab individual histograms 00254 ostringstream name; 00255 TH2F* dummy2D = new TH2F(); 00256 name<<process_.c_str()<<"PedestalMonitor_Hcal/ ProblemPedestals"; 00257 ProblemPedestals = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_); 00258 name.str(""); 00259 00260 for (int i=0;i<6;++i) 00261 { 00262 // Grab arrays of histograms 00263 getSJ6histos("PedestalMonitor_Hcal/problem_pedestals/"," Problem Pedestal Rate", ProblemPedestalsByDepth); 00264 00265 if (ProblemPedestalsByDepth[i]) 00266 { 00267 ProblemPedestalsByDepth[i]->SetMaximum(1); 00268 ProblemPedestalsByDepth[i]->SetMinimum(0); 00269 } 00270 00271 00272 // Get Overall Pedestal Maps 00273 getSJ6histos("PedestalMonitor_Hcal/","Pedestal Mean Map ADC",MeanMapByDepth); 00274 if (MeanMapByDepth[i]) 00275 { 00276 // This forces green color to get centered at nominal value in colz plots. 00277 // It also causes overflow values to get filled at 2*nominalPedMeanInADC_, rather than their true values. 00278 // But this is okay -- true values are dumped on main page when listing problem cells. 00279 MeanMapByDepth[i]->SetMaximum(2*nominalPedMeanInADC_); 00280 MeanMapByDepth[i]->SetMinimum(0); 00281 } 00282 getSJ6histos("PedestalMonitor_Hcal/","Pedestal RMS Map ADC",RMSMapByDepth); 00283 if (RMSMapByDepth[i]) 00284 { 00285 RMSMapByDepth[i]->SetMaximum(2*nominalPedWidthInADC_ ); 00286 RMSMapByDepth[i]->SetMinimum(0); 00287 } 00288 00289 // Database Pedestal values 00290 getSJ6histos("PedestalMonitor_Hcal/reference_pedestals/adc/","Pedestal Values from DataBase ADC",ADC_PedestalFromDBByDepth); 00291 getSJ6histos("PedestalMonitor_Hcal/reference_pedestals/adc/","Pedestal Widths from DataBase ADC",ADC_WidthFromDBByDepth); 00292 getSJ6histos("PedestalMonitor_Hcal/reference_pedestals/fc/","Pedestal Values from DataBase fC",fC_PedestalFromDBByDepth); 00293 getSJ6histos("PedestalMonitor_Hcal/reference_pedestals/fc/","Pedestal Widths from DataBase fC",fC_WidthFromDBByDepth); 00294 00295 00296 // Raw, sub Pedestals in ADC 00297 getSJ6histos("PedestalMonitor_Hcal/adc/raw/","Pedestal Values Map ADC", rawADCPedestalMean); 00298 getSJ6histos("PedestalMonitor_Hcal/adc/raw/","Pedestal Widths Map ADC", rawADCPedestalRMS); 00299 getSJ6histos("PedestalMonitor_Hcal/adc/subtracted__beta_testing/","Subtracted Pedestal Values Map ADC", subADCPedestalMean); 00300 getSJ6histos("PedestalMonitor_Hcal/adc/subtracted__beta_testing/","Subtracted Pedestal Widths Map ADC", subADCPedestalRMS); 00301 getSJ6histos("PedestalMonitor_Hcal/adc/raw/","1D Pedestal Values ADC",rawADCPedestalMean_1D); 00302 getSJ6histos("PedestalMonitor_Hcal/adc/raw/","1D Pedestal Widths ADC",rawADCPedestalRMS_1D); 00303 getSJ6histos("PedestalMonitor_Hcal/adc/subtracted__beta_testing/","1D Subtracted Pedestal Values ADC", subADCPedestalMean_1D); 00304 getSJ6histos("PedestalMonitor_Hcal/adc/subtracted__beta_testing/","1D Subtracted Pedestal Widths ADC", subADCPedestalRMS_1D); 00305 00306 // Raw, sub Pedestals in fC 00307 getSJ6histos("PedestalMonitor_Hcal/fc/raw/","Pedestal Values Map fC", rawFCPedestalMean); 00308 getSJ6histos("PedestalMonitor_Hcal/fc/raw/","Pedestal Widths Map fC", rawFCPedestalRMS); 00309 getSJ6histos("PedestalMonitor_Hcal/fc/subtracted__beta_testing/","Subtracted Pedestal Values Map fC", subFCPedestalMean); 00310 getSJ6histos("PedestalMonitor_Hcal/fc/subtracted__beta_testing/","Subtracted Pedestal Widths Map fC", subFCPedestalRMS); 00311 getSJ6histos("PedestalMonitor_Hcal/fc/raw/","1D Pedestal Values fC",rawFCPedestalMean_1D); 00312 getSJ6histos("PedestalMonitor_Hcal/fc/raw/","1D Pedestal Widths fC",rawFCPedestalRMS_1D); 00313 getSJ6histos("PedestalMonitor_Hcal/fc/subtracted__beta_testing/","1D Subtracted Pedestal Values fC", subFCPedestalMean_1D); 00314 getSJ6histos("PedestalMonitor_Hcal/fc/subtracted__beta_testing/","1D Subtracted Pedestal Widths fC", subFCPedestalRMS_1D); 00315 00316 } // for (int i=0;i<6;++i) 00317 00318 return; 00319 } //void HcalPedestalClient::getHistograms()
Definition at line 572 of file HcalPedestalClient.cc.
References ADC_PedestalFromDBByDepth, ADC_WidthFromDBByDepth, GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, edm::CPUTimer::cpuTime(), HcalBaseClient::dbe_, HcalBaseClient::debug_, HcalBaseClient::dqmReportMapErr_, HcalBaseClient::dqmReportMapOther_, HcalBaseClient::dqmReportMapWarn_, lat::endl(), fC_PedestalFromDBByDepth, fC_WidthFromDBByDepth, htmlAnyHisto(), htmlErrors(), i, HcalBaseClient::ievt_, MeanMapByDepth, HcalBaseClient::pcol_error_, ProblemPedestalsByDepth, HcalBaseClient::process_, rawADCPedestalMean, rawADCPedestalMean_1D, rawADCPedestalRMS, rawADCPedestalRMS_1D, rawFCPedestalMean, rawFCPedestalMean_1D, rawFCPedestalRMS, rawFCPedestalRMS_1D, edm::CPUTimer::reset(), RMSMapByDepth, HcalBaseClient::showTiming_, edm::CPUTimer::start(), edm::CPUTimer::stop(), subADCPedestalMean, subADCPedestalMean_1D, subADCPedestalRMS, subADCPedestalRMS_1D, subFCPedestalMean, subFCPedestalMean_1D, subFCPedestalRMS, and subFCPedestalRMS_1D.
Referenced by htmlOutput().
00573 { 00574 if (showTiming_) 00575 { 00576 cpu_timer.reset(); cpu_timer.start(); 00577 } 00578 00579 if (debug_) 00580 cout <<" <HcalPedestalClient::htmlExpertOutput> Preparing Expert html output ..." <<endl; 00581 00582 string client = "PedestalMonitor"; 00583 htmlErrors(runNo,htmlDir,client,process_,dbe_,dqmReportMapErr_,dqmReportMapWarn_,dqmReportMapOther_); // does this do anything? 00584 00585 ofstream htmlFile; 00586 htmlFile.open((htmlDir +"Expert_"+ htmlName).c_str()); 00587 00588 // html page header 00589 htmlFile << "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> " << endl; 00590 htmlFile << "<html> " << endl; 00591 htmlFile << "<head> " << endl; 00592 htmlFile << " <meta content=\"text/html; charset=ISO-8859-1\" " << endl; 00593 htmlFile << " https-equiv=\"content-type\"> " << endl; 00594 htmlFile << " <title>Monitor: Hcal Pedestal Task output</title> " << endl; 00595 htmlFile << "</head> " << endl; 00596 htmlFile << "<style type=\"text/css\"> td { font-weight: bold } </style>" << endl; 00597 htmlFile << "<body> " << endl; 00598 htmlFile <<"<a name=\"EXPERT_PEDESTAL_TOP\" href = \".\"> Back to Main HCAL DQM Page </a><br>"<<endl; 00599 htmlFile <<"<a href= \""<<htmlName.c_str()<<"\" > Back to Pedestal Status Page </a><br>"<<endl; 00600 htmlFile << "<br> " << endl; 00601 htmlFile << "<h2>Run: " << endl; 00602 htmlFile << " <span " << endl; 00603 htmlFile << " style=\"color: rgb(0, 0, 153);\">" << runNo << "</span></h2>" << endl; 00604 htmlFile << "<h2>Monitoring task: <span " << endl; 00605 htmlFile << " style=\"color: rgb(0, 0, 153);\">Hcal Pedestals</span></h2> " << endl; 00606 htmlFile << "<h2>Events processed: " << endl; 00607 htmlFile << " <span " << endl; 00608 htmlFile << " style=\"color: rgb(0, 0, 153);\">" << ievt_ << "</span></h2>" << endl; 00609 htmlFile << "<hr>" << endl; 00610 00611 htmlFile << "<table width=100% border = 1>"<<endl; 00612 htmlFile << "<tr><td align=\"center\" colspan=2><a href=\"#OVERALL_PEDS\">Pedestal Mean and RMS Maps </a></td></tr>"<<endl; 00613 htmlFile << "<tr><td align=\"center\">Pedestals in ADC counts<br><a href=\"#RAW_ADC\">Raw Pedestals</a><br><a href=\"#SUB_ADC\">Subtracted Pedestals</a><br></td>"<<endl; 00614 htmlFile << "<td align=\"center\">Pedestals in femtoCoulombs<br><a href=\"#RAW_fC\">Raw Pedestals</a><br><a href=\"#SUB_fC\">Subtracted Pedestals</a><br></td></tr>"<<endl; 00615 htmlFile << "<tr><td align=\"center\" colspan=2><a href=\"#PROBLEM_PEDS\">Problem Pedestals</a></td></tr>"<<endl; 00616 htmlFile << "<td align=\"center\"><a href=\"#REF_ADC\">Reference Pedestals <br>from database (ADC)</a><br></td><td align=\"center\"><a href=\"#REF_fC\"> Reference Pedestals <br>from database (fC)</a><br></td></tr>"<<endl; 00617 htmlFile <<"</table>"<<endl; 00618 htmlFile <<"<br><br>"<<endl; 00619 00620 00621 // Plot Pedestal Mean and RMS values 00622 htmlFile << "<h2><strong><a name=\"OVERALL_PEDS\">2D Maps of Pedestal Means and RMS Values</strong></h2>"<<endl; 00623 htmlFile <<"<a href= \"#EXPERT_PEDESTAL_TOP\" > Back to Top</a><br>"<<endl; 00624 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00625 htmlFile << "cellpadding=\"10\"> " << endl; 00626 gStyle->SetPalette(1); // set back to normal rainbow color 00627 00628 00629 // Depths are stored as: 0: HB/HF depth 1, 1: HB/HF 2, 2: HE 3, 3: HO/ZDC, 4: HE 1, 5: HE2 00630 // remap so that HE depths are plotted consecutively 00631 int mydepth[6]={0,1,4,5,2,3}; 00632 for (int i=0;i<6;++i) 00633 { 00634 htmlFile << "<tr align=\"left\">" << endl; 00635 htmlAnyHisto(runNo,MeanMapByDepth[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00636 htmlAnyHisto(runNo,RMSMapByDepth[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00637 htmlFile <<"</tr>"<<endl; 00638 } 00639 htmlFile <<"</table>"<<endl; 00640 htmlFile <<"<br><hr><br>"<<endl; 00641 00642 // Raw Pedestals (ADC) 00643 htmlFile << "<h2><strong><a name=\"RAW_ADC\">Raw Pedestals from database (ADC)</strong></h2>"<<endl; 00644 htmlFile <<"<a href= \"#EXPERT_PEDESTAL_TOP\" > Back to Top</a><br>"<<endl; 00645 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00646 htmlFile << "cellpadding=\"10\"> " << endl; 00647 gStyle->SetPalette(1); //set back to normal rainbow color 00648 for (int i=0;i<6;++i) 00649 { 00650 htmlFile << "<tr align=\"left\">" << endl; 00651 htmlAnyHisto(runNo,rawADCPedestalMean[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00652 htmlAnyHisto(runNo,rawADCPedestalRMS[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00653 htmlFile <<"</tr>"<<endl; 00654 } 00655 for (int i=0;i<6;++i) 00656 { 00657 htmlFile << "<tr align=\"left\">" << endl; 00658 htmlAnyHisto(runNo,rawADCPedestalMean_1D[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00659 htmlAnyHisto(runNo,rawADCPedestalRMS_1D[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00660 htmlFile <<"</tr>"<<endl; 00661 } 00662 htmlFile <<"</table>"<<endl; 00663 htmlFile <<"<br><hr><br>"<<endl; 00664 00665 // Subtracted Pedestals (ADC) 00666 htmlFile << "<h2><strong><a name=\"SUB_ADC\">Subtracted Pedestals from database (ADC)</strong></h2>"<<endl; 00667 htmlFile <<"<a href= \"#EXPERT_PEDESTAL_TOP\" > Back to Top</a><br>"<<endl; 00668 htmlFile <<"Plots of (computed pedestal values) - (reference pedestal values).<br>"<<endl; 00669 htmlFile <<"(If the database stores values in fC, the subtracted pedestal widths in ADC may not be plotted correctly here.)<br>"<<endl; 00670 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00671 htmlFile << "cellpadding=\"10\"> " << endl; 00672 gStyle->SetPalette(1); //set back to normal rainbow color 00673 for (int i=0;i<6;++i) 00674 { 00675 htmlFile << "<tr align=\"left\">" << endl; 00676 htmlAnyHisto(runNo,subADCPedestalMean[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00677 htmlAnyHisto(runNo,subADCPedestalRMS[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00678 htmlFile <<"</tr>"<<endl; 00679 } 00680 for (int i=0;i<6;++i) 00681 { 00682 htmlFile << "<tr align=\"left\">" << endl; 00683 htmlAnyHisto(runNo,subADCPedestalMean_1D[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00684 htmlAnyHisto(runNo,subADCPedestalRMS_1D[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00685 htmlFile <<"</tr>"<<endl; 00686 } 00687 htmlFile <<"</table>"<<endl; 00688 00689 // Raw Pedestals (fC) 00690 htmlFile << "<h2><strong><a name=\"RAW_fC\">Raw Pedestals from database (fC)</strong></h2>"<<endl; 00691 htmlFile <<"<a href= \"#EXPERT_PEDESTAL_TOP\" > Back to Top</a><br>"<<endl; 00692 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00693 htmlFile << "cellpadding=\"10\"> " << endl; 00694 gStyle->SetPalette(1); //set back to normal rainbow color 00695 for (int i=0;i<6;++i) 00696 { 00697 htmlFile << "<tr align=\"left\">" << endl; 00698 htmlAnyHisto(runNo,rawFCPedestalMean[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00699 htmlAnyHisto(runNo,rawFCPedestalRMS[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00700 htmlFile <<"</tr>"<<endl; 00701 } 00702 for (int i=0;i<6;++i) 00703 { 00704 htmlFile << "<tr align=\"left\">" << endl; 00705 htmlAnyHisto(runNo,rawFCPedestalMean_1D[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00706 htmlAnyHisto(runNo,rawFCPedestalRMS_1D[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00707 htmlFile <<"</tr>"<<endl; 00708 } 00709 htmlFile <<"</table>"<<endl; 00710 htmlFile <<"<br><hr><br>"<<endl; 00711 00712 // Subtracted Pedestals (fC) 00713 htmlFile << "<h2><strong><a name=\"SUB_fC\">Subtracted Pedestals from database (fC)</strong></h2>"<<endl; 00714 htmlFile <<"<a href= \"#EXPERT_PEDESTAL_TOP\" > Back to Top</a><br>"<<endl; 00715 htmlFile <<"Plots of (computed pedestal values) - (reference pedestal values).<br>"<<endl; 00716 htmlFile <<"(If the database stores values in ADC, the subtracted pedestal widths in fC may not be plotted correctly here.)<br>"<<endl; 00717 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00718 htmlFile << "cellpadding=\"10\"> " << endl; 00719 gStyle->SetPalette(1); //set back to normal rainbow color 00720 for (int i=0;i<6;++i) 00721 { 00722 htmlFile << "<tr align=\"left\">" << endl; 00723 htmlAnyHisto(runNo,subFCPedestalMean[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00724 htmlAnyHisto(runNo,subFCPedestalRMS[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00725 htmlFile <<"</tr>"<<endl; 00726 } 00727 for (int i=0;i<6;++i) 00728 { 00729 htmlFile << "<tr align=\"left\">" << endl; 00730 htmlAnyHisto(runNo,subFCPedestalMean_1D[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00731 htmlAnyHisto(runNo,subFCPedestalRMS_1D[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00732 htmlFile <<"</tr>"<<endl; 00733 } 00734 htmlFile <<"</table>"<<endl; 00735 00736 00737 // Plot Pedestal Plot Errors 00738 htmlFile << "<h2><strong><a name=\"PROBLEM_PEDS\">Problem Pedestals</strong></h2>"<<endl; 00739 htmlFile <<"<a href= \"#EXPERT_PEDESTAL_TOP\" > Back to Top</a><br>"<<endl; 00740 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00741 htmlFile << "cellpadding=\"10\"> " << endl; 00742 gStyle->SetPalette(20,pcol_error_); //set back to normal rainbow color 00743 for (int i=0;i<3;++i) 00744 { 00745 htmlFile << "<tr align=\"left\">" << endl; 00746 htmlAnyHisto(runNo,ProblemPedestalsByDepth[2*i],"i#eta","i#phi", 92, htmlFile, htmlDir); 00747 htmlAnyHisto(runNo,ProblemPedestalsByDepth[2*i+1],"i#eta","i#phi", 92, htmlFile, htmlDir); 00748 htmlFile <<"</tr>"<<endl; 00749 } 00750 htmlFile <<"</table>"<<endl; 00751 htmlFile <<"<br><hr><br>"<<endl; 00752 00753 //Plot Reference Pedestals 00754 // Reference Pedestals in ADC 00755 htmlFile << "<h2><strong><a name=\"REF_ADC\">Reference Pedestals from database (ADC)</strong></h2>"<<endl; 00756 htmlFile <<"<a href= \"#EXPERT_PEDESTAL_TOP\" > Back to Top</a><br>"<<endl; 00757 htmlFile <<"(If the database stores values in fC, the pedestal widths in ADC may not be plotted correctly here.)<br>"<<endl; 00758 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00759 htmlFile << "cellpadding=\"10\"> " << endl; 00760 gStyle->SetPalette(1); //set back to normal rainbow color 00761 for (int i=0;i<6;++i) 00762 { 00763 htmlFile << "<tr align=\"left\">" << endl; 00764 htmlAnyHisto(runNo,ADC_PedestalFromDBByDepth[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00765 htmlAnyHisto(runNo,ADC_WidthFromDBByDepth[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00766 htmlFile <<"</tr>"<<endl; 00767 } 00768 htmlFile <<"</table>"<<endl; 00769 00770 htmlFile <<"<br><hr><br>"<<endl; 00771 00772 // Reference Pedestals in fC 00773 htmlFile << "<h2><strong><a name=\"REF_fC\">Reference Pedestals from database (fC)</strong></h2>"<<endl; 00774 htmlFile <<"<a href= \"#EXPERT_PEDESTAL_TOP\" > Back to Top</a><br>"<<endl; 00775 htmlFile <<"(If the database stores values in ADC, the pedestal widths in fC may not be plotted correctly here.)<br>"<<endl; 00776 htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl; 00777 htmlFile << "cellpadding=\"10\"> " << endl; 00778 gStyle->SetPalette(1); //set back to normal rainbow color 00779 for (int i=0;i<6;++i) 00780 { 00781 htmlFile << "<tr align=\"left\">" << endl; 00782 htmlAnyHisto(runNo,fC_PedestalFromDBByDepth[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00783 htmlAnyHisto(runNo,fC_WidthFromDBByDepth[mydepth[i]],"i#eta","i#phi", 92, htmlFile, htmlDir); 00784 htmlFile <<"</tr>"<<endl; 00785 } 00786 htmlFile <<"</table>"<<endl; 00787 00788 htmlFile <<"<br><hr><br><a href= \"#EXPERT_PEDESTAL_TOP\" > Back to Top of Page </a><br>"<<endl; 00789 htmlFile <<"<a href = \".\"> Back to Main HCAL DQM Page </a><br>"<<endl; 00790 htmlFile <<"<a href= \""<<htmlName.c_str()<<"\" > Back to Pedestal Status Page </a><br>"<<endl; 00791 00792 htmlFile << "</body> " << endl; 00793 htmlFile << "</html> " << endl; 00794 00795 htmlFile.close(); 00796 00797 if (showTiming_) 00798 { 00799 cpu_timer.stop(); cout <<"TIMER:: HcalPedestalClient HTMLEXPERTOUTPUT ->"<<cpu_timer.cpuTime()<<endl; 00800 } 00801 return; 00802 } // void HcalPedestalClient::htmlExpertOutput(...)
HtmlOutput.
Definition at line 448 of file HcalPedestalClient.cc.
References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, edm::CPUTimer::cpuTime(), HcalBaseClient::debug_, lat::endl(), eta, gen_hydjet_hard_muon_trigger_cfg::etaMin, htmlAnyHisto(), htmlExpertOutput(), HcalBaseClient::ievt_, int, maxPedMeanDiffADC_, maxPedWidthDiffADC_, MeanMapByDepth, minErrorFlag_, name, nominalPedMeanInADC_, nominalPedWidthInADC_, HcalBaseClient::pcol_error_, phi, ProblemPedestals, ProblemPedestalsByDepth, edm::CPUTimer::reset(), RMSMapByDepth, HcalBaseClient::showTiming_, edm::CPUTimer::start(), and edm::CPUTimer::stop().
Referenced by HcalMonitorClient::htmlOutput().
00449 { 00450 if (showTiming_) 00451 { 00452 cpu_timer.reset(); cpu_timer.start(); 00453 } 00454 00455 if (debug_) cout << "Preparing HcalPedestalClient html output ..." << endl; 00456 00457 string client = "PedestalMonitor"; 00458 00459 ofstream htmlFile; 00460 htmlFile.open((htmlDir + htmlName).c_str()); 00461 00462 // html page header 00463 htmlFile << "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> " << endl; 00464 htmlFile << "<html> " << endl; 00465 htmlFile << "<head> " << endl; 00466 htmlFile << " <meta content=\"text/html; charset=ISO-8859-1\" " << endl; 00467 htmlFile << " https-equiv=\"content-type\"> " << endl; 00468 htmlFile << " <title>Monitor: Hcal Pedestal Task output</title> " << endl; 00469 htmlFile << "</head> " << endl; 00470 htmlFile << "<style type=\"text/css\"> td { font-weight: bold } </style>" << endl; 00471 htmlFile << "<body> " << endl; 00472 htmlFile << "<br> " << endl; 00473 htmlFile << "<h2>Run: " << endl; 00474 htmlFile << " <span " << endl; 00475 htmlFile << " style=\"color: rgb(0, 0, 153);\">" << runNo << "</span></h2>" << endl; 00476 htmlFile << "<h2>Monitoring task: <span " << endl; 00477 htmlFile << " style=\"color: rgb(0, 0, 153);\">Hcal Pedestals</span></h2> " << endl; 00478 00479 htmlFile << "<h2>Events processed: " << endl; 00480 htmlFile << " <span " << endl; 00481 htmlFile << " style=\"color: rgb(0, 0, 153);\">" << ievt_ << "</span></h2>" << endl; 00482 htmlFile << "<hr>" << endl; 00483 00484 htmlFile << "<h2><strong>Hcal Pedestal Status</strong></h2>" << endl; 00485 htmlFile << "<h3>" << endl; 00486 htmlFile << "</h3>" << endl; 00487 00488 htmlFile << "<table align=\"center\" border=\"0\" cellspacing=\"0\" " << endl; 00489 htmlFile << "cellpadding=\"10\"> " << endl; 00490 htmlFile << "<tr align=\"center\">" << endl; 00491 gStyle->SetPalette(20,pcol_error_); // set palette to standard error color scheme 00492 htmlAnyHisto(runNo,ProblemPedestals,"i#eta","i#phi", 92, htmlFile, htmlDir); 00493 htmlFile<<"</tr>"<<endl; 00494 htmlFile<<"<tr align=\"center\"><td> A pedestal is considered problematic if its mean differs from the nominal mean value of "<<nominalPedMeanInADC_<<" by more than "<<maxPedMeanDiffADC_<<" ADC counts.<br>"; 00495 htmlFile<<"It is also considered problematic if its RMS differs from the nominal RMS of "<<nominalPedWidthInADC_<<" by more than "<<maxPedWidthDiffADC_<<" ADC counts.<br>"<<endl; 00496 htmlFile<<"</tr></table>"<<endl; 00497 htmlFile<<"<hr><table align=\"center\" border=\"0\" cellspacing=\"0\" " << endl; 00498 htmlFile << "cellpadding=\"10\"> " << endl; 00499 htmlFile << "<tr align=\"center\">" << endl; 00500 htmlFile<<"<tr><td align=center><a href=\"Expert_"<< htmlName<<"\"><h2>Detailed Pedestal Plots</h2> </a></br></td>"<<endl; 00501 htmlFile<<"</tr></table><br><hr>"<<endl; 00502 00503 // Now print out problem cells 00504 htmlFile <<"<br>"<<endl; 00505 htmlFile << "<h2><strong>Hcal Problem Cells</strong></h2>" << endl; 00506 htmlFile << "(A problem cell is listed below if its failure rate exceeds "<<(100.*minErrorFlag_)<<"%).<br><br>"<<endl; 00507 htmlFile << "<table align=\"center\" border=\"1\" cellspacing=\"0\" " << endl; 00508 htmlFile << "cellpadding=\"10\"> " << endl; 00509 htmlFile << "<tr align=\"center\">" << endl; 00510 htmlFile <<"<td> Problem Cells<br>(ieta, iphi, depth)</td><td align=\"center\"> Fraction of Events <br>in which cells are bad (%)</td><td align=\"center\"> Mean (ADC)</td><td align=\"center\"> RMS (ADC)</td></tr>"<<endl; 00511 00512 if (ProblemPedestals==0) 00513 { 00514 cout <<"<HcalPedestalClient::htmlOutput> ERROR: can't find ProblemPedestal plot!"<<endl; 00515 return; 00516 } 00517 int etabins = ProblemPedestals->GetNbinsX(); 00518 int phibins = ProblemPedestals->GetNbinsY(); 00519 float etaMin = ProblemPedestals->GetXaxis()->GetXmin(); 00520 float phiMin = ProblemPedestals->GetYaxis()->GetXmin(); 00521 00522 int eta,phi; 00523 00524 ostringstream name; 00525 for (int depth=0;depth<6; ++depth) 00526 { 00527 for (int ieta=1;ieta<=etabins;++ieta) 00528 { 00529 for (int iphi=1; iphi<=phibins;++iphi) 00530 { 00531 eta=ieta+int(etaMin)-1; 00532 phi=iphi+int(phiMin)-1; 00533 int mydepth=depth+1; 00534 if (mydepth>4) mydepth-=4; // last two depth values are for HE depth 1,2 00535 if (ProblemPedestalsByDepth[depth]==0) 00536 { 00537 continue; 00538 } 00539 if (ProblemPedestalsByDepth[depth]->GetBinContent(ieta,iphi)>minErrorFlag_) 00540 { 00541 if (depth<2) 00542 (fabs(eta)<29) ? name<<"HB" : name<<"HF"; 00543 else if (depth==3) 00544 (fabs(eta)<42) ? name<<"HO" : name<<"ZDC"; 00545 else name <<"HE"; 00546 if (MeanMapByDepth[depth]!=0 && RMSMapByDepth[depth]!=0) 00547 htmlFile<<"<td>"<<name.str().c_str()<<" ("<<eta<<", "<<phi<<", "<<mydepth<<")</td><td align=\"center\">"<<ProblemPedestalsByDepth[depth]->GetBinContent(ieta,iphi)*100.<<"</td><td align=\"center\"> "<<MeanMapByDepth[depth]->GetBinContent(ieta,iphi)<<" </td> <td align=\"center\">"<<RMSMapByDepth[depth]->GetBinContent(ieta,iphi)<<"</td></tr>"<<endl; 00548 name.str(""); 00549 } 00550 } // for (int iphi=1;...) 00551 } // for (int ieta=1;...) 00552 } // for (int depth=0;...) 00553 00554 00555 // html page footer 00556 htmlFile <<"</table> " << endl; 00557 htmlFile << "</body> " << endl; 00558 htmlFile << "</html> " << endl; 00559 00560 htmlFile.close(); 00561 htmlExpertOutput(runNo, htmlDir, htmlName); 00562 00563 if (showTiming_) 00564 { 00565 cpu_timer.stop(); cout <<"TIMER:: HcalPedestalClient HTMLOUTPUT -> "<<cpu_timer.cpuTime()<<endl; 00566 } 00567 00568 return; 00569 } //void HcalPedestalClient::htmlOutput(int runNo, ...)
void HcalPedestalClient::init | ( | const edm::ParameterSet & | ps, | |
DQMStore * | dbe, | |||
string | clientName | |||
) | [virtual] |
Reimplemented from HcalBaseClient.
Definition at line 10 of file HcalPedestalClient.cc.
References ADC_PedestalFromDBByDepth, ADC_WidthFromDBByDepth, doFCpeds_, endingTimeSlice_, fC_PedestalFromDBByDepth, fC_WidthFromDBByDepth, edm::ParameterSet::getUntrackedParameter(), i, HcalBaseClient::init(), maxPedMeanDiffADC_, maxPedWidthDiffADC_, MeanMapByDepth, minErrorFlag_, nominalPedMeanInADC_, nominalPedWidthInADC_, ProblemPedestals, ProblemPedestalsByDepth, rawADCPedestalMean, rawADCPedestalMean_1D, rawADCPedestalRMS, rawADCPedestalRMS_1D, rawFCPedestalMean, rawFCPedestalMean_1D, rawFCPedestalRMS, rawFCPedestalRMS_1D, RMSMapByDepth, startingTimeSlice_, subADCPedestalMean, subADCPedestalMean_1D, subADCPedestalRMS, subADCPedestalRMS_1D, subdets_, subFCPedestalMean, subFCPedestalMean_1D, subFCPedestalRMS, and subFCPedestalRMS_1D.
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 nominalPedMeanInADC_ = ps.getUntrackedParameter<double>("PedestalClient_nominalPedMeanInADC",3); 00016 nominalPedWidthInADC_ = ps.getUntrackedParameter<double>("PedestalClient_nominalPedWidthInADC",1); 00017 maxPedMeanDiffADC_ = ps.getUntrackedParameter<double>("PedestalClient_maxPedMeanDiffADC",1); 00018 maxPedWidthDiffADC_ = ps.getUntrackedParameter<double>("PedestalClient_maxPedWidthDiffADC",1); 00019 doFCpeds_ = ps.getUntrackedParameter<bool>("PedestalClient_pedestalsInFC",1); 00020 startingTimeSlice_ = ps.getUntrackedParameter<int>("PedestalClient_startingTimeSlice",0); 00021 endingTimeSlice_ = ps.getUntrackedParameter<int>("PedestalClient_endingTimgSlice",1); 00022 minErrorFlag_ = ps.getUntrackedParameter<double>("PedestalClient_minErrorFlag",0.05); 00023 00024 // Set individual pointers to NULL 00025 ProblemPedestals=0; 00026 00027 for (int i=0;i<6;++i) 00028 { 00029 // Set each array's pointers to NULL 00030 ProblemPedestalsByDepth[i]=0; 00031 MeanMapByDepth[i]=0; 00032 RMSMapByDepth[i]=0; 00033 00034 // Basic Pedestal plots 00035 ADC_PedestalFromDBByDepth[i]=0; 00036 ADC_WidthFromDBByDepth[i]=0; 00037 fC_PedestalFromDBByDepth[i]=0; 00038 fC_WidthFromDBByDepth[i]=0; 00039 00040 // Pedestals from Database 00041 ADC_PedestalFromDBByDepth[i]=0; 00042 ADC_WidthFromDBByDepth[i]=0; 00043 fC_PedestalFromDBByDepth[i]=0; 00044 fC_WidthFromDBByDepth[i]=0; 00045 00046 // Raw pedestals in ADC 00047 rawADCPedestalMean[i]=0; 00048 rawADCPedestalRMS[i]=0; 00049 rawADCPedestalMean_1D[i]=0; 00050 rawADCPedestalRMS_1D[i]=0; 00051 00052 // Subtracted pedestals in ADC 00053 subADCPedestalMean[i]=0; 00054 subADCPedestalRMS[i]=0; 00055 subADCPedestalMean_1D[i]=0; 00056 subADCPedestalRMS_1D[i]=0; 00057 00058 // Raw pedestals in FC 00059 rawFCPedestalMean[i]=0; 00060 rawFCPedestalRMS[i]=0; 00061 rawFCPedestalMean_1D[i]=0; 00062 rawFCPedestalRMS_1D[i]=0; 00063 00064 // Subtracted pedestals in FC 00065 subFCPedestalMean[i]=0; 00066 subFCPedestalRMS[i]=0; 00067 subFCPedestalMean_1D[i]=0; 00068 subFCPedestalRMS_1D[i]=0; 00069 } 00070 00071 subdets_.push_back("HB HF Depth 1 "); 00072 subdets_.push_back("HB HF Depth 2 "); 00073 subdets_.push_back("HE Depth 3 "); 00074 subdets_.push_back("HO ZDC "); 00075 subdets_.push_back("HE Depth 1 "); 00076 subdets_.push_back("HE Depth 2 "); 00077 00078 00079 return; 00080 } // void HcalPedestalClient::init(...)
void HcalPedestalClient::loadHistograms | ( | TFile * | f | ) |
Definition at line 806 of file HcalPedestalClient.cc.
References ADC_PedestalFromDBByDepth, ADC_WidthFromDBByDepth, fC_PedestalFromDBByDepth, fC_WidthFromDBByDepth, i, HcalBaseClient::ievt_, MeanMapByDepth, name, ProblemPedestals, ProblemPedestalsByDepth, HcalBaseClient::process_, rawADCPedestalMean, rawADCPedestalMean_1D, rawADCPedestalRMS, rawADCPedestalRMS_1D, rawFCPedestalMean, rawFCPedestalMean_1D, rawFCPedestalRMS, rawFCPedestalRMS_1D, RMSMapByDepth, s, subADCPedestalMean, subADCPedestalMean_1D, subADCPedestalRMS, subADCPedestalRMS_1D, subdets_, subFCPedestalMean, subFCPedestalMean_1D, subFCPedestalRMS, and subFCPedestalRMS_1D.
00807 { 00808 TNamed* tnd = (TNamed*)infile->Get("DQMData/Hcal/PedestalMonitor_Hcal/Pedestal Task Event Number"); 00809 if(tnd) 00810 { 00811 string s =tnd->GetTitle(); 00812 ievt_ = -1; 00813 sscanf((s.substr(2,s.length()-2)).c_str(), "%d", &ievt_); 00814 } 00815 00816 ostringstream name; 00817 // Grab individual histograms 00818 name<<process_.c_str()<<"PedestalMonitor_Hcal/ ProblemPedestals"; 00819 ProblemPedestals = (TH2F*)infile->Get(name.str().c_str()); 00820 name.str(""); 00821 00822 for (int i=0;i<6;++i) 00823 { 00824 // Grab arrays of histograms 00825 name<<process_.c_str()<<"PedestalMonitor_Hcal/problem_pedestals/"<<subdets_[i]<<" Problem Pedestal Rate"; 00826 ProblemPedestalsByDepth[i] = (TH2F*)infile->Get(name.str().c_str()); 00827 name.str(""); 00828 00829 // Overall Pedestal Map Plots 00830 name<<process_.c_str()<<"PedestalMonitor_Hcal/"<<subdets_[i]<<"Pedestal Mean Map ADC"; 00831 MeanMapByDepth[i] = (TH2F*)infile->Get(name.str().c_str()); 00832 name.str(""); 00833 00834 name<<process_.c_str()<<"PedestalMonitor_Hcal/"<<subdets_[i]<<"Pedestal RMS Map ADC"; 00835 RMSMapByDepth[i] = (TH2F*)infile->Get(name.str().c_str()); 00836 name.str(""); 00837 00838 // Database Pedestal values 00839 name<<process_.c_str()<<"PedestalMonitor_Hcal/reference_pedestals/adc/"<<subdets_[i]<<"Pedestal Values from DataBase ADC"; 00840 ADC_PedestalFromDBByDepth[i] = (TH2F*)infile->Get(name.str().c_str()); 00841 name.str(""); 00842 00843 name<<process_.c_str()<<"PedestalMonitor_Hcal/reference_pedestals/adc/"<<subdets_[i]<<"Pedestal Widths from DataBase ADC"; 00844 ADC_WidthFromDBByDepth[i] = (TH2F*)infile->Get(name.str().c_str()); 00845 name.str(""); 00846 00847 name<<process_.c_str()<<"PedestalMonitor_Hcal/reference_pedestals/fc/"<<subdets_[i]<<"Pedestal Values from DataBase fC"; 00848 fC_PedestalFromDBByDepth[i] = (TH2F*)infile->Get(name.str().c_str()); 00849 name.str(""); 00850 00851 name<<process_.c_str()<<"PedestalMonitor_Hcal/reference_pedestals/fc/"<<subdets_[i]<<"Pedestal Widths from DataBase fC"; 00852 fC_WidthFromDBByDepth[i] = (TH2F*)infile->Get(name.str().c_str()); 00853 name.str(""); 00854 00855 // Raw, sub Pedestals in ADC 00856 name<<process_.c_str()<<"PedestalMonitor_Hcal/adc/raw/"<<subdets_[i]<<"Pedestal Values Map ADC"; 00857 rawADCPedestalMean[i] = (TH2F*)infile->Get(name.str().c_str()); 00858 name.str(""); 00859 name<<process_.c_str()<<"PedestalMonitor_Hcal/adc/raw/"<<subdets_[i]<<"Pedestal Widths Map ADC"; 00860 rawADCPedestalRMS[i] = (TH2F*)infile->Get(name.str().c_str()); 00861 name.str(""); 00862 name<<process_.c_str()<<"PedestalMonitor_Hcal/adc/subtracted__beta_testing/"<<subdets_[i]<<"Subtracted Pedestal Values Map ADC"; 00863 subADCPedestalMean[i] = (TH2F*)infile->Get(name.str().c_str()); 00864 name.str(""); 00865 name<<process_.c_str()<<"PedestalMonitor_Hcal/adc/subtracted__beta_testing/"<<subdets_[i]<<"Subtracted Pedestal Widths Map ADC"; 00866 subADCPedestalRMS[i] = (TH2F*)infile->Get(name.str().c_str()); 00867 name.str(""); 00868 name<<process_.c_str()<<"PedestalMonitor_Hcal/adc/raw/"<<subdets_[i]<<"1D Pedestal Values ADC"; 00869 rawADCPedestalMean_1D[i] =(TH1F*)infile->Get(name.str().c_str()); 00870 name.str(""); 00871 name<<process_.c_str()<<"PedestalMonitor_Hcal/adc/raw/"<<subdets_[i]<<"1D Pedestal Widths ADC"; 00872 rawADCPedestalRMS_1D[i] =(TH1F*)infile->Get(name.str().c_str()); 00873 name.str(""); 00874 name<<process_.c_str()<<"PedestalMonitor_Hcal/adc/subtracted__beta_testing/"<<subdets_[i]<<"1D Subtracted Pedestal Values ADC"; 00875 subADCPedestalMean_1D[i] =(TH1F*)infile->Get(name.str().c_str()); 00876 name.str(""); 00877 name<<process_.c_str()<<"PedestalMonitor_Hcal/adc/subtracted__beta_testing/"<<subdets_[i]<<"1D Subtracted Pedestal Widths ADC"; 00878 subADCPedestalRMS_1D[i] =(TH1F*)infile->Get(name.str().c_str()); 00879 name.str(""); 00880 00881 // Raw, sub Pedestals in fC 00882 name<<process_.c_str()<<"PedestalMonitor_Hcal/fc/raw/"<<subdets_[i]<<"Pedestal Values Map fC"; 00883 rawFCPedestalMean[i] = (TH2F*)infile->Get(name.str().c_str()); 00884 name.str(""); 00885 name<<process_.c_str()<<"PedestalMonitor_Hcal/fc/raw/"<<subdets_[i]<<"Pedestal Widths Map fC"; 00886 rawFCPedestalRMS[i] = (TH2F*)infile->Get(name.str().c_str()); 00887 name.str(""); 00888 name<<process_.c_str()<<"PedestalMonitor_Hcal/fc/subtracted__beta_testing/"<<subdets_[i]<<"Subtracted Pedestal Values Map fC"; 00889 subFCPedestalMean[i] = (TH2F*)infile->Get(name.str().c_str()); 00890 name.str(""); 00891 name<<process_.c_str()<<"PedestalMonitor_Hcal/fc/subtracted__beta_testing/"<<subdets_[i]<<"Subtracted Pedestal Widths Map fC"; 00892 subFCPedestalRMS[i] = (TH2F*)infile->Get(name.str().c_str()); 00893 name.str(""); 00894 name<<process_.c_str()<<"PedestalMonitor_Hcal/fc/raw/"<<subdets_[i]<<"1D Pedestal Values fC"; 00895 rawFCPedestalMean_1D[i] =(TH1F*)infile->Get(name.str().c_str()); 00896 name.str(""); 00897 name<<process_.c_str()<<"PedestalMonitor_Hcal/fc/raw/"<<subdets_[i]<<"1D Pedestal Widths fC"; 00898 rawFCPedestalRMS_1D[i] =(TH1F*)infile->Get(name.str().c_str()); 00899 name.str(""); 00900 name<<process_.c_str()<<"PedestalMonitor_Hcal/fc/subtracted__beta_testing/"<<subdets_[i]<<"1D Subtracted Pedestal Values fC"; 00901 subFCPedestalMean_1D[i] =(TH1F*)infile->Get(name.str().c_str()); 00902 name.str(""); 00903 name<<process_.c_str()<<"PedestalMonitor_Hcal/fc/subtracted__beta_testing/"<<subdets_[i]<<"1D Subtracted Pedestal Widths fC"; 00904 subFCPedestalRMS_1D[i] =(TH1F*)infile->Get(name.str().c_str()); 00905 name.str(""); 00906 } //for (int i=0;i<6;++i) 00907 return; 00908 } // void HcalPedestalClient::loadHistograms(...)
void HcalPedestalClient::report | ( | ) |
process report
Definition at line 228 of file HcalPedestalClient.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().
00229 { 00230 if(!dbe_) return; 00231 if ( debug_ ) cout << "HcalPedestalClient: report" << endl; 00232 this->setup(); 00233 00234 ostringstream name; 00235 name<<process_.c_str()<<"Hcal/PedestalMonitor_Hcal/Pedestal Task Event Number"; 00236 MonitorElement* me = dbe_->get(name.str().c_str()); 00237 if ( me ) { 00238 string s = me->valueString(); 00239 ievt_ = -1; 00240 sscanf((s.substr(2,s.length()-2)).c_str(), "%d", &ievt_); 00241 if ( debug_ ) cout << "Found '" << name.str().c_str() << "'" << endl; 00242 } 00243 getHistograms(); 00244 00245 return; 00246 } // HcalPedestalClient::report()
Definition at line 343 of file HcalPedestalClient.cc.
References HcalBaseClient::dbe_, i, name, HcalBaseClient::process_, resetME(), and subdets_.
Referenced by beginRun(), and HcalMonitorClient::resetAllME().
00344 { 00345 if(!dbe_) return; 00346 00347 ostringstream name; 00348 00349 // Reset individual histograms 00350 name<<process_.c_str()<<"PedestalMonitor_Hcal/ ProblemPedestals"; 00351 resetME(name.str().c_str(),dbe_); 00352 name.str(""); 00353 00354 for (int i=0;i<6;++i) 00355 { 00356 // Reset arrays of histograms 00357 00358 // Problem Pedestal Plots 00359 name<<process_.c_str()<<"PedestalMonitor_Hcal/problem_pedestals/"<<subdets_[i]<<" Problem Pedestal Rate"; 00360 resetME(name.str().c_str(),dbe_); 00361 name.str(""); 00362 00363 // Overall Mean Map 00364 name<<process_.c_str()<<"PedestalMonitor_Hcal/"<<subdets_[i]<<"Pedestal Mean Map ADC"; 00365 resetME(name.str().c_str(),dbe_); 00366 name.str(""); 00367 00368 // Overall Pedestal Map 00369 name<<process_.c_str()<<"PedestalMonitor_Hcal/"<<subdets_[i]<<"Pedestal RMS Map ADC"; 00370 resetME(name.str().c_str(),dbe_); 00371 name.str(""); 00372 00373 00374 // Database Pedestal values 00375 name<<process_.c_str()<<"PedestalMonitor_Hcal/reference_pedestals/adc/"<<subdets_[i]<<"Pedestal Values from DataBase ADC"; 00376 resetME(name.str().c_str(),dbe_); 00377 name.str(""); 00378 00379 name<<process_.c_str()<<"PedestalMonitor_Hcal/reference_pedestals/adc/"<<subdets_[i]<<"Pedestal Widths from DataBase ADC"; 00380 resetME(name.str().c_str(),dbe_); 00381 name.str(""); 00382 00383 name<<process_.c_str()<<"PedestalMonitor_Hcal/reference_pedestals/fc/"<<subdets_[i]<<"Pedestal Values from DataBase fC"; 00384 resetME(name.str().c_str(),dbe_); 00385 name.str(""); 00386 00387 name<<process_.c_str()<<"PedestalMonitor_Hcal/reference_pedestals/fc/"<<subdets_[i]<<"Pedestal Widths from DataBase fC"; 00388 resetME(name.str().c_str(),dbe_); 00389 name.str(""); 00390 00391 // Raw, sub Pedestals in ADC 00392 name<<process_.c_str()<<"PedestalMonitor_Hcal/adc/raw/"<<subdets_[i]<<"Pedestal Values Map ADC"; 00393 resetME(name.str().c_str(),dbe_); 00394 name.str(""); 00395 name<<process_.c_str()<<"PedestalMonitor_Hcal/adc/raw/"<<subdets_[i]<<"Pedestal Widths Map ADC"; 00396 resetME(name.str().c_str(),dbe_); 00397 name.str(""); 00398 name<<process_.c_str()<<"PedestalMonitor_Hcal/adc/subtracted__beta_testing/"<<subdets_[i]<<"Subtracted Pedestal Values Map ADC"; 00399 resetME(name.str().c_str(),dbe_); 00400 name.str(""); 00401 name<<process_.c_str()<<"PedestalMonitor_Hcal/adc/subtracted__beta_testing/"<<subdets_[i]<<"Subtracted Pedestal Widths Map ADC"; 00402 00403 name.str(""); 00404 name<<process_.c_str()<<"PedestalMonitor_Hcal/adc/raw/"<<subdets_[i]<<"1D Pedestal Values ADC"; 00405 resetME(name.str().c_str(),dbe_); 00406 name.str(""); 00407 name<<process_.c_str()<<"PedestalMonitor_Hcal/adc/raw/"<<subdets_[i]<<"1D Pedestal Widths ADC"; 00408 resetME(name.str().c_str(),dbe_); 00409 name.str(""); 00410 name<<process_.c_str()<<"PedestalMonitor_Hcal/adc/subtracted__beta_testing/"<<subdets_[i]<<"1D Subtracted Pedestal Values ADC"; 00411 resetME(name.str().c_str(),dbe_); 00412 name.str(""); 00413 name<<process_.c_str()<<"PedestalMonitor_Hcal/adc/subtracted__beta_testing/"<<subdets_[i]<<"1D Subtracted Pedestal Widths ADC"; 00414 resetME(name.str().c_str(),dbe_); 00415 name.str(""); 00416 00417 // Raw, sub Pedestals in fC 00418 name<<process_.c_str()<<"PedestalMonitor_Hcal/fc/raw/"<<subdets_[i]<<"Pedestal Values Map fC"; 00419 resetME(name.str().c_str(),dbe_); 00420 name.str(""); 00421 name<<process_.c_str()<<"PedestalMonitor_Hcal/fc/raw/"<<subdets_[i]<<"Pedestal Widths Map fC"; 00422 resetME(name.str().c_str(),dbe_); 00423 name.str(""); 00424 name<<process_.c_str()<<"PedestalMonitor_Hcal/fc/subtracted__beta_testing/"<<subdets_[i]<<"Subtracted Pedestal Values Map fC"; 00425 resetME(name.str().c_str(),dbe_); 00426 name.str(""); 00427 name<<process_.c_str()<<"PedestalMonitor_Hcal/fc/subtracted__beta_testing/"<<subdets_[i]<<"Subtracted Pedestal Widths Map fC"; 00428 resetME(name.str().c_str(),dbe_); 00429 name.str(""); 00430 name<<process_.c_str()<<"PedestalMonitor_Hcal/fc/raw/"<<subdets_[i]<<"1D Pedestal Values fC"; 00431 resetME(name.str().c_str(),dbe_); 00432 name.str(""); 00433 name<<process_.c_str()<<"PedestalMonitor_Hcal/fc/raw/"<<subdets_[i]<<"1D Pedestal Widths fC"; 00434 resetME(name.str().c_str(),dbe_); 00435 name.str(""); 00436 name<<process_.c_str()<<"PedestalMonitor_Hcal/fc/subtracted__beta_testing/"<<subdets_[i]<<"1D Subtracted Pedestal Values fC"; 00437 resetME(name.str().c_str(),dbe_); 00438 name.str(""); 00439 name<<process_.c_str()<<"PedestalMonitor_Hcal/fc/subtracted__beta_testing/"<<subdets_[i]<<"1D Subtracted Pedestal Widths fC"; 00440 resetME(name.str().c_str(),dbe_); 00441 name.str(""); 00442 00443 } 00444 return; 00445 } // void HcalPedestalClient::resetAllME()
Setup.
Definition at line 129 of file HcalPedestalClient.cc.
Referenced by beginJob(), beginRun(), and report().
TH2F* HcalPedestalClient::ADC_PedestalFromDBByDepth[6] [private] |
Definition at line 92 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalPedestalClient::ADC_WidthFromDBByDepth[6] [private] |
Definition at line 93 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
vector<int> HcalPedestalClient::badChan_ [private] |
Definition at line 67 of file HcalPedestalClient.h.
vector<double> HcalPedestalClient::badMean_ [private] |
Definition at line 68 of file HcalPedestalClient.h.
vector<double> HcalPedestalClient::badRMS_ [private] |
Definition at line 69 of file HcalPedestalClient.h.
bool HcalPedestalClient::doFCpeds_ [private] |
bool HcalPedestalClient::endingTimeSlice_ [private] |
TH2F* HcalPedestalClient::fC_PedestalFromDBByDepth[6] [private] |
Definition at line 94 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalPedestalClient::fC_WidthFromDBByDepth[6] [private] |
Definition at line 95 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
double HcalPedestalClient::maxPedMeanDiffADC_ [private] |
double HcalPedestalClient::maxPedWidthDiffADC_ [private] |
TH2F* HcalPedestalClient::MeanMapByDepth[6] [private] |
Definition at line 84 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), htmlOutput(), init(), and loadHistograms().
double HcalPedestalClient::minErrorFlag_ [private] |
double HcalPedestalClient::nominalPedMeanInADC_ [private] |
Definition at line 79 of file HcalPedestalClient.h.
Referenced by getHistograms(), htmlOutput(), and init().
double HcalPedestalClient::nominalPedWidthInADC_ [private] |
Definition at line 80 of file HcalPedestalClient.h.
Referenced by getHistograms(), htmlOutput(), and init().
TH2F* HcalPedestalClient::ProblemPedestals [private] |
Definition at line 88 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlOutput(), init(), and loadHistograms().
TH2F* HcalPedestalClient::ProblemPedestalsByDepth[6] [private] |
Definition at line 89 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), htmlOutput(), init(), and loadHistograms().
TH2F* HcalPedestalClient::rawADCPedestalMean[6] [private] |
Definition at line 98 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH1F* HcalPedestalClient::rawADCPedestalMean_1D[6] [private] |
Definition at line 100 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalPedestalClient::rawADCPedestalRMS[6] [private] |
Definition at line 99 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH1F* HcalPedestalClient::rawADCPedestalRMS_1D[6] [private] |
Definition at line 101 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalPedestalClient::rawFCPedestalMean[6] [private] |
Definition at line 110 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH1F* HcalPedestalClient::rawFCPedestalMean_1D[6] [private] |
Definition at line 112 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalPedestalClient::rawFCPedestalRMS[6] [private] |
Definition at line 111 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH1F* HcalPedestalClient::rawFCPedestalRMS_1D[6] [private] |
Definition at line 113 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalPedestalClient::RMSMapByDepth[6] [private] |
Definition at line 85 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), htmlOutput(), init(), and loadHistograms().
bool HcalPedestalClient::startingTimeSlice_ [private] |
TH2F* HcalPedestalClient::subADCPedestalMean[6] [private] |
Definition at line 104 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH1F* HcalPedestalClient::subADCPedestalMean_1D[6] [private] |
Definition at line 106 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalPedestalClient::subADCPedestalRMS[6] [private] |
Definition at line 105 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH1F* HcalPedestalClient::subADCPedestalRMS_1D[6] [private] |
Definition at line 107 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
vector<std::string> HcalPedestalClient::subdets_ [private] |
Definition at line 71 of file HcalPedestalClient.h.
Referenced by init(), loadHistograms(), and resetAllME().
TH2F* HcalPedestalClient::subFCPedestalMean[6] [private] |
Definition at line 116 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH1F* HcalPedestalClient::subFCPedestalMean_1D[6] [private] |
Definition at line 118 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH2F* HcalPedestalClient::subFCPedestalRMS[6] [private] |
Definition at line 117 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().
TH1F* HcalPedestalClient::subFCPedestalRMS_1D[6] [private] |
Definition at line 119 of file HcalPedestalClient.h.
Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().