CMS 3D CMS Logo

HcalDigiClient Class Reference

#include <DQM/HcalMonitorClient/interface/HcalDigiClient.h>

Inheritance diagram for HcalDigiClient:

HcalBaseClient

List of all members.

Public Member Functions

void analyze (void)
 Analyze.
void beginJob (void)
 BeginJob.
void beginRun (void)
 BeginRun.
void cleanup (void)
 Cleanup.
void createTests ()
void endJob (void)
 EndJob.
void endRun (void)
 EndRun.
void getHistograms ()
 HcalDigiClient ()
 Constructor.
void htmlExpertOutput (int run, string htmlDir, string htmlName)
void htmlOutput (int run, string htmlDir, string htmlName)
 WriteDB.
void init (const edm::ParameterSet &ps, DQMStore *dbe, string clientName)
void loadHistograms (TFile *f)
void report ()
 process report
void resetAllME ()
void setup (void)
 Setup.
 ~HcalDigiClient ()
 Destructor.

Private Attributes

TH1F * DigiBQ
TH1F * DigiBQFrac
int digiclient_checkNevents_
bool digiclient_makeDiagnostics_
TH2F * DigiErrorEtaPhi
TH2F * DigiErrorsBadADCSum [6]
TH2F * DigiErrorsBadCapID [6]
TH2F * DigiErrorsBadDigiSize [6]
TH2F * DigiErrorsDVErr [6]
TH2F * DigiErrorsNoDigi [6]
TH2F * DigiErrorSpigot
TH2F * DigiErrorVME
TH1F * DigiNum
TH2F * DigiOccupancyByDepth [6]
TH1F * DigiOccupancyEta
TH1F * DigiOccupancyPhi
TH2F * DigiOccupancySpigot
TH2F * DigiOccupancyVME
TH2F * DigiSize
DigiClientHists hbHists
DigiClientHists heHists
DigiClientHists hfHists
DigiClientHists hoHists
TH2F * ProblemDigis
TH2F * ProblemDigisByDepth [6]
vector< std::string > subdets_


Detailed Description

Definition at line 28 of file HcalDigiClient.h.


Constructor & Destructor Documentation

HcalDigiClient::HcalDigiClient (  ) 

Constructor.

Definition at line 7 of file HcalDigiClient.cc.

00007 {}

HcalDigiClient::~HcalDigiClient (  ) 

Destructor.

Definition at line 113 of file HcalDigiClient.cc.

References cleanup().

00113                                {
00114   cleanup();
00115 }


Member Function Documentation

void HcalDigiClient::analyze ( void   ) 

Analyze.

Definition at line 353 of file HcalDigiClient.cc.

References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, edm::CPUTimer::cpuTime(), HcalBaseClient::debug_, lat::endl(), HcalBaseClient::jevt_, edm::CPUTimer::reset(), HcalBaseClient::showTiming_, edm::CPUTimer::start(), and edm::CPUTimer::stop().

Referenced by HcalMonitorClient::analyze().

00353                                 {
00354 
00355   if (showTiming_)
00356     {
00357       cpu_timer.reset(); cpu_timer.start();
00358     }
00359   jevt_++;
00360   int updates = 0;
00361 
00362   if ( updates % 10 == 0 ) {
00363     if ( debug_ ) cout << "HcalDigiClient: " << updates << " updates" << endl;
00364   }
00365   if (showTiming_)
00366     {
00367       cpu_timer.stop();  cout <<"TIMER:: HcalDigiClient ANALYZE  -> "<<cpu_timer.cpuTime()<<endl;
00368     }
00369   return;
00370 }

void HcalDigiClient::beginJob ( void   ) 

BeginJob.

Definition at line 117 of file HcalDigiClient.cc.

References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, lat::endl(), HcalBaseClient::ievt_, HcalBaseClient::jevt_, resetAllME(), and setup().

Referenced by HcalMonitorClient::beginJob().

00117                                  {
00118   
00119   if ( debug_>0 ) 
00120     cout << "HcalDigiClient: beginJob" << endl;
00121   
00122   ievt_ = 0;
00123   jevt_ = 0;
00124   setup();
00125   resetAllME();
00126   return;
00127 }

void HcalDigiClient::beginRun ( void   ) 

BeginRun.

Definition at line 129 of file HcalDigiClient.cc.

References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, lat::endl(), HcalBaseClient::jevt_, resetAllME(), and setup().

Referenced by HcalMonitorClient::beginRun().

00129                                  {
00130 
00131   if ( debug_>0 ) 
00132     cout << "HcalDigiClient: beginRun" << endl;
00133 
00134   jevt_ = 0;
00135   setup();
00136   resetAllME();
00137   return;
00138 }

void HcalDigiClient::cleanup ( void   ) 

Cleanup.

Definition at line 163 of file HcalDigiClient.cc.

References DigiClientHists::ADC, DigiClientHists::ADCsum, DigiClientHists::BQ, DigiClientHists::BQFrac, DigiClientHists::CapID, HcalBaseClient::cloneME_, DigiBQ, DigiBQFrac, DigiErrorEtaPhi, DigiErrorsBadADCSum, DigiErrorsBadCapID, DigiErrorsBadDigiSize, DigiErrorsDVErr, DigiErrorsNoDigi, DigiErrorSpigot, DigiErrorVME, DigiClientHists::DigiFirstCapID, DigiNum, DigiOccupancyByDepth, DigiOccupancyEta, DigiOccupancyPhi, DigiOccupancySpigot, DigiOccupancyVME, DigiSize, HcalBaseClient::dqmQtests_, HcalBaseClient::dqmReportMapErr_, HcalBaseClient::dqmReportMapOther_, HcalBaseClient::dqmReportMapWarn_, DigiClientHists::DVerr, hbHists, heHists, hfHists, hoHists, i, DigiClientHists::presample, ProblemDigis, ProblemDigisByDepth, DigiClientHists::shape, DigiClientHists::shapeThresh, DigiClientHists::TS_sum_minus, and DigiClientHists::TS_sum_plus.

Referenced by endJob(), endRun(), and ~HcalDigiClient().

00164 {
00165   if ( cloneME_ ) 
00166     {
00167       if (hbHists.shape) delete hbHists.shape;
00168       if (heHists.shape) delete heHists.shape;
00169       if (hoHists.shape) delete hoHists.shape;
00170       if (hfHists.shape) delete hfHists.shape;
00171       if (hbHists.shapeThresh) delete hbHists.shapeThresh;
00172       if (heHists.shapeThresh) delete heHists.shapeThresh;
00173       if (hoHists.shapeThresh) delete hoHists.shapeThresh;
00174       if (hfHists.shapeThresh) delete hfHists.shapeThresh;
00175       if (hbHists.presample) delete hbHists.presample;
00176       if (heHists.presample) delete heHists.presample;
00177       if (hoHists.presample) delete hoHists.presample;
00178       if (hfHists.presample) delete hfHists.presample;
00179       if (hbHists.BQ) delete hbHists.BQ;
00180       if (heHists.BQ) delete heHists.BQ;
00181       if (hoHists.BQ) delete hoHists.BQ;
00182       if (hfHists.BQ) delete hfHists.BQ;
00183       if (hbHists.BQFrac) delete hbHists.BQFrac;
00184       if (heHists.BQFrac) delete heHists.BQFrac;
00185       if (hoHists.BQFrac) delete hoHists.BQFrac;
00186       if (hfHists.BQFrac) delete hfHists.BQFrac;
00187       if (hbHists.DigiFirstCapID) delete hbHists.DigiFirstCapID;
00188       if (heHists.DigiFirstCapID) delete heHists.DigiFirstCapID;
00189       if (hoHists.DigiFirstCapID) delete hoHists.DigiFirstCapID;
00190       if (hfHists.DigiFirstCapID) delete hfHists.DigiFirstCapID;
00191       if (hbHists.DVerr) delete hbHists.DVerr;
00192       if (heHists.DVerr) delete heHists.DVerr;
00193       if (hoHists.DVerr) delete hoHists.DVerr;
00194       if (hfHists.DVerr) delete hfHists.DVerr;
00195       if (hbHists.CapID) delete hbHists.CapID;
00196       if (heHists.CapID) delete heHists.CapID;
00197       if (hoHists.CapID) delete hoHists.CapID;
00198       if (hfHists.CapID) delete hfHists.CapID;
00199       if (hbHists.ADC) delete hbHists.ADC;
00200       if (heHists.ADC) delete heHists.ADC;
00201       if (hoHists.ADC) delete hoHists.ADC;
00202       if (hfHists.ADC) delete hfHists.ADC;
00203       if (hbHists.ADCsum) delete hbHists.ADCsum;
00204       if (heHists.ADCsum) delete heHists.ADCsum;
00205       if (hoHists.ADCsum) delete hoHists.ADCsum;
00206       if (hfHists.ADCsum) delete hfHists.ADCsum;
00207       if (DigiSize) delete DigiSize;
00208       if (DigiOccupancyEta) delete DigiOccupancyEta;
00209       if (DigiOccupancyPhi) delete DigiOccupancyPhi;
00210       if (DigiNum) delete DigiNum;
00211       if (DigiBQ) delete DigiBQ;
00212       if (DigiBQFrac) delete DigiBQFrac;
00213       if (ProblemDigis) delete ProblemDigis;
00214       if (DigiOccupancyVME) delete DigiOccupancyVME;
00215       if (DigiOccupancySpigot) delete DigiOccupancySpigot;
00216       if (DigiErrorEtaPhi) delete DigiErrorEtaPhi;
00217       if (DigiErrorVME) delete DigiErrorVME;
00218       if (DigiErrorSpigot) delete DigiErrorSpigot;
00219       for (int i=0;i<6;++i)
00220         {
00221           if (ProblemDigisByDepth[i]) delete ProblemDigisByDepth[i];
00222           if (DigiErrorsBadCapID[i]) delete DigiErrorsBadCapID[i];
00223           if (DigiErrorsBadDigiSize[i]) delete DigiErrorsBadDigiSize[i];
00224           if (DigiErrorsBadADCSum[i]) delete DigiErrorsBadADCSum[i];
00225           if (DigiErrorsNoDigi[i]) delete DigiErrorsNoDigi[i];
00226           if (DigiErrorsDVErr[i]) delete DigiErrorsDVErr[i];
00227           if (DigiOccupancyByDepth[i]) delete DigiOccupancyByDepth[i];
00228         } // for (int i=0;i<6;++i)
00229       for (int i=0;i<9;++i)
00230         {
00231           if (hbHists.TS_sum_plus[i])  delete hbHists.TS_sum_plus[i];
00232           if (hbHists.TS_sum_minus[i]) delete hbHists.TS_sum_minus[i];
00233           if (heHists.TS_sum_plus[i])  delete heHists.TS_sum_plus[i];
00234           if (heHists.TS_sum_minus[i]) delete heHists.TS_sum_minus[i];
00235           if (hoHists.TS_sum_plus[i])  delete hoHists.TS_sum_plus[i];
00236           if (hoHists.TS_sum_minus[i]) delete hoHists.TS_sum_minus[i];
00237           if (hfHists.TS_sum_plus[i])  delete hfHists.TS_sum_plus[i];
00238           if (hfHists.TS_sum_minus[i]) delete hfHists.TS_sum_minus[i];
00239         }
00240     } // if (cloneME_)
00241 
00242   hbHists.shape   =0;
00243   heHists.shape   =0;
00244   hoHists.shape   =0;
00245   hfHists.shape   =0;
00246   hbHists.shapeThresh   =0;
00247   heHists.shapeThresh   =0;
00248   hoHists.shapeThresh   =0;
00249   hfHists.shapeThresh   =0;
00250   hbHists.presample   =0;
00251   heHists.presample   =0;
00252   hoHists.presample   =0;
00253   hfHists.presample   =0;
00254   hbHists.BQ   =0;
00255   heHists.BQ   =0;
00256   hoHists.BQ   =0;
00257   hfHists.BQ   =0;
00258   hbHists.BQFrac   =0;
00259   heHists.BQFrac   =0;
00260   hoHists.BQFrac   =0;
00261   hfHists.BQFrac   =0;
00262   hbHists.DigiFirstCapID   =0;
00263   heHists.DigiFirstCapID   =0;
00264   hoHists.DigiFirstCapID   =0;
00265   hfHists.DigiFirstCapID   =0;
00266   hbHists.DVerr   =0;
00267   heHists.DVerr   =0;
00268   hoHists.DVerr   =0;
00269   hfHists.DVerr   =0;
00270   hbHists.CapID   =0;
00271   heHists.CapID   =0;
00272   hoHists.CapID   =0;
00273   hfHists.CapID   =0;
00274   hbHists.ADC   =0;
00275   heHists.ADC   =0;
00276   hoHists.ADC   =0;
00277   hfHists.ADC   =0;
00278   hbHists.ADCsum   =0;
00279   heHists.ADCsum   =0;
00280   hoHists.ADCsum   =0;
00281   hfHists.ADCsum   =0;
00282   DigiSize    =0;
00283   DigiOccupancyEta    =0;
00284   DigiOccupancyPhi    =0;
00285   DigiNum    =0;
00286   DigiBQ    =0;
00287   DigiBQFrac    =0;
00288   ProblemDigis    =0;
00289 
00290   DigiOccupancyVME    =0;
00291   DigiOccupancySpigot    =0;
00292   DigiErrorEtaPhi    =0;
00293   DigiErrorVME    =0;
00294   DigiErrorSpigot    =0;
00295   for (int i=0;i<6;++i)
00296     {
00297       ProblemDigisByDepth[i]    =0;
00298       DigiErrorsBadCapID[i]    =0;
00299       DigiErrorsBadDigiSize[i]    =0;
00300       DigiErrorsBadADCSum[i]    =0;
00301       DigiErrorsNoDigi[i]    =0;
00302       DigiErrorsDVErr[i]    =0;
00303       DigiOccupancyByDepth[i]    =0;
00304     } // for (int i=0;i<6;++i)
00305   for (int i=0;i<9;++i)
00306    {
00307       hbHists.TS_sum_plus[i]=0;
00308       hbHists.TS_sum_minus[i]=0;
00309       heHists.TS_sum_plus[i]=0;
00310       heHists.TS_sum_minus[i]=0;
00311       hoHists.TS_sum_plus[i]=0;
00312       hoHists.TS_sum_minus[i]=0;
00313       hfHists.TS_sum_plus[i]=0;
00314       hfHists.TS_sum_minus[i]=0;
00315     }
00316 
00317   dqmReportMapErr_.clear(); 
00318   dqmReportMapWarn_.clear(); 
00319   dqmReportMapOther_.clear();
00320   dqmQtests_.clear();
00321   return;
00322 } // void HcalDigiClient::cleanup(void)

