CMS 3D CMS Logo

HcalMonitorClient Class Reference

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

Inheritance diagram for HcalMonitorClient:

edm::EDAnalyzer

List of all members.

Public Member Functions

void analyze (const Event &evt, const EventSetup &es)
void analyze (void)
 Analyze.
void beginJob (const EventSetup &c)
 BeginJob.
void beginLuminosityBlock (const edm::LuminosityBlock &l, const edm::EventSetup &c)
 BeginLumiBlock.
void beginRun (const Run &r, const edm::EventSetup &c)
 BeginRun.
void createTests (void)
 Create tests.
void dumpHistograms (int &runNum, vector< TH1F * > &hist1d, vector< TH2F * > &hist2d)
void endJob (void)
 EndJob.
void endLuminosityBlock (const edm::LuminosityBlock &l, const edm::EventSetup &c)
 EndLumiBlock.
void endRun (const edm::Run &r, const edm::EventSetup &c)
 EndRun.
void errorSummary ()
 Generate error summary.
 HcalMonitorClient (const ParameterSet &ps)
 HcalMonitorClient ()
 Constructors.
void htmlOutput (void)
 HtmlOutput.
void initialize (const ParameterSet &ps)
void loadHistograms (TFile *infile, const char *fname)
void offlineSetup ()
bool prescale ()
 Boolean prescale test for this event.
void report (bool update)
 Create reports.
void resetAllME (void)
 reset all monitor elements
 ~HcalMonitorClient ()
 Destructor.

Private Member Functions

void removeAllME (void)

Private Attributes

bool actonLS_
string baseHtmlDir_
HcalBeamClientbeam_client_
edm::CPUTimer cpu_timer
HcalCaloTowerClientct_client_
HcalDataFormatClientdataformat_client_
DQMStoredbe_
 Connection to the DQM backend.
HcalDeadCellClientdead_client_
int debug_
 Verbosity switch used for debugging or informational output.
HcalDigiClientdigi_client_
HcalHotCellDbInterfacedqm_db_
bool enableExit_
bool enableMonitorDaemon_
HcalHotCellClienthot_client_
int ievent_
int ievt_
int ilumisec_
string inputFile_
int irun_
int itime_
HcalLaserClientlaser_client_
int lastResetTime_
HcalLEDClientled_client_
int maxlumisec_
int minlumisec_
std::string monitorName_
 units of "updates", TBD
DQMOldReceivermui_
time_t mytime_
int nlumisecs_
 counters and flags
HcalPedestalClientpedestal_client_
int prescaleEvt_
 Prescale variables for restricting the frequency of analyzer behavior.
int prescaleLS_
 units of events
int prescaleTime_
 units of lumi sections
int prescaleUpdate_
 units of minutes
