CMS 3D CMS Logo

Public Member Functions | Private Attributes

ZDCMonitorClient Class Reference

#include <ZDCMonitorClient.h>

Inheritance diagram for ZDCMonitorClient:
HcalBaseDQClient

List of all members.

Public Member Functions

void analyze (void)
 Analyze.
void analyze (const edm::Event &evt, const edm::EventSetup &es)
void beginJob ()
 BeginJob.
void beginLuminosityBlock (const edm::LuminosityBlock &l, const edm::EventSetup &c)
 BeginLumiBlock.
void beginRun (const edm::Run &r, const edm::EventSetup &c)
void beginRun ()
 BeginRun.
void cleanup (void)
 Cleanup.
void endJob (void)
 EndJob.
void endLuminosityBlock (const edm::LuminosityBlock &l, const edm::EventSetup &c)
 EndLumiBlock.
void endRun ()
 EndRun.
void endRun (const edm::Run &r, const edm::EventSetup &c)
void reset (void)
 Reset.
void setup (void)
 Setup.
void softReset (bool flag)
 SoftReset.
void writeChannelStatus ()
void writeHtml ()
 ZDCMonitorClient (std::string myname, const edm::ParameterSet &ps)
 Constructors.
virtual ~ZDCMonitorClient ()
 Destructor.

Private Attributes

std::string baseHtmlDir_
bool begin_run_
HcalChannelQualitychanquality_
std::vector< HcalBaseDQClient * > clients_
bool cloneME_
time_t current_time_
std::string databasedir_
int databaseFirstUpdate_
int databaseUpdateTime_
int debug_
DQMStoredqmStore_
bool enableCleanup_
std::vector< std::string > enabledClients_
bool end_run_
int evt_
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_
int LumiCounter
bool mergeRuns_
int NZDC_GoodLumiCounter
double NZDC_LumiRatio
bool Online_
std::string prefixME_
int prescaleFactor_
int PZDC_GoodLumiCounter
double PZDC_LumiRatio
int run_
bool saveByLumiSection_
std::string subdir_
HcalSummaryClientsummaryClient_
int updateTime_
MonitorElementZDCChannelSummary_
MonitorElementZDCColdChannelFraction_
MonitorElementZDCDeadChannelFraction_
MonitorElementZDCDigiErrorFraction_
std::vector< double > ZDCGoodLumi_
MonitorElementZDCHotChannelFraction_
MonitorElementZDCReportSummary_

Detailed Description

Definition at line 20 of file ZDCMonitorClient.h.


Constructor & Destructor Documentation

ZDCMonitorClient::ZDCMonitorClient ( std::string  myname,
const edm::ParameterSet ps 
)

Constructors.

Definition at line 48 of file ZDCMonitorClient.cc.

References baseHtmlDir_, cloneME_, databasedir_, databaseFirstUpdate_, databaseUpdateTime_, debug_, enableCleanup_, edm::ParameterSet::getUntrackedParameter(), htmlFirstUpdate_, htmlUpdateTime_, inputFile_, mergeRuns_, HcalBaseDQClient::name_, Online_, prefixME_, prescaleFactor_, saveByLumiSection_, subdir_, updateTime_, and ZDCGoodLumi_.

                                                                             {
  name_=myname;
  
  inputFile_ = ps.getUntrackedParameter<std::string>("inputFile","");
  mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns", false);
  cloneME_ = ps.getUntrackedParameter<bool>("cloneME", true);
  prescaleFactor_ = ps.getUntrackedParameter<int>("prescaleFactor", -1);
  prefixME_              = ps.getUntrackedParameter<std::string>("subSystemFolder","Hcal/");
  if (prefixME_.substr(prefixME_.size()-1,prefixME_.size())!="/")
    prefixME_.append("/");
  enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);
  
  updateTime_ = ps.getUntrackedParameter<int>("UpdateTime",0);
  baseHtmlDir_ = ps.getUntrackedParameter<std::string>("baseHtmlDir", "");
  htmlUpdateTime_ = ps.getUntrackedParameter<int>("htmlUpdateTime", 0);
  htmlFirstUpdate_ = ps.getUntrackedParameter<int>("htmlFirstUpdate",20);
  databasedir_   = ps.getUntrackedParameter<std::string>("databaseDir","");
  databaseUpdateTime_ = ps.getUntrackedParameter<int>("databaseUpdateTime",0);
  databaseFirstUpdate_ = ps.getUntrackedParameter<int>("databaseFirstUpdate",10);

  saveByLumiSection_  = ps.getUntrackedParameter<bool>("saveByLumiSection",false);
  Online_             = ps.getUntrackedParameter<bool>("online",false);
 
  subdir_                = ps.getUntrackedParameter<std::string>("ZDCFolder","ZDCMonitor_Hcal/"); // DeadCellMonitor_Hcal  
  if (subdir_.size()>0 && subdir_.substr(subdir_.size()-1,subdir_.size())!="/")
    subdir_.append("/");
  subdir_=prefixME_+subdir_;

  debug_              = ps.getUntrackedParameter<int>("debug",0);
  ZDCGoodLumi_        = ps.getUntrackedParameter<std::vector<double> > ("ZDC_QIValueForGoodLS");

}
ZDCMonitorClient::~ZDCMonitorClient ( ) [virtual]