void HcalDigiClient::createTests (  ) 

Definition at line 1167 of file HcalDigiClient.cc.

References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, createH2ContentTest(), HcalBaseClient::dbe_, HcalBaseClient::debug_, HcalBaseClient::dqmQtests_, lat::endl(), DQMStore::get(), i, me, name, params, HcalBaseClient::process_, edm::CPUTimer::reset(), HcalBaseClient::showTiming_, edm::CPUTimer::start(), and HcalBaseClient::subDetsOn_.

Referenced by HcalMonitorClient::createTests().

01167                                 {
01168   if(!dbe_) return;
01169   if (showTiming_)
01170     {
01171       cpu_timer.reset(); cpu_timer.start();
01172     }
01173   char meTitle[250], name[250];    
01174   vector<string> params;
01175   
01176   if(debug_) cout <<"Creating Digi tests..."<<endl;
01177   
01178   for(int i=0; i<4; ++i){
01179     if(!subDetsOn_[i]) continue;
01180 
01181     string type = "HB";
01182     if(i==1) type = "HE"; 
01183     if(i==2) type = "HF"; 
01184     if(i==3) type = "HO";
01185     
01186     sprintf(meTitle,"%sHcal/DigiMonitor/%s/%s Digi Geo Error Map",process_.c_str(),type.c_str(),type.c_str());
01187     sprintf(name,"%s Digi Errors by Geo_metry",type.c_str());
01188     if(dqmQtests_.find(name) == dqmQtests_.end()){      
01189       MonitorElement* me = dbe_->get(meTitle);
01190       if(me){
01191         dqmQtests_[name]=meTitle;         
01192         params.clear();
01193         params.push_back((string)meTitle); params.push_back((string)name);  //hist and qtest titles
01194         params.push_back("0"); params.push_back("1e-10");  //mean ranges
01195         params.push_back("0"); params.push_back("1e-10");  //rms ranges
01196         createH2ContentTest(dbe_, params);
01197       }
01198     }
01199 
01200     /*
01201     sprintf(meTitle,"%sHcal/DigiMonitor/%s/%s QIE Cap-ID",process_.c_str(),type.c_str(),type.c_str());
01202     sprintf(name,"%s QIE CapID",type.c_str());
01203     if(dqmQtests_.find(name) == dqmQtests_.end()){      
01204       MonitorElement* me = dbe_->get(meTitle);
01205       if(me){   
01206         dqmQtests_[name]=meTitle;         
01207         params.clear();
01208         params.push_back(meTitle); params.push_back(name);  //hist and test titles
01209         params.push_back("1.0"); params.push_back("0.975");  //warn, err probs
01210         params.push_back("0"); params.push_back("3");  //xmin, xmax
01211         createXRangeTest(dbe_, params);
01212       }
01213     }
01214     */
01215   } // for (int i=0;i<4;++i)
01216 
01217   return;
01218 } //void HcalDigiClient::createTests()

void HcalDigiClient::endJob ( void   ) 

EndJob.

Definition at line 140 of file HcalDigiClient.cc.

References cleanup(), GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, lat::endl(), and HcalBaseClient::ievt_.

Referenced by HcalMonitorClient::endJob().

00140                                 {
00141 
00142   if ( debug_>0 )
00143     cout << "HcalDigiClient: endJob, ievt = " << ievt_ << endl;
00144 
00145   cleanup(); 
00146   return;
00147 }

void HcalDigiClient::endRun ( void   ) 

EndRun.

Definition at line 149 of file HcalDigiClient.cc.

References cleanup(), GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, lat::endl(), and HcalBaseClient::jevt_.

Referenced by HcalMonitorClient::endRun().

00149                                 {
00150 
00151   if ( debug_ >0) 
00152     cout << "HcalDigiClient: endRun, jevt = " << jevt_ << endl;
00153 
00154   cleanup();  
00155   return;
00156 }

void HcalDigiClient::getHistograms (  ) 

Definition at line 372 of file HcalDigiClient.cc.

References DigiClientHists::ADC, DigiClientHists::ADCsum, DigiClientHists::BQ, DigiClientHists::BQFrac, DigiClientHists::CapID, HcalBaseClient::cloneME_, GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, edm::CPUTimer::cpuTime(), HcalBaseClient::dbe_, HcalBaseClient::debug_, DigiBQ, DigiBQFrac, DigiErrorEtaPhi, DigiErrorsBadADCSum, DigiErrorsBadCapID, DigiErrorsBadDigiSize, DigiErrorsDVErr, DigiErrorsNoDigi, DigiErrorSpigot, DigiErrorVME, DigiClientHists::DigiFirstCapID, DigiNum, DigiOccupancyByDepth, DigiOccupancyEta, DigiOccupancyPhi, DigiOccupancySpigot, DigiOccupancyVME, DigiSize, dummy1D, dummy2D, DigiClientHists::DVerr, lat::endl(), getAnyHisto(), HcalBaseClient::getSJ6histos(), hbHists, heHists, hfHists, hoHists, i, name, DigiClientHists::presample, ProblemDigis, ProblemDigisByDepth, HcalBaseClient::process_, edm::CPUTimer::reset(), DigiClientHists::shape, DigiClientHists::shapeThresh, HcalBaseClient::showTiming_, edm::CPUTimer::start(), edm::CPUTimer::stop(), DigiClientHists::TS_sum_minus, and DigiClientHists::TS_sum_plus.

Referenced by htmlOutput(), and report().

