CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
HcalMonitorClient Class Reference

#include <HcalMonitorClient.h>

Inheritance diagram for HcalMonitorClient:
DQMEDHarvester edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::WatchLuminosityBlocks, edm::one::SharedResources > edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

void analyze (DQMStore::IBooker &ib, DQMStore::IGetter &, int LS=-1)
 Analyze. More...
 
void beginRun (const edm::Run &r, const edm::EventSetup &c)
 BeginRun. More...
 
void cleanup (void)
 Cleanup. More...
 
void dqmEndJob (DQMStore::IBooker &, DQMStore::IGetter &)
 EndJob. More...
 
void dqmEndLuminosityBlock (DQMStore::IBooker &, DQMStore::IGetter &, const edm::LuminosityBlock &l, const edm::EventSetup &c)
 EndLumiBlock. More...
 
void endRun (DQMStore::IBooker &, DQMStore::IGetter &)
 EndRun. More...
 
void endRun (const edm::Run &r, const edm::EventSetup &c)
 
 HcalMonitorClient (const edm::ParameterSet &ps)
 
void PlotPedestalValues (const HcalDbService &cond)
 
void reset (void)
 Reset. More...
 
void setup (void)
 Setup. More...
 
void softReset (bool flag)
 SoftReset. More...
 
void writeChannelStatus ()
 
void writeHtml (DQMStore::IBooker &, DQMStore::IGetter &)
 
virtual ~HcalMonitorClient ()
 
- Public Member Functions inherited from DQMEDHarvester
virtual void analyze (edm::Event const &, edm::EventSetup const &) final
 
virtual void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
 DQMEDHarvester (void)
 
virtual void endJob () final
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
- Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::WatchLuminosityBlocks, edm::one::SharedResources >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

void setupChannelStatusMon (DQMStore::IBooker &)
 
void setupPedestalMon (DQMStore::IBooker &)
 

Private Attributes

EtaPhiHistsADC_PedestalFromDBByDepth
 
EtaPhiHistsADC_WidthFromDBByDepth
 
std::string baseHtmlDir_
 
bool begin_run_
 
EtaPhiHistsChannelStatus
 
const HcalChannelQualitychanquality_
 
std::vector< HcalBaseDQClient * > clients_
 
bool cloneME_
 
time_t current_time_
 
std::string databasedir_
 
int databaseFirstUpdate_
 
int databaseUpdateTime_
 
int debug_
 
bool doChanStatSetup_
 
bool doPedSetup_
 
bool enableCleanup_
 
std::vector< std::string > enabledClients_
 
bool end_run_
 
int evt_
 
EtaPhiHistsfC_PedestalFromDBByDepth
 
EtaPhiHistsfC_WidthFromDBByDepth
 
const HcalTopologyhctopo_
 
int htmlcounter_
 
int htmlFirstUpdate_
 
int htmlUpdateTime_
 
int ievt_
 
std::string inputFile_
 
int jevt_
 
time_t last_time_db_
 
time_t last_time_html_
 
time_t last_time_update_
 
bool mergeRuns_
 
bool Online_
 
std::string prefixME_
 
int prescaleFactor_
 
edm::RunNumber_t run_
 
bool saveByLumiSection_
 
HcalSummaryClientsummaryClient_
 
int updateTime_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 25 of file HcalMonitorClient.h.

Constructor & Destructor Documentation

HcalMonitorClient::HcalMonitorClient ( const edm::ParameterSet ps)

Definition at line 55 of file HcalMonitorClient.cc.

References ADC_PedestalFromDBByDepth, ADC_WidthFromDBByDepth, baseHtmlDir_, begin_run_, ChannelStatus, clients_, cloneME_, gather_cfg::cout, current_time_, databasedir_, databaseFirstUpdate_, databaseUpdateTime_, debug_, doChanStatSetup_, doPedSetup_, enableCleanup_, enabledClients_, end_run_, fC_PedestalFromDBByDepth, fC_WidthFromDBByDepth, spr::find(), edm::ParameterSet::getUntrackedParameter(), htmlFirstUpdate_, htmlUpdateTime_, i, ievt_, inputFile_, edm::invalidRunNumber, jevt_, last_time_db_, last_time_html_, mergeRuns_, NULL, Online_, prefixME_, prescaleFactor_, run_, saveByLumiSection_, AlCaHLTBitMon_QueryRunRegistry::string, summaryClient_, and updateTime_.