Destructor.

Definition at line 83 of file ZDCMonitorClient.cc.

References gather_cfg::cout, and debug_.

                                   {

  if (debug_>0) std::cout << "ZDCMonitorClient: Exit ..." << std::endl;
}

Member Function Documentation

void ZDCMonitorClient::analyze ( void  ) [virtual]

Analyze.

now we will make the channel summary map

Reimplemented from HcalBaseDQClient.

Definition at line 266 of file ZDCMonitorClient.cc.

References gather_cfg::cout, debug_, dqmStore_, DQMStore::get(), i, LumiCounter, NZDC_GoodLumiCounter, NZDC_LumiRatio, PZDC_GoodLumiCounter, PZDC_LumiRatio, alignCSCRings::s, MonitorElement::setBinContent(), subdir_, ZDCChannelSummary_, ZDCColdChannelFraction_, ZDCDeadChannelFraction_, ZDCDigiErrorFraction_, ZDCGoodLumi_, ZDCHotChannelFraction_, and ZDCReportSummary_.

Referenced by endRun().

{
  if (debug_>0) 
    std::cout <<"<ZDCMonitorClient> Entered ZDCMonitorClient::analyze()"<<std::endl;
  if(debug_>1) std::cout<<"\nZDC Monitor Client heartbeat...."<<std::endl;
  
  float ChannelRatio[18]={0};
   //dqmStore_->runQTests();
  
  // Make a rate plot, by first getting plots from tasks
  MonitorElement* me;
  std::string s;


  s=subdir_+"Errors/Digis/ZDC_Digi_Errors";  // prefixME_ = "Hcal/"
  me=dqmStore_->get(s.c_str());

  TH2F* ZdcDigiErrors=0;
  if (me!=0)
    {
      ZdcDigiErrors=HcalUtilsClient::getHisto<TH2F*>(me,false,0,0);
      if (ZdcDigiErrors!=0)
        {
          int num_events_digis = ZdcDigiErrors->GetBinContent(-1,-1);
          if(num_events_digis != 0)
            {
              for (int i=0;i<18;++i)
                {
                  ZDCDigiErrorFraction_->setBinContent((i/9)+1,(i%9)+1,(ZdcDigiErrors->GetBinContent((i/9)+1,(i%9)+1)*1./num_events_digis));
                }
            }
        }
    }


  // Now get Hot Channel plot, used normalized values (num hot/event) in ZDCHotChannelFraction_
  s=subdir_+"Errors/HotChannel/ZDC_Hot_Channel_Errors";
  me=dqmStore_->get(s.c_str());
  TH2F* ZdcHotChannel=0;
  if (me!=0)
    {
      ZdcHotChannel=HcalUtilsClient::getHisto<TH2F*>(me,false,0,0);
      if (ZdcHotChannel!=0)
        {
          int num_events_hot = ZdcHotChannel->GetBinContent(-1,-1);
          if(num_events_hot!=0)
            {
              for (int i=0;i<18;++i)
                {
                  ZDCHotChannelFraction_->setBinContent((i/9)+1,(i%9)+1,((ZdcHotChannel->GetBinContent((i/9)+1,(i%9)+1))*1./num_events_hot));
                }
            }                    
        }     
    } // if (me!=0)


  //Now get Cold Channel plot, used normalized values (num Cold/event) in ZDCColdChannelFraction_
  s=subdir_+"Errors/ColdChannel/ZDC_Cold_Channel_Errors";
  me=dqmStore_->get(s.c_str());
  TH2F* ZdcColdChannel=0;
  if (me!=0)
    {
      ZdcColdChannel=HcalUtilsClient::getHisto<TH2F*>(me,false,0,0);
      if ((ZdcColdChannel)!=0)
        {
          int num_events_cold = ZdcColdChannel->GetBinContent(-1,-1);
          if(num_events_cold!=0)
            {
              for (int i=0;i<18;++i)
                {
                  ZDCColdChannelFraction_->setBinContent((i/9)+1,(i%9)+1,((ZdcColdChannel->GetBinContent((i/9)+1,(i%9)+1))*1./num_events_cold));
                }
            }
        }
    }


  //Now get Cold Channel plot, used normalized values (num Cold/event) in ZDCHotChannelFraction_
  s=subdir_+"Errors/DeadChannel/ZDC_Dead_Channel_Errors";
  me=dqmStore_->get(s.c_str());
  TH2F* ZdcDeadChannel=0;
  if (me!=0)
    {
      ZdcDeadChannel=HcalUtilsClient::getHisto<TH2F*>(me,false,0,0);
      if ((ZdcDeadChannel)!=0)
        {
          int num_events_dead = ZdcDeadChannel->GetBinContent(-1,-1);
          if(num_events_dead!=0)
            {
              for (int i=0;i<18;++i)
                {
                  ZDCDeadChannelFraction_->setBinContent((i/9)+1,(i%9)+1,(ZdcDeadChannel->GetBinContent((i/9)+1,(i%9)+1))*1./num_events_dead);
                }
            }
        }
    }





  //     This simply takes the total errors that each channel got (Cold,hot, digi error) sums them up from the 
  //  totalchannelerrors plot and turns them into a rate. 1-errorrate be the number displayed.            //


  s=subdir_+"Errors/ZDC_TotalChannelErrors";
  me=dqmStore_->get(s.c_str());
  TH2F* ZdcTotalErrors=0;
  if (me!=0)
    {
      ZdcTotalErrors=HcalUtilsClient::getHisto<TH2F*>(me,false,0,0);
      int num_events_errors = ZdcTotalErrors->GetBinContent(-1,-1);
      if(num_events_errors!=0)
        {
          for (int i=0;i<18;++i)
            {
              ChannelRatio[i]=(ZdcTotalErrors->GetBinContent((i/9)+1,(i%9)+1))*1./num_events_errors;
              ZDCChannelSummary_->setBinContent((i/9)+1,(i%9)+1,1-ChannelRatio[i]);
            }
        }
    }


  //     This is a ratio of GoodLumis/TotalLumis. The determination of which is made by the Quality Index plots.            //

  LumiCounter=0;
  PZDC_GoodLumiCounter=0;
  PZDC_LumiRatio=0.;
  NZDC_GoodLumiCounter=0;
  NZDC_LumiRatio=0.;
  s=subdir_+"EventsVsLS";
  me=dqmStore_->get(s.c_str());
  TH1F* EventsvsLs=0;
  if (me!=0)
    EventsvsLs=HcalUtilsClient::getHisto<TH1F*>(me,false,0,0);
  s=subdir_+"PZDC_QualityIndexVSLB";
  me=dqmStore_->get(s.c_str());
  TH1F* Pzdc_QI=0;
  if (me!=0)
    Pzdc_QI=HcalUtilsClient::getHisto<TH1F*>(me,false,0,0);
  s=subdir_+"NZDC_QualityIndexVSLB";
  me=dqmStore_->get(s.c_str());
  TH1F* Nzdc_QI=0;
  if (me!=0)
    Nzdc_QI=HcalUtilsClient::getHisto<TH1F*>(me,false,0,0);
  
  if(EventsvsLs!=0 && Pzdc_QI!=0 && Nzdc_QI!=0)
    {
      for (int i=1;i<=EventsvsLs->GetNbinsX();++i)
        {
          if (EventsvsLs->GetBinContent(i)==0)
            continue;
          LumiCounter+=1;

          if(Pzdc_QI!=0)
            if(Pzdc_QI->GetBinContent(i)>ZDCGoodLumi_[0])
              PZDC_GoodLumiCounter+=1;

          if(Nzdc_QI!=0)
            if(Nzdc_QI->GetBinContent(i)>ZDCGoodLumi_[1])
              NZDC_GoodLumiCounter+=1;

          PZDC_LumiRatio=PZDC_GoodLumiCounter*(1./LumiCounter);
          NZDC_LumiRatio=NZDC_GoodLumiCounter*(1./LumiCounter);
        }
    }

  ZDCReportSummary_->setBinContent(1,1,PZDC_LumiRatio);
  ZDCReportSummary_->setBinContent(2,1,NZDC_LumiRatio);

  return;
}
void ZDCMonitorClient::analyze ( const edm::Event evt,
const edm::EventSetup es 
)
void ZDCMonitorClient::beginJob ( void  ) [virtual]