00372                                   {
00373   if(!dbe_) return;
00374   if (showTiming_)
00375     {
00376       cpu_timer.reset(); cpu_timer.start();
00377     }
00378   if (debug_>0) cout <<"HcalDigiClient> getHistograms()"<<endl;
00379 
00380   ostringstream name;
00381   TH2F* dummy2D = new TH2F();
00382   TH1F* dummy1D = new TH1F();
00383 
00384   // Get Histograms
00385   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Digi Shape";  //hbHists.shape
00386   hbHists.shape = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00387   name.str("");
00388   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Digi Shape";  //heHists.shape
00389   heHists.shape = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00390   name.str("");
00391   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Digi Shape";  //hoHists.shape
00392   hoHists.shape = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00393   name.str("");
00394   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Digi Shape";  //hfHists.shape
00395   hfHists.shape = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00396   name.str("");
00397   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Digi Shape - over thresh";  //hbHists.shapeThresh
00398   hbHists.shapeThresh = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00399   name.str("");
00400   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Digi Shape - over thresh";  //heHists.shapeThresh
00401   heHists.shapeThresh = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00402   name.str("");
00403   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Digi Shape - over thresh";  //hoHists.shapeThresh
00404   hoHists.shapeThresh = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00405   name.str("");
00406   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Digi Shape - over thresh";  //hfHists.shapeThresh
00407   hfHists.shapeThresh = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00408   name.str("");
00409   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Digi Presamples";  //hbHists.presample
00410   hbHists.presample = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00411   name.str("");
00412   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Digi Presamples";  //heHists.presample
00413   heHists.presample = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00414   name.str("");
00415   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Digi Presamples";  //hoHists.presample
00416   hoHists.presample = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00417   name.str("");
00418   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Digi Presamples";  //hfHists.presample
00419   hfHists.presample = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00420   name.str("");
00421   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Bad Quality Digis";  //hbHists.BQ
00422   hbHists.BQ = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00423   name.str("");
00424   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Bad Quality Digis";  //heHists.BQ
00425   heHists.BQ = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00426   name.str("");
00427   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Bad Quality Digis";  //hoHists.BQ
00428   hoHists.BQ = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00429   name.str("");
00430   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Bad Quality Digis";  //hfHists.BQ
00431   hfHists.BQ = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00432   name.str("");
00433   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Bad Quality Digi Fraction";  //hbHists.BQFrac
00434   hbHists.BQFrac = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00435   name.str("");
00436   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Bad Quality Digi Fraction";  //heHists.BQFrac
00437   heHists.BQFrac = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00438   name.str("");
00439   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Bad Quality Digi Fraction";  //hoHists.BQFrac
00440   hoHists.BQFrac = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00441   name.str("");
00442   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Bad Quality Digi Fraction";  //hfHists.BQFrac
00443   hfHists.BQFrac = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00444   name.str("");
00445   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Capid 1st Time Slice";  //hbHists.DigiFirstCapID
00446   hbHists.DigiFirstCapID = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00447   name.str("");
00448   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Capid 1st Time Slice";  //heHists.DigiFirstCapID
00449   heHists.DigiFirstCapID = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00450   name.str("");
00451   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Capid 1st Time Slice";  //hoHists.DigiFirstCapID
00452   hoHists.DigiFirstCapID = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00453   name.str("");
00454   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Capid 1st Time Slice";  //hfHists.DigiFirstCapID
00455   hfHists.DigiFirstCapID = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00456   name.str("");
00457   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Data Valid Err Bits";  //hbHists.DVerr
00458   hbHists.DVerr = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00459   name.str("");
00460   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Data Valid Err Bits";  //heHists.DVerr
00461   heHists.DVerr = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00462   name.str("");
00463   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Data Valid Err Bits";  //hoHists.DVerr
00464   hoHists.DVerr = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00465   name.str("");
00466   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Data Valid Err Bits";  //hfHists.DVerr
00467   hfHists.DVerr = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00468   name.str("");
00469   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB CapID";  //hbHists.CapID
00470   hbHists.CapID = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00471   name.str("");
00472   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE CapID";  //heHists.CapID
00473   heHists.CapID = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00474   name.str("");
00475   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO CapID";  //hoHists.CapID
00476   hoHists.CapID = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00477   name.str("");
00478   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF CapID";  //hfHists.CapID
00479   hfHists.CapID = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00480   name.str("");
00481   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB ADC count per time slice";  //hbHists.ADC
00482   hbHists.ADC = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00483   name.str("");
00484   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE ADC count per time slice";  //heHists.ADC
00485   heHists.ADC = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00486   name.str("");
00487   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO ADC count per time slice";  //hoHists.ADC
00488   hoHists.ADC = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00489   name.str("");
00490   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF ADC count per time slice";  //hfHists.ADC
00491   hfHists.ADC = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00492   name.str("");
00493   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB ADC sum";  //hbHists.ADCsum
00494   hbHists.ADCsum = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00495   name.str("");
00496   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE ADC sum";  //heHists.ADCsum
00497   heHists.ADCsum = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00498   name.str("");
00499   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO ADC sum";  //hoHists.ADCsum
00500   hoHists.ADCsum = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00501   name.str("");
00502   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF ADC sum";  //hfHists.ADCsum
00503   hfHists.ADCsum = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00504   name.str("");
00505   name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/baddigisize/Digi Size";   //DigiSize
00506   DigiSize = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00507   name.str("");
00508   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Eta Occupancy Map";   //DigiOccupancyEta
00509   DigiOccupancyEta = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00510   name.str("");
00511   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Phi Occupancy Map";   //DigiOccupancyPhi
00512   DigiOccupancyPhi = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00513   name.str("");
00514   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/# of Digis";   //DigiNum
00515   DigiNum = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00516   name.str("");
00517   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/# Bad Qual Digis";   //DigiBQ
00518   DigiBQ = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00519   name.str("");
00520   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Bad Digi Fraction";   //DigiBQFrac
00521   DigiBQFrac = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00522   name.str("");
00523   name<<process_.c_str()<<"DigiMonitor_Hcal/ ProblemDigis";   //ProblemDigis
00524   ProblemDigis = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00525   name.str("");
00526   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi VME Occupancy Map";   //DigiOccupancyVME
00527   DigiOccupancyVME = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00528   name.str("");
00529   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Spigot Occupancy Map";   //DigiOccupancySpigot
00530   DigiOccupancySpigot = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00531   name.str("");
00532   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Digi Geo Error Map";   //DigiErrorEtaPhi
00533   DigiErrorEtaPhi = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00534   name.str("");
00535   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Digi VME Error Map";   //DigiErrorVME
00536   DigiErrorVME = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00537   name.str("");
00538   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Digi Spigot Error Map";   //DigiErrorSpigot
00539   DigiErrorSpigot = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00540   name.str("");
00541   for (int i=0;i<9;++i)
00542     {
00543       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Plus Time Slices "<<i<<" and "<<i+1;  //hbHists.TS_sum_plus[i]
00544       hbHists.TS_sum_plus[i] = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00545       name.str("");
00546       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Plus Time Slices "<<i<<" and "<<i+1;  //heHists.TS_sum_plus[i]
00547       heHists.TS_sum_plus[i] = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00548       name.str("");
00549       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Plus Time Slices "<<i<<" and "<<i+1;  //hoHists.TS_sum_plus[i]
00550       hoHists.TS_sum_plus[i] = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00551       name.str("");
00552       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Plus Time Slices "<<i<<" and "<<i+1;  //hfHists.TS_sum_plus[i]
00553       hfHists.TS_sum_plus[i] = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00554       name.str("");
00555       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Minus Time Slices "<<i<<" and "<<i+1;  //hbHists.TS_sum_minus[i]
00556       hbHists.TS_sum_minus[i] = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00557       name.str("");
00558       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Minus Time Slices "<<i<<" and "<<i+1;  //heHists.TS_sum_minus[i]
00559       heHists.TS_sum_minus[i] = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00560       name.str("");
00561       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Minus Time Slices "<<i<<" and "<<i+1;  //hoHists.TS_sum_minus[i]
00562       hoHists.TS_sum_minus[i] = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00563       name.str("");
00564       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Minus Time Slices "<<i<<" and "<<i+1;  //hfHists.TS_sum_minus[i]
00565       hfHists.TS_sum_minus[i] = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00566       name.str("");
00567     } // for (int i=0;i<9;++i)
00568 
00569   getSJ6histos("DigiMonitor_Hcal/digi_occupancy/"," Digi Eta-Phi Occupancy Map",DigiOccupancyByDepth);
00570   getSJ6histos("DigiMonitor_Hcal/problem_digis/"," Problem Digi Rate",ProblemDigisByDepth);
00571   getSJ6histos("DigiMonitor_Hcal/problem_digis/badcapID/"," Digis with Bad Cap ID Rotation",DigiErrorsBadCapID);
00572   getSJ6histos("DigiMonitor_Hcal/problem_digis/baddigisize/"," Digis with Bad Size",DigiErrorsBadDigiSize);
00573   getSJ6histos("DigiMonitor_Hcal/problem_digis/badADCsum/"," Digis with ADC sum below threshold ADC counts",DigiErrorsBadADCSum);
00574   getSJ6histos("DigiMonitor_Hcal/problem_digis/nodigis/"," Digis Missing for a Number of Consecutive Events",DigiErrorsNoDigi);
00575   getSJ6histos("DigiMonitor_Hcal/problem_digis/data_invalid_error/"," Digis with Data Invalid or Error Bit Set",DigiErrorsDVErr);
00576   if (showTiming_)
00577     {
00578       cpu_timer.stop();  cout <<"TIMER:: HcalDigiClient GET HISTOGRAMS  -> "<<cpu_timer.cpuTime()<<endl;
00579     }
00580   return;
00581 } // void HcalDigiClient::getHistograms()

void HcalDigiClient::htmlExpertOutput ( int  run,
string  htmlDir,
string  htmlName 
)

Definition at line 811 of file HcalDigiClient.cc.

References DigiClientHists::ADC, DigiClientHists::ADCsum, DigiClientHists::BQ, DigiClientHists::BQFrac, DigiClientHists::CapID, GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, edm::CPUTimer::cpuTime(), HcalBaseClient::debug_, DigiBQ, DigiBQFrac, DigiErrorsBadADCSum, DigiErrorsBadCapID, DigiErrorsBadDigiSize, DigiErrorsDVErr, DigiErrorsNoDigi, DigiClientHists::DigiFirstCapID, DigiNum, DigiOccupancyByDepth, DigiOccupancyEta, DigiOccupancyPhi, DigiOccupancySpigot, DigiOccupancyVME, DigiSize, DigiClientHists::DVerr, lat::endl(), hbHists, heHists, hfHists, hoHists, htmlAnyHisto(), i, HcalBaseClient::ievt_, HcalBaseClient::pcol_error_, DigiClientHists::presample, ProblemDigisByDepth, edm::CPUTimer::reset(), DigiClientHists::shape, DigiClientHists::shapeThresh, HcalBaseClient::showTiming_, edm::CPUTimer::start(), edm::CPUTimer::stop(), DigiClientHists::TS_sum_minus, and DigiClientHists::TS_sum_plus.

Referenced by htmlOutput().