56 {
57  debug_ = ps.getUntrackedParameter<int>("debug",0);
58  inputFile_ = ps.getUntrackedParameter<std::string>("inputFile","");
59  mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns", false);
60  cloneME_ = ps.getUntrackedParameter<bool>("cloneME", true);
61  prescaleFactor_ = ps.getUntrackedParameter<int>("prescaleFactor", -1);
62  prefixME_ = ps.getUntrackedParameter<std::string>("subSystemFolder", "Hcal/");
63  if (prefixME_.substr(prefixME_.size()-1,prefixME_.size())!="/")
64  prefixME_.append("/");
65  enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);
66  enabledClients_ = ps.getUntrackedParameter<std::vector<std::string> >("enabledClients", enabledClients_);
67 
68  updateTime_ = ps.getUntrackedParameter<int>("UpdateTime",0);
69  baseHtmlDir_ = ps.getUntrackedParameter<std::string>("baseHtmlDir", "");
70  htmlUpdateTime_ = ps.getUntrackedParameter<int>("htmlUpdateTime", 0);
71  htmlFirstUpdate_ = ps.getUntrackedParameter<int>("htmlFirstUpdate",20);
72  databasedir_ = ps.getUntrackedParameter<std::string>("databaseDir","");
73  databaseUpdateTime_ = ps.getUntrackedParameter<int>("databaseUpdateTime",0);
74  databaseFirstUpdate_ = ps.getUntrackedParameter<int>("databaseFirstUpdate",10);
75 
76  saveByLumiSection_ = ps.getUntrackedParameter<bool>("saveByLumiSection",false);
77  Online_ = ps.getUntrackedParameter<bool>("online",false);
78 
79 
80  doPedSetup_ = true;
81  doChanStatSetup_ = true;
82 
83 
84  if (debug_>0)
85  {
86  std::cout <<"HcalMonitorClient:: The following clients are enabled:"<<std::endl;
87  for (unsigned int i=0;i<enabledClients_.size();++i)
88  std::cout <<enabledClients_[i]<<std::endl;
89  } // if (debug_>0)
90 
91  // Set all EtaPhiHists pointers to 0 to start
92  ChannelStatus=0;
97 
98  // Add all relevant clients
99  clients_.clear();
100  clients_.reserve(15); // any reason to reserve ahead of time?
101  summaryClient_=0;
102 
103  clients_.push_back(new HcalBaseDQClient((std::string)"HcalMonitorModule",ps));
104  if (find(enabledClients_.begin(), enabledClients_.end(),"DeadCellMonitor")!=enabledClients_.end())
105  clients_.push_back(new HcalDeadCellClient((std::string)"DeadCellMonitor",ps));
106  if (find(enabledClients_.begin(), enabledClients_.end(),"HotCellMonitor")!=enabledClients_.end())
107  clients_.push_back(new HcalHotCellClient((std::string)"HotCellMonitor",ps));
108  if (find(enabledClients_.begin(), enabledClients_.end(),"RecHitMonitor")!=enabledClients_.end())
109  clients_.push_back(new HcalRecHitClient((std::string)"RecHitMonitor",ps));
110  if (find(enabledClients_.begin(), enabledClients_.end(),"DigiMonitor")!=enabledClients_.end())
111  clients_.push_back(new HcalDigiClient((std::string)"DigiMonitor",ps));
112  if (find(enabledClients_.begin(), enabledClients_.end(),"RawDataMonitor")!=enabledClients_.end())
113  clients_.push_back(new HcalRawDataClient((std::string)"RawDataMonitor",ps));
114  if (find(enabledClients_.begin(), enabledClients_.end(),"TrigPrimMonitor")!=enabledClients_.end())
115  clients_.push_back(new HcalTrigPrimClient((std::string)"TrigPrimMonitor",ps));
116  if (find(enabledClients_.begin(), enabledClients_.end(),"NZSMonitor")!=enabledClients_.end())
117  clients_.push_back(new HcalNZSClient((std::string)"NZSMonitor",ps));
118  if (find(enabledClients_.begin(), enabledClients_.end(),"BeamMonitor")!=enabledClients_.end())
119  clients_.push_back(new HcalBeamClient((std::string)"BeamMonitor",ps));
120  if (find(enabledClients_.begin(), enabledClients_.end(),"DetDiagPedestalMonitor")!=enabledClients_.end())
121  clients_.push_back(new HcalDetDiagPedestalClient((std::string)"DetDiagPedestalMonitor",ps));
122  if (find(enabledClients_.begin(), enabledClients_.end(),"DetDiagLaserMonitor")!=enabledClients_.end())
123  clients_.push_back(new HcalDetDiagLaserClient((std::string)"DetDiagLaserMonitor",ps));
124  if (find(enabledClients_.begin(), enabledClients_.end(),"DetDiagLEDMonitor")!=enabledClients_.end())
125  clients_.push_back(new HcalDetDiagLEDClient((std::string)"DetDiagLEDMonitor",ps));
126  if (find(enabledClients_.begin(), enabledClients_.end(),"DetDiagNoiseMonitor")!=enabledClients_.end())
127  clients_.push_back(new HcalDetDiagNoiseMonitorClient((std::string)"DetDiagNoiseMonitor",ps));
128  if (find(enabledClients_.begin(), enabledClients_.end(),"DetDiagTimingMonitor")!=enabledClients_.end())
129  clients_.push_back(new HcalDetDiagTimingClient((std::string)"DetDiagTimingMonitor",ps));
130  if (find(enabledClients_.begin(), enabledClients_.end(),"CoarsePedestalMonitor")!=enabledClients_.end())
131  clients_.push_back(new HcalCoarsePedestalClient((std::string)"CoarsePedestalMonitor",ps));
132  if (find(enabledClients_.begin(), enabledClients_.end(),"ZDCMonitor")!=enabledClients_.end())
133  clients_.push_back(new ZDCMonitorClient((std::string)"ZDCMonitor",ps));
134 
135  if (find(enabledClients_.begin(), enabledClients_.end(),"Summary")!=enabledClients_.end())
136  summaryClient_ = new HcalSummaryClient((std::string)"ReportSummaryClient",ps);
137 
138  // Contents of the beginJob(void) method (this was moved here during the MT migration
139  begin_run_ = false;
140  end_run_ = false;
141 
143  ievt_ = 0;
144  jevt_ =0;
145 
146  current_time_ = time(NULL);
147  last_time_html_ = 0;
148  last_time_db_ = 0;
149 
150 
151 } // HcalMonitorClient constructor
std::vector< std::string > enabledClients_
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
EtaPhiHists * fC_WidthFromDBByDepth
EtaPhiHists * ADC_PedestalFromDBByDepth
std::string databasedir_
RunNumber_t const invalidRunNumber
EtaPhiHists * fC_PedestalFromDBByDepth
#define NULL
Definition: scimark2.h:8
EtaPhiHists * ADC_WidthFromDBByDepth
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
std::string baseHtmlDir_
std::string inputFile_
HcalSummaryClient * summaryClient_
std::vector< HcalBaseDQClient * > clients_
EtaPhiHists * ChannelStatus
edm::RunNumber_t run_
tuple cout
Definition: gather_cfg.py:145
HcalMonitorClient::~HcalMonitorClient ( )
virtual

Definition at line 154 of file HcalMonitorClient.cc.

References clients_, gather_cfg::cout, debug_, and i.

155 {
156  if (debug_>0) std::cout <<"<HcalMonitorClient> Exiting..."<<std::endl;
157  for (unsigned int i=0;i<clients_.size();++i)
158  delete clients_[i];
159  //if (summaryClient_) delete summaryClient_;
160 
161 }
int i
Definition: DBlmapReader.cc:9
std::vector< HcalBaseDQClient * > clients_
tuple cout
Definition: gather_cfg.py:145

Member Function Documentation

void HcalMonitorClient::analyze ( DQMStore::IBooker ib,
DQMStore::IGetter ig,
int  LS = -1 
)

Analyze.

Definition at line 242 of file HcalMonitorClient.cc.

References HcalSummaryClient::analyze(), clients_, gather_cfg::cout, current_time_, debug_, HcalSummaryClient::fillReportSummaryLSbyLS(), i, NULL, saveByLumiSection_, and summaryClient_.

Referenced by dqmEndJob(), and dqmEndLuminosityBlock().