BeginJob.

Reimplemented from HcalBaseDQClient.

Definition at line 90 of file ZDCMonitorClient.cc.

References gather_cfg::cout, debug_, dqmStore_, cppFunctionSkipper::operator, and DQMStore::showDirStructure().

{
  dqmStore_ = edm::Service<DQMStore>().operator->();
  if (debug_>0) 
    {
      std::cout <<"<ZDCMonitorClient::beginJob()>  Displaying dqmStore directory structure:"<<std::endl;
      dqmStore_->showDirStructure();
    }
}
void ZDCMonitorClient::beginLuminosityBlock ( const edm::LuminosityBlock l,
const edm::EventSetup c 
)

BeginLumiBlock.

void ZDCMonitorClient::beginRun ( void  ) [virtual]

BeginRun.

Reimplemented from HcalBaseDQClient.

Definition at line 101 of file ZDCMonitorClient.cc.

References begin_run_, DQMStore::book2D(), dqmStore_, end_run_, evt_, DQMStore::get(), MonitorElement::getName(), MonitorElement::getTH2F(), htmlcounter_, i, jevt_, DQMStore::removeElement(), MonitorElement::setBinContent(), DQMStore::setCurrentFolder(), subdir_, ZDCChannelSummary_, ZDCColdChannelFraction_, ZDCDeadChannelFraction_, ZDCDigiErrorFraction_, ZDCHotChannelFraction_, and ZDCReportSummary_.

                                    {

  begin_run_ = true;
  end_run_   = false;

  evt_=0;
  jevt_=0;
  htmlcounter_=0;
  /*  if (!dqmStore_) 
    {
      if (debug_>0) std::cout <<"<ZDCMonitorClient::beginRun> dqmStore does not exist!"<<std::endl;
      return;
      }*/
 //subdir_="Hcal/";
  dqmStore_->setCurrentFolder(subdir_); // what is Hcal/ZDCMonitor/EventInfoDUMMY folder
  
  // Add new histograms; remove those created in previous runs
  // prefixMe = Hcal/

  ZDCChannelSummary_=dqmStore_->get(subdir_ + "ZDC_Channel_Summary");
  if (ZDCChannelSummary_) dqmStore_->removeElement(ZDCChannelSummary_->getName());
  ZDCChannelSummary_= dqmStore_->book2D("ZDC_Channel_Summary", "Fraction of Events where ZDC Channels had no Errors" , 2, 0, 2, 9, 0, 9); //This is the histo which will show the health of each ZDC Channel
  for (int i=0;i<18;++i)
    {
      ZDCChannelSummary_->setBinContent(i/9,i%9,-1);
    }
  (ZDCChannelSummary_->getTH2F())->GetXaxis()->SetBinLabel(1,"ZDC+");
  (ZDCChannelSummary_->getTH2F())->GetXaxis()->SetBinLabel(2,"ZDC-");
  (ZDCChannelSummary_->getTH2F())->GetYaxis()->SetBinLabel(1,"EM1");
  (ZDCChannelSummary_->getTH2F())->GetYaxis()->SetBinLabel(2,"EM2");
  (ZDCChannelSummary_->getTH2F())->GetYaxis()->SetBinLabel(3,"EM3");
  (ZDCChannelSummary_->getTH2F())->GetYaxis()->SetBinLabel(4,"EM4");
  (ZDCChannelSummary_->getTH2F())->GetYaxis()->SetBinLabel(5,"EM5");
  (ZDCChannelSummary_->getTH2F())->GetYaxis()->SetBinLabel(6,"HAD1");
  (ZDCChannelSummary_->getTH2F())->GetYaxis()->SetBinLabel(7,"HAD2");
  (ZDCChannelSummary_->getTH2F())->GetYaxis()->SetBinLabel(8,"HAD3");
  (ZDCChannelSummary_->getTH2F())->GetYaxis()->SetBinLabel(9,"HAD4");
  (ZDCChannelSummary_->getTH2F())->SetOption("textcolz");  
  (ZDCChannelSummary_->getTH2F())->SetMinimum(-1);
  (ZDCChannelSummary_->getTH2F())->SetMaximum(1);


  
  ZDCReportSummary_ = dqmStore_->get(subdir_ + "ZDC_ReportSummary");
  if (ZDCReportSummary_) dqmStore_->removeElement(ZDCReportSummary_->getName());
  ZDCReportSummary_= dqmStore_->book2D("ZDC_ReportSummary","Fraction of Good Lumis for either ZDC",2,0,2,1,0,1);
          for (int i=0;i<3;++i)
    {
      ZDCReportSummary_->setBinContent(i,1,-1);
    }
  (ZDCReportSummary_->getTH2F())->GetXaxis()->SetBinLabel(1,"ZDC+");
  (ZDCReportSummary_->getTH2F())->GetXaxis()->SetBinLabel(2,"ZDC-");
  (ZDCReportSummary_->getTH2F())->SetOption("textcolz");
  (ZDCReportSummary_->getTH2F())->SetMinimum(-1);
  (ZDCReportSummary_->getTH2F())->SetMaximum(1);

  ZDCHotChannelFraction_ = dqmStore_->get(subdir_+"Errors/HotChannel/ZDC_Hot_Channel_Fraction");
  if (ZDCHotChannelFraction_) dqmStore_->removeElement(ZDCHotChannelFraction_->getName());
  dqmStore_->setCurrentFolder(subdir_ + "Errors/HotChannel");
  ZDCHotChannelFraction_ = dqmStore_->book2D("ZDC_Hot_Channel_Fraction", "Hot Channel Rates in the ZDC Channels", 2, 0, 2, 9, 0, 9); //Hot channel checker for ZDC
   for (int i=0;i<18;++i)
    {
      ZDCHotChannelFraction_->setBinContent(i/9,i%9,-1);
    }
 (ZDCHotChannelFraction_->getTH2F())->GetXaxis()->SetBinLabel(1,"ZDC+");
  (ZDCHotChannelFraction_->getTH2F())->GetXaxis()->SetBinLabel(2,"ZDC-");
  (ZDCHotChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(1,"EM1");
  (ZDCHotChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(2,"EM2");
  (ZDCHotChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(3,"EM3");
  (ZDCHotChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(4,"EM4");
  (ZDCHotChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(5,"EM5");
  (ZDCHotChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(6,"HAD1");
  (ZDCHotChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(7,"HAD2");
  (ZDCHotChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(8,"HAD3");
  (ZDCHotChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(9,"HAD4");
  (ZDCHotChannelFraction_->getTH2F())->SetOption("textcolz");
  (ZDCHotChannelFraction_->getTH2F())->SetMinimum(-1);
  (ZDCHotChannelFraction_->getTH2F())->SetMaximum(1);
 
  ZDCColdChannelFraction_ = dqmStore_->get(subdir_ + "Errors/ColdChannel/ZDC_Cold_Channel_Fraction");
  if (ZDCColdChannelFraction_) dqmStore_->removeElement(ZDCColdChannelFraction_->getName());
  dqmStore_->setCurrentFolder(subdir_ + "Errors/ColdChannel");
  ZDCColdChannelFraction_=dqmStore_->book2D("ZDC_Cold_Channel_Fraction", "Cold Channel Rates in the ZDC Channels", 2, 0, 2,9, 0, 9); //Cold channel checker for ZDC                    
  for (int i=0;i<18;++i)
    {
      ZDCColdChannelFraction_->setBinContent(i/9,i%9,-1);
    }
  (ZDCColdChannelFraction_->getTH2F())->GetXaxis()->SetBinLabel(1,"ZDC+");
  (ZDCColdChannelFraction_->getTH2F())->GetXaxis()->SetBinLabel(2,"ZDC-");
  (ZDCColdChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(1,"EM1");
  (ZDCColdChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(2,"EM2");
  (ZDCColdChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(3,"EM3");
  (ZDCColdChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(4,"EM4");
  (ZDCColdChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(5,"EM5");
  (ZDCColdChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(6,"HAD1");
  (ZDCColdChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(7,"HAD2");
  (ZDCColdChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(8,"HAD3");
  (ZDCColdChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(9,"HAD4");
  (ZDCColdChannelFraction_->getTH2F())->SetOption("textcolz");
  (ZDCColdChannelFraction_->getTH2F())->SetMinimum(-1);
  (ZDCColdChannelFraction_->getTH2F())->SetMaximum(1);

 
  ZDCDeadChannelFraction_ = dqmStore_->get(subdir_ + "Errors/DeadChannel/ZDC_Dead_Channel_Fraction");
  if ( ZDCDeadChannelFraction_) dqmStore_->removeElement(ZDCDeadChannelFraction_->getName());
  dqmStore_->setCurrentFolder(subdir_+ "Errors/DeadChannel");
  ZDCDeadChannelFraction_=dqmStore_->book2D("ZDC_Dead_Channel_Fraction","Dead Channel Rates in the ZDC Channels",2,0,2,9,0,9);
  for (int i=0;i<18;++i)
    {
      ZDCDeadChannelFraction_->setBinContent(i/9,i%9,-1);
    }
  (ZDCDeadChannelFraction_->getTH2F())->GetXaxis()->SetBinLabel(1,"ZDC+");
  (ZDCDeadChannelFraction_->getTH2F())->GetXaxis()->SetBinLabel(2,"ZDC-");
  (ZDCDeadChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(1,"EM1");
  (ZDCDeadChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(2,"EM2");
  (ZDCDeadChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(3,"EM3");
  (ZDCDeadChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(4,"EM4");
  (ZDCDeadChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(5,"EM5");
  (ZDCDeadChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(6,"HAD1");
  (ZDCDeadChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(7,"HAD2");
  (ZDCDeadChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(8,"HAD3");
  (ZDCDeadChannelFraction_->getTH2F())->GetYaxis()->SetBinLabel(9,"HAD4");
  (ZDCDeadChannelFraction_->getTH2F())->SetOption("textcolz");
  (ZDCDeadChannelFraction_->getTH2F())->SetMinimum(-1);
  (ZDCDeadChannelFraction_->getTH2F())->SetMaximum(1);

  ZDCDigiErrorFraction_ = dqmStore_->get(subdir_ + "Errors/Digis/ZDC_Digi_Error_Fraction");
  if (ZDCDigiErrorFraction_) dqmStore_->removeElement(ZDCDigiErrorFraction_->getName());
  dqmStore_->setCurrentFolder(subdir_ + "Errors/Digis");
  ZDCDigiErrorFraction_=dqmStore_->book2D("ZDC_Digi_Error_Fraction", "Digi Error Rates in the ZDC Channels", 2, 0, 2,9, 0, 9); //Hot channel checker for ZDC                    
  for (int i=0;i<18;++i)
    {
      ZDCDigiErrorFraction_->setBinContent(i/9,i%9,-1);
    }
  (ZDCDigiErrorFraction_->getTH2F())->GetXaxis()->SetBinLabel(2,"ZDC-");
  (ZDCDigiErrorFraction_->getTH2F())->GetXaxis()->SetBinLabel(1,"EM1");
  (ZDCDigiErrorFraction_->getTH2F())->GetYaxis()->SetBinLabel(2,"EM2");
  (ZDCDigiErrorFraction_->getTH2F())->GetYaxis()->SetBinLabel(3,"EM3");
  (ZDCDigiErrorFraction_->getTH2F())->GetYaxis()->SetBinLabel(4,"EM4");
  (ZDCDigiErrorFraction_->getTH2F())->GetYaxis()->SetBinLabel(5,"EM5");
  (ZDCDigiErrorFraction_->getTH2F())->GetYaxis()->SetBinLabel(6,"HAD1");
  (ZDCDigiErrorFraction_->getTH2F())->GetYaxis()->SetBinLabel(7,"HAD2");
  (ZDCDigiErrorFraction_->getTH2F())->GetYaxis()->SetBinLabel(8,"HAD3");
  (ZDCDigiErrorFraction_->getTH2F())->GetYaxis()->SetBinLabel(9,"HAD4");
  (ZDCDigiErrorFraction_->getTH2F())->SetOption("textcolz");
  (ZDCDigiErrorFraction_->getTH2F())->SetMinimum(-1);
  (ZDCDigiErrorFraction_->getTH2F())->SetMaximum(1);  
}
void ZDCMonitorClient::beginRun ( const edm::Run r,
const edm::EventSetup c 
)
void ZDCMonitorClient::cleanup ( void  ) [virtual]

Cleanup.

Reimplemented from HcalBaseDQClient.

Definition at line 264 of file ZDCMonitorClient.cc.

{}
void ZDCMonitorClient::endJob ( void  ) [virtual]

EndJob.

Reimplemented from HcalBaseDQClient.

Definition at line 252 of file ZDCMonitorClient.cc.

References gather_cfg::cout, debug_, and ievt_.

                                  {

  if( debug_>0 ) 
    std::cout << "ZDCMonitorClient: endJob, ievt = " << ievt_ << std::endl;

  return;
}
void ZDCMonitorClient::endLuminosityBlock ( const edm::LuminosityBlock l,
const edm::EventSetup c 
)

EndLumiBlock.

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

EndRun.

Reimplemented from HcalBaseDQClient.

Definition at line 261 of file ZDCMonitorClient.cc.

References analyze().

{analyze();}
void ZDCMonitorClient::reset ( void  )

Reset.

void ZDCMonitorClient::setup ( void  ) [virtual]

Setup.

Reimplemented from HcalBaseDQClient.

Definition at line 263 of file ZDCMonitorClient.cc.

{}
void ZDCMonitorClient::softReset ( bool  flag)

SoftReset.

void ZDCMonitorClient::writeChannelStatus ( )
void ZDCMonitorClient::writeHtml ( )

Member Data Documentation

std::string ZDCMonitorClient::baseHtmlDir_ [private]

Definition at line 105 of file ZDCMonitorClient.h.

Referenced by ZDCMonitorClient().

Definition at line 80 of file ZDCMonitorClient.h.

Referenced by beginRun().

Definition at line 127 of file ZDCMonitorClient.h.

Definition at line 124 of file ZDCMonitorClient.h.

Reimplemented from HcalBaseDQClient.

Definition at line 98 of file ZDCMonitorClient.h.

Referenced by ZDCMonitorClient().

Definition at line 119 of file ZDCMonitorClient.h.

std::string ZDCMonitorClient::databasedir_ [private]

Definition at line 107 of file ZDCMonitorClient.h.

Referenced by ZDCMonitorClient().

Definition at line 109 of file ZDCMonitorClient.h.

Referenced by ZDCMonitorClient().

Definition at line 108 of file ZDCMonitorClient.h.

Referenced by ZDCMonitorClient().

int ZDCMonitorClient::debug_ [private]

Reimplemented from HcalBaseDQClient.

Definition at line 95 of file ZDCMonitorClient.h.

Referenced by analyze(), beginJob(), endJob(), ZDCMonitorClient(), and ~ZDCMonitorClient().

Reimplemented from HcalBaseDQClient.

Definition at line 126 of file ZDCMonitorClient.h.

Referenced by analyze(), beginJob(), and beginRun().

Reimplemented from HcalBaseDQClient.

Definition at line 101 of file ZDCMonitorClient.h.

Referenced by ZDCMonitorClient().

std::vector<std::string > ZDCMonitorClient::enabledClients_ [private]

Definition at line 102 of file ZDCMonitorClient.h.

Definition at line 81 of file ZDCMonitorClient.h.

Referenced by beginRun().

int ZDCMonitorClient::evt_ [private]

Definition at line 79 of file ZDCMonitorClient.h.

Referenced by beginRun().

Definition at line 112 of file ZDCMonitorClient.h.

Referenced by beginRun().

Definition at line 110 of file ZDCMonitorClient.h.

Referenced by ZDCMonitorClient().

Definition at line 106 of file ZDCMonitorClient.h.

Referenced by ZDCMonitorClient().

int ZDCMonitorClient::ievt_ [private]

Definition at line 76 of file ZDCMonitorClient.h.

Referenced by endJob().

std::string ZDCMonitorClient::inputFile_ [private]

Definition at line 96 of file ZDCMonitorClient.h.

Referenced by ZDCMonitorClient().

int ZDCMonitorClient::jevt_ [private]

Definition at line 77 of file ZDCMonitorClient.h.

Referenced by beginRun().

Definition at line 122 of file ZDCMonitorClient.h.

Definition at line 121 of file ZDCMonitorClient.h.

Definition at line 120 of file ZDCMonitorClient.h.

Definition at line 84 of file ZDCMonitorClient.h.

Referenced by analyze().

Definition at line 97 of file ZDCMonitorClient.h.

Referenced by ZDCMonitorClient().

Definition at line 86 of file ZDCMonitorClient.h.

Referenced by analyze().

Definition at line 88 of file ZDCMonitorClient.h.

Referenced by analyze().

bool ZDCMonitorClient::Online_ [private]

Reimplemented from HcalBaseDQClient.

Definition at line 115 of file ZDCMonitorClient.h.

Referenced by ZDCMonitorClient().

std::string ZDCMonitorClient::prefixME_ [private]

Reimplemented from HcalBaseDQClient.

Definition at line 100 of file ZDCMonitorClient.h.

Referenced by ZDCMonitorClient().

Definition at line 99 of file ZDCMonitorClient.h.

Referenced by ZDCMonitorClient().

Definition at line 85 of file ZDCMonitorClient.h.

Referenced by analyze().

Definition at line 87 of file ZDCMonitorClient.h.

Referenced by analyze().

int ZDCMonitorClient::run_ [private]

Definition at line 78 of file ZDCMonitorClient.h.

Definition at line 114 of file ZDCMonitorClient.h.

Referenced by ZDCMonitorClient().

std::string ZDCMonitorClient::subdir_ [private]

Reimplemented from HcalBaseDQClient.

Definition at line 116 of file ZDCMonitorClient.h.

Referenced by analyze(), beginRun(), and ZDCMonitorClient().

Definition at line 129 of file ZDCMonitorClient.h.

Definition at line 104 of file ZDCMonitorClient.h.

Referenced by ZDCMonitorClient().

Definition at line 132 of file ZDCMonitorClient.h.

Referenced by analyze(), and beginRun().

Definition at line 134 of file ZDCMonitorClient.h.

Referenced by analyze(), and beginRun().

Definition at line 135 of file ZDCMonitorClient.h.

Referenced by analyze(), and beginRun().

Definition at line 136 of file ZDCMonitorClient.h.

Referenced by analyze(), and beginRun().

std::vector<double> ZDCMonitorClient::ZDCGoodLumi_ [private]

Definition at line 93 of file ZDCMonitorClient.h.

Referenced by analyze(), and ZDCMonitorClient().

Definition at line 133 of file ZDCMonitorClient.h.

Referenced by analyze(), and beginRun().

Definition at line 137 of file ZDCMonitorClient.h.

Referenced by analyze(), and beginRun().