00811                                                                                {
00812   if (showTiming_)
00813     {
00814       cpu_timer.reset(); cpu_timer.start();
00815     }
00816   if (debug_>1)
00817     cout << "<HcalDigiClient> Preparing HcalDigiClient Expert html output ..." << endl;
00818   
00819   ofstream htmlFile;
00820   htmlFile.open((htmlDir +"Expert_"+ htmlName).c_str());
00821 
00822   // html page header
00823   htmlFile << "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">  " << endl;
00824   htmlFile << "<html>  " << endl;
00825   htmlFile << "<head>  " << endl;
00826   htmlFile << "  <meta content=\"text/html; charset=ISO-8859-1\"  " << endl;
00827   htmlFile << " https-equiv=\"content-type\">  " << endl;
00828   htmlFile << "  <title>Monitor: Hcal Digi Task output</title> " << endl;
00829   htmlFile << "</head>  " << endl;
00830   htmlFile << "<style type=\"text/css\"> td { font-weight: bold } </style>" << endl;
00831   htmlFile << "<body>  " << endl;
00832   htmlFile <<"<a name=\"EXPERT_DIGI_TOP\" href = \".\"> Back to Main HCAL DQM Page </a><br>"<<endl;
00833   htmlFile <<"<a href= \""<<htmlName.c_str()<<"\" > Back to Digi Status Page </a><br>"<<endl;
00834   htmlFile << "<br>  " << endl;
00835   htmlFile << "<h2>Run:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" << endl;
00836   htmlFile << "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span " << endl;
00837   htmlFile << " style=\"color: rgb(0, 0, 153);\">" << runNo << "</span></h2>" << endl;
00838   htmlFile << "<h2>Monitoring task:&nbsp;&nbsp;&nbsp;&nbsp; <span " << endl;
00839   htmlFile << " style=\"color: rgb(0, 0, 153);\">Hcal Digis</span></h2> " << endl;
00840   htmlFile << "<h2>Events processed:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" << endl;
00841   htmlFile << "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span " << endl;
00842   htmlFile << " style=\"color: rgb(0, 0, 153);\">" << ievt_ << "</span></h2>" << endl;
00843   htmlFile << "<hr>" << endl;
00844 
00845   htmlFile << "<table width=100%  border = 1>"<<endl;
00846   htmlFile << "<tr><td align=\"center\" colspan=2><a href=\"#OVERALL_PROBLEMS\">PROBLEM CELLS BY DEPTH </a></td></tr>"<<endl;
00847   htmlFile << "<tr><td align=\"center\">"<<endl;
00848   htmlFile<<"<br><a href=\"#OCCUPANCY\">Digi Occupancy Plots </a>"<<endl;
00849   htmlFile<<"<br><a href=\"#DIGISIZE\">Digi Bad Size Plots</a>"<<endl;
00850   htmlFile<<"<br><a href=\"#DIGICAPID\">Digi Bad Cap ID Plots </a>"<<endl;
00851   htmlFile<<"</td><td align=\"center\">"<<endl;
00852   htmlFile<<"<br><a href=\"#DIGIADCSUM\">Digi Bad ADC Sum Plots </a>"<<endl;
00853   htmlFile<<"<br><a href=\"#DIGIERRORBIT\">Digi Bad Error Bit Plots </a>"<<endl;
00854   htmlFile<<"<br><a href=\"#NODIGI\">Missing Digi Plots </a>"<<endl;
00855   htmlFile<<"</td></tr><tr><td align=\"center\">"<<endl;
00856   htmlFile<<"<br><a href=\"#HBDIGI\">HB Digi Plots </a>"<<endl;
00857   htmlFile<<"<br><a href=\"#HEDIGI\">HE Digi Plots </a>"<<endl;
00858   htmlFile<<"</td><td align=\"center\">"<<endl;
00859   htmlFile<<"<br><a href=\"#HODIGI\">HO Digi Plots </a>"<<endl;
00860   htmlFile<<"<br><a href=\"#HFDIGI\">HF Digi Plots </a>"<<endl;
00861 
00862   htmlFile << "</td></tr>"<<endl;
00863   htmlFile <<"</table>"<<endl;
00864   htmlFile <<"<br><br>"<<endl;
00865 
00866   // Plot overall errors
00867   htmlFile << "<h2><strong><a name=\"OVERALL_PROBLEMS\">Eta-Phi Maps of Problem Cells By Depth</strong></h2>"<<endl;
00868   htmlFile <<" These plots of problem cells combine results from all digi tests<br>"<<endl;
00869   htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl;
00870   htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
00871   htmlFile << "cellpadding=\"10\"> " << endl;
00872   gStyle->SetPalette(20,pcol_error_); // set palette to standard error color scheme
00873   
00874   // Depths are stored as:  0:  HF/HF depth 1, 1:  HF/HF 2, 2:  HE 3, 3:  HO/ZDC, 4: HE 1, 5:  HE2
00875   // remap so that HE depths are plotted consecutively
00876   int mydepth[6]={0,1,4,5,2,3};
00877   for (int i=0;i<3;++i)
00878     {
00879       htmlFile << "<tr align=\"left\">" << endl;
00880       htmlAnyHisto(runNo,ProblemDigisByDepth[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir);
00881       htmlAnyHisto(runNo,ProblemDigisByDepth[mydepth[2*i]+1],"i#eta","i#phi", 92, htmlFile, htmlDir);
00882       htmlFile <<"</tr>"<<endl;
00883     }
00884 
00885   htmlFile <<"</table>"<<endl;
00886   htmlFile <<"<br><hr><br>"<<endl;
00887 
00888 
00889   // Occupancy Plots
00890   htmlFile << "<h2><strong><a name=\"OCCUPANCY\">Occupancy Plots</strong></h2>"<<endl;
00891   htmlFile <<"This shows average digi occupancy of each cell per event<br>"<<endl;
00892   htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl;
00893   htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
00894   htmlFile << "cellpadding=\"10\"> " << endl;
00895   gStyle->SetPalette(1);
00896   for (int i=0;i<3;++i)
00897     {
00898       htmlFile << "<tr align=\"left\">" << endl;
00899       htmlAnyHisto(runNo,DigiOccupancyByDepth[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir);
00900       htmlAnyHisto(runNo,DigiOccupancyByDepth[mydepth[2*i+1]],"i#eta","i#phi", 92, htmlFile, htmlDir);
00901       htmlFile <<"</tr>"<<endl;
00902     }
00903   htmlFile <<"</table>"<<endl;
00904   htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
00905   htmlFile << "cellpadding=\"10\"> " << endl;
00906   htmlFile<<"<tr align=\"left\">"<<endl;
00907   htmlAnyHisto(runNo,DigiOccupancyEta,"","", 92, htmlFile, htmlDir);
00908   htmlAnyHisto(runNo,DigiOccupancyPhi,"","", 92, htmlFile, htmlDir);
00909   htmlFile<<"</tr>"<<endl;
00910   htmlFile<<"<tr align=\"left\">"<<endl;
00911   htmlAnyHisto(runNo,DigiOccupancyVME,"","", 92, htmlFile, htmlDir);
00912   htmlAnyHisto(runNo,DigiOccupancySpigot,"","", 92, htmlFile, htmlDir);
00913   htmlFile<<"</tr>"<<endl;
00914   htmlFile <<"</table>"<<endl;
00915 
00916   // Digi Size Plots
00917   htmlFile << "<h2><strong><a name=\"DIGISIZE\">Digi Size Plots</strong></h2>"<<endl;
00918   htmlFile <<"This shows the fraction of events for each digi in which the digi's size is outside the expected range.<br>"<<endl;
00919   htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl;
00920   htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
00921   htmlFile << "cellpadding=\"10\"> " << endl;
00922   gStyle->SetPalette(1);
00923   for (int i=0;i<3;++i)
00924     {
00925       htmlFile << "<tr align=\"left\">" << endl;
00926       htmlAnyHisto(runNo,DigiErrorsBadDigiSize[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir);
00927       htmlAnyHisto(runNo,DigiErrorsBadDigiSize[mydepth[2*i+1]],"i#eta","i#phi", 92, htmlFile, htmlDir);
00928       htmlFile <<"</tr>"<<endl;
00929     }
00930   htmlFile <<"</table>"<<endl;
00931   htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
00932   htmlFile << "cellpadding=\"10\"> " << endl;
00933   htmlFile<<"<tr align=\"left\">"<<endl;
00934   htmlAnyHisto(runNo,DigiSize,"","", 92, htmlFile, htmlDir);
00935   htmlAnyHisto(runNo,DigiNum,"","", 92, htmlFile, htmlDir);
00936   htmlFile<<"</tr>"<<endl;
00937   htmlFile <<"</table>"<<endl;
00938 
00939   // Digi Cap ID Plots
00940   htmlFile << "<h2><strong><a name=\"DIGICAPID\">Digi Cap ID Plots</strong></h2>"<<endl;
00941   htmlFile <<"This shows the fraction of events for each digi in which the digi's capacitor-ID rotation is incorrect.<br>"<<endl;
00942   htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl;
00943   htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
00944   htmlFile << "cellpadding=\"10\"> " << endl;
00945   gStyle->SetPalette(1);
00946   for (int i=0;i<3;++i)
00947     {
00948       htmlFile << "<tr align=\"left\">" << endl;
00949       htmlAnyHisto(runNo,DigiErrorsBadCapID[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir);
00950       htmlAnyHisto(runNo,DigiErrorsBadCapID[mydepth[2*i+1]],"i#eta","i#phi", 92, htmlFile, htmlDir);
00951       htmlFile <<"</tr>"<<endl;
00952     }
00953   htmlFile <<"</table>"<<endl;
00954 
00955   // Digi ADC SUM Plots
00956   htmlFile << "<h2><strong><a name=\"DIGIADCSUM\">Digi ADC Sum Plots</strong></h2>"<<endl;
00957   htmlFile <<"This shows the fraction of events for each digi in which the digi's ADC sum is below threshold.<br>"<<endl;
00958   htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl;
00959   htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
00960   htmlFile << "cellpadding=\"10\"> " << endl;
00961   gStyle->SetPalette(1);
00962   for (int i=0;i<3;++i)
00963     {
00964       htmlFile << "<tr align=\"left\">" << endl;
00965       htmlAnyHisto(runNo,DigiErrorsBadADCSum[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir);
00966       htmlAnyHisto(runNo,DigiErrorsBadADCSum[mydepth[2*i+1]],"i#eta","i#phi", 92, htmlFile, htmlDir);
00967       htmlFile <<"</tr>"<<endl;
00968     }
00969   htmlFile <<"</table>"<<endl;
00970 
00971   // Digi Error Bit Plots
00972   htmlFile << "<h2><strong><a name=\"DIGIERRORBIT\">Digi Error Bit Plots</strong></h2>"<<endl;
00973   htmlFile <<"This shows average number of digi errors/data invalids of each cell per event<br>"<<endl;
00974   htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl;
00975   htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
00976   htmlFile << "cellpadding=\"10\"> " << endl;
00977   gStyle->SetPalette(1);
00978   for (int i=0;i<3;++i)
00979     {
00980       htmlFile << "<tr align=\"left\">" << endl;
00981       htmlAnyHisto(runNo,DigiErrorsDVErr[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir);
00982       htmlAnyHisto(runNo,DigiErrorsDVErr[mydepth[2*i+1]],"i#eta","i#phi", 92, htmlFile, htmlDir);
00983       htmlFile <<"</tr>"<<endl;
00984     }
00985   htmlFile <<"</table>"<<endl;
00986   htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
00987   htmlFile << "cellpadding=\"10\"> " << endl;
00988   htmlAnyHisto(runNo,DigiBQ,"","", 92, htmlFile, htmlDir);
00989   htmlAnyHisto(runNo,DigiBQFrac,"","", 92, htmlFile, htmlDir);
00990   htmlFile<<"</tr></table>"<<endl;
00991 
00992 
00993   // Missing Digi
00994   htmlFile << "<h2><strong><a name=\"NODIGI\">Missing digi Plots</strong></h2>"<<endl;
00995   htmlFile <<"This shows digis that are not present for a number of consecutive events <br>"<<endl;
00996   htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl;
00997   htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
00998   htmlFile << "cellpadding=\"10\"> " << endl;
00999   gStyle->SetPalette(1);
01000   for (int i=0;i<3;++i)
01001     {
01002       htmlFile << "<tr align=\"left\">" << endl;
01003       htmlAnyHisto(runNo,DigiErrorsNoDigi[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir);
01004       htmlAnyHisto(runNo,DigiErrorsNoDigi[mydepth[2*i+1]],"i#eta","i#phi", 92, htmlFile, htmlDir);
01005       htmlFile <<"</tr>"<<endl;
01006     }
01007   htmlFile <<"</table>"<<endl;
01008 
01009 
01010   // HB Plots
01011   htmlFile << "<h2><strong><a name=\"HBDIGI\">HB digi Plots</strong></h2>"<<endl;
01012   htmlFile <<"This shows expert-level information for the HB subdetector digis <br>"<<endl;
01013   htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl;
01014   htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
01015   htmlFile << "cellpadding=\"10\"> " << endl;
01016   gStyle->SetPalette(1);
01017   htmlFile << "<tr align=\"left\">" << endl;
01018   htmlAnyHisto(runNo,hbHists.shape,"","",92,htmlFile,htmlDir);
01019   htmlAnyHisto(runNo,hbHists.shapeThresh,"","",92,htmlFile,htmlDir);
01020   htmlFile << "</tr>"<<endl;
01021   htmlFile << "<tr align=\"left\">" << endl;
01022   htmlAnyHisto(runNo,hbHists.BQ,"","",92,htmlFile,htmlDir);
01023   htmlAnyHisto(runNo,hbHists.BQFrac,"","",92,htmlFile,htmlDir);
01024   htmlFile << "</tr>"<<endl;
01025   htmlFile << "<tr align=\"left\">" << endl;
01026   htmlAnyHisto(runNo,hbHists.DigiFirstCapID,"","",92,htmlFile,htmlDir);
01027   htmlAnyHisto(runNo,hbHists.CapID,"","",92,htmlFile,htmlDir);
01028   htmlFile << "</tr>"<<endl;
01029   htmlFile << "<tr align=\"left\">" << endl;
01030   htmlAnyHisto(runNo,hbHists.ADC,"","",92,htmlFile,htmlDir);
01031   htmlAnyHisto(runNo,hbHists.ADCsum,"","",92,htmlFile,htmlDir);
01032   htmlFile << "</tr>"<<endl;
01033   htmlFile << "<tr align=\"left\">" << endl;
01034   htmlAnyHisto(runNo,hbHists.presample,"","",92,htmlFile,htmlDir);
01035   htmlAnyHisto(runNo,hbHists.DVerr,"","",92,htmlFile,htmlDir);
01036   htmlFile << "</tr>"<<endl;
01037   for (int i=0;i<9;++i)
01038     {
01039       htmlFile << "</tr>"<<endl;
01040       htmlAnyHisto(runNo,hbHists.TS_sum_plus[i],"","",92,htmlFile,htmlDir);
01041       htmlAnyHisto(runNo,hbHists.TS_sum_minus[i],"","",92,htmlFile,htmlDir);
01042       htmlFile << "</tr>"<<endl;
01043     }
01044   htmlFile <<"</table>"<<endl;
01045 
01046 
01047   // HE Plots
01048   htmlFile << "<h2><strong><a name=\"HEDIGI\">HE digi Plots</strong></h2>"<<endl;
01049   htmlFile <<"This shows expert-level information for the HE subdetector digis <br>"<<endl;
01050   htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl;
01051   htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
01052   htmlFile << "cellpadding=\"10\"> " << endl;
01053   gStyle->SetPalette(1);
01054   htmlFile << "<tr align=\"left\">" << endl;
01055   htmlAnyHisto(runNo,heHists.shape,"","",92,htmlFile,htmlDir);
01056   htmlAnyHisto(runNo,heHists.shapeThresh,"","",92,htmlFile,htmlDir);
01057   htmlFile << "</tr>"<<endl;
01058   htmlFile << "<tr align=\"left\">" << endl;
01059   htmlAnyHisto(runNo,heHists.BQ,"","",92,htmlFile,htmlDir);
01060   htmlAnyHisto(runNo,heHists.BQFrac,"","",92,htmlFile,htmlDir);
01061   htmlFile << "</tr>"<<endl;
01062   htmlFile << "<tr align=\"left\">" << endl;
01063   htmlAnyHisto(runNo,heHists.DigiFirstCapID,"","",92,htmlFile,htmlDir);
01064   htmlAnyHisto(runNo,heHists.CapID,"","",92,htmlFile,htmlDir);
01065   htmlFile << "</tr>"<<endl;
01066   htmlFile << "<tr align=\"left\">" << endl;
01067   htmlAnyHisto(runNo,heHists.ADC,"","",92,htmlFile,htmlDir);
01068   htmlAnyHisto(runNo,heHists.ADCsum,"","",92,htmlFile,htmlDir);
01069   htmlFile << "</tr>"<<endl;
01070   htmlFile << "<tr align=\"left\">" << endl;
01071   htmlAnyHisto(runNo,heHists.presample,"","",92,htmlFile,htmlDir);
01072   htmlAnyHisto(runNo,heHists.DVerr,"","",92,htmlFile,htmlDir);
01073   htmlFile << "</tr>"<<endl;
01074   for (int i=0;i<9;++i)
01075     {
01076       htmlFile << "</tr>"<<endl;
01077       htmlAnyHisto(runNo,heHists.TS_sum_plus[i],"","",92,htmlFile,htmlDir);
01078       htmlAnyHisto(runNo,heHists.TS_sum_minus[i],"","",92,htmlFile,htmlDir);
01079       htmlFile << "</tr>"<<endl;
01080     }
01081   htmlFile <<"</table>"<<endl;
01082 
01083   // HO Plots
01084   htmlFile << "<h2><strong><a name=\"HODIGI\">HO digi Plots</strong></h2>"<<endl;
01085   htmlFile <<"This shows expert-level information for the HO subdetector digis <br>"<<endl;
01086   htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl;
01087   htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
01088   htmlFile << "cellpadding=\"10\"> " << endl;
01089   gStyle->SetPalette(1);
01090   htmlFile << "<tr align=\"left\">" << endl;
01091   htmlAnyHisto(runNo,hoHists.shape,"","",92,htmlFile,htmlDir);
01092   htmlAnyHisto(runNo,hoHists.shapeThresh,"","",92,htmlFile,htmlDir);
01093   htmlFile << "</tr>"<<endl;
01094   htmlFile << "<tr align=\"left\">" << endl;
01095   htmlAnyHisto(runNo,hoHists.BQ,"","",92,htmlFile,htmlDir);
01096   htmlAnyHisto(runNo,hoHists.BQFrac,"","",92,htmlFile,htmlDir);
01097   htmlFile << "</tr>"<<endl;
01098   htmlFile << "<tr align=\"left\">" << endl;
01099   htmlAnyHisto(runNo,hoHists.DigiFirstCapID,"","",92,htmlFile,htmlDir);
01100   htmlAnyHisto(runNo,hoHists.CapID,"","",92,htmlFile,htmlDir);
01101   htmlFile << "</tr>"<<endl;
01102   htmlFile << "<tr align=\"left\">" << endl;
01103   htmlAnyHisto(runNo,hoHists.ADC,"","",92,htmlFile,htmlDir);
01104   htmlAnyHisto(runNo,hoHists.ADCsum,"","",92,htmlFile,htmlDir);
01105   htmlFile << "</tr>"<<endl;
01106   htmlFile << "<tr align=\"left\">" << endl;
01107   htmlAnyHisto(runNo,hoHists.presample,"","",92,htmlFile,htmlDir);
01108   htmlAnyHisto(runNo,hoHists.DVerr,"","",92,htmlFile,htmlDir);
01109   htmlFile << "</tr>"<<endl;
01110   for (int i=0;i<9;++i)
01111     {
01112       htmlFile << "</tr>"<<endl;
01113       htmlAnyHisto(runNo,hoHists.TS_sum_plus[i],"","",92,htmlFile,htmlDir);
01114       htmlAnyHisto(runNo,hoHists.TS_sum_minus[i],"","",92,htmlFile,htmlDir);
01115       htmlFile << "</tr>"<<endl;
01116     }
01117   htmlFile <<"</table>"<<endl;
01118 
01119   // HF Plots
01120   htmlFile << "<h2><strong><a name=\"HFDIGI\">HF digi Plots</strong></h2>"<<endl;
01121   htmlFile <<"This shows expert-level information for the HF subdetector digis <br>"<<endl;
01122   htmlFile <<"<a href= \"#EXPERT_DIGI_TOP\" > Back to Top</a><br>"<<endl;
01123   htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
01124   htmlFile << "cellpadding=\"10\"> " << endl;
01125   gStyle->SetPalette(1);
01126   htmlFile << "<tr align=\"left\">" << endl;
01127   htmlAnyHisto(runNo,hfHists.shape,"","",92,htmlFile,htmlDir);
01128   htmlAnyHisto(runNo,hfHists.shapeThresh,"","",92,htmlFile,htmlDir);
01129   htmlFile << "</tr>"<<endl;
01130   htmlFile << "<tr align=\"left\">" << endl;
01131   htmlAnyHisto(runNo,hfHists.BQ,"","",92,htmlFile,htmlDir);
01132   htmlAnyHisto(runNo,hfHists.BQFrac,"","",92,htmlFile,htmlDir);
01133   htmlFile << "</tr>"<<endl;
01134   htmlFile << "<tr align=\"left\">" << endl;
01135   htmlAnyHisto(runNo,hfHists.DigiFirstCapID,"","",92,htmlFile,htmlDir);
01136   htmlAnyHisto(runNo,hfHists.CapID,"","",92,htmlFile,htmlDir);
01137   htmlFile << "</tr>"<<endl;
01138   htmlFile << "<tr align=\"left\">" << endl;
01139   htmlAnyHisto(runNo,hfHists.ADC,"","",92,htmlFile,htmlDir);
01140   htmlAnyHisto(runNo,hfHists.ADCsum,"","",92,htmlFile,htmlDir);
01141   htmlFile << "</tr>"<<endl;
01142   htmlFile << "<tr align=\"left\">" << endl;
01143   htmlAnyHisto(runNo,hfHists.presample,"","",92,htmlFile,htmlDir);
01144   htmlAnyHisto(runNo,hfHists.DVerr,"","",92,htmlFile,htmlDir);
01145   htmlFile << "</tr>"<<endl;
01146   for (int i=0;i<9;++i)
01147     {
01148       htmlFile << "</tr>"<<endl;
01149       htmlAnyHisto(runNo,hfHists.TS_sum_plus[i],"","",92,htmlFile,htmlDir);
01150       htmlAnyHisto(runNo,hfHists.TS_sum_minus[i],"","",92,htmlFile,htmlDir);
01151       htmlFile << "</tr>"<<endl;
01152     }
01153   htmlFile <<"</table>"<<endl;
01154 
01155   // html page footer
01156   htmlFile << "</body> " << endl;
01157   htmlFile << "</html> " << endl;
01158 
01159   htmlFile.close();
01160   if (showTiming_)
01161     {
01162       cpu_timer.stop();  cout <<"TIMER:: HcalDigiClient HTML EXPERT  -> "<<cpu_timer.cpuTime()<<endl;
01163     }
01164   return;
01165 }

void HcalDigiClient::htmlOutput ( int  run,
string  htmlDir,
string  htmlName 
)

WriteDB.

Definition at line 1451 of file HcalDigiClient.cc.

References funct::abs(), GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, edm::CPUTimer::cpuTime(), HcalBaseClient::dbe_, HcalBaseClient::debug_, HcalBaseClient::dqmReportMapErr_, HcalBaseClient::dqmReportMapOther_, HcalBaseClient::dqmReportMapWarn_, lat::endl(), eta, gen_hydjet_hard_muon_trigger_cfg::etaMin, getHistograms(), HcalBaseClient::hasErrors(), HcalBaseClient::hasOther(), HcalBaseClient::hasWarnings(), htmlAnyHisto(), htmlErrors(), htmlExpertOutput(), HcalBaseClient::ievt_, int, name, HcalBaseClient::pcol_error_, phi, ProblemDigis, ProblemDigisByDepth, HcalBaseClient::process_, edm::CPUTimer::reset(), HcalBaseClient::showTiming_, edm::CPUTimer::start(), and edm::CPUTimer::stop().

Referenced by HcalMonitorClient::htmlOutput().

01452 {
01453   if (showTiming_)
01454     {
01455       cpu_timer.reset(); cpu_timer.start();
01456     }
01457   
01458   if (debug_>0) cout << "<HcalDigiClient::htmlOutput> Preparing html output ..." << endl;
01459 
01460   getHistograms(); // only do this here; no need to do it in regular analyze() method?
01461 
01462   string client = "DigiMonitor";
01463   htmlErrors(runNo,htmlDir,client,process_,dbe_,dqmReportMapErr_,dqmReportMapWarn_,dqmReportMapOther_);
01464   
01465   ofstream htmlFile;
01466   htmlFile.open((htmlDir + htmlName).c_str());
01467 
01468   // html page header
01469   htmlFile << "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">  " << endl;
01470   htmlFile << "<html>  " << endl;
01471   htmlFile << "<head>  " << endl;
01472   htmlFile << "  <meta content=\"text/html; charset=ISO-8859-1\"  " << endl;
01473   htmlFile << " https-equiv=\"content-type\">  " << endl;
01474   htmlFile << "  <title>Monitor: Hcal Digi Task output</title> " << endl;
01475   htmlFile << "</head>  " << endl;
01476   htmlFile << "<style type=\"text/css\"> td { font-weight: bold } </style>" << endl;
01477   htmlFile << "<body>  " << endl;
01478   htmlFile << "<br>  " << endl;
01479   htmlFile << "<h2>Run:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" << endl;
01480   htmlFile << "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span " << endl;
01481   htmlFile << " style=\"color: rgb(0, 0, 153);\">" << runNo << "</span></h2>" << endl;
01482   htmlFile << "<h2>Monitoring task:&nbsp;&nbsp;&nbsp;&nbsp; <span " << endl;
01483   htmlFile << " style=\"color: rgb(0, 0, 153);\">Hcal Digis</span></h2> " << endl;
01484   htmlFile << "<h2>Events processed:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" << endl;
01485   htmlFile << "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span " << endl;
01486   htmlFile << " style=\"color: rgb(0, 0, 153);\">" << ievt_ << "</span></h2>" << endl;
01487   htmlFile << "<hr>" << endl;
01488   htmlFile << "<table width=100%  border=1><tr>" << endl;
01489   if(hasErrors())htmlFile << "<td bgcolor=red><a href=\"DigiMonitorErrors.html\">Errors in this task</a></td>" << endl;
01490   else htmlFile << "<td bgcolor=lime>No Errors</td>" << endl;
01491   if(hasWarnings()) htmlFile << "<td bgcolor=yellow><a href=\"DigiMonitorWarnings.html\">Warnings in this task</a></td>" << endl;
01492   else htmlFile << "<td bgcolor=lime>No Warnings</td>" << endl;
01493   if(hasOther()) htmlFile << "<td bgcolor=aqua><a href=\"DigiMonitorMessages.html\">Messages in this task</a></td>" << endl;
01494   else htmlFile << "<td bgcolor=lime>No Messages</td>" << endl;
01495   htmlFile << "</tr></table>" << endl;
01496   htmlFile << "<hr>" << endl;
01497 
01498   htmlFile << "<h2><strong>Hcal Digi Status</strong></h2>" << endl;
01499 
01500   htmlFile << "<table align=\"center\" border=\"0\" cellspacing=\"0\" " << endl;
01501   htmlFile << "cellpadding=\"10\"> " << endl;
01502   htmlFile << "<tr align=\"center\">" << endl;
01503   gStyle->SetPalette(20,pcol_error_); // set palette to standard error color scheme
01504   htmlAnyHisto(runNo,ProblemDigis,"i#eta","i#phi", 92, htmlFile, htmlDir);
01505   htmlFile<<"</tr>"<<endl;
01506   htmlFile<<"<tr align=\"center\"><td> A digi is considered bad if the digi size is incorrect, the cap ID rotation is incorrect, or the ADC sum for the digi is less than some threshold value.  It is also considered bad if its error bit is on or its data valid bit is off."<<endl;
01507 
01508   htmlFile<<"</td>"<<endl;
01509   htmlFile<<"</tr></table>"<<endl;
01510   htmlFile<<"<hr><table align=\"center\" border=\"0\" cellspacing=\"0\" " << endl;
01511   htmlFile << "cellpadding=\"10\"> " << endl;
01512   htmlFile << "<tr align=\"center\">" << endl;
01513   htmlFile<<"<tr><td align=center><a href=\"Expert_"<< htmlName<<"\"><h2>Detailed Digi Plots</h2> </a></br></td>"<<endl;
01514   htmlFile<<"</tr></table><br><hr>"<<endl;
01515 
01516  // Now print out problem cells
01517   htmlFile <<"<br>"<<endl;
01518   htmlFile << "<h2><strong>Hcal Problem Digis</strong></h2>" << endl;
01519   htmlFile << "<table align=\"center\" border=\"1\" cellspacing=\"0\" " << endl;
01520   htmlFile << "cellpadding=\"10\"> " << endl;
01521   htmlFile << "<tr align=\"center\">" << endl;
01522   htmlFile <<"<td> Problem Digis<br>(ieta, iphi, depth)</td><td align=\"center\"> Fraction of Events <br>in which cells are bad (%)</td></tr>"<<endl;
01523 
01524   if (ProblemDigis==0)
01525     {
01526       if (debug_>0) cout <<"<HcalDigiClient::htmlOutput>  ERROR: can't find Problem Rec Hit plot!"<<endl;
01527       return;
01528     }
01529   int etabins  = ProblemDigis->GetNbinsX();
01530   int phibins  = ProblemDigis->GetNbinsY();
01531   float etaMin = ProblemDigis->GetXaxis()->GetXmin();
01532   float phiMin = ProblemDigis->GetYaxis()->GetXmin();
01533 
01534   int eta,phi;
01535 
01536   ostringstream name;
01537   for (int depth=0;depth<6; ++depth)
01538     {
01539       for (int ieta=1;ieta<=etabins;++ieta)
01540         {
01541           for (int iphi=1; iphi<=phibins;++iphi)
01542             {
01543               eta=ieta+int(etaMin)-1;
01544               phi=iphi+int(phiMin)-1;
01545               if (abs(eta)>20 && phi%2!=1) continue;
01546               if (abs(eta)>39 && phi%4!=3) continue;
01547               int mydepth=depth+1;
01548               if (mydepth>4) mydepth-=4; // last two depth values are for HE depth 1,2
01549               if (ProblemDigisByDepth[depth]==0)
01550                 {
01551                   continue;
01552                 }
01553               if (ProblemDigisByDepth[depth]->GetBinContent(ieta,iphi)>0)
01554                 {
01555                   if (depth<2)
01556                     (fabs(eta)<29) ? name<<"HB" : name<<"HF";
01557                   else if (depth==3)
01558                     (fabs(eta)<42) ? name<<"HO" : name<<"ZDC";
01559                   else name <<"HE";
01560                   htmlFile<<"<td>"<<name.str().c_str()<<" ("<<eta<<", "<<phi<<", "<<mydepth<<")</td><td align=\"center\">"<<ProblemDigisByDepth[depth]->GetBinContent(ieta,iphi)*100.<<"</td></tr>"<<endl;
01561 
01562                   name.str("");
01563                 }
01564             } // for (int iphi=1;...)
01565         } // for (int ieta=1;...)
01566     } // for (int depth=0;...)
01567   
01568   
01569   // html page footer
01570   htmlFile <<"</table> " << endl;
01571   htmlFile << "</body> " << endl;
01572   htmlFile << "</html> " << endl;
01573 
01574   htmlFile.close();
01575   htmlExpertOutput(runNo, htmlDir, htmlName);
01576 
01577   if (showTiming_)
01578     {
01579       cpu_timer.stop();  cout <<"TIMER:: HcalDigiClient HTMLOUTPUT  -> "<<cpu_timer.cpuTime()<<endl;
01580     }
01581 
01582   return;
01583 
01584 }

void HcalDigiClient::init ( const edm::ParameterSet ps,
DQMStore dbe,
string  clientName 
) [virtual]

Reimplemented from HcalBaseClient.

Definition at line 9 of file HcalDigiClient.cc.

References DigiClientHists::ADC, DigiClientHists::ADCsum, DigiClientHists::BQ, DigiClientHists::BQFrac, DigiClientHists::CapID, GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, edm::CPUTimer::cpuTime(), HcalBaseClient::debug_, DigiBQ, DigiBQFrac, DigiErrorEtaPhi, DigiErrorsBadADCSum, DigiErrorsBadCapID, DigiErrorsBadDigiSize, DigiErrorsDVErr, DigiErrorsNoDigi, DigiErrorSpigot, DigiErrorVME, DigiClientHists::DigiFirstCapID, DigiNum, DigiOccupancyByDepth, DigiOccupancyEta, DigiOccupancyPhi, DigiOccupancySpigot, DigiOccupancyVME, DigiSize, DigiClientHists::DVerr, lat::endl(), hbHists, heHists, hfHists, hoHists, i, HcalBaseClient::init(), DigiClientHists::presample, ProblemDigis, ProblemDigisByDepth, edm::CPUTimer::reset(), DigiClientHists::shape, DigiClientHists::shapeThresh, HcalBaseClient::showTiming_, edm::CPUTimer::start(), edm::CPUTimer::stop(), subdets_, DigiClientHists::TS_sum_minus, and DigiClientHists::TS_sum_plus.

Referenced by HcalMonitorClient::initialize().

00010 {
00011   //Call the base class first
00012   HcalBaseClient::init(ps,dbe,clientName);
00013 
00014   if (showTiming_)
00015     {
00016       cpu_timer.reset(); cpu_timer.start();
00017     }
00018 
00019   if (debug_>0)
00020     cout <<"<HcalDigiClient> init(const ParameterSet& ps, QMStore* dbe, string clientName)"<<endl;
00021 
00022   //errorFrac_=ps.getUntrackedParameter<double>("digiErrorFrac",0.05);
00023 
00024   hbHists.shape   =0;
00025   heHists.shape   =0;
00026   hoHists.shape   =0;
00027   hfHists.shape   =0;
00028   hbHists.shapeThresh   =0;
00029   heHists.shapeThresh   =0;
00030   hoHists.shapeThresh   =0;
00031   hfHists.shapeThresh   =0;
00032   hbHists.presample   =0;
00033   heHists.presample   =0;
00034   hoHists.presample   =0;
00035   hfHists.presample   =0;
00036   hbHists.BQ   =0;
00037   heHists.BQ   =0;
00038   hoHists.BQ   =0;
00039   hfHists.BQ   =0;
00040   hbHists.BQFrac   =0;
00041   heHists.BQFrac   =0;
00042   hoHists.BQFrac   =0;
00043   hfHists.BQFrac   =0;
00044   hbHists.DigiFirstCapID   =0;
00045   heHists.DigiFirstCapID   =0;
00046   hoHists.DigiFirstCapID   =0;
00047   hfHists.DigiFirstCapID   =0;
00048   hbHists.DVerr   =0;
00049   heHists.DVerr   =0;
00050   hoHists.DVerr   =0;
00051   hfHists.DVerr   =0;
00052   hbHists.CapID   =0;
00053   heHists.CapID   =0;
00054   hoHists.CapID   =0;
00055   hfHists.CapID   =0;
00056   hbHists.ADC   =0;
00057   heHists.ADC   =0;
00058   hoHists.ADC   =0;
00059   hfHists.ADC   =0;
00060   hbHists.ADCsum   =0;
00061   heHists.ADCsum   =0;
00062   hoHists.ADCsum   =0;
00063   hfHists.ADCsum   =0;
00064   DigiSize    =0;
00065   DigiOccupancyEta    =0;
00066   DigiOccupancyPhi    =0;
00067   DigiNum    =0;
00068   DigiBQ    =0;
00069   DigiBQFrac    =0;
00070   ProblemDigis    =0;
00071   DigiOccupancyVME    =0;
00072   DigiOccupancySpigot    =0;
00073   DigiErrorEtaPhi    =0;
00074   DigiErrorVME    =0;
00075   DigiErrorSpigot    =0;
00076   for (int i=0;i<6;++i)
00077     {
00078       ProblemDigisByDepth[i]    =0;
00079       DigiErrorsBadCapID[i]    =0;
00080       DigiErrorsBadDigiSize[i]    =0;
00081       DigiErrorsBadADCSum[i]    =0;
00082       DigiErrorsNoDigi[i]    =0;
00083       DigiErrorsDVErr[i]    =0;
00084       DigiOccupancyByDepth[i]    =0;
00085     } // for (int i=0;i<6;++i)
00086 
00087   for (int i=0;i<9;++i)
00088     {
00089       hbHists.TS_sum_plus[i]=0;
00090       hbHists.TS_sum_minus[i]=0;
00091       heHists.TS_sum_plus[i]=0;
00092       heHists.TS_sum_minus[i]=0;
00093       hoHists.TS_sum_plus[i]=0;
00094       hoHists.TS_sum_minus[i]=0;
00095       hfHists.TS_sum_plus[i]=0;
00096       hfHists.TS_sum_minus[i]=0;
00097     }
00098 
00099   subdets_.push_back("HB HF Depth 1 ");
00100   subdets_.push_back("HB HF Depth 2 ");
00101   subdets_.push_back("HE Depth 3 ");
00102   subdets_.push_back("HO ZDC ");
00103   subdets_.push_back("HE Depth 1 ");
00104   subdets_.push_back("HE Depth 2 ");
00105 
00106   if (showTiming_)
00107     {
00108       cpu_timer.stop();  cout <<"TIMER:: HcalDigiClient INIT  -> "<<cpu_timer.cpuTime()<<endl;
00109     }
00110   return;
00111 } // void HcalDigiClient::init(...)

void HcalDigiClient::loadHistograms ( TFile *  f  ) 

Definition at line 1220 of file HcalDigiClient.cc.

References DigiClientHists::ADC, DigiClientHists::ADCsum, DigiClientHists::BQ, DigiClientHists::BQFrac, DigiClientHists::CapID, GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::debug_, DigiBQ, DigiBQFrac, DigiErrorEtaPhi, DigiErrorsBadADCSum, DigiErrorsBadCapID, DigiErrorsBadDigiSize, DigiErrorsDVErr, DigiErrorsNoDigi, DigiErrorSpigot, DigiErrorVME, DigiClientHists::DigiFirstCapID, DigiNum, DigiOccupancyByDepth, DigiOccupancyEta, DigiOccupancyPhi, DigiOccupancySpigot, DigiOccupancyVME, DigiSize, DigiClientHists::DVerr, lat::endl(), hbHists, heHists, hfHists, hoHists, i, HcalBaseClient::ievt_, name, DigiClientHists::presample, ProblemDigis, ProblemDigisByDepth, HcalBaseClient::process_, s, DigiClientHists::shape, DigiClientHists::shapeThresh, subdets_, DigiClientHists::TS_sum_minus, and DigiClientHists::TS_sum_plus.

01220                                                 {
01221 
01222   if (debug_>0) cout <<"HcalDigiClient> loadHistograms(TFile* infile)"<<endl;
01223   
01224   TNamed* tnd = (TNamed*)infile->Get("DQMData/Hcal/DigiMonitor_Hcal/Digi Task Event Number");
01225   if(tnd){
01226     string s =tnd->GetTitle();
01227     ievt_ = -1;
01228     sscanf((s.substr(2,s.length()-2)).c_str(), "%d", &ievt_);
01229   }
01230   
01231   ostringstream name;
01232 
01233   //Load Histograms
01234   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Digi Shape";
01235   hbHists.shape = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01236   name.str("");
01237   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Digi Shape";
01238   heHists.shape = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01239   name.str("");
01240   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Digi Shape";
01241   hoHists.shape = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01242   name.str("");
01243   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Digi Shape";
01244   hfHists.shape = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01245   name.str("");
01246   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Digi Shape - over thresh";
01247   hbHists.shapeThresh = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01248   name.str("");
01249   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Digi Shape - over thresh";
01250   heHists.shapeThresh = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01251   name.str("");
01252   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Digi Shape - over thresh";
01253   hoHists.shapeThresh = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01254   name.str("");
01255   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Digi Shape - over thresh";
01256   hfHists.shapeThresh = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01257   name.str("");
01258   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Digi Presamples";
01259   hbHists.presample = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01260   name.str("");
01261   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Digi Presamples";
01262   heHists.presample = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01263   name.str("");
01264   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Digi Presamples";
01265   hoHists.presample = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01266   name.str("");
01267   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Digi Presamples";
01268   hfHists.presample = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01269   name.str("");
01270   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Bad Quality Digis";
01271   hbHists.BQ = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01272   name.str("");
01273   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Bad Quality Digis";
01274   heHists.BQ = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01275   name.str("");
01276   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Bad Quality Digis";
01277   hoHists.BQ = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01278   name.str("");
01279   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Bad Quality Digis";
01280   hfHists.BQ = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01281   name.str("");
01282   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Bad Quality Digi Fraction";
01283   hbHists.BQFrac = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01284   name.str("");
01285   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Bad Quality Digi Fraction";
01286   heHists.BQFrac = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01287   name.str("");
01288   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Bad Quality Digi Fraction";
01289   hoHists.BQFrac = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01290   name.str("");
01291   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Bad Quality Digi Fraction";
01292   hfHists.BQFrac = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01293   name.str("");
01294   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Capid 1st Time Slice";
01295   hbHists.DigiFirstCapID = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01296   name.str("");
01297   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Capid 1st Time Slice";
01298   heHists.DigiFirstCapID = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01299   name.str("");
01300   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Capid 1st Time Slice";
01301   hoHists.DigiFirstCapID = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01302   name.str("");
01303   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Capid 1st Time Slice";
01304   hfHists.DigiFirstCapID = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01305   name.str("");
01306   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Data Valid Err Bits";
01307   hbHists.DVerr = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01308   name.str("");
01309   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Data Valid Err Bits";
01310   heHists.DVerr = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01311   name.str("");
01312   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Data Valid Err Bits";
01313   hoHists.DVerr = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01314   name.str("");
01315   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Data Valid Err Bits";
01316   hfHists.DVerr = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01317   name.str("");
01318   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB CapID";
01319   hbHists.CapID = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01320   name.str("");
01321   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE CapID";
01322   heHists.CapID = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01323   name.str("");
01324   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO CapID";
01325   hoHists.CapID = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01326   name.str("");
01327   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF CapID";
01328   hfHists.CapID = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01329   name.str("");
01330   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB ADC count per time slice";
01331   hbHists.ADC = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01332   name.str("");
01333   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE ADC count per time slice";
01334   heHists.ADC = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01335   name.str("");
01336   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO ADC count per time slice";
01337   hoHists.ADC = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01338   name.str("");
01339   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF ADC count per time slice";
01340   hfHists.ADC = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01341   name.str("");
01342   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB ADC sum";
01343   hbHists.ADCsum = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01344   name.str("");
01345   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE ADC sum";
01346   heHists.ADCsum = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01347   name.str("");
01348   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO ADC sum";
01349   hoHists.ADCsum = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01350   name.str("");
01351   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF ADC sum";
01352   hfHists.ADCsum = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01353   name.str("");
01354   name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/baddigisize/ Digis with Bad Size";
01355   DigiSize = static_cast<TH2F*>(infile->Get(name.str().c_str()));
01356   name.str("");
01357   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Eta Occupancy Map";
01358   DigiOccupancyEta = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01359   name.str("");
01360   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Phi Occupancy Map";
01361   DigiOccupancyPhi = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01362   name.str("");
01363   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/# of Digis";
01364   DigiNum = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01365   name.str("");
01366   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/# Bad Qual Digis";
01367   DigiBQ = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01368   name.str("");
01369   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Bad Digi Fraction";
01370   DigiBQFrac = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01371   name.str("");
01372   name<<process_.c_str()<<"DigiMonitor_Hcal/ ProblemDigis";
01373   ProblemDigis = static_cast<TH2F*>(infile->Get(name.str().c_str()));
01374   name.str("");
01375   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi VME Occupancy Map";
01376   DigiOccupancyVME = static_cast<TH2F*>(infile->Get(name.str().c_str()));
01377   name.str("");
01378   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Spigot Occupancy Map";
01379   DigiOccupancySpigot = static_cast<TH2F*>(infile->Get(name.str().c_str()));
01380   name.str("");
01381   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Digi Geo Error Map";
01382   DigiErrorEtaPhi = static_cast<TH2F*>(infile->Get(name.str().c_str()));
01383   name.str("");
01384   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Digi VME Error Map";
01385   DigiErrorVME = static_cast<TH2F*>(infile->Get(name.str().c_str()));
01386   name.str("");
01387   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Digi Spigot Error Map";
01388   DigiErrorSpigot = static_cast<TH2F*>(infile->Get(name.str().c_str()));
01389   name.str("");
01390 
01391   for (int i=0;i<9;++i)
01392     {
01393       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Plus Time Slices "<<i<<" and "<<i+1;  //hbHists.TS_sum_plus[i]
01394       hbHists.TS_sum_plus[i] = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01395       name.str("");
01396       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Plus Time Slices "<<i<<" and "<<i+1;  //heHists.TS_sum_plus[i]
01397       heHists.TS_sum_plus[i] = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01398       name.str("");
01399       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Plus Time Slices "<<i<<" and "<<i+1;  //hoHists.TS_sum_plus[i]
01400       hoHists.TS_sum_plus[i] = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01401       name.str("");
01402       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Plus Time Slices "<<i<<" and "<<i+1;  //hfHists.TS_sum_plus[i]
01403       hfHists.TS_sum_plus[i] = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01404       name.str("");
01405       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Minus Time Slices "<<i<<" and "<<i+1;  //hbHists.TS_sum_minus[i]
01406       hbHists.TS_sum_minus[i] = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01407       name.str("");
01408       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Minus Time Slices "<<i<<" and "<<i+1;  //heHists.TS_sum_minus[i]
01409       heHists.TS_sum_minus[i] = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01410       name.str("");
01411       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Minus Time Slices "<<i<<" and "<<i+1;  //hoHists.TS_sum_minus[i]
01412       hoHists.TS_sum_minus[i] = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01413       name.str("");
01414       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Minus Time Slices "<<i<<" and "<<i+1;  //hfHists.TS_sum_minus[i]
01415       hfHists.TS_sum_minus[i] = static_cast<TH1F*>(infile->Get(name.str().c_str()));
01416       name.str("");
01417     } // for (int i=0;i<9;++i)
01418 
01419   for (int i=0;i<6;++i)
01420     {
01421       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/"<<subdets_[i]<<" Digi Eta-Phi Occupancy Map";
01422       DigiOccupancyByDepth[i] = static_cast<TH2F*>(infile->Get(name.str().c_str()));
01423       name.str("");
01424       name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/"<<subdets_[i]<<" Problem Digi Rate";
01425       ProblemDigisByDepth[i] = static_cast<TH2F*>(infile->Get(name.str().c_str()));
01426       name.str("");
01427       name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/badcapID/"<<subdets_[i]<<" Digis with Bad Cap ID Rotation";
01428       DigiErrorsBadCapID[i] = static_cast<TH2F*>(infile->Get(name.str().c_str()));
01429       name.str("");
01430       name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/baddigisize/"<<subdets_[i]<<" Digis with Bad Size";
01431       DigiErrorsBadDigiSize[i] = static_cast<TH2F*>(infile->Get(name.str().c_str()));
01432       name.str("");
01433       name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/badADCsum/"<<subdets_[i]<<" Digis with ADC sum below threshold ADC counts";
01434       DigiErrorsBadADCSum[i] = static_cast<TH2F*>(infile->Get(name.str().c_str()));
01435       name.str("");
01436       name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/nodigis/"<<subdets_[i]<<" Digis Missing for a Number of Consecutive Events";
01437       DigiErrorsNoDigi[i] = static_cast<TH2F*>(infile->Get(name.str().c_str()));
01438       name.str("");
01439       name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/data_invalid_error/"<<subdets_[i]<<" Digis with Data Invalid or Error Bit Set";
01440       DigiErrorsDVErr[i] = static_cast<TH2F*>(infile->Get(name.str().c_str()));
01441       name.str("");
01442     } // for (int i=0;i<6;++i)
01443 
01444 
01445   return;
01446 } // void HcalDigiClient::loadHistograms()

void HcalDigiClient::report (  ) 

process report

Definition at line 325 of file HcalDigiClient.cc.

References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, edm::CPUTimer::cpuTime(), HcalBaseClient::dbe_, HcalBaseClient::debug_, lat::endl(), DQMStore::get(), getHistograms(), HcalBaseClient::ievt_, me, name, HcalBaseClient::process_, edm::CPUTimer::reset(), s, HcalBaseClient::showTiming_, edm::CPUTimer::start(), edm::CPUTimer::stop(), and MonitorElement::valueString().

Referenced by HcalMonitorClient::report().

00325                            {
00326   if (showTiming_)
00327     {
00328       cpu_timer.reset(); cpu_timer.start();
00329     }
00330   if ( debug_ ) cout << "HcalDigiClient: report" << endl;
00331   
00332   ostringstream name;
00333   name<<process_.c_str()<<"Hcal/DigiMonitor_Hcal/Digi Task Event Number";
00334   MonitorElement* me = 0;
00335   if(dbe_) me = dbe_->get(name.str().c_str());
00336   if ( me ) 
00337     {
00338       string s = me->valueString();
00339       ievt_ = -1;
00340       sscanf((s.substr(2,s.length()-2)).c_str(), "%d", &ievt_);
00341       if ( debug_ ) cout << "Found '" << name.str().c_str() << "'" << endl;
00342     }
00343   name.str("");
00344   getHistograms();
00345 
00346   if (showTiming_)
00347     {
00348       cpu_timer.stop();  cout <<"TIMER:: HcalDigiClient REPORT  -> "<<cpu_timer.cpuTime()<<endl;
00349     }
00350   return;
00351 }

void HcalDigiClient::resetAllME (  ) 

Definition at line 584 of file HcalDigiClient.cc.

References GenMuonPlsPt100GeV_cfg::cout, HcalBaseClient::cpu_timer, edm::CPUTimer::cpuTime(), HcalBaseClient::dbe_, HcalBaseClient::debug_, lat::endl(), i, name, HcalBaseClient::process_, edm::CPUTimer::reset(), resetME(), HcalBaseClient::showTiming_, edm::CPUTimer::start(), edm::CPUTimer::stop(), and subdets_.

Referenced by beginJob(), beginRun(), and HcalMonitorClient::resetAllME().

00585 {
00586   if (debug_>0) cout <<"HcalDigiClient> resetAllME()"<<endl;
00587   if(!dbe_) return;
00588   if (showTiming_)
00589     {
00590       cpu_timer.reset(); cpu_timer.start();
00591     }
00592  
00593   ostringstream name;
00594   // Reset
00595   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Digi Shape";
00596   resetME(name.str().c_str(),dbe_);
00597   name.str("");
00598   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Digi Shape";
00599   resetME(name.str().c_str(),dbe_);
00600   name.str("");
00601   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Digi Shape";
00602   resetME(name.str().c_str(),dbe_);
00603   name.str("");
00604   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Digi Shape";
00605   resetME(name.str().c_str(),dbe_);
00606   name.str("");
00607   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Digi Shape - over thresh";
00608   resetME(name.str().c_str(),dbe_);
00609   name.str("");
00610   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Digi Shape - over thresh";
00611   resetME(name.str().c_str(),dbe_);
00612   name.str("");
00613   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Digi Shape - over thresh";
00614   resetME(name.str().c_str(),dbe_);
00615   name.str("");
00616   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Digi Shape - over thresh";
00617   resetME(name.str().c_str(),dbe_);
00618   name.str("");
00619   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Digi Presamples";
00620   resetME(name.str().c_str(),dbe_);
00621   name.str("");
00622   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Digi Presamples";
00623   resetME(name.str().c_str(),dbe_);
00624   name.str("");
00625   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Digi Presamples";
00626   resetME(name.str().c_str(),dbe_);
00627   name.str("");
00628   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Digi Presamples";
00629   resetME(name.str().c_str(),dbe_);
00630   name.str("");
00631   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Bad Quality Digis";
00632   resetME(name.str().c_str(),dbe_);
00633   name.str("");
00634   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Bad Quality Digis";
00635   resetME(name.str().c_str(),dbe_);
00636   name.str("");
00637   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Bad Quality Digis";
00638   resetME(name.str().c_str(),dbe_);
00639   name.str("");
00640   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Bad Quality Digis";
00641   resetME(name.str().c_str(),dbe_);
00642   name.str("");
00643   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Bad Quality Digi Fraction";
00644   resetME(name.str().c_str(),dbe_);
00645   name.str("");
00646   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Bad Quality Digi Fraction";
00647   resetME(name.str().c_str(),dbe_);
00648   name.str("");
00649   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Bad Quality Digi Fraction";
00650   resetME(name.str().c_str(),dbe_);
00651   name.str("");
00652   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Bad Quality Digi Fraction";
00653   resetME(name.str().c_str(),dbe_);
00654   name.str("");
00655   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Capid 1st Time Slice";
00656   resetME(name.str().c_str(),dbe_);
00657   name.str("");
00658   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Capid 1st Time Slice";
00659   resetME(name.str().c_str(),dbe_);
00660   name.str("");
00661   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Capid 1st Time Slice";
00662   resetME(name.str().c_str(),dbe_);
00663   name.str("");
00664   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Capid 1st Time Slice";
00665   resetME(name.str().c_str(),dbe_);
00666   name.str("");
00667   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Data Valid Err Bits";
00668   resetME(name.str().c_str(),dbe_);
00669   name.str("");
00670   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Data Valid Err Bits";
00671   resetME(name.str().c_str(),dbe_);
00672   name.str("");
00673   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Data Valid Err Bits";
00674   resetME(name.str().c_str(),dbe_);
00675   name.str("");
00676   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Data Valid Err Bits";
00677   resetME(name.str().c_str(),dbe_);
00678   name.str("");
00679   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB CapID";
00680   resetME(name.str().c_str(),dbe_);
00681   name.str("");
00682   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE CapID";
00683   resetME(name.str().c_str(),dbe_);
00684   name.str("");
00685   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO CapID";
00686   resetME(name.str().c_str(),dbe_);
00687   name.str("");
00688   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF CapID";
00689   resetME(name.str().c_str(),dbe_);
00690   name.str("");
00691   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB ADC count per time slice";
00692   resetME(name.str().c_str(),dbe_);
00693   name.str("");
00694   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE ADC count per time slice";
00695   resetME(name.str().c_str(),dbe_);
00696   name.str("");
00697   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO ADC count per time slice";
00698   resetME(name.str().c_str(),dbe_);
00699   name.str("");
00700   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF ADC count per time slice";
00701   resetME(name.str().c_str(),dbe_);
00702   name.str("");
00703   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB ADC sum";
00704   resetME(name.str().c_str(),dbe_);
00705   name.str("");
00706   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE ADC sum";
00707   resetME(name.str().c_str(),dbe_);
00708   name.str("");
00709   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO ADC sum";
00710   resetME(name.str().c_str(),dbe_);
00711   name.str("");
00712   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF ADC sum";
00713   resetME(name.str().c_str(),dbe_);
00714   name.str("");
00715   name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/baddigisize/ Digis with Bad Size";
00716   resetME(name.str().c_str(),dbe_);
00717   name.str("");
00718   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Eta Occupancy Map";
00719   resetME(name.str().c_str(),dbe_);
00720   name.str("");
00721   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Phi Occupancy Map";
00722   resetME(name.str().c_str(),dbe_);
00723   name.str("");
00724   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/# of Digis";
00725   resetME(name.str().c_str(),dbe_);
00726   name.str("");
00727   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/# Bad Qual Digis";
00728   resetME(name.str().c_str(),dbe_);
00729   name.str("");
00730   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Bad Digi Fraction";
00731   resetME(name.str().c_str(),dbe_);
00732   name.str("");
00733   name<<process_.c_str()<<"DigiMonitor_Hcal/ ProblemDigis";
00734   resetME(name.str().c_str(),dbe_);
00735   name.str("");
00736   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Eta-Phi Occupancy Map";
00737   resetME(name.str().c_str(),dbe_);
00738   name.str("");
00739   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi VME Occupancy Map";
00740   resetME(name.str().c_str(),dbe_);
00741   name.str("");
00742   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_occupancy/Digi Spigot Occupancy Map";
00743   resetME(name.str().c_str(),dbe_);
00744   name.str("");
00745   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Digi Geo Error Map";
00746   resetME(name.str().c_str(),dbe_);
00747   name.str("");
00748   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Digi VME Error Map";
00749   resetME(name.str().c_str(),dbe_);
00750   name.str("");
00751   name<<process_.c_str()<<"DigiMonitor_Hcal/digi_errors/Digi Spigot Error Map";
00752   resetME(name.str().c_str(),dbe_);
00753   name.str("");
00754 
00755   for (int i=0;i<9;++i)
00756     {
00757       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Plus Time Slices "<<i<<" and "<<i+1;  //hbHists.TS_sum_plus[i]
00758       resetME(name.str().c_str(),dbe_);
00759       name.str("");
00760       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Plus Time Slices "<<i<<" and "<<i+1;  //heHists.TS_sum_plus[i]
00761       resetME(name.str().c_str(),dbe_);
00762       name.str("");
00763       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Plus Time Slices "<<i<<" and "<<i+1;  //hoHists.TS_sum_plus[i]
00764       resetME(name.str().c_str(),dbe_);
00765       name.str("");
00766       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Plus Time Slices "<<i<<" and "<<i+1;  //hfHists.TS_sum_plus[i]
00767       resetME(name.str().c_str(),dbe_);
00768       name.str("");
00769       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HB/HB Minus Time Slices "<<i<<" and "<<i+1;  //hbHists.TS_sum_minus[i]
00770       resetME(name.str().c_str(),dbe_);
00771       name.str("");
00772       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HE/HE Minus Time Slices "<<i<<" and "<<i+1;  //heHists.TS_sum_minus[i]
00773       resetME(name.str().c_str(),dbe_);
00774       name.str("");
00775       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HO/HO Minus Time Slices "<<i<<" and "<<i+1;  //hoHists.TS_sum_minus[i]
00776       resetME(name.str().c_str(),dbe_);
00777       name.str("");
00778       name<<process_.c_str()<<"DigiMonitor_Hcal/digi_info/HF/HF Minus Time Slices "<<i<<" and "<<i+1;  //hfHists.TS_sum_minus[i]
00779       resetME(name.str().c_str(),dbe_);
00780       name.str("");
00781     } // for (int i=0;i<9;++i)
00782 
00783   for (int i=0;i<6;++i)
00784     {
00785       name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/"<<subdets_[i]<<" Problem Digi Rate";
00786       resetME(name.str().c_str(),dbe_);
00787       name.str("");
00788       name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/badcapID/"<<subdets_[i]<<" Digis with Bad Cap ID Rotation";
00789       resetME(name.str().c_str(),dbe_);
00790       name.str("");
00791       name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/baddigisize/"<<subdets_[i]<<" Digis with Bad Size";
00792       resetME(name.str().c_str(),dbe_);
00793       name.str(""); 
00794       name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/badADCsum/"<<subdets_[i]<<" Digis with ADC sum below threshold ADC counts";
00795       resetME(name.str().c_str(),dbe_);
00796       name.str(""); 
00797       name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/nodigis/"<<subdets_[i]<<" Digis Missing for a Number of Consecutive Events";
00798       resetME(name.str().c_str(),dbe_);
00799       name.str("");
00800       name<<process_.c_str()<<"DigiMonitor_Hcal/problem_digis/data_invalid_error/"<<subdets_[i]<<" Digis with Data Invalid or Error Bit Set";
00801       resetME(name.str().c_str(),dbe_);
00802       name.str("");
00803     } // for (int i=0;i<6;++i)
00804   if (showTiming_)
00805     {
00806       cpu_timer.stop();  cout <<"TIMER:: HcalDigiClient RESET ALL ME  -> "<<cpu_timer.cpuTime()<<endl;
00807     }
00808   return;
00809 } // void HcalDigiClient::resetAllME()

void HcalDigiClient::setup ( void   ) 

Setup.

Definition at line 158 of file HcalDigiClient.cc.

Referenced by beginJob(), and beginRun().

00158                                {
00159   
00160   return;
00161 }


Member Data Documentation

TH1F* HcalDigiClient::DigiBQ [private]

Definition at line 100 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().

TH1F* HcalDigiClient::DigiBQFrac [private]

Definition at line 101 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().

int HcalDigiClient::digiclient_checkNevents_ [private]

Definition at line 78 of file HcalDigiClient.h.

bool HcalDigiClient::digiclient_makeDiagnostics_ [private]

Definition at line 77 of file HcalDigiClient.h.

TH2F* HcalDigiClient::DigiErrorEtaPhi [private]

Definition at line 92 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), init(), and loadHistograms().

TH2F* HcalDigiClient::DigiErrorsBadADCSum[6] [private]

Definition at line 86 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().

TH2F* HcalDigiClient::DigiErrorsBadCapID[6] [private]

Definition at line 84 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().

TH2F* HcalDigiClient::DigiErrorsBadDigiSize[6] [private]

Definition at line 85 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().

TH2F* HcalDigiClient::DigiErrorsDVErr[6] [private]

Definition at line 88 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().

TH2F* HcalDigiClient::DigiErrorsNoDigi[6] [private]

Definition at line 87 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().

TH2F* HcalDigiClient::DigiErrorSpigot [private]

Definition at line 94 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), init(), and loadHistograms().

TH2F* HcalDigiClient::DigiErrorVME [private]

Definition at line 93 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), init(), and loadHistograms().

TH1F* HcalDigiClient::DigiNum [private]

Definition at line 99 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().

TH2F* HcalDigiClient::DigiOccupancyByDepth[6] [private]

Definition at line 89 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().

TH1F* HcalDigiClient::DigiOccupancyEta [private]

Definition at line 97 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().

TH1F* HcalDigiClient::DigiOccupancyPhi [private]

Definition at line 98 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().

TH2F* HcalDigiClient::DigiOccupancySpigot [private]

Definition at line 91 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().

TH2F* HcalDigiClient::DigiOccupancyVME [private]

Definition at line 90 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().

TH2F* HcalDigiClient::DigiSize [private]

Definition at line 96 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().

DigiClientHists HcalDigiClient::hbHists [private]

Definition at line 103 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().

DigiClientHists HcalDigiClient::heHists [private]

Definition at line 103 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().

DigiClientHists HcalDigiClient::hfHists [private]

Definition at line 103 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().

DigiClientHists HcalDigiClient::hoHists [private]

Definition at line 103 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), init(), and loadHistograms().

TH2F* HcalDigiClient::ProblemDigis [private]

Definition at line 82 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlOutput(), init(), and loadHistograms().

TH2F* HcalDigiClient::ProblemDigisByDepth[6] [private]

Definition at line 83 of file HcalDigiClient.h.

Referenced by cleanup(), getHistograms(), htmlExpertOutput(), htmlOutput(), init(), and loadHistograms().

vector<std::string> HcalDigiClient::subdets_ [private]

Definition at line 76 of file HcalDigiClient.h.

Referenced by init(), loadHistograms(), and resetAllME().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:23:36 2009 for CMSSW by  doxygen 1.5.4