243 {
244  if (debug_>0)
245  std::cout <<"HcalMonitorClient::analyze() "<<std::endl;
246  current_time_ = time(NULL);
247  // no ievt_, jevt_ counters needed here: this function gets called at endlumiblock, after default analyze function runs
248  for (unsigned int i=0;i<clients_.size();++i)
249  clients_[i]->analyze(ib,ig);
250  if (summaryClient_!=0)
251  {
252  // Always call basic analyze to form histograms for each task
253  summaryClient_->analyze(ib,ig,LS);
254  // Call this if LS-by-LS enabling is set to true
255  if (saveByLumiSection_==true)
257  }
258 } // void HcalMonitorClient::analyze()
int i
Definition: DBlmapReader.cc:9
#define NULL
Definition: scimark2.h:8
void analyze(DQMStore::IBooker &, DQMStore::IGetter &, int LS=-1)
void analyze(DQMStore::IBooker &ib, DQMStore::IGetter &, int LS=-1)
Analyze.
HcalSummaryClient * summaryClient_
std::vector< HcalBaseDQClient * > clients_
tuple cout
Definition: gather_cfg.py:145
void fillReportSummaryLSbyLS(DQMStore::IBooker &, DQMStore::IGetter &, int LS)
void HcalMonitorClient::beginRun ( const edm::Run r,
const edm::EventSetup c 
)
virtual

BeginRun.

Reimplemented from DQMEDHarvester.

Definition at line 164 of file HcalMonitorClient.cc.

References begin_run_, HcalSummaryClient::beginRun(), ChannelStatus, chanquality_, clients_, gather_cfg::cout, debug_, EtaPhiHists::depth, HLT_25ns10e33_v2_cff::depth, end_run_, edm::EventSetup::get(), HcalCondObjectContainer< Item >::getAllChannels(), HcalSummaryClient::getFriends(), reco::JetExtendedAssociation::getValue(), HcalCondObjectContainer< Item >::getValues(), DetId::Hcal, HcalForward, hctopo_, htmlcounter_, i, edm::RunBase::id(), jevt_, mergeVDriftHistosByStation::name, AlCaHLTBitMon_ParallelJobs::p, edm::ESHandle< class >::product(), edm::RunID::run(), run_, mps_update::status, and summaryClient_.

165 {
166  if (debug_>0) std::cout <<"<HcalMonitorClient::beginRun(r,c)>"<<std::endl;
167  begin_run_ = true;
168  end_run_ = false;
169 
170  run_ = r.id().run();
171  jevt_ = 0;
172  htmlcounter_ = 0;
173 
174  // Store list of bad channels and their values
175  std::map <HcalDetId, unsigned int> badchannelmap;
176  badchannelmap.clear();
177 
178  // Let's get the channel status quality
180  c.get<HcalRecNumberingRecord>().get(topo);
181 
183  c.get<HcalChannelQualityRcd>().get("withTopo",p);
184  chanquality_= p.product();
185 // if (!chanquality_->topo()) chanquality_->setTopo(topo.product());
186  hctopo_ = topo.product();
187  for ( unsigned int i=0; i<clients_.size();++i )
188  clients_[i]->setTopo(hctopo_);
189 
190  // Find only channels with non-zero quality, and add them to badchannelmap
191  std::vector<DetId> mydetids = chanquality_->getAllChannels();
192  for (std::vector<DetId>::const_iterator i = mydetids.begin();i!=mydetids.end();++i)
193  {
194  if (i->det()!=DetId::Hcal) continue; // not an hcal cell
195  HcalDetId id=HcalDetId(*i);
196  int status=(chanquality_->getValues(id))->getValue();
197  //if (status!=status) status=-1; // protects against NaN values
198  // The above line doesn't seem to work in identifying NaNs; ints for bad values come back as negative numbers (at least in run 146501)
199  if (status==0) continue;
200  badchannelmap[id]=status;
201 
202  // Fill Channel Status histogram
203  int depth=id.depth();
204  if (depth<1 || depth>4) continue;
205  int ieta=id.ieta();
206  int iphi=id.iphi();
207  if (id.subdet()==HcalForward)
208  ieta>0 ? ++ieta: --ieta;
209 
210  double logstatus = 0;
211  // Fill ChannelStatus value with '-1' when a 'NaN' occurs
212  if (status<0)
213  logstatus=-1*(log2(-1.*status)+1);
214  else
215  logstatus=log2(1.*status)+1;
216  if (ChannelStatus && ChannelStatus->depth[depth-1]) ChannelStatus->depth[depth-1]->Fill(ieta,iphi,logstatus);
217  }
218 
219  for (unsigned int i=0;i<clients_.size();++i)
220  {
221  if (clients_[i]->name()=="RawDataMonitor") clients_[i]->setEventSetup(c);
222  clients_[i]->beginRun();
223  clients_[i]->setStatusMap(badchannelmap);
224  }
225 
226  if (summaryClient_!=0)
227  {
230  }
231 
232 } // void HcalMonitorClient::beginRun(const Run& r, const EventSetup& c)
int i
Definition: DBlmapReader.cc:9
RunID const & id() const
Definition: RunBase.h:39
RunNumber_t run() const
Definition: RunID.h:39
const Item * getValues(DetId fId, bool throwOnFail=true) const
std::vector< MonitorElement * > depth
std::vector< DetId > getAllChannels() const
HcalSummaryClient * summaryClient_
std::vector< HcalBaseDQClient * > clients_
const T & get() const
Definition: EventSetup.h:56
T const * product() const
Definition: ESHandle.h:86
EtaPhiHists * ChannelStatus
const HcalChannelQuality * chanquality_
edm::RunNumber_t run_
const JetExtendedData & getValue(const Container &, const reco::JetBaseRef &)
get value for the association. Throw exception if no association found
tuple cout
Definition: gather_cfg.py:145
void getFriends(const std::vector< HcalBaseDQClient * > &clients)
tuple status
Definition: mps_update.py:57
const HcalTopology * hctopo_
void HcalMonitorClient::cleanup ( void  )

Cleanup.

Definition at line 362 of file HcalMonitorClient.cc.

References enableCleanup_.

Referenced by dqmEndJob(), and esMonitoring.FDJsonServer::handle_close().

363 {
364  if (!enableCleanup_) return;
365  // other cleanup?
366 } // void HcalMonitorClient::cleanup(void)
void HcalMonitorClient::dqmEndJob ( DQMStore::IBooker ib,
DQMStore::IGetter ig 
)
virtual

EndJob.

Implements DQMEDHarvester.

Definition at line 343 of file HcalMonitorClient.cc.

References analyze(), cleanup(), clients_, end_run_, DQMEDHarvester::endJob(), endRun(), i, and Online_.

