00001 #include <DQM/HcalMonitorClient/interface/HcalTrigPrimClient.h>
00002 #include <DQM/HcalMonitorClient/interface/HcalClientUtils.h>
00003 #include <DQM/HcalMonitorClient/interface/HcalHistoUtils.h>
00004
00005 HcalTrigPrimClient::HcalTrigPrimClient(){}
00006
00007
00008 void HcalTrigPrimClient::init(const ParameterSet& ps, DQMStore* dbe, string clientName)
00009 {
00010
00011 HcalBaseClient::init(ps,dbe,clientName);
00012
00013 if (showTiming_)
00014 {
00015 cpu_timer.reset(); cpu_timer.start();
00016 }
00017
00018 if (debug_>0) cout <<"<HcalTrigPrimClient> init(const ParameterSet& ps, DQMStore* dbe, string clientName)"<<endl;
00019
00020 for(int i=0; i<10; i++) tpSpectrum_[i] = 0;
00021
00022 tpCount_ = 0;
00023 tpCountThr_ = 0;
00024 tpSize_ = 0;
00025 tpSpectrumAll_ = 0;
00026 tpETSumAll_ = 0;
00027 tpSOI_ET_ = 0;
00028 OCC_ETA_ = 0;
00029 OCC_PHI_ = 0;
00030 OCC_ELEC_VME_ = 0;
00031 OCC_ELEC_DCC_ = 0;
00032 OCC_MAP_GEO_ = 0;
00033
00034 OCC_MAP_THR_ = 0;
00035 EN_ETA_ = 0;
00036 EN_PHI_ = 0;
00037 EN_ELEC_VME_ = 0;
00038 EN_ELEC_DCC_ = 0;
00039 EN_MAP_GEO_ = 0;
00040
00041 TPTiming_ = 0;
00042 TPTimingTop_ = 0;
00043 TPTimingBot_ = 0;
00044 TPOcc_ = 0;
00045 TP_ADC_ = 0;
00046 MAX_ADC_ = 0;
00047 TS_MAX_ = 0;
00048 TPvsDigi_ = 0;
00049
00050 if (showTiming_)
00051 {
00052 cpu_timer.stop(); cout <<"TIMER:: HcalTrigPrimClient INIT -> "<<cpu_timer.cpuTime()<<endl;
00053 }
00054 return;
00055 }
00056
00057 HcalTrigPrimClient::~HcalTrigPrimClient(){
00058 this->cleanup();
00059 }
00060
00061 void HcalTrigPrimClient::beginJob(void){
00062 if ( debug_ >0) cout << "HcalTrigPrimClient: beginJob" << endl;
00063
00064 ievt_ = 0; jevt_ = 0;
00065 return;
00066 }
00067
00068 void HcalTrigPrimClient::beginRun(void){
00069 if ( debug_ >0) cout << "HcalTrigPrimClient: beginRun" << endl;
00070
00071 jevt_ = 0;
00072 this->resetAllME();
00073 return;
00074 }
00075
00076 void HcalTrigPrimClient::endJob(void) {
00077 if ( debug_ >0) cout << "HcalTrigPrimClient: endJob, ievt = " << ievt_ << endl;
00078
00079 this->cleanup();
00080
00081 return;
00082 }
00083
00084 void HcalTrigPrimClient::endRun(void) {
00085
00086 if ( debug_ >0) cout << "HcalTrigPrimClient: endRun, jevt = " << jevt_ << endl;
00087
00088 this->cleanup();
00089
00090 return;
00091 }
00092
00093
00094
00095 void HcalTrigPrimClient::cleanup(void) {
00096
00097 if ( cloneME_ ) {
00098
00099 for(int i=0; i<10; i++) if(tpSpectrum_[i]) delete tpSpectrum_[i];
00100
00101 if(tpCount_) delete tpCount_;
00102 if(tpCountThr_) delete tpCountThr_;
00103 if(tpSize_) delete tpSize_;
00104 if(tpSpectrumAll_) delete tpSpectrumAll_;
00105 if(tpETSumAll_) delete tpETSumAll_;
00106 if(tpSOI_ET_) delete tpSOI_ET_;
00107 if(OCC_ETA_) delete OCC_ETA_;
00108 if(OCC_PHI_) delete OCC_PHI_;
00109 if(OCC_ELEC_VME_) delete OCC_ELEC_VME_;
00110 if(OCC_ELEC_DCC_) delete OCC_ELEC_DCC_;
00111 if(OCC_MAP_GEO_) delete OCC_MAP_GEO_;
00112
00113 if(OCC_MAP_THR_) delete OCC_MAP_THR_;
00114 if(EN_ETA_) delete EN_ETA_;
00115 if(EN_PHI_) delete EN_PHI_;
00116 if(EN_ELEC_VME_) delete EN_ELEC_VME_;
00117 if(EN_ELEC_DCC_) delete EN_ELEC_DCC_;
00118 if(EN_MAP_GEO_) delete EN_MAP_GEO_;
00119
00120 if(TPTiming_) delete TPTiming_ ;
00121 if(TPTimingTop_) delete TPTimingTop_;
00122 if(TPTimingBot_) delete TPTimingBot_;
00123 if(TPOcc_) delete TPOcc_;
00124 if(TP_ADC_) delete TP_ADC_;
00125 if(MAX_ADC_) delete MAX_ADC_;
00126 if(TS_MAX_) delete TS_MAX_;
00127 if(TPvsDigi_) delete TPvsDigi_;
00128 }
00129
00130 for(int i=0; i<10; i++) tpSpectrum_[i] = 0;
00131
00132 tpCount_ = 0;
00133 tpCountThr_ = 0;
00134 tpSize_ = 0;
00135 tpSpectrumAll_ = 0;
00136 tpETSumAll_ = 0;
00137 tpSOI_ET_ = 0;
00138 OCC_ETA_ = 0;
00139 OCC_PHI_ = 0;
00140 OCC_ELEC_VME_ = 0;
00141 OCC_ELEC_DCC_ = 0;
00142 OCC_MAP_GEO_ = 0;
00143
00144 OCC_MAP_THR_ = 0;
00145 EN_ETA_ = 0;
00146 EN_PHI_ = 0;
00147 EN_ELEC_VME_ = 0;
00148 EN_ELEC_DCC_ = 0;
00149 EN_MAP_GEO_ = 0;
00150 TPTiming_ = 0;
00151 TPTimingTop_ = 0;
00152 TPTimingBot_ = 0;
00153 TPOcc_ = 0;
00154 TP_ADC_ = 0;
00155 MAX_ADC_ = 0;
00156 TS_MAX_ = 0;
00157 TPvsDigi_ = 0;
00158
00159 return;
00160 }
00161
00162
00163
00164 void HcalTrigPrimClient::analyze(void){
00165 jevt_++;
00166
00167 int updates = 0;
00168 if ( updates % 10 == 0 ) {
00169 if ( debug_ >0) cout << "HcalTrigPrimClient: " << updates << " updates" << endl;
00170 }
00171
00172 return;
00173 }
00174
00175
00176 void HcalTrigPrimClient::getHistograms()
00177 {
00178 if(!dbe_) return;
00179
00180 if (showTiming_)
00181 {
00182 cpu_timer.reset(); cpu_timer.start();
00183 }
00184
00185 if (debug_>0) cout <<"<HcalTrigPrimClient> getHistograms()"<<endl;
00186
00187
00188 tpCount_ = getHisto("TrigPrimMonitor/Energy Plots/# TP Digis", process_, dbe_, debug_,cloneME_);
00189 assert(tpCount_!=0);
00190
00191 tpCountThr_ = getHisto("TrigPrimMonitor/Energy Plots/# TP Digis over Threshold", process_, dbe_, debug_,cloneME_);
00192 tpSize_ = getHisto("TrigPrimMonitor/Timing Plots/TP Size", process_, dbe_, debug_,cloneME_);
00193 char name[150];
00194 for (int i=0; i<10; i++) {
00195 sprintf(name,"TrigPrimMonitor/Energy Plots/TP Spectra by TS/TP Spectrum sample %d",i);
00196 tpSpectrum_[i]= getHisto(name, process_, dbe_, debug_,cloneME_);
00197 }
00198 tpSpectrumAll_ = getHisto("TrigPrimMonitor/Energy Plots/Full TP Spectrum", process_, dbe_, debug_,cloneME_);
00199 tpETSumAll_ = getHisto("TrigPrimMonitor/Energy Plots/TP ET Sum", process_, dbe_, debug_,cloneME_);
00200 tpSOI_ET_ = getHisto("TrigPrimMonitor/Energy Plots/TP SOI ET", process_, dbe_, debug_,cloneME_);
00201 OCC_ETA_ = getHisto("TrigPrimMonitor/Geometry Plots/TrigPrim Eta Occupancy Map",process_, dbe_, debug_,cloneME_);
00202 OCC_PHI_ = getHisto("TrigPrimMonitor/Geometry Plots/TrigPrim Phi Occupancy Map",process_, dbe_, debug_,cloneME_);
00203 OCC_ELEC_VME_ = getHisto2("TrigPrimMonitor/Electronics Plots/TrigPrim VME Occupancy Map",process_, dbe_, debug_,cloneME_);
00204 OCC_ELEC_DCC_ = getHisto2("TrigPrimMonitor/Electronics Plots/TrigPrim Spigot Occupancy Map",process_, dbe_, debug_,cloneME_);
00205 OCC_MAP_GEO_ = getHisto2("TrigPrimMonitor/Geometry Plots/TrigPrim Geo Occupancy Map",process_, dbe_, debug_,cloneME_);
00206
00207 OCC_MAP_THR_ = getHisto2("TrigPrimMonitor/Geometry Plots/TrigPrim Geo Threshold Map",process_, dbe_, debug_,cloneME_);
00208 EN_ETA_ = getHisto("TrigPrimMonitor/Geometry Plots/TrigPrim Eta Energy Map",process_, dbe_, debug_,cloneME_);
00209 EN_PHI_ = getHisto("TrigPrimMonitor/Geometry Plots/TrigPrim Phi Energy Map",process_, dbe_, debug_,cloneME_);
00210 EN_ELEC_VME_ = getHisto2("TrigPrimMonitor/Electronics Plots/TrigPrim VME Energy Map",process_, dbe_, debug_,cloneME_);
00211 EN_ELEC_DCC_ = getHisto2("TrigPrimMonitor/Electronics Plots/TrigPrim Spigot Energy Map",process_, dbe_, debug_,cloneME_);
00212 EN_MAP_GEO_ = getHisto2("TrigPrimMonitor/Geometry Plots/TrigPrim Geo Energy Map",process_, dbe_, debug_,cloneME_);
00213
00214 TPTiming_ = getHisto("TrigPrimMonitor/Timing Plots/TP Timing",process_, dbe_, debug_,cloneME_);
00215 TPTimingTop_ = getHisto("TrigPrimMonitor/Timing Plots/TP Timing (Top wedges)",process_, dbe_, debug_,cloneME_);
00216 TPTimingBot_ = getHisto("TrigPrimMonitor/Timing Plots/TP Timing (Bottom wedges)",process_, dbe_, debug_,cloneME_);
00217 TP_ADC_ = getHisto("TrigPrimMonitor/Energy Plots/ADC spectrum positive TP",process_, dbe_, debug_,cloneME_);
00218 MAX_ADC_ = getHisto("TrigPrimMonitor/Energy Plots/Max ADC in TP",process_, dbe_, debug_,cloneME_);
00219 TS_MAX_ = getHisto("TrigPrimMonitor/Timing Plots/TS with max ADC",process_, dbe_, debug_,cloneME_);
00220 TPOcc_ = getHisto2("TrigPrimMonitor/00 TP Occupancy",process_, dbe_, debug_,cloneME_);
00221 TPvsDigi_ = getHisto2("TrigPrimMonitor/Electronics Plots/TP vs Digi",process_, dbe_, debug_,cloneME_);
00222
00223 if (showTiming_)
00224 {
00225 cpu_timer.stop(); cout <<"TIMER:: HcalTrigPrimClient GET HISTOGRAMS -> "<<cpu_timer.cpuTime()<<endl;
00226 }
00227 return;
00228 }
00229
00230
00231 void HcalTrigPrimClient::report()
00232 {
00233 if(!dbe_) return;
00234
00235 if (showTiming_)
00236 {
00237 cpu_timer.reset(); cpu_timer.start();
00238 }
00239
00240 if ( debug_ >0) cout << "<HcalTrigPrimClient> report()" << endl;
00241
00242 char name[256];
00243
00244 sprintf(name, "%sHcal/TrigPrimMonitor/ZZ Expert Plots/ZZ DQM Expert Plots/TrigPrim Event Number",process_.c_str());
00245 MonitorElement* me = dbe_->get(name);
00246 if ( me ) {
00247 string s = me->valueString();
00248 ievt_ = -1;
00249 sscanf((s.substr(2,s.length()-2)).c_str(), "%d", &ievt_);
00250 if ( debug_ >0) cout << "Found '" << name << "'" << endl;
00251 }
00252 else printf("Didn't find %s\n",name);
00253 getHistograms();
00254 if (showTiming_)
00255 {
00256 cpu_timer.stop(); cout <<"TIMER:: HcalTrigPrimClient REPORT -> "<<cpu_timer.cpuTime()<<endl;
00257 }
00258 return;
00259 }
00260
00261
00262 void HcalTrigPrimClient::resetAllME()
00263 {
00264 if (showTiming_)
00265 {
00266 cpu_timer.reset(); cpu_timer.start();
00267 }
00268
00269 if(!dbe_) return;
00270 if ( debug_ >0) cout << "<HcalTrigPrimClient> resetAllME()" << endl;
00271
00272 char name[150];
00273 sprintf(name,"%sHcal/TrigPrimMonitor/Energy Plots/# TP Digis",process_.c_str());
00274 resetME(name, dbe_);
00275 sprintf(name,"%sHcal/TrigPrimMonitor/Energy Plots/# TP Digis over Threshold",process_.c_str());
00276 resetME(name, dbe_);
00277 sprintf(name,"%sHcal/TrigPrimMonitor/Timing Plots/TP Size",process_.c_str());
00278 resetME(name, dbe_);
00279 for (int i=0; i<10; i++) {
00280 sprintf(name,"%sHcal/TrigPrimMonitor/Energy Plots/TP Spectra by TS/TP Spectrum sample %d",process_.c_str(),i);
00281 resetME(name, dbe_);
00282 }
00283 sprintf(name,"%sHcal/TrigPrimMonitor/Energy Plots/Full TP Spectrum",process_.c_str());
00284 resetME(name, dbe_);
00285 sprintf(name,"%sHcal/TrigPrimMonitor/Energy Plots/TP ET Sum",process_.c_str());
00286 resetME(name, dbe_);
00287 sprintf(name,"%sHcal/TrigPrimMonitor/Energy Plots/TP SOI ET",process_.c_str());
00288 resetME(name, dbe_);
00289 sprintf(name,"%sHcal/TrigPrimMonitor/Geometry Plots/TrigPrim Eta Occupancy Map",process_.c_str());
00290 resetME(name,dbe_);
00291 sprintf(name,"%sHcal/TrigPrimMonitor/Geometry Plots/TrigPrim Phi Occupancy Map",process_.c_str());
00292 resetME(name,dbe_);
00293 sprintf(name,"%sHcal/TrigPrimMonitor/Electronics Plots/ZZ Expert Plots/TrigPrim VME Occupancy Map",process_.c_str());
00294 resetME(name,dbe_);
00295 sprintf(name,"%sHcal/TrigPrimMonitor/Electronics Plots/ZZ Expert Plots/TrigPrim Spigot Occupancy Map",process_.c_str());
00296 resetME(name,dbe_);
00297 sprintf(name,"%sHcal/TrigPrimMonitor/Geometry Plots/TrigPrim Geo Occupancy Map",process_.c_str());
00298 resetME(name,dbe_);
00299
00300 sprintf(name,"%sHcal/TrigPrimMonitor/Geometry Plots/TrigPrim Geo Threshold Map",process_.c_str());
00301 resetME(name,dbe_);
00302 sprintf(name,"%sHcal/TrigPrimMonitor/Geometry Plots/TrigPrim Eta Energy Map",process_.c_str());
00303 resetME(name,dbe_);
00304 sprintf(name,"%sHcal/TrigPrimMonitor/Geometry Plots/TrigPrim Phi Energy Map",process_.c_str());
00305 resetME(name,dbe_);
00306 sprintf(name,"%sHcal/TrigPrimMonitor/Electronics Plots/ZZ Expert Plots/TrigPrim VME Energy Map",process_.c_str());
00307 resetME(name,dbe_);
00308 sprintf(name,"%sHcal/TrigPrimMonitor/Electronics Plots/ZZ Expert Plots/TrigPrim Spigot Energy Map",process_.c_str());
00309 resetME(name,dbe_);
00310 sprintf(name,"%sHcal/TrigPrimMonitor/Geometry Plots/TrigPrim Geo Energy Map",process_.c_str());
00311 resetME(name,dbe_);
00312
00313 sprintf(name,"%sHcal/TrigPrimMonitor/Timing Plots/TP Timing",process_.c_str());
00314 resetME(name,dbe_);
00315 sprintf(name,"%sHcal/TrigPrimMonitor/Timing Plots/TP Timing (Top wedges)",process_.c_str());
00316 resetME(name,dbe_);
00317 sprintf(name,"%sHcal/TrigPrimMonitor/Timing Plots/TP Timing (Bottom Wedges)",process_.c_str());
00318 resetME(name,dbe_);
00319 sprintf(name,"%sHcal/TrigPrimMonitor/Energy Plots/ADC spectrum positive TP",process_.c_str());
00320 resetME(name,dbe_);
00321 sprintf(name,"%sHcal/TrigPrimMonitor/Energy Plots/Max ADC in TP",process_.c_str());
00322 resetME(name,dbe_);
00323 sprintf(name,"%sHcal/TrigPrimMonitor/Timing Plots/TS with max ADC",process_.c_str());
00324 resetME(name,dbe_);
00325 sprintf(name,"%sHcal/TrigPrimMonitor/00 TP Occupancy",process_.c_str());
00326 resetME(name,dbe_);
00327 sprintf(name,"%sHcal/TrigPrimMonitor/Electronics Plots/TP vs Digi",process_.c_str());
00328 resetME(name,dbe_);
00329
00330 if (showTiming_)
00331 {
00332 cpu_timer.stop(); cout <<"TIMER:: HcalTrigPrimClient RESETALLME -> "<<cpu_timer.cpuTime()<<endl;
00333 }
00334 return;
00335 }
00336
00337
00338 void HcalTrigPrimClient::htmlOutput(int runNo, string htmlDir, string htmlName)
00339 {
00340 if (showTiming_)
00341 {
00342 cpu_timer.reset(); cpu_timer.start();
00343 }
00344 if (debug_>0) cout << "<HcalTrigPrimClient::htmlOutput> Preparing html output ..." << endl;
00345 string client = "TrigPrimMonitor";
00346 htmlErrors(runNo,htmlDir,client,process_,dbe_,dqmReportMapErr_,dqmReportMapWarn_,dqmReportMapOther_);
00347
00348 ofstream htmlFile;
00349 htmlFile.open((htmlDir + htmlName).c_str());
00350
00351
00352 htmlFile << "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> " << endl;
00353 htmlFile << "<html> " << endl;
00354 htmlFile << "<head> " << endl;
00355 htmlFile << " <meta content=\"text/html; charset=ISO-8859-1\" " << endl;
00356 htmlFile << " https-equiv=\"content-type\"> " << endl;
00357 htmlFile << " <title>Monitor: Data Format Task output</title> " << endl;
00358 htmlFile << "</head> " << endl;
00359 htmlFile << "<style type=\"text/css\"> td { font-weight: bold } </style>" << endl;
00360 htmlFile << "<body> " << endl;
00361 htmlFile << "<br> " << endl;
00362 htmlFile << "<h2>Run: " << endl;
00363 htmlFile << " <span " << endl;
00364 htmlFile << " style=\"color: rgb(0, 0, 153);\">" << runNo << "</span></h2>" << endl;
00365 htmlFile << "<h2>Monitoring task: <span " << endl;
00366 htmlFile << " style=\"color: rgb(0, 0, 153);\">Data Format</span></h2> " << endl;
00367 htmlFile << "<h2>Events processed: " << endl;
00368 htmlFile << " <span " << endl;
00369 htmlFile << " style=\"color: rgb(0, 0, 153);\">" << ievt_ << "</span></h2>" << endl;
00370 htmlFile << "<hr>" << endl;
00371 htmlFile << "<table width=100% border=1><tr>" << endl;
00372 if(hasErrors())htmlFile << "<td bgcolor=red><a href=\"TrigPrimMonitorErrors.html\">Errors in this task</a></td>" << endl;
00373 else htmlFile << "<td bgcolor=lime>No Errors</td>" << endl;
00374 if(hasWarnings()) htmlFile << "<td bgcolor=yellow><a href=\"TrigPrimMonitorWarnings.html\">Warnings in this task</a></td>" << endl;
00375 else htmlFile << "<td bgcolor=lime>No Warnings</td>" << endl;
00376 if(hasOther()) htmlFile << "<td bgcolor=aqua><a href=\"TrigPrimMonitorMessages.html\">Messages in this task</a></td>" << endl;
00377 else htmlFile << "<td bgcolor=lime>No Messages</td>" << endl;
00378 htmlFile << "</tr></table>" << endl;
00379 htmlFile << "<hr>" << endl;
00380
00381
00382
00383
00384
00385
00386 htmlFile << "<td> <h3>Global Histograms</h3></td></tr>" << endl;
00387 htmlFile << "<tr align=\"left\">" << endl;
00388 htmlAnyHisto(runNo,tpCount_,"# TP Digis"," ", 92, htmlFile,htmlDir);
00389 htmlAnyHisto(runNo,tpCountThr_,"# TP Digis"," ", 100, htmlFile,htmlDir);
00390 htmlFile << "</tr>" << endl;
00391
00392 htmlFile << "<tr align=\"left\">" << endl;
00393 htmlAnyHisto(runNo,tpSpectrumAll_ ,"TP Energy"," ", 92, htmlFile,htmlDir);
00394 htmlAnyHisto(runNo,tpETSumAll_,"TP ET Sum"," ", 100, htmlFile,htmlDir);
00395 htmlFile << "</tr>" << endl;
00396
00397 htmlFile << "<tr align=\"left\">" << endl;
00398 htmlAnyHisto(runNo,tpSOI_ET_,"TP Energy"," ", 92, htmlFile,htmlDir);
00399 htmlAnyHisto(runNo,tpSize_,"# Samples"," ", 100, htmlFile,htmlDir);
00400 htmlFile << "</tr>" << endl;
00401
00402 htmlFile << "<tr align=\"left\">" << endl;
00403 htmlAnyHisto(runNo,OCC_MAP_GEO_,"iEta","iPhi", 92, htmlFile,htmlDir);
00404 htmlAnyHisto(runNo,EN_MAP_GEO_,"iEta","iPhi", 100, htmlFile,htmlDir);
00405 htmlFile << "</tr>" << endl;
00406
00407 htmlFile << "<tr align=\"left\">" << endl;
00408 htmlAnyHisto(runNo,OCC_ETA_,"iEta"," ", 92, htmlFile,htmlDir);
00409 htmlAnyHisto(runNo,EN_ETA_,"iEta"," ", 100, htmlFile,htmlDir);
00410 htmlFile << "</tr>" << endl;
00411
00412 htmlFile << "<tr align=\"left\">" << endl;
00413 htmlAnyHisto(runNo,OCC_PHI_,"iPhi"," ", 92, htmlFile,htmlDir);
00414 htmlAnyHisto(runNo,EN_PHI_,"iPhi"," ", 100, htmlFile,htmlDir);
00415 htmlFile << "</tr>" << endl;
00416
00417 htmlFile << "<tr align=\"left\">" << endl;
00418 htmlAnyHisto(runNo,OCC_ELEC_VME_,"Slot","Crate Id", 92, htmlFile,htmlDir);
00419 htmlAnyHisto(runNo,EN_ELEC_VME_,"Slot","Crate Id", 100, htmlFile,htmlDir);
00420 htmlFile << "</tr>" << endl;
00421
00422 htmlFile << "<tr align=\"left\">" << endl;
00423 htmlAnyHisto(runNo,OCC_ELEC_DCC_,"Spigot","DCC Id", 92, htmlFile,htmlDir);
00424 htmlAnyHisto(runNo,EN_ELEC_DCC_,"Spigot","DCC Id", 100, htmlFile,htmlDir);
00425 htmlFile << "</tr>" << endl;
00426
00427
00428 htmlFile << "<tr align=\"left\">" << endl;
00429 htmlAnyHisto(runNo,TPTiming_,"","time", 92, htmlFile,htmlDir);
00430 htmlAnyHisto(runNo,TP_ADC_,"","raw ADC", 100, htmlFile,htmlDir);
00431 htmlFile << "</tr>" << endl;
00432
00433 htmlFile << "<tr align=\"left\">" << endl;
00434 htmlAnyHisto(runNo,MAX_ADC_,"","raw ADC", 92, htmlFile,htmlDir);
00435 htmlAnyHisto(runNo,TS_MAX_,"TS","num at TS", 100, htmlFile,htmlDir);
00436 htmlFile << "</tr>" << endl;
00437
00438 htmlFile << "<tr align=\"left\">" << endl;
00439 htmlAnyHisto(runNo,TPTimingTop_,"","time", 92, htmlFile,htmlDir);
00440 htmlAnyHisto(runNo,TPTimingBot_,"","time", 100, htmlFile,htmlDir);
00441 htmlFile << "</tr>" << endl;
00442
00443 htmlFile << "<tr align=\"left\">" << endl;
00444 htmlAnyHisto(runNo,TPOcc_,"iEta","iPhi", 92, htmlFile,htmlDir);
00445 htmlAnyHisto(runNo,TPvsDigi_,"Digi","TP", 100, htmlFile,htmlDir);
00446 htmlFile << "</tr>" << endl;
00447
00448 htmlFile << "<tr align=\"left\">" << endl;
00449
00450 htmlAnyHisto(runNo,OCC_MAP_THR_,"iEta","iPhi", 92, htmlFile,htmlDir);
00451 htmlFile << "</tr>" << endl;
00452
00453
00454 htmlFile << "</table>" << endl;
00455 htmlFile << "<br>" << endl;
00456
00457
00458 htmlFile << "</body> " << endl;
00459 htmlFile << "</html> " << endl;
00460
00461 htmlFile.close();
00462
00463 if (showTiming_)
00464 {
00465 cpu_timer.stop(); cout <<"TIMER:: HcalTrigPrimClient HTML OUTPUT -> "<<cpu_timer.cpuTime()<<endl;
00466 }
00467 return;
00468 }
00469
00470
00471 void HcalTrigPrimClient::createTests(){
00472
00473 if(debug_>0) cout << "HcalTrigPrimClient: creating tests" << endl;
00474
00475 if(!dbe_) return;
00476
00477 return;
00478 }
00479
00480 void HcalTrigPrimClient::loadHistograms(TFile* infile){
00481
00482 TNamed* tnd = (TNamed*)infile->Get("DQMData/Hcal/TrigPrimMonitor/TrigPrim Event Number");
00483 if(tnd){
00484 string s =tnd->GetTitle();
00485 ievt_ = -1;
00486 sscanf((s.substr(2,s.length()-2)).c_str(), "%d", &ievt_);
00487 }
00488
00489 return;
00490 }