56 if (prefixME_.substr(prefixME_.size()-1,prefixME_.size())!=
"/")
57 prefixME_.append(
"/");
72 if (subdir_.size()>0 && subdir_.substr(subdir_.size()-1,subdir_.size())!=
"/")
95 std::cout <<
"<ZDCMonitorClient::beginJob()> Displaying dqmStore directory structure:"<<std::endl;
123 for (
int i=0;
i<18;++
i)
147 for (
int i=0;
i<3;++
i)
161 for (
int i=0;
i<18;++
i)
184 for (
int i=0;
i<18;++
i)
208 for (
int i=0;
i<18;++
i)
231 for (
int i=0;
i<18;++
i)
255 std::cout <<
"ZDCMonitorClient: endJob, ievt = " <<
ievt_ << std::endl;
269 std::cout <<
"<ZDCMonitorClient> Entered ZDCMonitorClient::analyze()"<<std::endl;
270 if(
debug_>1)
std::cout<<
"\nZDC Monitor Client heartbeat...."<<std::endl;
272 float ChannelRatio[18]={0};
283 s=
subdir_+
"Errors/Digis/ZDC_Digi_Errors";
286 TH2F* ZdcDigiErrors=0;
289 ZdcDigiErrors=HcalUtilsClient::getHisto<TH2F*>(me,
false,0,0);
290 if (ZdcDigiErrors!=0)
292 int num_events_digis = ZdcDigiErrors->GetBinContent(-1,-1);
293 if(num_events_digis != 0)
295 for (
int i=0;
i<18;++
i)
308 s=
subdir_+
"Errors/HotChannel/ZDC_Hot_Channel_Errors";
310 TH2F* ZdcHotChannel=0;
313 ZdcHotChannel=HcalUtilsClient::getHisto<TH2F*>(me,
false,0,0);
314 if (ZdcHotChannel!=0)
316 int num_events_hot = ZdcHotChannel->GetBinContent(-1,-1);
317 if(num_events_hot!=0)
319 for (
int i=0;
i<18;++
i)
332 s=
subdir_+
"Errors/ColdChannel/ZDC_Cold_Channel_Errors";
334 TH2F* ZdcColdChannel=0;
337 ZdcColdChannel=HcalUtilsClient::getHisto<TH2F*>(me,
false,0,0);
338 if ((ZdcColdChannel)!=0)
340 int num_events_cold = ZdcColdChannel->GetBinContent(-1,-1);
341 if(num_events_cold!=0)
343 for (
int i=0;
i<18;++
i)
356 s=
subdir_+
"Errors/DeadChannel/ZDC_Dead_Channel_Errors";
358 TH2F* ZdcDeadChannel=0;
361 ZdcDeadChannel=HcalUtilsClient::getHisto<TH2F*>(me,
false,0,0);
362 if ((ZdcDeadChannel)!=0)
364 int num_events_dead = ZdcDeadChannel->GetBinContent(-1,-1);
365 if(num_events_dead!=0)
367 for (
int i=0;
i<18;++
i)
388 s=
subdir_+
"Errors/ZDC_TotalChannelErrors";
390 TH2F* ZdcTotalErrors=0;
393 ZdcTotalErrors=HcalUtilsClient::getHisto<TH2F*>(me,
false,0,0);
394 int num_events_errors = ZdcTotalErrors->GetBinContent(-1,-1);
395 if(num_events_errors!=0)
397 for (
int i=0;
i<18;++
i)
399 ChannelRatio[
i]=(ZdcTotalErrors->GetBinContent((
i/9)+1,(
i%9)+1))*1./num_events_errors;
421 EventsvsLs=HcalUtilsClient::getHisto<TH1F*>(me,
false,0,0);
422 s=
subdir_+
"PZDC_QualityIndexVSLB";
426 Pzdc_QI=HcalUtilsClient::getHisto<TH1F*>(me,
false,0,0);
427 s=
subdir_+
"NZDC_QualityIndexVSLB";
431 Nzdc_QI=HcalUtilsClient::getHisto<TH1F*>(me,
false,0,0);
433 if(EventsvsLs!=0 && Pzdc_QI!=0 && Nzdc_QI!=0)
435 for (
int i=1;
i<=EventsvsLs->GetNbinsX();++
i)
437 if (EventsvsLs->GetBinContent(
i)==0)
T getUntrackedParameter(std::string const &, T const &) const
const std::string & getName(void) const
get name of ME
void setBinContent(int binx, double content)
set content of bin (1-D)
ZDCMonitorClient(std::string myname, const edm::ParameterSet &ps)
Constructors.
MonitorElement * ZDCColdChannelFraction_
MonitorElement * ZDCReportSummary_
void cleanup(void)
Cleanup.
MonitorElement * ZDCHotChannelFraction_
void removeElement(const std::string &name)
MonitorElement * ZDCChannelSummary_
void analyze(void)
Analyze.
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
MonitorElement * ZDCDigiErrorFraction_
virtual ~ZDCMonitorClient()
Destructor.
std::vector< double > ZDCGoodLumi_
MonitorElement * ZDCDeadChannelFraction_
void showDirStructure(void) const
TH2F * getTH2F(void) const
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
void setCurrentFolder(const std::string &fullpath)