344 {
345  // Temporary fix for crash of April 2011 in online DQM
346  if (Online_==true)
347  return;
348 
349  if (! end_run_)
350  {
351  this->analyze(ib,ig);
352  this->endRun(ib,ig);
353  }
354  this->cleanup(); // currently does nothing
355 
356  for ( unsigned int i=0; i<clients_.size(); i++ )
357  clients_[i]->endJob();
358  //if ( summaryClient_ ) summaryClient_->endJob();
359 
360 } // void HcalMonitorClient::endJob(void)
int i
Definition: DBlmapReader.cc:9
void cleanup(void)
Cleanup.
virtual void endJob() final
void analyze(DQMStore::IBooker &ib, DQMStore::IGetter &, int LS=-1)
Analyze.
std::vector< HcalBaseDQClient * > clients_
void endRun(DQMStore::IBooker &, DQMStore::IGetter &)
EndRun.
void HcalMonitorClient::dqmEndLuminosityBlock ( DQMStore::IBooker ib,
DQMStore::IGetter ig,
const edm::LuminosityBlock l,
const edm::EventSetup c 
)
virtual

EndLumiBlock.

Reimplemented from DQMEDHarvester.

Definition at line 261 of file HcalMonitorClient.cc.

References analyze(), gather_cfg::cout, current_time_, databaseFirstUpdate_, databaseUpdateTime_, debug_, doChanStatSetup_, doPedSetup_, htmlFirstUpdate_, htmlUpdateTime_, last_time_db_, last_time_html_, last_time_update_, edm::LuminosityBlockBase::luminosityBlock(), NULL, setupChannelStatusMon(), setupPedestalMon(), updateTime_, writeChannelStatus(), and writeHtml().

262 {
263 
265  if ( doPedSetup_ ) setupPedestalMon(ib);
266 
267  if (debug_>0) std::cout <<"<HcalMonitorClient::dqmEndLuminosityBlock>"<<std::endl;
268  current_time_ = time(NULL);
269  if (updateTime_>0)
270  {
272  return;
274  }
275  this->analyze(ib,ig,l.luminosityBlock());
276 
277  if (databaseUpdateTime_>0)
278  {
279  if (
280  // first update occurs at after databaseFirstUpdate_ minutes
282  ||
283  // following updates follow once every databaseUpdateTime_ minutes
285  )
286  {
287  this->writeChannelStatus();
289  }
290  }
291 
292  if (htmlUpdateTime_>0)
293  {
294  if (
296  //
298  ) // htmlUpdateTime_ in minutes
299  {
300  this->writeHtml(ib,ig);
302  }
303  }
304 
305 
306 } // void HcalMonitorClient::endLuminosityBlock
void setupPedestalMon(DQMStore::IBooker &)
#define NULL
Definition: scimark2.h:8
void setupChannelStatusMon(DQMStore::IBooker &)
LuminosityBlockNumber_t luminosityBlock() const
void analyze(DQMStore::IBooker &ib, DQMStore::IGetter &, int LS=-1)
Analyze.
void writeHtml(DQMStore::IBooker &, DQMStore::IGetter &)
tuple cout
Definition: gather_cfg.py:145
void HcalMonitorClient::endRun ( DQMStore::IBooker ib,
DQMStore::IGetter ig 
)

EndRun.

Definition at line 308 of file HcalMonitorClient.cc.

References HcalSummaryClient::analyze(), baseHtmlDir_, begin_run_, databasedir_, end_run_, htmlUpdateTime_, summaryClient_, writeChannelStatus(), and writeHtml().

Referenced by dqmEndJob().

309 {
310  begin_run_ = false;
311  end_run_ = true;
312 
313  // Always fill summaryClient at end of run (as opposed to the end-lumi fills, which may just contain info for a single LS)
314  // At the end of this run, set LS=-1 (LS-based plotting in doesn't work yet anyway)
315  if (summaryClient_)
316  summaryClient_->analyze(ib,ig,-1);
317 
318  if (databasedir_.size()>0)
319  this->writeChannelStatus();
320  // writeHtml takes longer; run it last
321  // Also, don't run it if htmlUpdateTime_>0 -- it should have already been run
322  if (baseHtmlDir_.size()>0 && htmlUpdateTime_==0)
323  this->writeHtml(ib,ig);
324 }
std::string databasedir_
std::string baseHtmlDir_
void analyze(DQMStore::IBooker &, DQMStore::IGetter &, int LS=-1)
HcalSummaryClient * summaryClient_
void writeHtml(DQMStore::IBooker &, DQMStore::IGetter &)
void HcalMonitorClient::endRun ( const edm::Run r,
const edm::EventSetup c 
)
virtual

Reimplemented from DQMEDHarvester.

Definition at line 326 of file HcalMonitorClient.cc.

References begin_run_, doPedSetup_, end_run_, edm::EventSetup::get(), and PlotPedestalValues().

327 {
328  // Set values here, because the "analyze" method occasionally times out,
329  // which keeps the endRun() call from being made. This causes endJob to
330  // crash, since end_run_ is still set to false at that point.
331  begin_run_ = false;
332  end_run_ = true;
333 
334  // pedestal values
335  if ( !doPedSetup_ ) {
336  edm::ESHandle<HcalDbService> conditions;
337  c.get<HcalDbRecord>().get(conditions);
338  PlotPedestalValues(*conditions);
339  }
340 
341 }
void PlotPedestalValues(const HcalDbService &cond)
const T & get() const
Definition: EventSetup.h:56
void HcalMonitorClient::PlotPedestalValues ( const HcalDbService cond)

Definition at line 511 of file HcalMonitorClient.cc.

References HcalQIECoder::adc(), ADC_PedestalFromDBByDepth, ADC_WidthFromDBByDepth, HcalObjRepresent::CalcIeta(), gather_cfg::cout, debug_, EtaPhiHists::depth, HLT_25ns10e33_v2_cff::depth, eta, fC_PedestalFromDBByDepth, fC_WidthFromDBByDepth, HcalObjRepresent::FillUnphysicalHEHFBins(), HcalDbService::getHcalCalibrations(), HcalDbService::getHcalCoder(), HcalDbService::getHcalShape(), HcalDbService::getPedestalWidth(), HcalPedestalWidth::getSigma(), hctopo_, i, HcalCalibrations::pedestal(), phi, funct::pow(), EtaPhiHists::Reset(), HcalTopology::validDetId(), and ecaldqm::zside().

Referenced by endRun().