struct {
   double   elapsedTime
   double   startTime
   timeval   startTV
   double   updateTime
   timeval   updateTV
psTime_
HcalRecHitClientrechit_client_
int resetEvents_
int resetLS_
int resetTime_
int resetUpdate_
std::string rootFolder_
bool runningStandalone_
bool saved_
bool showTiming_
HcalSummaryClientsummary_client_
HcalTrigPrimClienttp_client_


Detailed Description

Definition at line 53 of file HcalMonitorClient.h.


Constructor & Destructor Documentation

HcalMonitorClient::HcalMonitorClient (  ) 

Constructors.

Definition at line 12 of file HcalMonitorClient.cc.

00012 {}

HcalMonitorClient::HcalMonitorClient ( const ParameterSet ps  ) 

Definition at line 8 of file HcalMonitorClient.cc.

References initialize().

00008                                                           {
00009   initialize(ps);
00010 }

HcalMonitorClient::~HcalMonitorClient (  ) 

Destructor.

Definition at line 15 of file HcalMonitorClient.cc.

References beam_client_, GenMuonPlsPt100GeV_cfg::cout, ct_client_, dataformat_client_, dead_client_, debug_, digi_client_, dqm_db_, lat::endl(), hot_client_, laser_client_, led_client_, mui_, pedestal_client_, rechit_client_, summary_client_, and tp_client_.

00015                                      {
00016 
00017   if (debug_>0) cout << "HcalMonitorClient: Exit ..." << endl;
00018   if( summary_client_ )    delete summary_client_;
00019   if( dataformat_client_ ) delete dataformat_client_;
00020   if( digi_client_ )       delete digi_client_;
00021   if( rechit_client_ )     delete rechit_client_;
00022   if( pedestal_client_ )   delete pedestal_client_;
00023   if( led_client_ )        delete led_client_;
00024   if( laser_client_ )      delete laser_client_;
00025   if( hot_client_ )        delete hot_client_;
00026   if( dead_client_ )       delete dead_client_;
00027   if( tp_client_ )         delete tp_client_;
00028   if( ct_client_ )         delete ct_client_;
00029   if( beam_client_)        delete beam_client_;
00030   if (dqm_db_)             delete dqm_db_;
00031   //if( dbe_ )               delete dbe_;
00032   if( mui_ )               delete mui_;
00033  
00034   if (debug_>1) cout <<"HcalMonitorClient: Finished destructor..."<<endl;
00035 }


Member Function Documentation

void HcalMonitorClient::analyze ( const Event evt,
const EventSetup es 
) [virtual]

Implements edm::EDAnalyzer.

Definition at line 446 of file HcalMonitorClient.cc.

References HcalSummaryClient::analyze(), analyze(), GenMuonPlsPt100GeV_cfg::cout, debug_, lat::endl(), edm::EventID::event(), edm::Event::id(), ievent_, ievt_, ilumisec_, HcalSummaryClient::incrementCounters(), irun_, itime_, lastResetTime_, edm::Event::luminosityBlock(), max, maxlumisec_, min, minlumisec_, mytime_, prescale(), resetAllME(), resetEvents_, resetLS_, resetTime_, edm::EventID::run(), runningStandalone_, summary_client_, edm::Event::time(), and edm::Timestamp::value().

00446                                                                               {
00447 
00448   if (debug_>0) 
00449     cout <<"Entered HcalMonitorClient::analyze(const Evt...)"<<endl;
00450   
00451   if(resetEvents_>0 && (ievent_%resetEvents_)==0) resetAllME();
00452   if(resetLS_>0 && (ilumisec_%resetLS_)==0) resetAllME();
00453   int deltaT = itime_-lastResetTime_;
00454   if(resetTime_>0 && (deltaT>resetTime_)){
00455     resetAllME();
00456     lastResetTime_ = itime_;
00457   }
00458 
00459 
00460   // environment datamembers
00461   irun_     = e.id().run();
00462   ilumisec_ = e.luminosityBlock();
00463   ievent_   = e.id().event();
00464   itime_    = e.time().value();
00465   mytime_   = (e.time().value())>>32;
00466 
00467   if (minlumisec_==0)
00468     minlumisec_=ilumisec_;
00469   minlumisec_=min(minlumisec_,ilumisec_);
00470   maxlumisec_=max(maxlumisec_,ilumisec_);
00471 
00472   if (debug_>1) 
00473     cout << "HcalMonitorClient: evts: "<< ievt_ << ", run: " << irun_ << ", LS: " << ilumisec_ << ", evt: " << ievent_ << ", time: " << itime_ << endl; 
00474 
00475   ievt_++; //I think we want our web pages, etc. to display this counter (the number of events used in the task) rather than nevt_ (the number of times the MonitorClient analyze function below is called) -- Jeff, 1/22/08
00476 
00477 
00478   // Need to increment summary client on every event, not just when prescale is called, since summary_client_ plots error rates/event.
00479   if( summary_client_ ) {
00480     summary_client_->incrementCounters(); // All this does is increment a counter.
00481     if (ievt_ ==1) {
00482       summary_client_->analyze();}}        // Check if HBHE, HO, or HF is in the run at all.
00483   if ( runningStandalone_ || prescale()) return;
00484 
00485   else analyze();
00486 }

void HcalMonitorClient::analyze ( void   ) 

Analyze.

Definition at line 490 of file HcalMonitorClient.cc.

References HcalPedestalClient::analyze(), HcalDeadCellClient::analyze(), HcalHotCellClient::analyze(), HcalDigiClient::analyze(), HcalDataFormatClient::analyze(), HcalRecHitClient::analyze(), HcalBeamClient::analyze(), HcalLEDClient::analyze(), HcalSummaryClient::analyze(), HcalLaserClient::analyze(), HcalTrigPrimClient::analyze(), HcalCaloTowerClient::analyze(), beam_client_, GenMuonPlsPt100GeV_cfg::cout, cpu_timer, edm::CPUTimer::cpuTime(), createTests(), ct_client_, dataformat_client_, dbe_, dead_client_, debug_, digi_client_, DQMOldReceiver::doMonitoring(), lat::endl(), errorSummary(), hot_client_, laser_client_, led_client_, mui_, pedestal_client_, rechit_client_, edm::CPUTimer::reset(), DQMStore::runQTests(), showTiming_, edm::CPUTimer::start(), edm::CPUTimer::stop(), summary_client_, and tp_client_.

Referenced by analyze(), and endLuminosityBlock().

00490                                {
00491   if (debug_>0) 
00492     cout <<"<HcalMonitorClient> Entered HcalMonitorClient::analyze()"<<endl;
00493 
00494   //nevt_++; // counter not currently displayed anywhere 
00495   if(debug_>1) cout<<"\nHcal Monitor Client heartbeat...."<<endl;
00496   
00497   createTests();  
00498   mui_->doMonitoring();
00499   dbe_->runQTests();
00500 
00501   if (showTiming_) 
00502     { 
00503       cpu_timer.reset(); cpu_timer.start(); 
00504     } 
00505   if( dataformat_client_ ) dataformat_client_->analyze();       
00506   if (showTiming_) 
00507     { 
00508       cpu_timer.stop(); 
00509       if (dataformat_client_) cout <<"TIMER:: DATAFORMAT CLIENT ->"<<cpu_timer.cpuTime()<<endl; 
00510       cpu_timer.reset(); cpu_timer.start(); 
00511     } 
00512 
00513   if( digi_client_)       digi_client_->analyze(); 
00514   if (showTiming_) 
00515     { 
00516       cpu_timer.stop(); 
00517       if (digi_client_) cout <<"TIMER:: DIGI CLIENT ->"<<cpu_timer.cpuTime()<<endl; 
00518       cpu_timer.reset(); cpu_timer.start(); 
00519     } 
00520 
00521   if( rechit_client_ )     rechit_client_->analyze(); 
00522   if (showTiming_) 
00523     { 
00524       cpu_timer.stop(); 
00525       if (rechit_client_) cout <<"TIMER:: RECHIT CLIENT ->"<<cpu_timer.cpuTime()<<endl; 
00526       cpu_timer.reset(); cpu_timer.start(); 
00527     } 
00528 
00529   if( pedestal_client_ )   pedestal_client_->analyze();      
00530   if (showTiming_) 
00531     { 
00532       cpu_timer.stop(); 
00533       if (pedestal_client_) cout <<"TIMER:: PEDESTAL CLIENT ->"<<cpu_timer.cpuTime()<<endl; 
00534       cpu_timer.reset(); cpu_timer.start(); 
00535     } 
00536 
00537   if( led_client_ )        led_client_->analyze(); 
00538   if (showTiming_) 
00539     { 
00540       cpu_timer.stop(); 
00541       if (led_client_) cout <<"TIMER:: LED CLIENT ->"<<cpu_timer.cpuTime()<<endl; 
00542       cpu_timer.reset(); cpu_timer.start(); 
00543     } 
00544 
00545   if( laser_client_ )        laser_client_->analyze(); 
00546   if (showTiming_) 
00547     { 
00548       cpu_timer.stop(); 
00549       if (laser_client_) cout <<"TIMER:: LASER CLIENT ->"<<cpu_timer.cpuTime()<<endl; 
00550       cpu_timer.reset(); cpu_timer.start(); 
00551     } 
00552 
00553   if( hot_client_ )        hot_client_->analyze(); 
00554   if (showTiming_) 
00555     { 
00556       cpu_timer.stop(); 
00557       if (hot_client_) cout <<"TIMER:: HOT CLIENT ->"<<cpu_timer.cpuTime()<<endl; 
00558       cpu_timer.reset(); cpu_timer.start(); 
00559     } 
00560 
00561   if( dead_client_ )       dead_client_->analyze(); 
00562   if (showTiming_) 
00563     { 
00564       cpu_timer.stop(); 
00565       if (dead_client_) cout <<"TIMER:: DEAD CLIENT ->"<<cpu_timer.cpuTime()<<endl; 
00566       cpu_timer.reset(); cpu_timer.start(); 
00567     } 
00568 
00569   if( tp_client_ )         tp_client_->analyze(); 
00570   if (showTiming_) 
00571     { 
00572       cpu_timer.stop(); 
00573       if (tp_client_) cout <<"TIMER:: TP CLIENT ->"<<cpu_timer.cpuTime()<<endl; 
00574       cpu_timer.reset(); cpu_timer.start(); 
00575     } 
00576 
00577   if( ct_client_ )         ct_client_->analyze(); 
00578   if (showTiming_) 
00579     { 
00580       cpu_timer.stop(); 
00581       if (ct_client_) cout <<"TIMER:: CT CLIENT ->"<<cpu_timer.cpuTime()<<endl; 
00582       cpu_timer.reset(); cpu_timer.start(); 
00583     } 
00584   if( beam_client_ )         beam_client_->analyze(); 
00585   if (showTiming_) 
00586     { 
00587       cpu_timer.stop(); 
00588       if (beam_client_) cout <<"TIMER:: BEAM CLIENT ->"<<cpu_timer.cpuTime()<<endl; 
00589       cpu_timer.reset(); cpu_timer.start(); 
00590     } 
00591 
00592   if (showTiming_) 
00593     { 
00594       cpu_timer.stop(); 
00595       if (beam_client_) cout <<"TIMER:: BEAM CLIENT ->"<<cpu_timer.cpuTime()<<endl; 
00596       cpu_timer.reset(); cpu_timer.start(); 
00597     } 
00598 
00599   if (summary_client_ )    summary_client_->analyze();
00600   if (showTiming_) 
00601     { 
00602       cpu_timer.stop(); 
00603       if (summary_client_) cout <<"TIMER:: SUMMARY CLIENT ->"<<cpu_timer.cpuTime()<<endl; 
00604     } 
00605 
00606   errorSummary();
00607 
00608   return;
00609 }

void HcalMonitorClient::beginJob ( const EventSetup c  )  [virtual]

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 265 of file HcalMonitorClient.cc.

References beam_client_, HcalLaserClient::beginJob(), HcalDeadCellClient::beginJob(), HcalLEDClient::beginJob(), HcalPedestalClient::beginJob(), HcalBeamClient::beginJob(), HcalDataFormatClient::beginJob(), HcalTrigPrimClient::beginJob(), HcalDigiClient::beginJob(), HcalHotCellClient::beginJob(), HcalRecHitClient::beginJob(), HcalSummaryClient::beginJob(), HcalCaloTowerClient::beginJob(), GenMuonPlsPt100GeV_cfg::cout, ct_client_, dataformat_client_, dbe_, dead_client_, debug_, digi_client_, lat::endl(), hot_client_, ievt_, laser_client_, led_client_, pedestal_client_, rechit_client_, summary_client_, and tp_client_.

00265                                                    {
00266 
00267   if( debug_>0 ) cout << "HcalMonitorClient: beginJob" << endl;
00268   
00269   ievt_ = 0;
00270   if( summary_client_ )    summary_client_->beginJob(dbe_);
00271   if( dataformat_client_ ) dataformat_client_->beginJob();
00272   if( digi_client_ )       digi_client_->beginJob();
00273   if( rechit_client_ )     rechit_client_->beginJob();
00274   if( pedestal_client_ )   pedestal_client_->beginJob(c);
00275   if( led_client_ )        led_client_->beginJob(c);
00276   if( laser_client_ )      laser_client_->beginJob(c);
00277   if( hot_client_ )        hot_client_->beginJob(c);
00278   if( dead_client_ )       dead_client_->beginJob(c);
00279   if( tp_client_ )         tp_client_->beginJob();
00280   if( ct_client_ )         ct_client_->beginJob();
00281   if( beam_client_ )       beam_client_->beginJob();
00282   return;
00283 }

void HcalMonitorClient::beginLuminosityBlock ( const edm::LuminosityBlock l,
const edm::EventSetup c 
) [virtual]

BeginLumiBlock.

Reimplemented from edm::EDAnalyzer.

Definition at line 424 of file HcalMonitorClient.cc.

References actonLS_, GenMuonPlsPt100GeV_cfg::cout, debug_, lat::endl(), and prescale().

00425 {
00426   if( debug_>0 ) cout << "HcalMonitorClient: beginLuminosityBlock" << endl;
00427   if(actonLS_ && !prescale()){
00428     // do scheduled tasks...
00429   }
00430 
00431 }

void HcalMonitorClient::beginRun ( const Run r,
const edm::EventSetup c 
) [virtual]

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 286 of file HcalMonitorClient.cc.

References beam_client_, HcalDataFormatClient::beginRun(), HcalPedestalClient::beginRun(), HcalHotCellClient::beginRun(), HcalDigiClient::beginRun(), HcalRecHitClient::beginRun(), HcalDeadCellClient::beginRun(), HcalLEDClient::beginRun(), HcalSummaryClient::beginRun(), HcalTrigPrimClient::beginRun(), HcalCaloTowerClient::beginRun(), HcalBeamClient::beginRun(), HcalLaserClient::beginRun(), GenMuonPlsPt100GeV_cfg::cout, ct_client_, dataformat_client_, dead_client_, debug_, digi_client_, lat::endl(), hot_client_, edm::Run::id(), laser_client_, led_client_, pedestal_client_, rechit_client_, edm::RunID::run(), summary_client_, and tp_client_.

00286                                                                   {
00287 
00288   if (debug_>0)
00289     cout << endl<<"HcalMonitorClient: Standard beginRun() for run " << r.id().run() << endl<<endl;
00290 
00291   if( summary_client_ )    summary_client_->beginRun();
00292   if( dataformat_client_ ) dataformat_client_->beginRun();
00293   if( digi_client_ )       digi_client_->beginRun();
00294   if( rechit_client_ )     rechit_client_->beginRun();
00295   if( pedestal_client_ )   pedestal_client_->beginRun();
00296   if( led_client_ )        led_client_->beginRun();
00297   if( laser_client_ )      laser_client_->beginRun();
00298   if( hot_client_ )        hot_client_->beginRun();
00299   if( dead_client_ )       dead_client_->beginRun();
00300   if( tp_client_ )         tp_client_->beginRun();
00301   if( ct_client_ )         ct_client_->beginRun();
00302   if( beam_client_ )       beam_client_->beginRun();
00303   return;
00304 }

void HcalMonitorClient::createTests ( void   ) 

Create tests.

Definition at line 612 of file HcalMonitorClient.cc.

References beam_client_, GenMuonPlsPt100GeV_cfg::cout, HcalCaloTowerClient::createTests(), HcalRecHitClient::createTests(), HcalLaserClient::createTests(), HcalBeamClient::createTests(), HcalTrigPrimClient::createTests(), HcalPedestalClient::createTests(), HcalLEDClient::createTests(), HcalDeadCellClient::createTests(), HcalHotCellClient::createTests(), HcalDigiClient::createTests(), HcalDataFormatClient::createTests(), ct_client_, dataformat_client_, dead_client_, debug_, digi_client_, lat::endl(), hot_client_, laser_client_, led_client_, pedestal_client_, rechit_client_, and tp_client_.

Referenced by analyze(), and report().

00612                                        {
00613   
00614   if( debug_>0 ) cout << "HcalMonitorClient: creating all tests" << endl;
00615 
00616   if( dataformat_client_ ) dataformat_client_->createTests(); 
00617   if( digi_client_ )       digi_client_->createTests(); 
00618   if( rechit_client_ )     rechit_client_->createTests(); 
00619   if( pedestal_client_ )   pedestal_client_->createTests(); 
00620   if( led_client_ )        led_client_->createTests(); 
00621   if( laser_client_ )      laser_client_->createTests(); 
00622   if( hot_client_ )        hot_client_->createTests(); 
00623   if( dead_client_ )       dead_client_->createTests(); 
00624   if( tp_client_ )         tp_client_->createTests(); 
00625   if( ct_client_ )         ct_client_->createTests(); 
00626   if( beam_client_ )       beam_client_->createTests();
00627   return;
00628 }

void HcalMonitorClient::dumpHistograms ( int runNum,
vector< TH1F * > &  hist1d,
vector< TH2F * > &  hist2d 
)

Definition at line 965 of file HcalMonitorClient.cc.

00965                                                                                               {
00966   
00967   hist1d.clear(); 
00968   hist2d.clear(); 
00969 
00970   /*
00971   if(hot_client_)        hot_client_->dumpHistograms(names,meanX,meanY,rmsX,rmsY);
00972   if(dead_client_)       dead_client_->dumpHistograms(names,meanX,meanY,rmsX,rmsY);
00973   if(dataformat_client)  dataformat_client_->dumpHistograms(names,meanX,meanY,rmsX,rmsY);
00974   if(rechit_client_)     rechit_client_->dumpHistograms(names,meanX,meanY,rmsX,rmsY);
00975   if(digi_client_)       digi_client_->dumpHistograms(names,meanX,meanY,rmsX,rmsY);
00976   if(pedestal_client_)   pedestal_client_->dumpHistograms(names,meanX,meanY,rmsX,rmsY);
00977   if(led_client_)        led_client_->dumpHistograms(names,meanX,meanY,rmsX,rmsY);
00978   if(laser_client_)      laser_client_->dumpHistograms(names,meanX,meanY,rmsX,rmsY);
00979   if(beam_client_)       beam_client_->dumpHistograms(names,meanX,meanY,rmsX,rmsY);
00980   */
00981  return;
00982 }

void HcalMonitorClient::endJob ( void   )  [virtual]

EndJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 307 of file HcalMonitorClient.cc.

References beam_client_, GenMuonPlsPt100GeV_cfg::cout, ct_client_, dataformat_client_, dead_client_, debug_, digi_client_, HcalPedestalClient::endJob(), HcalBeamClient::endJob(), HcalDataFormatClient::endJob(), HcalDigiClient::endJob(), HcalLEDClient::endJob(), HcalDeadCellClient::endJob(), HcalSummaryClient::endJob(), HcalTrigPrimClient::endJob(), HcalRecHitClient::endJob(), HcalLaserClient::endJob(), HcalHotCellClient::endJob(), HcalCaloTowerClient::endJob(), lat::endl(), hot_client_, ievt_, laser_client_, led_client_, pedestal_client_, rechit_client_, summary_client_, and tp_client_.

Referenced by endRun().

00307                                    {
00308 
00309   if( debug_>0 ) cout << "HcalMonitorClient: endJob, ievt = " << ievt_ << endl;
00310 
00311   if (summary_client_)         summary_client_->endJob();
00312   if( dataformat_client_ )     dataformat_client_->endJob();
00313   if( digi_client_ )           digi_client_->endJob();
00314   if( rechit_client_ )         rechit_client_->endJob();
00315   if( hot_client_ )            hot_client_->endJob();
00316   if( dead_client_ )           dead_client_->endJob();
00317   if( pedestal_client_ )       pedestal_client_->endJob();
00318   if( led_client_ )            led_client_->endJob();
00319   if( laser_client_ )          laser_client_->endJob();
00320   if( tp_client_ )             tp_client_->endJob();
00321   if( ct_client_ )             ct_client_->endJob();
00322   if( beam_client_ )           beam_client_->endJob();
00323 
00324   /*
00327   time_t rawtime;
00328   time(&rawtime);
00329   tm* ptm = gmtime(&rawtime);
00330   char ntime[256];
00331   sprintf(ntime,"%4d-%02d-%02d %02d:%02d:%02d.0",  
00332           ptm->tm_year+1900, 
00333           ptm->tm_mon,  ptm->tm_mday,
00334           ptm->tm_hour, ptm->tm_min, ptm->tm_sec);
00335   
00336   const char* version = "V2test";
00337   const char* tag = "test3";
00338   const char* comment = "Test DQM Input";
00339   const char* detector = "HCAL";
00340   int iovStart = irun_;
00341   int iovEnd = irun_;
00342 
00343   try{
00344     XMLPlatformUtils::Initialize();
00345     DOMDocument* doc = dqm_db_->createDocument();
00346     //dqm_db_->createHeader(doc, irun_, getRunStartTime());
00347     dqm_db_->createHeader(doc,irun_,ntime);
00348     for(int i=0; i<4; i++){
00349       HcalSubdetector subdet = HcalBarrel;
00350       if(i==1) subdet =  HcalEndcap;
00351       else if(i==2) subdet = HcalForward;
00352       else if(i==3) subdet = HcalOuter;
00353 
00354       for(int ieta=-42; ieta<=42; ieta++){
00355         if(ieta==0) continue;
00356         for(int iphi=1; iphi<=73; iphi++){
00357           for(int depth=1; depth<=4; depth++){      
00358             if(!isValidGeom(i, ieta, iphi,depth)) continue;
00359 
00360             HcalDetId id(subdet,ieta,iphi,depth);
00361             HcalDQMChannelQuality::Item item;
00362             item.mId = id.rawId();
00363             item.mAlgo = 0;
00364             item.mMasked = 0;
00365             item.mQuality = 2;
00366             item.mComment = "First DQM Channel Quality test";
00367             dqm_db_->createDataset(doc,item,ntime,version);
00368           }
00369         }
00370       }
00371     }
00372     dqm_db_->createFooter(doc,iovStart, iovEnd,tag,detector,comment);
00373     dqm_db_->writeDocument(doc,"myTestXML.xml");
00374     doc->release();
00375   }
00376   catch (...){
00377     std::cerr << "Exception" << std::endl;
00378   }
00379   XMLPlatformUtils::Terminate();
00380   */
00381 
00382   return;
00383 }

void HcalMonitorClient::endLuminosityBlock ( const edm::LuminosityBlock l,
const edm::EventSetup c 
) [virtual]

EndLumiBlock.

Reimplemented from edm::EDAnalyzer.

Definition at line 434 of file HcalMonitorClient.cc.

References actonLS_, analyze(), GenMuonPlsPt100GeV_cfg::cout, debug_, lat::endl(), and prescale().

00434                                                                                         {
00435   // then do your thing
00436   if( debug_>0 ) cout << "HcalMonitorClient: endLuminosityBlock" << endl;
00437   if(actonLS_ && !prescale()){
00438     // do scheduled tasks...
00439     analyze();
00440   }
00441 
00442   return;
00443 }

void HcalMonitorClient::endRun ( const edm::Run r,
const edm::EventSetup c 
) [virtual]

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 386 of file HcalMonitorClient.cc.

References beam_client_, GenMuonPlsPt100GeV_cfg::cout, ct_client_, dataformat_client_, dead_client_, debug_, digi_client_, enableExit_, endJob(), lat::endl(), HcalCaloTowerClient::endRun(), HcalDeadCellClient::endRun(), HcalTrigPrimClient::endRun(), HcalDataFormatClient::endRun(), HcalBeamClient::endRun(), HcalDigiClient::endRun(), HcalLEDClient::endRun(), HcalPedestalClient::endRun(), HcalLaserClient::endRun(), HcalHotCellClient::endRun(), HcalRecHitClient::endRun(), HcalSummaryClient::endRun(), Exception, hot_client_, edm::Run::id(), ievt_, inputFile_, irun_, laser_client_, led_client_, pedestal_client_, rechit_client_, report(), edm::RunID::run(), summary_client_, and tp_client_.

00386                                                                 {
00387 
00388   if (debug_>0)
00389     cout << endl<<"<HcalMonitorClient> Standard endRun() for run " << r.id().run() << endl<<endl;
00390 
00391 
00392   if( debug_ >0) cout <<"HcalMonitorClient: processed events: "<<ievt_<<endl;
00393 
00394   if (debug_>0) cout <<"==>Creating report after run end condition"<<endl;
00395   if(irun_>1){
00396     if(inputFile_.size()!=0) report(true);
00397     else report(false);
00398   }
00399 
00400   if( summary_client_)      summary_client_->endRun();
00401   if( hot_client_ )         hot_client_->endRun();
00402   if( dead_client_ )        dead_client_->endRun(); 
00403   if( dataformat_client_ )  dataformat_client_->endRun();
00404   if( digi_client_ )        digi_client_->endRun();
00405   if( rechit_client_ )      rechit_client_->endRun();
00406   if( pedestal_client_ )    pedestal_client_->endRun();
00407   if( led_client_ )         led_client_->endRun();
00408   if( laser_client_ )       laser_client_->endRun();
00409   if( tp_client_ )          tp_client_->endRun();
00410   if( ct_client_ )          ct_client_->endRun();
00411   if( beam_client_ )        beam_client_->endRun();
00412 
00413   // this is an effective way to avoid ROOT memory leaks ...
00414   if( enableExit_ ) {
00415     if (debug_>0) cout << endl << ">>> exit after End-Of-Run <<<" << endl <<endl;
00416         
00417     endJob();
00418     throw cms::Exception("End of Job")
00419       << "HcalMonitorClient: Done processing...\n";
00420   }
00421 }

void HcalMonitorClient::errorSummary (  ) 

Generate error summary.

Collect test summary information

Definition at line 659 of file HcalMonitorClient.cc.

References beam_client_, GenMuonPlsPt100GeV_cfg::cout, ct_client_, dataformat_client_, dbe_, dead_client_, debug_, digi_client_, lat::endl(), MonitorElement::Fill(), DQMStore::get(), HcalBaseClient::getTestResults(), hot_client_, laser_client_, led_client_, me, pedestal_client_, rechit_client_, rootFolder_, and tp_client_.

Referenced by analyze(), and report().

00659                                     {
00660   
00662   int nTests=0;
00663   map<string, vector<QReport*> > errE, errW, errO;
00664   if( hot_client_ )        hot_client_->getTestResults(nTests,errE,errW,errO);
00665   if( dead_client_ )       dead_client_->getTestResults(nTests,errE,errW,errO);
00666   if( led_client_ )        led_client_->getTestResults(nTests,errE,errW,errO);
00667   if( laser_client_ )      laser_client_->getTestResults(nTests,errE,errW,errO);
00668   if( tp_client_ )         tp_client_->getTestResults(nTests,errE,errW,errO);
00669   if( pedestal_client_ )   pedestal_client_->getTestResults(nTests,errE,errW,errO);
00670   if( digi_client_ )       digi_client_->getTestResults(nTests,errE,errW,errO);
00671   if( rechit_client_ )     rechit_client_->getTestResults(nTests,errE,errW,errO);
00672   if( dataformat_client_ ) dataformat_client_->getTestResults(nTests,errE,errW,errO);
00673   if( ct_client_ )         ct_client_->getTestResults(nTests,errE,errW,errO);
00674   if( beam_client_ )       beam_client_->getTestResults(nTests,errE,errW,errO);
00675   //For now, report the fraction of good tests....
00676   float errorSummary = 1.0;
00677   if(nTests>0) errorSummary = 1.0 - (float(errE.size())+float(errW.size()))/float(nTests);
00678   
00679   if (debug_>0) cout << "Hcal DQM Error Summary ("<< errorSummary <<"): "<< nTests << " tests, "<<errE.size() << " errors, " <<errW.size() << " warnings, "<< errO.size() << " others" << endl;
00680   
00681   char meTitle[256];
00682   sprintf(meTitle,"%sEventInfo/errorSummary",rootFolder_.c_str() );
00683   MonitorElement* me = dbe_->get(meTitle);
00684   if(me) me->Fill(errorSummary);
00685   
00686   return;
00687 }

void HcalMonitorClient::htmlOutput ( void   ) 

HtmlOutput.

Definition at line 690 of file HcalMonitorClient.cc.

References baseHtmlDir_, beam_client_, GenMuonPlsPt100GeV_cfg::cout, ct_client_, dataformat_client_, dead_client_, debug_, digi_client_, lat::endl(), HcalBaseClient::hasErrors(), HcalBaseClient::hasOther(), HcalBaseClient::hasWarnings(), hot_client_, HcalHotCellClient::htmlOutput(), HcalPedestalClient::htmlOutput(), HcalDeadCellClient::htmlOutput(), HcalBeamClient::htmlOutput(), HcalDataFormatClient::htmlOutput(), HcalCaloTowerClient::htmlOutput(), HcalRecHitClient::htmlOutput(), HcalLEDClient::htmlOutput(), HcalTrigPrimClient::htmlOutput(), HcalLaserClient::htmlOutput(), HcalSummaryClient::htmlOutput(), HcalDigiClient::htmlOutput(), ievt_, irun_, laser_client_, led_client_, maxlumisec_, minlumisec_, mytime_, pedestal_client_, rechit_client_, summary_client_, tmp, and tp_client_.

Referenced by report().

00690                                       {
00691 
00692   if (debug_>0) cout << "Preparing HcalMonitorClient html output ..." << endl;
00693 
00694   char tmp[10];
00695   if(irun_!=-1) sprintf(tmp, "DQM_Hcal_R%09d", irun_);
00696   else sprintf(tmp, "DQM_Hcal_R%09d", 0);
00697   string htmlDir = baseHtmlDir_ + "/" + tmp + "/";
00698   system(("/bin/mkdir -p " + htmlDir).c_str());
00699 
00700   ofstream htmlFile;
00701   htmlFile.open((htmlDir + "index.html").c_str());
00702 
00703   // html page header
00704   htmlFile << "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">  " << endl;
00705   htmlFile << "<html>  " << endl;
00706   htmlFile << "<head>  " << endl;
00707   htmlFile << "  <meta content=\"text/html; charset=ISO-8859-1\"  " << endl;
00708   htmlFile << " https-equiv=\"content-type\">  " << endl;
00709   htmlFile << "  <title>Hcal Data Quality Monitor</title> " << endl;
00710   htmlFile << "</head>  " << endl;
00711   htmlFile << "<body>  " << endl;
00712   htmlFile << "<br>  " << endl;
00713  htmlFile << "<center><h1>Hcal Data Quality Monitor</h1></center>" << endl;
00714   htmlFile << "<h2>Run Number:&nbsp;&nbsp;&nbsp;" << endl;
00715   htmlFile << "<span style=\"color: rgb(0, 0, 153);\">" << irun_ <<"</span></h2> " << endl;
00716   htmlFile << "<h2>Events processed:&nbsp;&nbsp;&nbsp;" << endl;
00717   htmlFile << "<span style=\"color: rgb(0, 0, 153);\">" << ievt_ <<"</span></h2> " << endl;
00718   htmlFile << "<hr>" << endl;
00719   htmlFile << "<ul>" << endl;
00720 
00721   string htmlName;
00722   if( dataformat_client_ ) {
00723     htmlName = "HcalDataFormatClient.html";
00724     dataformat_client_->htmlOutput(irun_, htmlDir, htmlName);
00725     htmlFile << "<table border=0 WIDTH=\"50%\"><tr>" << endl;
00726     htmlFile << "<td WIDTH=\"35%\"><a href=\"" << htmlName << "\">Data Format Monitor</a></td>" << endl;
00727     if(dataformat_client_->hasErrors()) htmlFile << "<td bgcolor=red align=center>This monitor task has errors.</td>" << endl;
00728     else if(dataformat_client_->hasWarnings()) htmlFile << "<td bgcolor=yellow align=center>This monitor task has warnings.</td>" << endl;
00729     else if(dataformat_client_->hasOther()) htmlFile << "<td bgcolor=aqua align=center>This monitor task has messages.</td>" << endl;
00730     else htmlFile << "<td bgcolor=lime align=center>This monitor task has no problems</td>" << endl;
00731     htmlFile << "</tr></table>" << endl;
00732   }
00733   if( digi_client_ ) {
00734     htmlName = "HcalDigiClient.html";
00735     digi_client_->htmlOutput(irun_, htmlDir, htmlName);
00736     htmlFile << "<table border=0 WIDTH=\"50%\"><tr>" << endl;
00737     htmlFile << "<td WIDTH=\"35%\"><a href=\"" << htmlName << "\">Digi Monitor</a></td>" << endl;
00738     if(digi_client_->hasErrors()) htmlFile << "<td bgcolor=red align=center>This monitor task has errors.</td>" << endl;
00739     else if(digi_client_->hasWarnings()) htmlFile << "<td bgcolor=yellow align=center>This monitor task has warnings.</td>" << endl;
00740     else if(digi_client_->hasOther()) htmlFile << "<td bgcolor=aqua align=center>This monitor task has messages.</td>" << endl;
00741     else htmlFile << "<td bgcolor=lime align=center>This monitor task has no problems</td>" << endl;
00742     htmlFile << "</tr></table>" << endl;
00743   }
00744   if( tp_client_ ) {
00745     htmlName = "HcalTrigPrimClient.html";
00746     tp_client_->htmlOutput(irun_, htmlDir, htmlName);
00747     htmlFile << "<table border=0 WIDTH=\"50%\"><tr>" << endl;
00748     htmlFile << "<td WIDTH=\"35%\"><a href=\"" << htmlName << "\">TrigPrim Monitor</a></td>" << endl;
00749     if(tp_client_->hasErrors()) htmlFile << "<td bgcolor=red align=center>This monitor task has errors.</td>" << endl;
00750     else if(tp_client_->hasWarnings()) htmlFile << "<td bgcolor=yellow align=center>This monitor task has warnings.</td>" << endl;
00751     else if(tp_client_->hasOther()) htmlFile << "<td bgcolor=aqua align=center>This monitor task has messages.</td>" << endl;
00752     else htmlFile << "<td bgcolor=lime align=center>This monitor task has no problems</td>" << endl;
00753     htmlFile << "</tr></table>" << endl;
00754   }
00755   if( rechit_client_ ) {
00756     htmlName = "HcalRecHitClient.html";
00757     rechit_client_->htmlOutput(irun_, htmlDir, htmlName);
00758     htmlFile << "<table border=0 WIDTH=\"50%\"><tr>" << endl;
00759     htmlFile << "<td WIDTH=\"35%\"><a href=\"" << htmlName << "\">RecHit Monitor</a></td>" << endl;
00760     if(rechit_client_->hasErrors()) htmlFile << "<td bgcolor=red align=center>This monitor task has errors.</td>" << endl;
00761     else if(rechit_client_->hasWarnings()) htmlFile << "<td bgcolor=yellow align=center>This monitor task has warnings.</td>" << endl;
00762     else if(rechit_client_->hasOther()) htmlFile << "<td bgcolor=aqua align=center>This monitor task has messages.</td>" << endl;
00763     else htmlFile << "<td bgcolor=lime align=center>This monitor task has no problems</td>" << endl;
00764     htmlFile << "</tr></table>" << endl;
00765   }
00766   if( ct_client_ ) {
00767     htmlName = "HcalCaloTowerClient.html";
00768     ct_client_->htmlOutput(irun_, htmlDir, htmlName);
00769     htmlFile << "<table border=0 WIDTH=\"50%\"><tr>" << endl;
00770     htmlFile << "<td WIDTH=\"35%\"><a href=\"" << htmlName << "\">CaloTower Monitor</a></td>" << endl;
00771     if(ct_client_->hasErrors()) htmlFile << "<td bgcolor=red align=center>This monitor task has errors.</td>" << endl;
00772     else if(ct_client_->hasWarnings()) htmlFile << "<td bgcolor=yellow align=center>This monitor task has warnings.</td>" << endl;
00773     else if(ct_client_->hasOther()) htmlFile << "<td bgcolor=aqua align=center>This monitor task has messages.</td>" << endl;
00774     else htmlFile << "<td bgcolor=lime align=center>This monitor task has no problems</td>" << endl;
00775     htmlFile << "</tr></table>" << endl;
00776   }
00777   if( hot_client_ ) {
00778     htmlName = "HcalHotCellClient.html";
00779     hot_client_->htmlOutput(irun_, htmlDir, htmlName);
00780     htmlFile << "<table border=0 WIDTH=\"50%\"><tr>" << endl;
00781     htmlFile << "<td WIDTH=\"35%\"><a href=\"" << htmlName << "\">Hot Cell Monitor</a></td>" << endl;
00782     if(hot_client_->hasErrors()) htmlFile << "<td bgcolor=red align=center>This monitor task has errors.</td>" << endl;
00783     else if(hot_client_->hasWarnings()) htmlFile << "<td bgcolor=yellow align=center>This monitor task has warnings.</td>" << endl;
00784     else if(hot_client_->hasOther()) htmlFile << "<td bgcolor=aqua align=center>This monitor task has messages.</td>" << endl;
00785     else htmlFile << "<td bgcolor=lime align=center>This monitor task has no problems</td>" << endl;
00786     htmlFile << "</tr></table>" << endl;
00787   }
00788 
00789   if( dead_client_) {
00790     htmlName = "HcalDeadCellClient.html";
00791     dead_client_->htmlOutput(irun_, htmlDir, htmlName);
00792     htmlFile << "<table border=0 WIDTH=\"50%\"><tr>" << endl;
00793     htmlFile << "<td WIDTH=\"35%\"><a href=\"" << htmlName << "\">Dead Cell Monitor</a></td>" << endl;
00794     if(dead_client_->hasErrors()) htmlFile << "<td bgcolor=red align=center>This monitor task has errors.</td>" << endl;
00795     else if(dead_client_->hasWarnings()) htmlFile << "<td bgcolor=yellow align=center>This monitor task has warnings.</td>" << endl;
00796     else if(dead_client_->hasOther()) htmlFile << "<td bgcolor=aqua align=center>This monitor task has messages.</td>" << endl;
00797     else htmlFile << "<td bgcolor=lime align=center>This monitor task has no problems</td>" << endl;
00798     htmlFile << "</tr></table>" << endl;
00799   }
00800   if( pedestal_client_) {
00801     htmlName = "HcalPedestalClient.html";
00802     pedestal_client_->htmlOutput(irun_, htmlDir, htmlName);
00803     htmlFile << "<table border=0 WIDTH=\"50%\"><tr>" << endl;
00804     htmlFile << "<td WIDTH=\"35%\"><a href=\"" << htmlName << "\">Pedestal Monitor</a></td>" << endl;
00805     
00806     if(pedestal_client_->hasErrors()) htmlFile << "<td bgcolor=red align=center>This monitor task has errors.</td>" << endl;
00807     else if(pedestal_client_->hasWarnings()) htmlFile << "<td bgcolor=yellow align=center>This monitor task has warnings.</td>" << endl;
00808     else if(pedestal_client_->hasOther()) htmlFile << "<td bgcolor=aqua align=center>This monitor task has messages.</td>" << endl;
00809     else htmlFile << "<td bgcolor=lime align=center>This monitor task has no problems</td>" << endl;
00810     
00811     htmlFile << "</tr></table>" << endl;
00812   }
00813 
00814   if( led_client_) {
00815     htmlName = "HcalLEDClient.html";
00816     led_client_->htmlOutput(irun_, htmlDir, htmlName);
00817     htmlFile << "<table border=0 WIDTH=\"50%\"><tr>" << endl;
00818     htmlFile << "<td WIDTH=\"35%\"><a href=\"" << htmlName << "\">LED Monitor</a></td>" << endl;
00819     
00820     if(led_client_->hasErrors()) htmlFile << "<td bgcolor=red align=center>This monitor task has errors.</td>" << endl;
00821     else if(led_client_->hasWarnings()) htmlFile << "<td bgcolor=yellow align=center>This monitor task has warnings.</td>" << endl;
00822     else if(led_client_->hasOther()) htmlFile << "<td bgcolor=aqua align=center>This monitor task has messages.</td>" << endl;
00823     else htmlFile << "<td bgcolor=lime align=center>This monitor task has no problems</td>" << endl;
00824     
00825     htmlFile << "</tr></table>" << endl;
00826   }
00827   
00828   if( laser_client_) {
00829     htmlName = "HcalLaserClient.html";
00830     laser_client_->htmlOutput(irun_, htmlDir, htmlName);
00831     htmlFile << "<table border=0 WIDTH=\"50%\"><tr>" << endl;
00832     htmlFile << "<td WIDTH=\"35%\"><a href=\"" << htmlName << "\">Laser Monitor</a></td>" << endl;
00833     
00834     if(laser_client_->hasErrors()) htmlFile << "<td bgcolor=red align=center>This monitor task has errors.</td>" << endl;
00835     else if(laser_client_->hasWarnings()) htmlFile << "<td bgcolor=yellow align=center>This monitor task has warnings.</td>" << endl;
00836     else if(laser_client_->hasOther()) htmlFile << "<td bgcolor=aqua align=center>This monitor task has messages.</td>" << endl;
00837     else htmlFile << "<td bgcolor=lime align=center>This monitor task has no problems</td>" << endl;
00838     
00839     htmlFile << "</tr></table>" << endl;
00840   }
00841 
00842   if( beam_client_) {
00843     htmlName = "HcalBeamClient.html";
00844     beam_client_->htmlOutput(irun_, htmlDir, htmlName);
00845     htmlFile << "<table border=0 WIDTH=\"50%\"><tr>" << endl;
00846     htmlFile << "<td WIDTH=\"35%\"><a href=\"" << htmlName << "\">Beam Monitor</a></td>" << endl;
00847     
00848     if(beam_client_->hasErrors()) htmlFile << "<td bgcolor=red align=center>This monitor task has errors.</td>" << endl;
00849     else if(beam_client_->hasWarnings()) htmlFile << "<td bgcolor=yellow align=center>This monitor task has warnings.</td>" << endl;
00850     else if(beam_client_->hasOther()) htmlFile << "<td bgcolor=aqua align=center>This monitor task has messages.</td>" << endl;
00851     else htmlFile << "<td bgcolor=lime align=center>This monitor task has no problems</td>" << endl;
00852     
00853     htmlFile << "</tr></table>" << endl;
00854   }
00855   if( summary_client_) {
00856     //summary_client_->analyze();  // Do analyze just before making html (which relies on analyze results) -- no longer necessary with new code?
00857     htmlName = "HcalSummaryCellClient.html";
00858     // summary client html output function called separately within HcalSummaryClient, after analyze function
00859     summary_client_->htmlOutput(irun_, mytime_, minlumisec_, maxlumisec_, htmlDir, htmlName);
00860     htmlFile << "<table border=0 WIDTH=\"50%\"><tr>" << endl;
00861     htmlFile << "<td WIDTH=\"35%\"><a href=\"" << htmlName << "\">Summary Monitor</a></td>" << endl;
00862     //if(summary_client_->hasErrors()) htmlFile << "<td bgcolor=red align=center>This monitor task has errors.</td>" << endl;
00863     //else if(summary_client_->hasWarnings()) htmlFile << "<td bgcolor=yellow align=center>This monitor task has warnings.</td>" << endl;
00864     //else if(summary_client_->hasOther()) htmlFile << "<td bgcolor=aqua align=center>This monitor task has messages.</td>" << endl;
00865     //else
00866       htmlFile << "<td bgcolor=lime align=center>This monitor task has no problems</td>" << endl;
00867     htmlFile << "</tr></table>" << endl;
00868   }
00869 
00870   htmlFile << "</ul>" << endl;
00871 
00872 
00873   // html page footer
00874   htmlFile << "</body> " << endl;
00875   htmlFile << "</html> " << endl;
00876 
00877   htmlFile.close();
00878   if (debug_>0) cout << "HcalMonitorClient html output done..." << endl;
00879   
00880   return;
00881 }

void HcalMonitorClient::initialize ( const ParameterSet ps  ) 

get time in milliseconds, convert to minutes

Definition at line 38 of file HcalMonitorClient.cc.

References actonLS_, baseHtmlDir_, beam_client_, GenMuonPlsPt100GeV_cfg::cout, ct_client_, dataformat_client_, dbe_, dead_client_, debug_, digi_client_, dqm_db_, enableExit_, enableMonitorDaemon_, lat::endl(), DQMOldReceiver::getBEInterface(), edm::ParameterSet::getUntrackedParameter(), hot_client_, ievent_, ilumisec_, HcalDigiClient::init(), HcalDataFormatClient::init(), HcalHotCellClient::init(), HcalCaloTowerClient::init(), HcalPedestalClient::init(), HcalSummaryClient::init(), HcalRecHitClient::init(), HcalTrigPrimClient::init(), HcalLaserClient::init(), HcalDeadCellClient::init(), HcalLEDClient::init(), HcalBeamClient::init(), inputFile_, irun_, itime_, laser_client_, lastResetTime_, led_client_, maxlumisec_, minlumisec_, mui_, NULL, DQMStore::open(), pedestal_client_, prescaleEvt_, prescaleLS_, prescaleTime_, prescaleUpdate_, psTime_, rechit_client_, resetEvents_, resetLS_, resetTime_, resetUpdate_, rootFolder_, runningStandalone_, DQMStore::showDirStructure(), showTiming_, summary_client_, and tp_client_.

Referenced by HcalMonitorClient().

00038                                                         {
00039 
00040   irun_=0; ilumisec_=0; ievent_=0; itime_=0;
00041 
00042   maxlumisec_=0; minlumisec_=0;
00043 
00044   actonLS_=false;
00045 
00046   summary_client_ = 0;
00047   dataformat_client_ = 0; digi_client_ = 0;
00048   rechit_client_ = 0; pedestal_client_ = 0;
00049   led_client_ = 0; laser_client_ = 0; hot_client_ = 0; dead_client_=0;
00050   tp_client_=0;
00051   ct_client_=0;
00052   beam_client_=0;
00053   lastResetTime_=0;
00054 
00055   debug_ = ps.getUntrackedParameter<int>("debug", 0);
00056   if (debug_>0)
00057     cout << endl<<" *** Hcal Monitor Client ***" << endl<<endl;
00058 
00059   if(debug_>1) cout << "HcalMonitorClient: constructor...." << endl;
00060 
00061   // timing switch 
00062   showTiming_ = ps.getUntrackedParameter<bool>("showTiming",false);  
00063 
00064   // MonitorDaemon switch
00065   enableMonitorDaemon_ = ps.getUntrackedParameter<bool>("enableMonitorDaemon", true);
00066   if (debug_>0)
00067     {
00068       if ( enableMonitorDaemon_ ) cout << "-->enableMonitorDaemon switch is ON" << endl;
00069       else cout << "-->enableMonitorDaemon switch is OFF" << endl;
00070     }
00071 
00072   mui_ = new DQMOldReceiver();
00073   dbe_ = mui_->getBEInterface();
00074 
00075   // DQM ROOT input
00076   inputFile_ = ps.getUntrackedParameter<string>("inputFile", "");
00077   if(inputFile_.size()!=0 && debug_>0) cout << "-->reading DQM input from " << inputFile_ << endl;
00078   
00079   if( ! enableMonitorDaemon_ ) {  
00080     if( inputFile_.size() != 0 && dbe_!=NULL){
00081       dbe_->open(inputFile_);
00082       dbe_->showDirStructure();     
00083     }
00084   }
00085 
00086   //histogram reset freqency, update frequency, timeout
00087   resetUpdate_ = ps.getUntrackedParameter<int>("resetFreqUpdates",-1);  //number of collector updates
00088   if(resetUpdate_!=-1 && debug_>0) cout << "-->Will reset histograms every " << resetUpdate_ <<" collector updates." << endl;
00089   resetEvents_ = ps.getUntrackedParameter<int>("resetFreqEvents",-1);   //number of real events
00090   if(resetEvents_!=-1 && debug_>0) cout << "-->Will reset histograms every " << resetEvents_ <<" events." << endl;
00091   resetTime_ = ps.getUntrackedParameter<int>("resetFreqTime",-1);       //number of minutes
00092   if(resetTime_!=-1 && debug_>0) cout << "-->Will reset histograms every " << resetTime_ <<" minutes." << endl;
00093   resetLS_ = ps.getUntrackedParameter<int>("resetFreqLS",-1);       //number of lumisections
00094   if(resetLS_!=-1 && debug_>0) cout << "-->Will reset histograms every " << resetLS_ <<" lumi sections." << endl;
00095 
00096   // base Html output directory
00097   baseHtmlDir_ = ps.getUntrackedParameter<string>("baseHtmlDir", "");
00098   if (debug_>0)
00099     {
00100       if( baseHtmlDir_.size() != 0) 
00101         cout << "-->HTML output will go to baseHtmlDir = '" << baseHtmlDir_ << "'" << endl;
00102       else cout << "-->HTML output is disabled" << endl;
00103     }
00104 
00105   // exit on end job switch
00106   enableExit_ = ps.getUntrackedParameter<bool>("enableExit", true);
00107   if (debug_>1)
00108     {
00109       if( enableExit_ ) cout << "-->enableExit switch is ON" << endl;
00110       else cout << "-->enableExit switch is OFF" << endl;
00111     }
00112   
00113   runningStandalone_ = ps.getUntrackedParameter<bool>("runningStandalone", false);
00114   if (debug_>1)
00115     {
00116       if( runningStandalone_ ) cout << "-->standAlone switch is ON" << endl;
00117       else cout << "-->standAlone switch is OFF" << endl;
00118     }
00119   // global ROOT style
00120   gStyle->Reset("Default");
00121   gStyle->SetCanvasColor(0);
00122   gStyle->SetPadColor(0);
00123   gStyle->SetFillColor(0);
00124   gStyle->SetTitleFillColor(10);
00125   //  gStyle->SetOptStat(0);
00126   gStyle->SetOptStat("ouemr");
00127   gStyle->SetPalette(1);
00128 
00129   // clients' constructors
00130   if( ps.getUntrackedParameter<bool>("SummaryClient", true) )
00131     {
00132       if(debug_>0) 
00133         cout << "===>DQM Summary Client is ON" << endl;
00134       summary_client_   = new HcalSummaryClient();
00135       summary_client_->init(ps, dbe_,"SummaryClient");
00136     }
00137   if( ps.getUntrackedParameter<bool>("DataFormatClient", false) ){
00138     if(debug_>0)   cout << "===>DQM DataFormat Client is ON" << endl;
00139     dataformat_client_   = new HcalDataFormatClient();
00140     dataformat_client_->init(ps, dbe_,"DataFormatClient");
00141   }
00142   if( ps.getUntrackedParameter<bool>("DigiClient", false) ){
00143     if(debug_>0)  
00144       cout << "===>DQM Digi Client is ON" << endl;
00145     digi_client_         = new HcalDigiClient();
00146     digi_client_->init(ps, dbe_,"DigiClient");
00147   }
00148   if( ps.getUntrackedParameter<bool>("RecHitClient", false) ){
00149     if(debug_>0)   cout << "===>DQM RecHit Client is ON" << endl;
00150     rechit_client_       = new HcalRecHitClient();
00151     rechit_client_->init(ps, dbe_,"RecHitClient");
00152 }
00153   if( ps.getUntrackedParameter<bool>("PedestalClient", false) ){
00154     if(debug_>0)   cout << "===>DQM Pedestal Client is ON" << endl;
00155     pedestal_client_     = new HcalPedestalClient();
00156     pedestal_client_->init(ps, dbe_,"PedestalClient"); 
00157   }
00158   if( ps.getUntrackedParameter<bool>("LEDClient", false) ){
00159     if(debug_>0)   cout << "===>DQM LED Client is ON" << endl;
00160     led_client_          = new HcalLEDClient();
00161     led_client_->init(ps, dbe_,"LEDClient"); 
00162   }
00163   if( ps.getUntrackedParameter<bool>("LaserClient", false) ){
00164     if(debug_>0)   cout << "===>DQM Laser Client is ON" << endl;
00165     laser_client_          = new HcalLaserClient();
00166     laser_client_->init(ps, dbe_,"LaserClient"); 
00167   }
00168   if( ps.getUntrackedParameter<bool>("HotCellClient", false) ){
00169     if(debug_>0)   cout << "===>DQM HotCell Client is ON" << endl;
00170     hot_client_          = new HcalHotCellClient();
00171     hot_client_->init(ps, dbe_,"HotCellClient");
00172   }
00173   if( ps.getUntrackedParameter<bool>("DeadCellClient", false) ){
00174     if(debug_>0)   cout << "===>DQM DeadCell Client is ON" << endl;
00175     dead_client_          = new HcalDeadCellClient();
00176     dead_client_->init(ps, dbe_,"DeadCellClient");
00177   }
00178   if( ps.getUntrackedParameter<bool>("TrigPrimClient", false) ){
00179     if(debug_>0)   cout << "===>DQM TrigPrim Client is ON" << endl;
00180     tp_client_          = new HcalTrigPrimClient();
00181     tp_client_->init(ps, dbe_,"TrigPrimClient");
00182   }
00183   if( ps.getUntrackedParameter<bool>("CaloTowerClient", false) ){
00184     if(debug_>0)   cout << "===>DQM CaloTower Client is ON" << endl;
00185     ct_client_          = new HcalCaloTowerClient();
00186     ct_client_->init(ps, dbe_,"CaloTowerClient");
00187   }
00188   if( ps.getUntrackedParameter<bool>("BeamClient", false) ){
00189     if(debug_>0)   cout << "===>DQM Beam Client is ON" << endl;
00190     beam_client_          = new HcalBeamClient();
00191     beam_client_->init(ps, dbe_,"BeamClient");
00192   }
00193   dqm_db_ = new HcalHotCellDbInterface();  // Is this even necessary?
00194 
00195   
00196   // set parameters   
00197   prescaleEvt_ = ps.getUntrackedParameter<int>("diagnosticPrescaleEvt", -1);
00198   if (debug_>0) 
00199     cout << "===>DQM event prescale = " << prescaleEvt_ << " event(s)"<< endl;
00200 
00201   prescaleLS_ = ps.getUntrackedParameter<int>("diagnosticPrescaleLS", -1);
00202   if (debug_>0) cout << "===>DQM lumi section prescale = " << prescaleLS_ << " lumi section(s)"<< endl;
00203   if (prescaleLS_>0) actonLS_=true;
00204 
00205   prescaleUpdate_ = ps.getUntrackedParameter<int>("diagnosticPrescaleUpdate", -1);
00206   if (debug_>0) cout << "===>DQM update prescale = " << prescaleUpdate_ << " update(s)"<< endl;
00207 
00208   prescaleTime_ = ps.getUntrackedParameter<int>("diagnosticPrescaleTime", -1);
00209   if (debug_>0) cout << "===>DQM time prescale = " << prescaleTime_ << " minute(s)"<< endl;
00210   
00211 
00212   // Base folder for the contents of this job
00213   string subsystemname = ps.getUntrackedParameter<string>("subSystemFolder", "Hcal") ;
00214   if (debug_>0) cout << "===>HcalMonitor name = " << subsystemname << endl;
00215   rootFolder_ = subsystemname + "/";
00216 
00217   
00218   gettimeofday(&psTime_.startTV,NULL);
00220   psTime_.startTime = (psTime_.startTV.tv_sec*1000.0+psTime_.startTV.tv_usec/1000.0);
00221   psTime_.startTime /= (60.0*1000.0);
00222   psTime_.elapsedTime=0;
00223   psTime_.updateTime=0;
00224 
00225   return;
00226 }

void HcalMonitorClient::loadHistograms ( TFile *  infile,
const char *  fname 
)

Definition at line 911 of file HcalMonitorClient.cc.

References lat::endl(), and Exception.

00911                                                                       {
00912   
00913   if(!infile){
00914     throw cms::Exception("Incomplete configuration") << 
00915       "HcalMonitorClient: this histogram file is bad! " <<endl;
00916     return;
00917   }
00918   /*
00919   TNamed* tnd = (TNamed*)infile->Get("DQMData/HcalMonitor/RUN NUMBER");
00920   string s =tnd->GetTitle();
00921   irun_ = -1;
00922   sscanf((s.substr(2,s.length()-2)).c_str(), "%d", &irun_);
00923   
00924   tnd = (TNamed*)infile->Get("DQMData/HcalMonitor/EVT NUMBER");
00925   s =tnd->GetTitle();
00926   mon_evt_ = -1;
00927   sscanf((s.substr(2,s.length()-2)).c_str(), "%d", &mon_evt_);
00928 
00929   tnd = (TNamed*)infile->Get("DQMData/HcalMonitor/EVT MASK");
00930   s =tnd->GetTitle();
00931   int mask = -1;
00932   sscanf((s.substr(2,s.length()-2)).c_str(), "%d", &mask);
00933   
00934   if(mask&HCAL_BEAM_TRIGGER) runtype_ = "BEAM RUN";
00935   if(mask&DO_HCAL_PED_CALIBMON){ runtype_ = "PEDESTAL RUN";
00936     if(mask&HCAL_BEAM_TRIGGER) runtype_ = "BEAM AND PEDESTALS";
00937   }
00938   if(mask&DO_HCAL_LED_CALIBMON) runtype_ = "LED RUN";
00939   if(mask&DO_HCAL_LASER_CALIBMON) runtype_ = "LASER RUN";
00940   
00941   status_="unknown";
00942   tnd = (TNamed*)infile->Get("DQMData/HcalMonitor/EVT MASK");
00943   s = tnd->GetTitle();
00944   status_ = "unknown";
00945   if( s.substr(2,1) == "0" ) status_ = "begin-of-run";
00946   if( s.substr(2,1) == "1" ) status_ = "running";
00947   if( s.substr(2,1) == "2" ) status_ = "end-of-run";
00948   
00949 
00950   if(hot_client_)          hot_client_->loadHistograms(infile);
00951   if(dead_client_)         dead_client_->loadHistograms(infile);
00952   if(dataformat_client_)   dataformat_client_->loadHistograms(infile);
00953   if(rechit_client_)       rechit_client_->loadHistograms(infile);
00954   if(digi_client_)         digi_client_->loadHistograms(infile);
00955   if(pedestal_client_)     pedestal_client_->loadHistograms(infile);
00956   if(led_client_)          led_client_->loadHistograms(infile);
00957   if(laser_client_)        laser_client_->loadHistograms(infile);
00958   if(beam_client_)         beam_client_->loadHistograms(infile);
00959  */
00960   return;
00961 
00962 }

void HcalMonitorClient::offlineSetup (  ) 

Definition at line 883 of file HcalMonitorClient.cc.

00883                                     {
00884   //  cout << endl;
00885   //  cout << " *** Hcal Generic Monitor Client, for offline operation***" << endl;
00886   //  cout << endl;
00887   /*
00888   dataformat_client_ = 0; digi_client_ = 0;
00889   rechit_client_ = 0; pedestal_client_ = 0;
00890   led_client_ = 0;  hot_client_ = 0; laser_client_ = 0;
00891   dead_client_=0;
00892   beam_client_=0;
00893 
00894   // base Html output directory
00895   baseHtmlDir_ = ".";
00896   
00897   // clients' constructors
00898   hot_client_          = new HcalHotCellClient();
00899   dead_client_         = new HcalDeadCellClient();
00900   dataformat_client_   = new HcalDataFormatClient();
00901   rechit_client_       = new HcalRecHitClient();
00902   digi_client_         = new HcalDigiClient();
00903   pedestal_client_     = new HcalPedestalClient();
00904   led_client_          = new HcalLEDClient();
00905   laser_client_        = new HcalLaserClient();
00906   beam_client_         = new HcalBeamClient();
00907   */
00908   return;
00909 }

bool HcalMonitorClient::prescale (  ) 

Boolean prescale test for this event.

Return true if this event should be skipped according to the prescale condition... Accommodate a logical "OR" of the possible tests

Definition at line 985 of file HcalMonitorClient.cc.

References GenMuonPlsPt100GeV_cfg::cout, debug_, lat::endl(), ievent_, ievt_, ilumisec_, prescaleEvt_, prescaleLS_, prescaleTime_, prescaleUpdate_, and psTime_.

Referenced by analyze(), beginLuminosityBlock(), and endLuminosityBlock().

00985                                 {
00988   if (debug_>1) cout <<"HcalMonitorClient::prescale"<<endl;
00989   
00990   //First determine if we care...
00991   bool evtPS =    prescaleEvt_>0;
00992   bool lsPS =     prescaleLS_>0;
00993   bool timePS =   prescaleTime_>0;
00994   bool updatePS = prescaleUpdate_>0;
00995 
00996   // If no prescales are set, keep the event
00997   if(!evtPS && !lsPS && !timePS && !updatePS) return false;
00998 
00999   //check each instance
01000   if(lsPS && (ilumisec_%prescaleLS_)!=0) lsPS = false; //LS veto
01001   // BAH!  This doesn't work -- ievent is the raw event number, and doesn't have to be in strict numerical order.  Use ievt instead.
01002   //if(evtPS && (ievent_%prescaleEvt_)!=0) evtPS = false; //evt # veto
01003   if (evtPS && (ievt_%prescaleEvt_)!=0) evtPS = false;
01004   if(timePS){
01005     float time = psTime_.elapsedTime - psTime_.updateTime;
01006     if(time<prescaleTime_){
01007       timePS = false;  //timestamp veto
01008       psTime_.updateTime = psTime_.elapsedTime;
01009     }
01010   }
01011   //  if(prescaleUpdate_>0 && (nupdates_%prescaleUpdate_)==0) updatePS=false; ///need to define what "updates" means
01012   
01013   if (debug_>1) 
01014     cout<<"HcalMonitor::prescale  evt: "<<ievent_<<"/"<<evtPS<<", ls: "<<ilumisec_<<"/"<<lsPS<<", time: "<<(psTime_.elapsedTime - psTime_.updateTime)<<"/"<<timePS<<endl;
01015   /*
01016   printf("HcalMonitorClient::prescale  evt: %d/%d, ls: %d/%d, time: %f/%d\n",
01017          ievent_,evtPS,
01018          ilumisec_,lsPS,
01019          psTime_.elapsedTime - psTime_.updateTime,timePS);
01020   */
01021 
01022   // if any criteria wants to keep the event, do so
01023   if(evtPS || lsPS || timePS) return false; //FIXME updatePS left out for now
01024   return true;
01025 }

void HcalMonitorClient::removeAllME ( void   )  [private]

Definition at line 230 of file HcalMonitorClient.cc.

References DQMStore::cd(), GenMuonPlsPt100GeV_cfg::cout, dbe_, debug_, DQMStore::dirExists(), lat::endl(), NULL, DQMStore::removeContents(), and DQMStore::rmdir().

00230                                    {
00231   if (debug_>0) cout <<"<HcalMonitorClient>removeAllME()"<<endl;
00232   if(dbe_==NULL) return;
00233 
00234   // go to top directory
00235   dbe_->cd();
00236   // remove MEs at top directory
00237   dbe_->removeContents(); 
00238   // remove directory (including subdirectories recursively)
00239   if(dbe_->dirExists("Collector"))
00240     dbe_->rmdir("Collector");
00241   if(dbe_->dirExists("Summary"))
00242     dbe_->rmdir("Summary");
00243   return;
00244 }

void HcalMonitorClient::report ( bool  update  ) 

Create reports.

Definition at line 631 of file HcalMonitorClient.cc.

References baseHtmlDir_, beam_client_, GenMuonPlsPt100GeV_cfg::cout, createTests(), ct_client_, dataformat_client_, dbe_, dead_client_, debug_, digi_client_, lat::endl(), errorSummary(), hot_client_, htmlOutput(), ievt_, laser_client_, led_client_, pedestal_client_, rechit_client_, HcalDigiClient::report(), HcalRecHitClient::report(), HcalLEDClient::report(), HcalHotCellClient::report(), HcalDataFormatClient::report(), HcalCaloTowerClient::report(), HcalTrigPrimClient::report(), HcalBeamClient::report(), HcalLaserClient::report(), HcalDeadCellClient::report(), HcalPedestalClient::report(), DQMStore::runQTests(), and tp_client_.

Referenced by endRun().

00631                                             {
00632   
00633   if( debug_>0 ) 
00634     cout << "HcalMonitorClient: creating report, ievt = " << ievt_ << endl;
00635   
00636   if(doUpdate){
00637     createTests();  
00638     dbe_->runQTests();
00639   }
00640 
00641   if( dataformat_client_ ) dataformat_client_->report();
00642   if( digi_client_ ) digi_client_->report();
00643   if( led_client_ ) led_client_->report();
00644   if( laser_client_ ) laser_client_->report();
00645   if( pedestal_client_ ) pedestal_client_->report();
00646   if( rechit_client_ ) rechit_client_->report();
00647   if( hot_client_ ) hot_client_->report();
00648   if( dead_client_ ) dead_client_->report();
00649   if( tp_client_ ) tp_client_->report();
00650   if( ct_client_ ) ct_client_->report();
00651   if( beam_client_ ) beam_client_->report();
00652   errorSummary();
00653 
00654   //create html output if specified...
00655   if( baseHtmlDir_.size() != 0 && ievt_>0) htmlOutput();
00656   return;
00657 }

void HcalMonitorClient::resetAllME ( void   ) 

reset all monitor elements

do a reset of all monitor elements...

Definition at line 248 of file HcalMonitorClient.cc.

References beam_client_, GenMuonPlsPt100GeV_cfg::cout, ct_client_, dataformat_client_, dead_client_, debug_, digi_client_, lat::endl(), hot_client_, laser_client_, led_client_, pedestal_client_, rechit_client_, HcalDataFormatClient::resetAllME(), HcalTrigPrimClient::resetAllME(), HcalDigiClient::resetAllME(), HcalHotCellClient::resetAllME(), HcalPedestalClient::resetAllME(), HcalDeadCellClient::resetAllME(), HcalLaserClient::resetAllME(), HcalLEDClient::resetAllME(), HcalBeamClient::resetAllME(), HcalRecHitClient::resetAllME(), HcalCaloTowerClient::resetAllME(), and tp_client_.

Referenced by analyze().

00248                                    {
00249   if (debug_>0) cout <<"<HcalMonitorClient> resetAllME()"<<endl;
00250   if( dataformat_client_ ) dataformat_client_->resetAllME();
00251   if( digi_client_ )       digi_client_->resetAllME();
00252   if( rechit_client_ )     rechit_client_->resetAllME();
00253   if( pedestal_client_ )   pedestal_client_->resetAllME();
00254   if( led_client_ )        led_client_->resetAllME();
00255   if( laser_client_ )      laser_client_->resetAllME();
00256   if( hot_client_ )        hot_client_->resetAllME();
00257   if( dead_client_ )       dead_client_->resetAllME();
00258   if( tp_client_ )         tp_client_->resetAllME();
00259   if( ct_client_ )         ct_client_->resetAllME();
00260   if( beam_client_ )       beam_client_->resetAllME();
00261   return;
00262 }


Member Data Documentation

bool HcalMonitorClient::actonLS_ [private]

Definition at line 156 of file HcalMonitorClient.h.

Referenced by beginLuminosityBlock(), endLuminosityBlock(), and initialize().

string HcalMonitorClient::baseHtmlDir_ [private]

Definition at line 171 of file HcalMonitorClient.h.

Referenced by htmlOutput(), initialize(), and report().

HcalBeamClient* HcalMonitorClient::beam_client_ [private]

Definition at line 184 of file HcalMonitorClient.h.

Referenced by analyze(), beginJob(), beginRun(), createTests(), endJob(), endRun(), errorSummary(), htmlOutput(), initialize(), report(), resetAllME(), and ~HcalMonitorClient().

edm::CPUTimer HcalMonitorClient::cpu_timer [private]

Definition at line 132 of file HcalMonitorClient.h.

Referenced by analyze().

HcalCaloTowerClient* HcalMonitorClient::ct_client_ [private]

Definition at line 183 of file HcalMonitorClient.h.

Referenced by analyze(), beginJob(), beginRun(), createTests(), endJob(), endRun(), errorSummary(), htmlOutput(), initialize(), report(), resetAllME(), and ~HcalMonitorClient().

HcalDataFormatClient* HcalMonitorClient::dataformat_client_ [private]

Definition at line 174 of file HcalMonitorClient.h.

Referenced by analyze(), beginJob(), beginRun(), createTests(), endJob(), endRun(), errorSummary(), htmlOutput(), initialize(), report(), resetAllME(), and ~HcalMonitorClient().

DQMStore* HcalMonitorClient::dbe_ [private]

Connection to the DQM backend.

Definition at line 147 of file HcalMonitorClient.h.

Referenced by analyze(), beginJob(), errorSummary(), initialize(), removeAllME(), and report().

HcalDeadCellClient* HcalMonitorClient::dead_client_ [private]

Definition at line 181 of file HcalMonitorClient.h.

Referenced by analyze(), beginJob(), beginRun(), createTests(), endJob(), endRun(), errorSummary(), htmlOutput(), initialize(), report(), resetAllME(), and ~HcalMonitorClient().

int HcalMonitorClient::debug_ [private]

Verbosity switch used for debugging or informational output.

Definition at line 128 of file HcalMonitorClient.h.

Referenced by analyze(), beginJob(), beginLuminosityBlock(), beginRun(), createTests(), endJob(), endLuminosityBlock(), endRun(), errorSummary(), htmlOutput(), initialize(), prescale(), removeAllME(), report(), resetAllME(), and ~HcalMonitorClient().

HcalDigiClient* HcalMonitorClient::digi_client_ [private]

Definition at line 175 of file HcalMonitorClient.h.

Referenced by analyze(), beginJob(), beginRun(), createTests(), endJob(), endRun(), errorSummary(), htmlOutput(), initialize(), report(), resetAllME(), and ~HcalMonitorClient().

HcalHotCellDbInterface* HcalMonitorClient::dqm_db_ [private]

Definition at line 185 of file HcalMonitorClient.h.

Referenced by initialize(), and ~HcalMonitorClient().

double HcalMonitorClient::elapsedTime

Definition at line 142 of file HcalMonitorClient.h.

bool HcalMonitorClient::enableExit_ [private]

Definition at line 167 of file HcalMonitorClient.h.

Referenced by endRun(), and initialize().

bool HcalMonitorClient::enableMonitorDaemon_ [private]

Definition at line 168 of file HcalMonitorClient.h.

Referenced by initialize().

HcalHotCellClient* HcalMonitorClient::hot_client_ [private]

Definition at line 180 of file HcalMonitorClient.h.

Referenced by analyze(), beginJob(), beginRun(), createTests(), endJob(), endRun(), errorSummary(), htmlOutput(), initialize(), report(), resetAllME(), and ~HcalMonitorClient().

int HcalMonitorClient::ievent_ [private]

Definition at line 151 of file HcalMonitorClient.h.

Referenced by analyze(), initialize(), and prescale().

int HcalMonitorClient::ievt_ [private]

Definition at line 159 of file HcalMonitorClient.h.

Referenced by analyze(), beginJob(), endJob(), endRun(), htmlOutput(), prescale(), and report().

int HcalMonitorClient::ilumisec_ [private]

Definition at line 151 of file HcalMonitorClient.h.

Referenced by analyze(), initialize(), and prescale().

string HcalMonitorClient::inputFile_ [private]

Definition at line 170 of file HcalMonitorClient.h.

Referenced by endRun(), and initialize().

int HcalMonitorClient::irun_ [private]

Definition at line 151 of file HcalMonitorClient.h.

Referenced by analyze(), endRun(), htmlOutput(), and initialize().

int HcalMonitorClient::itime_ [private]

Definition at line 151 of file HcalMonitorClient.h.

Referenced by analyze(), and initialize().

HcalLaserClient* HcalMonitorClient::laser_client_ [private]

Definition at line 179 of file HcalMonitorClient.h.

Referenced by analyze(), beginJob(), beginRun(), createTests(), endJob(), endRun(), errorSummary(), htmlOutput(), initialize(), report(), resetAllME(), and ~HcalMonitorClient().

int HcalMonitorClient::lastResetTime_ [private]

Definition at line 163 of file HcalMonitorClient.h.

Referenced by analyze(), and initialize().

HcalLEDClient* HcalMonitorClient::led_client_ [private]

Definition at line 178 of file HcalMonitorClient.h.

Referenced by analyze(), beginJob(), beginRun(), createTests(), endJob(), endRun(), errorSummary(), htmlOutput(), initialize(), report(), resetAllME(), and ~HcalMonitorClient().

int HcalMonitorClient::maxlumisec_ [private]

Definition at line 152 of file HcalMonitorClient.h.

Referenced by analyze(), htmlOutput(), and initialize().

int HcalMonitorClient::minlumisec_ [private]

Definition at line 152 of file HcalMonitorClient.h.

Referenced by analyze(), htmlOutput(), and initialize().

std::string HcalMonitorClient::monitorName_ [private]

units of "updates", TBD

The name of the monitoring process which derives from this class, used to standardize filename and file structure

Definition at line 125 of file HcalMonitorClient.h.

DQMOldReceiver* HcalMonitorClient::mui_ [private]

Definition at line 148 of file HcalMonitorClient.h.

Referenced by analyze(), initialize(), and ~HcalMonitorClient().

time_t HcalMonitorClient::mytime_ [private]

Definition at line 154 of file HcalMonitorClient.h.

Referenced by analyze(), and htmlOutput().

int HcalMonitorClient::nlumisecs_ [private]

counters and flags

Definition at line 136 of file HcalMonitorClient.h.

HcalPedestalClient* HcalMonitorClient::pedestal_client_ [private]

Definition at line 177 of file HcalMonitorClient.h.

Referenced by analyze(), beginJob(), beginRun(), createTests(), endJob(), endRun(), errorSummary(), htmlOutput(), initialize(), report(), resetAllME(), and ~HcalMonitorClient().

int HcalMonitorClient::prescaleEvt_ [private]

Prescale variables for restricting the frequency of analyzer behavior.

The base class does not implement prescales. Set to -1 to be ignored.

Definition at line 118 of file HcalMonitorClient.h.

Referenced by initialize(), and prescale().

int HcalMonitorClient::prescaleLS_ [private]

units of events

Definition at line 119 of file HcalMonitorClient.h.

Referenced by initialize(), and prescale().

int HcalMonitorClient::prescaleTime_ [private]

units of lumi sections

Definition at line 120 of file HcalMonitorClient.h.

Referenced by initialize(), and prescale().

int HcalMonitorClient::prescaleUpdate_ [private]

units of minutes

Definition at line 121 of file HcalMonitorClient.h.

Referenced by initialize(), and prescale().

struct { ... } HcalMonitorClient::psTime_ [private]

Referenced by initialize(), and prescale().

HcalRecHitClient* HcalMonitorClient::rechit_client_ [private]

Definition at line 176 of file HcalMonitorClient.h.

Referenced by analyze(), beginJob(), beginRun(), createTests(), endJob(), endRun(), errorSummary(), htmlOutput(), initialize(), report(), resetAllME(), and ~HcalMonitorClient().

int HcalMonitorClient::resetEvents_ [private]

Definition at line 161 of file HcalMonitorClient.h.

Referenced by analyze(), and initialize().

int HcalMonitorClient::resetLS_ [private]

Definition at line 164 of file HcalMonitorClient.h.

Referenced by analyze(), and initialize().

int HcalMonitorClient::resetTime_ [private]

Definition at line 162 of file HcalMonitorClient.h.

Referenced by analyze(), and initialize().

int HcalMonitorClient::resetUpdate_ [private]

Definition at line 160 of file HcalMonitorClient.h.

Referenced by initialize().

std::string HcalMonitorClient::rootFolder_ [private]

Definition at line 157 of file HcalMonitorClient.h.

Referenced by errorSummary(), and initialize().

bool HcalMonitorClient::runningStandalone_ [private]

Definition at line 166 of file HcalMonitorClient.h.

Referenced by analyze(), and initialize().

bool HcalMonitorClient::saved_ [private]

Definition at line 137 of file HcalMonitorClient.h.

bool HcalMonitorClient::showTiming_ [private]

Definition at line 131 of file HcalMonitorClient.h.

Referenced by analyze(), and initialize().

double HcalMonitorClient::startTime

Definition at line 141 of file HcalMonitorClient.h.

timeval HcalMonitorClient::startTV

Definition at line 140 of file HcalMonitorClient.h.

HcalSummaryClient* HcalMonitorClient::summary_client_ [private]

Definition at line 173 of file HcalMonitorClient.h.

Referenced by analyze(), beginJob(), beginRun(), endJob(), endRun(), htmlOutput(), initialize(), and ~HcalMonitorClient().

HcalTrigPrimClient* HcalMonitorClient::tp_client_ [private]

Definition at line 182 of file HcalMonitorClient.h.

Referenced by analyze(), beginJob(), beginRun(), createTests(), endJob(), endRun(), errorSummary(), htmlOutput(), initialize(), report(), resetAllME(), and ~HcalMonitorClient().

double HcalMonitorClient::updateTime

Definition at line 143 of file HcalMonitorClient.h.

timeval HcalMonitorClient::updateTV

Definition at line 140 of file HcalMonitorClient.h.


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