512 {
513 
514  double ADC_ped=0;
515  double ADC_width=0;
516  double fC_ped=0;
517  double fC_width=0;
518  double temp_ADC=0;
519  double temp_fC=0;
520 
521  int ieta=-9999;
522  int iphi=-9999;
523  HcalCalibrations calibs_;
524 
529 
530 
531  for (int subdet=1; subdet<=4;++subdet)
532  {
533  for (int depth=0;depth<4;++depth)
534  {
535  int etabins= ADC_PedestalFromDBByDepth->depth[depth]->getNbinsX();
536  int phibins = ADC_PedestalFromDBByDepth->depth[depth]->getNbinsY();
537  for (int eta=0;eta<etabins;++eta)
538  {
539  ieta=CalcIeta(subdet,eta,depth+1);
540  if (ieta==-9999) continue;
541  for (int phi=0;phi<phibins;++phi)
542  {
543  iphi=phi+1;
544  if (!(hctopo_->validDetId((HcalSubdetector)(subdet), ieta, iphi, depth+1))) continue;
545  HcalDetId detid((HcalSubdetector)(subdet), ieta, iphi, depth+1);
546  ADC_ped=0;
547  ADC_width=0;
548  fC_ped=0;
549  fC_width=0;
550  calibs_= cond.getHcalCalibrations(detid);
551  const HcalPedestalWidth* pedw = cond.getPedestalWidth(detid);
552  const HcalQIECoder* channelCoder_ = cond.getHcalCoder(detid);
553  const HcalQIEShape* shape_ = cond.getHcalShape(channelCoder_);
554 
555  // Loop over capIDs
556  for (unsigned int capid=0;capid<4;++capid)
557  {
558  // Still need to determine how to convert widths to ADC or fC
559  // calibs_.pedestal value is always in fC, according to Radek
560  temp_fC = calibs_.pedestal(capid);
561  fC_ped+= temp_fC;
562  // convert to ADC from fC
563  temp_ADC=channelCoder_->adc(*shape_,
564  (float)calibs_.pedestal(capid),
565  capid);
566  ADC_ped+=temp_ADC;
567  // Pedestals assumed to be read out in fC
568  temp_fC=pedw->getSigma(capid,capid);
569  fC_width+=temp_fC;
570  temp_ADC=pedw->getSigma(capid,capid)*pow(1.*channelCoder_->adc(*shape_,(float)calibs_.pedestal(capid),capid)/calibs_.pedestal(capid),2);
571  ADC_width+=temp_ADC;
572  }//capid loop
573 
574  // Pedestal values are average over four cap IDs
575  // widths are sqrt(SUM [sigma_ii^2])/4.
576  fC_ped/=4.;
577  ADC_ped/=4.;
578 
579  // Divide width by 2, or by four?
580  // Dividing by 2 gives subtracted results closer to zero -- estimate of variance?
581  fC_width=pow(fC_width,0.5)/2.;
582  ADC_width=pow(ADC_width,0.5)/2.;
583 
584  if (debug_>1)
585  {
586  std::cout <<"<HcalMonitorClient::PlotPedestalValues> HcalDet ID = "<<(HcalSubdetector)subdet<<": ("<<ieta<<", "<<iphi<<", "<<depth<<")"<<std::endl;
587  std::cout <<"\tADC pedestal = "<<ADC_ped<<" +/- "<<ADC_width<<std::endl;
588  std::cout <<"\tfC pedestal = "<<fC_ped<<" +/- "<<fC_width<<std::endl;
589  }
590  // Shift HF by -/+1 when filling eta-phi histograms
591  int zside=0;
592  if (subdet==4)
593  {
594  if (ieta<0) zside=-1;
595  else zside=1;
596  }
597  ADC_PedestalFromDBByDepth->depth[depth]->Fill(ieta+zside,iphi,ADC_ped);
598  ADC_WidthFromDBByDepth->depth[depth]->Fill(ieta+zside, iphi, ADC_width);
599  fC_PedestalFromDBByDepth->depth[depth]->Fill(ieta+zside,iphi,fC_ped);
600  fC_WidthFromDBByDepth->depth[depth]->Fill(ieta+zside, iphi, fC_width);
601  } // phi loop
602  } // eta loop
603  } //depth loop
604 
605  } // subdet loop
610 
611  // Center ADC pedestal values near 3 +/- 1
612  for (unsigned int i=0;i<ADC_PedestalFromDBByDepth->depth.size();++i)
613  {
614  ADC_PedestalFromDBByDepth->depth[i]->getTH2F()->SetMinimum(0);
615  if (ADC_PedestalFromDBByDepth->depth[i]->getTH2F()->GetMaximum()<6)
616  ADC_PedestalFromDBByDepth->depth[i]->getTH2F()->SetMaximum(6);
617  }
618 
619  for (unsigned int i=0;i<ADC_WidthFromDBByDepth->depth.size();++i)
620  {
621  ADC_WidthFromDBByDepth->depth[i]->getTH2F()->SetMinimum(0);
622  if (ADC_WidthFromDBByDepth->depth[i]->getTH2F()->GetMaximum()<2)
623  ADC_WidthFromDBByDepth->depth[i]->getTH2F()->SetMaximum(2);
624  }
625 
626 }
int i
Definition: DBlmapReader.cc:9
EtaPhiHists * fC_WidthFromDBByDepth
EtaPhiHists * ADC_PedestalFromDBByDepth
float getSigma(int fCapId1, int fCapId2) const
get correlation element for capId1/2 = 0..3
bool validDetId(HcalSubdetector subdet, int ieta, int iphi, int depth) const
void Reset(void)
EtaPhiHists * fC_PedestalFromDBByDepth
double pedestal(int fCapId) const
get pedestal for capid=0..3
EtaPhiHists * ADC_WidthFromDBByDepth
int zside(DetId const &)
const HcalPedestalWidth * getPedestalWidth(const HcalGenericDetId &fId) const
std::vector< MonitorElement * > depth
int CalcIeta(int subdet, int eta, int depth)
HcalSubdetector
Definition: HcalAssistant.h:31
const HcalQIECoder * getHcalCoder(const HcalGenericDetId &fId) const
void FillUnphysicalHEHFBins(std::vector< TH2F > &hh)
const HcalQIEShape * getHcalShape(const HcalGenericDetId &fId) const
unsigned adc(const HcalQIEShape &fShape, float fCharge, unsigned fCapId) const
fC + capid [0..3] -&gt; ADC conversion
Definition: HcalQIECoder.cc:27
tuple cout
Definition: gather_cfg.py:145
const HcalCalibrations & getHcalCalibrations(const HcalGenericDetId &fId) const
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
const HcalTopology * hctopo_
void HcalMonitorClient::reset ( void  )

Reset.

void HcalMonitorClient::setup ( void  )

Setup.

Definition at line 235 of file HcalMonitorClient.cc.

236 {
237  // no setup required
238 }
void HcalMonitorClient::setupChannelStatusMon ( DQMStore::IBooker ib)
private

Definition at line 664 of file HcalMonitorClient.cc.

References ChannelStatus, ztail::d, EtaPhiHists::depth, doChanStatSetup_, prefixME_, DQMStore::IBooker::setCurrentFolder(), EtaPhiHists::setup(), and x.

Referenced by dqmEndLuminosityBlock().

665 {
666 
667  if (ChannelStatus==0)
668  {
669  ib.setCurrentFolder(prefixME_+"HcalInfo/ChannelStatus");
671  ChannelStatus->setup(ib,"ChannelStatus");
672  std::stringstream x;
673  for (unsigned int d=0;d<ChannelStatus->depth.size();++d)
674  {
675  ChannelStatus->depth[d]->Reset();
676  x<<"1+log2(status) for HCAL depth "<<d+1;
677  if (ChannelStatus->depth[d]) ChannelStatus->depth[d]->setTitle(x.str().c_str());
678  x.str("");
679  }
680  }
681 
682  doChanStatSetup_ = false;
683 
684 }
tuple d
Definition: ztail.py:151
std::vector< MonitorElement * > depth
void setup(DQMStore::IBooker &m_dbe, std::string Name, std::string Units="")
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:276
EtaPhiHists * ChannelStatus
void HcalMonitorClient::setupPedestalMon ( DQMStore::IBooker ib)
private

Definition at line 632 of file HcalMonitorClient.cc.

References ADC_PedestalFromDBByDepth, ADC_WidthFromDBByDepth, doPedSetup_, fC_PedestalFromDBByDepth, fC_WidthFromDBByDepth, prefixME_, DQMStore::IBooker::setCurrentFolder(), and EtaPhiHists::setup().

Referenced by dqmEndLuminosityBlock().

633 {
634 
635  // Now let's setup pedestals
636  ib.setCurrentFolder(prefixME_+"HcalInfo/PedestalsFromCondDB");
638  {
640  ADC_PedestalFromDBByDepth->setup(ib,"ADC Pedestals From Conditions DB");
641  }
642  if (ADC_WidthFromDBByDepth==0)
643  {
645  ADC_WidthFromDBByDepth->setup(ib,"ADC Widths From Conditions DB");
646  }
648  {
650  fC_PedestalFromDBByDepth->setup(ib,"fC Pedestals From Conditions DB");
651  }
652  if (fC_WidthFromDBByDepth==0)
653  {
655  fC_WidthFromDBByDepth->setup(ib,"fC Widths From Conditions DB");
656  }
657 
658  doPedSetup_ = false;
659 }
EtaPhiHists * fC_WidthFromDBByDepth
EtaPhiHists * ADC_PedestalFromDBByDepth
EtaPhiHists * fC_PedestalFromDBByDepth
EtaPhiHists * ADC_WidthFromDBByDepth
void setup(DQMStore::IBooker &m_dbe, std::string Name, std::string Units="")
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:276
void HcalMonitorClient::softReset ( bool  flag)

SoftReset.

void HcalMonitorClient::writeChannelStatus ( )

Definition at line 457 of file HcalMonitorClient.cc.

References HcalCondObjectContainer< Item >::addValues(), chanquality_, clients_, gather_cfg::cout, databasedir_, debug_, HcalDbASCIIIO::dumpObject(), mergeVDriftHistosByStation::file, HcalCondObjectContainer< Item >::getAllChannels(), HcalChannelStatus::getValue(), HcalCondObjectContainer< Item >::getValues(), DetId::Hcal, HcalChannelStatus::HcalCellDead, HcalChannelStatus::HcalCellHot, i, HcalChannelStatus::rawId(), run_, HcalChannelStatus::setBit(), HcalCondObjectContainerBase::topo(), and HcalChannelStatus::unsetBit().

Referenced by dqmEndLuminosityBlock(), and endRun().

458 {
459  if (databasedir_.size()==0) return;
460  if (debug_>0) std::cout <<"<HcalMonitorClient::writeDBfile> Writing file for database"<<std::endl;
461 
462  std::map<HcalDetId, unsigned int> myquality; //map of quality flags as reported by each client
463  // Get status from all channels (we need to store all channels in case a bad channel suddenly becomes good)
465  clients_[i]->updateChannelStatus(myquality);
466 
467  if (debug_>0) std::cout <<"<HcalMonitorClient::writeChannelStatus()> myquality size = "<<myquality.size()<<std::endl;
468 
469  std::vector<DetId> mydetids = chanquality_->getAllChannels();
471 
472  for (unsigned int i=0;i<mydetids.size();++i)
473  {
474  if (mydetids[i].det()!=DetId::Hcal) continue; // not hcal
475 
476  HcalDetId id=mydetids[i];
477  // get original channel status item
478  const HcalChannelStatus* origstatus=chanquality_->getValues(mydetids[i]);
479  // make copy of status
480  HcalChannelStatus* mystatus=new HcalChannelStatus(origstatus->rawId(),origstatus->getValue());
481  // loop over myquality flags
482  if (myquality.find(id)!=myquality.end())
483  {
484 
485  // check dead cells
486  if ((myquality[id]>>HcalChannelStatus::HcalCellDead)&0x1)
488  else
490  // check hot cells
491  if ((myquality[id]>>HcalChannelStatus::HcalCellHot)&0x1)
493  else
495  } // if (myquality.find_...)
496  newChanQual->addValues(*mystatus);
497  } // for (unsigned int i=0;...)
498 
499  //Now dump out to text file
500  std::ostringstream file;
501  databasedir_=databasedir_+"/"; // add extra slash, just in case
502  //file <<databasedir_<<"HcalDQMstatus_"<<run_<<".txt";
503  file <<databasedir_<<"HcalDQMstatus.txt";
504  std::ofstream outStream(file.str().c_str());
505  outStream<<"### Run # "<<run_<<std::endl;
506  HcalDbASCIIIO::dumpObject (outStream, (*newChanQual));
507  return;
508 } // void HcalMonitorClient::writeChannelStatus()
int i
Definition: DBlmapReader.cc:9
std::string databasedir_
const Item * getValues(DetId fId, bool throwOnFail=true) const
void unsetBit(unsigned int bitnumber)
uint16_t size_type
void setBit(unsigned int bitnumber)
uint32_t rawId() const
std::vector< DetId > getAllChannels() const
std::vector< HcalBaseDQClient * > clients_
bool dumpObject(std::ostream &fOutput, const HcalPedestals &fObject)
const HcalChannelQuality * chanquality_
edm::RunNumber_t run_
tuple cout
Definition: gather_cfg.py:145
uint32_t getValue() const
bool addValues(const Item &myItem)
const HcalTopology * topo() const
void HcalMonitorClient::writeHtml ( DQMStore::IBooker ib,
DQMStore::IGetter ig 
)

Definition at line 369 of file HcalMonitorClient.cc.

References baseHtmlDir_, clients_, gather_cfg::cout, debug_, HcalSummaryClient::hasErrors_Temp(), HcalSummaryClient::hasOther_Temp(), HcalSummaryClient::hasWarnings_Temp(), htmlcounter_, HcalBaseDQClient::htmlOutput(), i, ievt_, edm::invalidRunNumber, HcalBaseDQClient::name_, prefixME_, run_, AlCaHLTBitMon_QueryRunRegistry::string, summaryClient_, and tmp.

Referenced by dqmEndLuminosityBlock(), and endRun().

370 {
371  if (debug_>0) std::cout << "Preparing HcalMonitorClient html output ..." << std::endl;
372 
373 
374  // global ROOT style
375  gStyle->Reset("Default");
376  gStyle->SetCanvasColor(0);
377  gStyle->SetPadColor(0);
378  gStyle->SetFillColor(0);
379  gStyle->SetTitleFillColor(10);
380  // gStyle->SetOptStat(0);
381  gStyle->SetOptStat("ouemr");
382  gStyle->SetPalette(1);
383 
384  char tmp[20];
385 
386  if (run_ != edm::invalidRunNumber) {
387  sprintf(tmp, "DQM_%s_R%09d_%i", prefixME_.substr(0,prefixME_.size()-1).c_str(),run_,htmlcounter_);
388  } else {
389  sprintf(tmp, "DQM_%s_R%09d_%i", prefixME_.substr(0,prefixME_.size()-1).c_str(),0,htmlcounter_);
390  }
391  std::string htmlDir = baseHtmlDir_ + "/" + tmp + "/";
392  system(("/bin/mkdir -p " + htmlDir).c_str());
393 
394  ++htmlcounter_;
395 
396  std::ofstream htmlFile;
397  htmlFile.open((htmlDir + "index.html").c_str());
398 
399  // html page header
400  htmlFile << "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> " << std::endl;
401  htmlFile << "<html> " << std::endl;
402  htmlFile << "<head> " << std::endl;
403  htmlFile << " <meta content=\"text/html; charset=ISO-8859-1\" " << std::endl;
404  htmlFile << " http-equiv=\"content-type\"> " << std::endl;
405  htmlFile << " <title>Hcal Data Quality Monitor</title> " << std::endl;
406  htmlFile << "</head> " << std::endl;
407  htmlFile << "<body> " << std::endl;
408  htmlFile << "<br> " << std::endl;
409  htmlFile << "<center><h1>Hcal Data Quality Monitor</h1></center>" << std::endl;
410  htmlFile << "<h2>Run Number:&nbsp;&nbsp;&nbsp;" << std::endl;
411  htmlFile << "<span style=\"color: rgb(0, 0, 153);\">" << run_ <<"</span></h2> " << std::endl;
412  htmlFile << "<h2>Events processed:&nbsp;&nbsp;&nbsp;" << std::endl;
413  htmlFile << "<span style=\"color: rgb(0, 0, 153);\">" << ievt_ <<"</span></h2> " << std::endl;
414  htmlFile << "<hr>" << std::endl;
415  htmlFile << "<ul>" << std::endl;
416 
417  for (unsigned int i=0;i<clients_.size();++i)
418  {
419  if (clients_[i]->validHtmlOutput(ib,ig)==true)
420  {
421  clients_[i]->htmlOutput(ib,ig,htmlDir);
422  // Always print this out? Or only when validHtmlOutput is true?
423  htmlFile << "<table border=0 WIDTH=\"50%\"><tr>" << std::endl;
424  htmlFile << "<td WIDTH=\"35%\"><a href=\"" << clients_[i]->name_ << ".html"<<"\">"<<clients_[i]->name_<<"</a></td>" << std::endl;
425  if(clients_[i]->hasErrors_Temp()) htmlFile << "<td bgcolor=red align=center>This monitor task has errors.</td>" << std::endl;
426  else if(clients_[i]->hasWarnings_Temp()) htmlFile << "<td bgcolor=yellow align=center>This monitor task has warnings.</td>" << std::endl;
427  else if(clients_[i]->hasOther_Temp()) htmlFile << "<td bgcolor=aqua align=center>This monitor task has messages.</td>" << std::endl;
428  else htmlFile << "<td bgcolor=lime align=center>This monitor task has no problems</td>" << std::endl;
429  htmlFile << "</tr></table>" << std::endl;
430  }
431  }
432 
433  // Add call to reportSummary html output
434  if (summaryClient_)
435  {
436  summaryClient_->htmlOutput(ib,ig,htmlDir);
437  htmlFile << "<table border=0 WIDTH=\"50%\"><tr>" << std::endl;
438  htmlFile << "<td WIDTH=\"35%\"><a href=\"" << summaryClient_->name_ << ".html"<<"\">"<<summaryClient_->name_<<"</a></td>" << std::endl;
439  if(summaryClient_->hasErrors_Temp()) htmlFile << "<td bgcolor=red align=center>This monitor task has errors.</td>" << std::endl;
440  else if(summaryClient_->hasWarnings_Temp()) htmlFile << "<td bgcolor=yellow align=center>This monitor task has warnings.</td>" << std::endl;
441  else if(summaryClient_->hasOther_Temp()) htmlFile << "<td bgcolor=aqua align=center>This monitor task has messages.</td>" << std::endl;
442  else htmlFile << "<td bgcolor=lime align=center>This monitor task has no problems</td>" << std::endl;
443  htmlFile << "</tr></table>" << std::endl;
444  }
445 
446  htmlFile << "</ul>" << std::endl;
447 
448  // html page footer
449  htmlFile << "</body> " << std::endl;
450  htmlFile << "</html> " << std::endl;
451 
452  htmlFile.close();
453  if (debug_>0) std::cout << "HcalMonitorClient html output done..." << std::endl;
454 
455 } // void HcalMonitorClient::writeHtml()
int i
Definition: DBlmapReader.cc:9
RunNumber_t const invalidRunNumber
virtual void htmlOutput(DQMStore::IBooker &, DQMStore::IGetter &, std::string htmlDir)
std::string baseHtmlDir_
HcalSummaryClient * summaryClient_
std::vector< HcalBaseDQClient * > clients_
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
edm::RunNumber_t run_
tuple cout
Definition: gather_cfg.py:145

Member Data Documentation

EtaPhiHists* HcalMonitorClient::ADC_PedestalFromDBByDepth
private

Definition at line 120 of file HcalMonitorClient.h.

Referenced by HcalMonitorClient(), PlotPedestalValues(), and setupPedestalMon().

EtaPhiHists* HcalMonitorClient::ADC_WidthFromDBByDepth
private

Definition at line 121 of file HcalMonitorClient.h.

Referenced by HcalMonitorClient(), PlotPedestalValues(), and setupPedestalMon().

std::string HcalMonitorClient::baseHtmlDir_
private

Definition at line 95 of file HcalMonitorClient.h.

Referenced by endRun(), HcalMonitorClient(), and writeHtml().

bool HcalMonitorClient::begin_run_
private

Definition at line 81 of file HcalMonitorClient.h.

Referenced by beginRun(), endRun(), and HcalMonitorClient().

EtaPhiHists* HcalMonitorClient::ChannelStatus
private

Definition at line 119 of file HcalMonitorClient.h.

Referenced by beginRun(), HcalMonitorClient(), and setupChannelStatusMon().

const HcalChannelQuality* HcalMonitorClient::chanquality_
private

Definition at line 116 of file HcalMonitorClient.h.

Referenced by beginRun(), and writeChannelStatus().

std::vector<HcalBaseDQClient*> HcalMonitorClient::clients_
private
bool HcalMonitorClient::cloneME_
private

Definition at line 88 of file HcalMonitorClient.h.

Referenced by HcalMonitorClient().

time_t HcalMonitorClient::current_time_
private

Definition at line 108 of file HcalMonitorClient.h.

Referenced by analyze(), dqmEndLuminosityBlock(), and HcalMonitorClient().

std::string HcalMonitorClient::databasedir_
private

Definition at line 97 of file HcalMonitorClient.h.

Referenced by endRun(), HcalMonitorClient(), and writeChannelStatus().

int HcalMonitorClient::databaseFirstUpdate_
private

Definition at line 99 of file HcalMonitorClient.h.

Referenced by dqmEndLuminosityBlock(), and HcalMonitorClient().

int HcalMonitorClient::databaseUpdateTime_
private

Definition at line 98 of file HcalMonitorClient.h.

Referenced by dqmEndLuminosityBlock(), and HcalMonitorClient().

int HcalMonitorClient::debug_
private
bool HcalMonitorClient::doChanStatSetup_
private
bool HcalMonitorClient::doPedSetup_
private
bool HcalMonitorClient::enableCleanup_
private

Definition at line 91 of file HcalMonitorClient.h.

Referenced by cleanup(), and HcalMonitorClient().

std::vector<std::string > HcalMonitorClient::enabledClients_
private

Definition at line 92 of file HcalMonitorClient.h.

Referenced by HcalMonitorClient().

bool HcalMonitorClient::end_run_
private

Definition at line 82 of file HcalMonitorClient.h.

Referenced by beginRun(), dqmEndJob(), endRun(), and HcalMonitorClient().

int HcalMonitorClient::evt_
private

Definition at line 80 of file HcalMonitorClient.h.

EtaPhiHists* HcalMonitorClient::fC_PedestalFromDBByDepth
private

Definition at line 122 of file HcalMonitorClient.h.

Referenced by HcalMonitorClient(), PlotPedestalValues(), and setupPedestalMon().

EtaPhiHists* HcalMonitorClient::fC_WidthFromDBByDepth
private

Definition at line 123 of file HcalMonitorClient.h.

Referenced by HcalMonitorClient(), PlotPedestalValues(), and setupPedestalMon().

const HcalTopology* HcalMonitorClient::hctopo_
private

Definition at line 115 of file HcalMonitorClient.h.

Referenced by beginRun(), and PlotPedestalValues().

int HcalMonitorClient::htmlcounter_
private

Definition at line 102 of file HcalMonitorClient.h.

Referenced by beginRun(), and writeHtml().

int HcalMonitorClient::htmlFirstUpdate_
private

Definition at line 100 of file HcalMonitorClient.h.

Referenced by dqmEndLuminosityBlock(), and HcalMonitorClient().

int HcalMonitorClient::htmlUpdateTime_
private

Definition at line 96 of file HcalMonitorClient.h.

Referenced by dqmEndLuminosityBlock(), endRun(), and HcalMonitorClient().

int HcalMonitorClient::ievt_
private

Definition at line 77 of file HcalMonitorClient.h.

Referenced by HcalMonitorClient(), and writeHtml().

std::string HcalMonitorClient::inputFile_
private

Definition at line 86 of file HcalMonitorClient.h.

Referenced by HcalMonitorClient().

int HcalMonitorClient::jevt_
private

Definition at line 78 of file HcalMonitorClient.h.

Referenced by beginRun(), and HcalMonitorClient().

time_t HcalMonitorClient::last_time_db_
private

Definition at line 111 of file HcalMonitorClient.h.

Referenced by dqmEndLuminosityBlock(), and HcalMonitorClient().

time_t HcalMonitorClient::last_time_html_
private

Definition at line 110 of file HcalMonitorClient.h.

Referenced by dqmEndLuminosityBlock(), and HcalMonitorClient().

time_t HcalMonitorClient::last_time_update_
private

Definition at line 109 of file HcalMonitorClient.h.

Referenced by dqmEndLuminosityBlock().

bool HcalMonitorClient::mergeRuns_
private

Definition at line 87 of file HcalMonitorClient.h.

Referenced by HcalMonitorClient().

bool HcalMonitorClient::Online_
private

Definition at line 105 of file HcalMonitorClient.h.

Referenced by dqmEndJob(), and HcalMonitorClient().

std::string HcalMonitorClient::prefixME_
private
int HcalMonitorClient::prescaleFactor_
private

Definition at line 89 of file HcalMonitorClient.h.

Referenced by HcalMonitorClient().

edm::RunNumber_t HcalMonitorClient::run_
private

Definition at line 79 of file HcalMonitorClient.h.

Referenced by beginRun(), HcalMonitorClient(), writeChannelStatus(), and writeHtml().

bool HcalMonitorClient::saveByLumiSection_
private

Definition at line 104 of file HcalMonitorClient.h.

Referenced by analyze(), and HcalMonitorClient().

HcalSummaryClient* HcalMonitorClient::summaryClient_
private

Definition at line 118 of file HcalMonitorClient.h.

Referenced by analyze(), beginRun(), endRun(), HcalMonitorClient(), and writeHtml().

int HcalMonitorClient::updateTime_
private

Definition at line 94 of file HcalMonitorClient.h.

Referenced by dqmEndLuminosityBlock(), and HcalMonitorClient().