test
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
HcalZDCMonitor Class Reference

#include <HcalZDCMonitor.h>

Inheritance diagram for HcalZDCMonitor:
HcalBaseMonitor

Public Member Functions

void endLuminosityBlock (void)
 
 HcalZDCMonitor ()
 
void processEvent (const ZDCDigiCollection &digi, const ZDCRecHitCollection &rechit, const HcalUnpackerReport &report)
 
void reset ()
 
void setup (const edm::ParameterSet &ps, DQMStore::IBooker &ib)
 
 ~HcalZDCMonitor ()
 
- Public Member Functions inherited from HcalBaseMonitor
void beginLuminosityBlock (int lb)
 
virtual void beginRun ()
 
virtual void clearME ()
 
virtual void done ()
 
void endLuminosityBlock ()
 
bool getDiagnostics () const
 
int getVerbosity () const
 
 HcalBaseMonitor ()
 
void hideKnownBadCells ()
 
virtual void periodicReset ()
 
void processEvent ()
 
void setDiagnostics (bool myval)
 
void setMinMaxHists1D (std::vector< MonitorElement * > &hh, double min, double max)
 
void setMinMaxHists2D (std::vector< MonitorElement * > &hh, double min, double max)
 
void setupDepthHists1D (DQMStore::IBooker &ib, MonitorElement *&h, std::vector< MonitorElement * > &hh, std::string Name, std::string Units, int lowbound, int highbound, int Nbins)
 
void setupDepthHists1D (DQMStore::IBooker &ib, std::vector< MonitorElement * > &hh, std::string Name, std::string Units, int lowbound, int highbound, int Nbins)
 
void setupDepthHists2D (DQMStore::IBooker &ib, MonitorElement *&h, std::vector< MonitorElement * > &hh, std::string Name, std::string Units)
 
void setupDepthHists2D (DQMStore::IBooker &ib, std::vector< MonitorElement * > &hh, std::string Name, std::string Units)
 
void setupDepthHists2D (DQMStore::IBooker &ib, MonitorElement *&h, std::vector< MonitorElement * > &hh, std::string Name, std::string Units, int nbinsx, int lowboundx, int highboundx, int nbinsy, int lowboundy, int highboundy)
 
void setupDepthHists2D (DQMStore::IBooker &ib, std::vector< MonitorElement * > &hh, std::string Name, std::string Units, int nbinsx, int lowboundx, int highboundx, int nbinsy, int lowboundy, int highboundy)
 
void SetupEtaPhiHists (DQMStore::IBooker &ib, MonitorElement *&h, EtaPhiHists &hh, std::string Name, std::string Units)
 
void SetupEtaPhiHists (DQMStore::IBooker &ib, EtaPhiHists &hh, std::string Name, std::string Units)
 
void setVerbosity (int verb)
 
bool vetoCell (HcalDetId &id)
 
virtual ~HcalBaseMonitor ()
 

Private Member Functions

double getTime (const std::vector< double > &fData, unsigned int ts_min, unsigned int ts_max, double &fSum)
 

Private Attributes

bool ChannelHasDigiError [18]
 
float ChannelRatio [18]
 
std::vector< double > ChannelWeighting_
 
bool checkZDC_
 
int ColdChannelCounter [18]
 
int DeadChannelCounter [18]
 
bool DeadChannelError [18]
 
bool DigiErrorCAPID [18]
 
bool DigiErrorDVER [18]
 
int EventCounter
 
MonitorElementEventsVsLS
 
MonitorElementh_2D_charge
 
MonitorElementh_2D_RecHitEnergy
 
MonitorElementh_2D_RecHitTime
 
MonitorElementh_2D_saturation
 
MonitorElementh_2D_TSMean
 
MonitorElementh_ZDCM_EM_Charge [5]
 
MonitorElementh_ZDCM_EM_Pulse [5]
 
MonitorElementh_ZDCM_EM_RecHitEnergy [5]
 
MonitorElementh_ZDCM_EM_RecHitTiming [5]
 
MonitorElementh_ZDCM_EM_TSMean [5]
 
MonitorElementh_ZDCM_HAD_Charge [4]
 
MonitorElementh_ZDCM_HAD_Pulse [4]
 
MonitorElementh_ZDCM_HAD_RecHitEnergy [4]
 
MonitorElementh_ZDCM_HAD_RecHitTiming [4]
 
MonitorElementh_ZDCM_HAD_TSMean [4]
 
MonitorElementh_ZDCP_EM_Charge [5]
 
MonitorElementh_ZDCP_EM_Pulse [5]
 
MonitorElementh_ZDCP_EM_RecHitEnergy [5]
 
MonitorElementh_ZDCP_EM_RecHitTiming [5]
 
MonitorElementh_ZDCP_EM_TSMean [5]
 
MonitorElementh_ZDCP_HAD_Charge [4]
 
MonitorElementh_ZDCP_HAD_Pulse [4]
 
MonitorElementh_ZDCP_HAD_RecHitEnergy [4]
 
MonitorElementh_ZDCP_HAD_RecHitTiming [4]
 
MonitorElementh_ZDCP_HAD_TSMean [4]
 
bool HotChannelError [18]
 
int ievt_
 
std::vector< double > MaxErrorRates_
 
MonitorElementmeEVT_
 
int NLumiBlocks_
 
int NumBadZDC
 
MonitorElementNZDC_QualityIndexVsLB_
 
int OfflineColdThreshold_
 
int OfflineDeadThreshold_
 
int OnlineColdThreshold_
 
int OnlineDeadThreshold_
 
MonitorElementProblemsVsLB_ZDC
 
MonitorElementPZDC_QualityIndexVsLB_
 
int TotalChannelErrors [18]
 
MonitorElementZDC_Cold_Channel_Errors
 
MonitorElementZDC_ColdChannelErrorsVsLS
 
MonitorElementZDC_Dead_Channel_Errors
 
MonitorElementZDC_DeadChannelErrorsVsLS
 
MonitorElementZDC_Digi_Errors
 
MonitorElementZDC_DigiErrors_CAPID
 
MonitorElementZDC_DigiErrors_DVER
 
MonitorElementZDC_DigiErrorsVsLS
 
MonitorElementZDC_Hot_Channel_Errors
 
MonitorElementZDC_HotChannelErrorsVsLS
 
MonitorElementZDC_TotalChannelErrors
 

Additional Inherited Members

- Protected Member Functions inherited from HcalBaseMonitor
void LumiBlockUpdate (int lb)
 
- Protected Attributes inherited from HcalBaseMonitor
std::vector< int > AllowedCalibTypes_
 
std::vector< std::string > badCells_
 
std::string baseFolder_
 
bool checkHB_
 
bool checkHE_
 
bool checkHF_
 
bool checkHO_
 
int checkNevents_
 
edm::CPUTimer cpu_timer
 
bool dump2database
 
int etaBins_
 
double etaMax_
 
double etaMin_
 
int fVerbosity
 
int ievt_
 
bool LBprocessed_
 
int levt_
 
int lumiblock
 
bool makeDiagnostics
 
MonitorElementmeEVT_
 
MonitorElementmeTOTALEVT_
 
double minErrorFlag_
 
int Nlumiblocks_
 
int NumBadHB
 
int NumBadHE
 
int NumBadHF
 
int NumBadHO
 
int oldlumiblock
 
bool Online_
 
int phiBins_
 
double phiMax_
 
double phiMin_
 
MonitorElementProblemCells
 
EtaPhiHists ProblemCellsByDepth
 
MonitorElementProblemsVsLB
 
MonitorElementProblemsVsLB_HB
 
MonitorElementProblemsVsLB_HBHEHF
 
MonitorElementProblemsVsLB_HE
 
MonitorElementProblemsVsLB_HF
 
MonitorElementProblemsVsLB_HO
 
int resetNevents_
 
std::string rootFolder_
 
bool showTiming
 
int tevt_
 

Detailed Description

Author
S.Sen

Definition at line 22 of file HcalZDCMonitor.h.

Constructor & Destructor Documentation

HcalZDCMonitor::HcalZDCMonitor ( )

Definition at line 3 of file HcalZDCMonitor.cc.

HcalZDCMonitor::~HcalZDCMonitor ( )

Definition at line 8 of file HcalZDCMonitor.cc.

8  {
9 }

Member Function Documentation

void HcalZDCMonitor::endLuminosityBlock ( void  )

Definition at line 743 of file HcalZDCMonitor.cc.

References ChannelRatio, ChannelWeighting_, ColdChannelCounter, DeadChannelCounter, HcalBaseMonitor::endLuminosityBlock(), EventCounter, EventsVsLS, MonitorElement::Fill(), h_2D_charge, h_2D_RecHitEnergy, h_2D_RecHitTime, h_2D_TSMean, h_ZDCM_EM_Charge, h_ZDCM_EM_RecHitEnergy, h_ZDCM_EM_RecHitTiming, h_ZDCM_EM_TSMean, h_ZDCM_HAD_Charge, h_ZDCM_HAD_RecHitEnergy, h_ZDCM_HAD_RecHitTiming, h_ZDCM_HAD_TSMean, h_ZDCP_EM_Charge, h_ZDCP_EM_RecHitEnergy, h_ZDCP_EM_RecHitTiming, h_ZDCP_EM_TSMean, h_ZDCP_HAD_Charge, h_ZDCP_HAD_RecHitEnergy, h_ZDCP_HAD_RecHitTiming, h_ZDCP_HAD_TSMean, i, HcalBaseMonitor::lumiblock, MaxErrorRates_, NZDC_QualityIndexVsLB_, OfflineColdThreshold_, OfflineDeadThreshold_, HcalBaseMonitor::Online_, OnlineColdThreshold_, OnlineDeadThreshold_, PZDC_QualityIndexVsLB_, MonitorElement::setBinContent(), TotalChannelErrors, ZDC_Cold_Channel_Errors, ZDC_ColdChannelErrorsVsLS, ZDC_Dead_Channel_Errors, ZDC_DeadChannelErrorsVsLS, and ZDC_TotalChannelErrors.

Referenced by ZDCMonitorModule::endLuminosityBlock().

744 {
745  bool HadLumiError[18]={false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false};
746 
748 
749  if(Online_ == false)
750  {//checks if DQM is in OFFLINE MODE
751  for (int i=0;i<18;++i) {
753  if (ChannelRatio[i] <= MaxErrorRates_[i]) {
754  if (i<9) {
756  } else {
758  }
759  if (ColdChannelCounter[i] >= OfflineColdThreshold_)//Begin Cold Error Plots
760  {
763  ZDC_TotalChannelErrors->Fill(i/9,i%9,ColdChannelCounter[i]);//Can change this between 1, or the amount of errors (Currently the latter)
765  HadLumiError[i]=true;
766  }//END OF Cold Error Plot
768  {//Begin Dead Error Plots
771  ZDC_TotalChannelErrors->Fill(i/9,i%9,DeadChannelCounter[i]); //Could fill this with 1 or total dead errors (which is currently done)
773  HadLumiError[i]=true;
774  }//END OF Dead Channel Plots
775  if (HadLumiError[i]==true)
776  {//Removing the QI for Dead of Cold Channels
777  if (i<9) {
779  } else {
781  }
782  }//END OF QI Removal
783  }//END OF ChannelRatio[i]<=MaxErrorRates_[i]
784  else {
785  //This part only happens if ChannelRatio[i] > MaxErrorRates_[i]...
786  //Above you notice the QI plots become 'un-filled'.
787  //If the plot was never filled to begin with,
788  //then we do not want to remove from the plot causing there to be a negative QI
790  {//Begin Cold Error Plots
795  }//END OF Cold Error Plot
797  {//Begin Dead Error plots
802  }//END OF Dead Error Plots
803  }
804  }//END OF FOR LOOP
805  }//END OF DQM OFFLINE PART
806 
807  if(Online_ == true)
808  {//checks if DQM is in ONLINE MODE
809  for (int i=0;i<18;++i) {
811  if (ChannelRatio[i] <= MaxErrorRates_[i]) {
812  if (i<9) {
814  } else {
816  }
817  if (ColdChannelCounter[i] >= OnlineColdThreshold_)//Begin Cold Error Plots
818  {
821  ZDC_TotalChannelErrors->Fill(i/9,i%9,ColdChannelCounter[i]);//Can change this between 1, or the amount of errors (Currently the latter)
823  HadLumiError[i]=true;
824  }//END OF Cold Error Plot
826  {//Begin Dead Error Plots
829  ZDC_TotalChannelErrors->Fill(i/9,i%9,DeadChannelCounter[i]); //Could fill this with 1 or total dead errors (which is currently done)
831  HadLumiError[i]=true;
832  }//END OF Dead Channel Plots
833  if (HadLumiError[i]==true)
834  {//Removing the QI for Dead of Cold Channels
835  if (i<9) {
837  } else {
839  }
840  }//END OF QI Removal
841  }//END OF ChannelRatio[i]<=MaxErrorRates_[i]
842  else {
843  //This part only happens if ChannelRatio[i] > MaxErrorRates_[i]...
844  //Above you notice the QI plots become 'un-filled'.
845  //If the plot was never filled to begin with,
846  //then we do not want to remove from the plot causing there to be a negative QI
848  {//Begin Cold Error Plots
853  }//END OF Cold Error Plot
855  {//Begin Dead Error plots
860  }//END OF Dead Error Plots
861  }//end of ChannelRatio[i] > MaxErrorRates_[i] part
862  }//END OF FOR LOOP
863  }//END OF DQM ONLINE PART
864 
865 
866 
867 
869 
870  for (int i = 0; i < 5; ++i) { // EM Channels
871  // ZDC Plus
872  h_2D_charge->setBinContent(1, i + 1, h_ZDCP_EM_Charge[i]->getMean());
873  h_2D_TSMean->setBinContent(1, i + 1, h_ZDCP_EM_TSMean[i]->getMean());
874  h_2D_RecHitEnergy->setBinContent(1, i + 1, h_ZDCP_EM_RecHitEnergy[i]->getMean());
875  h_2D_RecHitTime->setBinContent(1, i + 1, h_ZDCP_EM_RecHitTiming[i]->getMean());
876  // ZDC Minus
877  h_2D_charge->setBinContent(2, i + 1, h_ZDCM_EM_Charge[i]->getMean());
878  h_2D_TSMean->setBinContent(2, i + 1, h_ZDCM_EM_TSMean[i]->getMean());
879  h_2D_RecHitEnergy->setBinContent(2, i + 1, h_ZDCM_EM_RecHitEnergy[i]->getMean());
880  h_2D_RecHitTime->setBinContent(2, i + 1, h_ZDCM_EM_RecHitTiming[i]->getMean());
881  }
882 
883  for (int i = 0; i < 4; ++i) { // HAD channels
884  // ZDC Plus
885  h_2D_charge->setBinContent(1, i + 6, h_ZDCP_HAD_Charge[i]->getMean());
886  h_2D_TSMean->setBinContent(1, i + 6, h_ZDCP_HAD_TSMean[i]->getMean());
887  h_2D_RecHitEnergy->setBinContent(1, i + 6, h_ZDCP_HAD_RecHitEnergy[i]->getMean());
888  h_2D_RecHitTime->setBinContent(1, i + 6, h_ZDCP_HAD_RecHitTiming[i]->getMean());
889  // ZDC Minus
890  //h_ZDCM_HAD_Pulse[i]->Scale(10. / h_ZDCM_HAD_Pulse[i]->getEntries());
891  h_2D_charge->setBinContent(2, i + 6, h_ZDCM_HAD_Charge[i]->getMean());
892  h_2D_TSMean->setBinContent(2, i + 6, h_ZDCM_HAD_TSMean[i]->getMean());
893  h_2D_RecHitEnergy->setBinContent(2, i + 6, h_ZDCM_HAD_RecHitEnergy[i]->getMean());
894  h_2D_RecHitTime->setBinContent(2, i + 6, h_ZDCM_HAD_RecHitTiming[i]->getMean());
895  }
896 } // void HcalZDCMonitor::endLuminosityBlock()
MonitorElement * h_ZDCP_HAD_TSMean[4]
int i
Definition: DBlmapReader.cc:9
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * h_ZDCP_HAD_RecHitTiming[4]
MonitorElement * h_ZDCM_HAD_TSMean[4]
int ColdChannelCounter[18]
MonitorElement * h_ZDCM_EM_TSMean[5]
MonitorElement * h_ZDCM_EM_RecHitTiming[5]
MonitorElement * NZDC_QualityIndexVsLB_
MonitorElement * ZDC_Dead_Channel_Errors
MonitorElement * h_2D_TSMean
MonitorElement * h_ZDCM_HAD_RecHitTiming[4]
MonitorElement * h_ZDCP_EM_RecHitEnergy[5]
std::vector< double > ChannelWeighting_
MonitorElement * h_ZDCP_EM_TSMean[5]
MonitorElement * h_ZDCM_EM_Charge[5]
std::vector< double > MaxErrorRates_
MonitorElement * ZDC_DeadChannelErrorsVsLS
void Fill(long long x)
MonitorElement * h_ZDCP_HAD_Charge[4]
MonitorElement * ZDC_ColdChannelErrorsVsLS
MonitorElement * h_2D_charge
MonitorElement * h_2D_RecHitTime
MonitorElement * h_ZDCM_HAD_Charge[4]
MonitorElement * h_ZDCM_HAD_RecHitEnergy[4]
MonitorElement * ZDC_Cold_Channel_Errors
MonitorElement * PZDC_QualityIndexVsLB_
MonitorElement * h_2D_RecHitEnergy
MonitorElement * EventsVsLS
MonitorElement * h_ZDCM_EM_RecHitEnergy[5]
MonitorElement * ZDC_TotalChannelErrors
MonitorElement * h_ZDCP_HAD_RecHitEnergy[4]
int TotalChannelErrors[18]
float ChannelRatio[18]
int DeadChannelCounter[18]
MonitorElement * h_ZDCP_EM_Charge[5]
MonitorElement * h_ZDCP_EM_RecHitTiming[5]
double HcalZDCMonitor::getTime ( const std::vector< double > &  fData,
unsigned int  ts_min,
unsigned int  ts_max,
double &  fSum 
)
private

Definition at line 719 of file HcalZDCMonitor.cc.

Referenced by processEvent().

719  {
720  double weightedTime = 0.;
721  double SumT = 0.;
722  double Time = -999.;
723  double digiThreshf = 99.5;
724 
725  for (unsigned int ts=ts_min; ts<=ts_max; ++ts) {
726  if (fData[ts] > digiThreshf){
727  weightedTime += ts * fData[ts];
728  SumT += fData[ts];
729  }
730  }
731 
732  if (SumT > 0.) {
733  Time = weightedTime / SumT;
734  }
735 
736  fSum = SumT;
737 
738  return Time;
739 
740 } //double HcalZDCMonitor::getTime()
void HcalZDCMonitor::processEvent ( const ZDCDigiCollection digi,
const ZDCRecHitCollection rechit,
const HcalUnpackerReport report 
)

DEAD CELL ERROR/////////////////////////// Right now we are simply checking that the digi exists

Definition at line 389 of file HcalZDCMonitor.cc.

References ecalMGPA::adc(), HcalUnpackerReport::bad_quality_begin(), HcalUnpackerReport::bad_quality_end(), edm::SortedCollection< T, SORT >::begin(), DetId::Calo, HcalQIESample::capid(), ChannelHasDigiError, ColdChannelCounter, gather_cfg::cout, HcalBaseMonitor::cpu_timer, DeadChannelCounter, DeadChannelError, DigiErrorCAPID, DigiErrorDVER, HcalQIESample::dv(), edm::SortedCollection< T, SORT >::end(), HcalQIESample::er(), EventCounter, MonitorElement::Fill(), HcalBaseMonitor::fVerbosity, getTime(), h_2D_saturation, h_ZDCM_EM_Charge, h_ZDCM_EM_Pulse, h_ZDCM_EM_RecHitEnergy, h_ZDCM_EM_RecHitTiming, h_ZDCM_EM_TSMean, h_ZDCM_HAD_Charge, h_ZDCM_HAD_Pulse, h_ZDCM_HAD_RecHitEnergy, h_ZDCM_HAD_RecHitTiming, h_ZDCM_HAD_TSMean, h_ZDCP_EM_Charge, h_ZDCP_EM_Pulse, h_ZDCP_EM_RecHitEnergy, h_ZDCP_EM_RecHitTiming, h_ZDCP_EM_TSMean, h_ZDCP_HAD_Charge, h_ZDCP_HAD_Pulse, h_ZDCP_HAD_RecHitEnergy, h_ZDCP_HAD_RecHitTiming, h_ZDCP_HAD_TSMean, HotChannelError, i, ievt_, HcalBaseMonitor::lumiblock, meEVT_, edm::CPUTimer::reset(), ZDCDataFrame::sample(), HcalBaseMonitor::showTiming, ZDCDataFrame::size(), edm::SortedCollection< T, SORT >::size(), edm::CPUTimer::start(), HcalZDCDetId::SubdetectorId, TotalChannelErrors, ZDC_Cold_Channel_Errors, ZDC_Dead_Channel_Errors, ZDC_Digi_Errors, ZDC_DigiErrors_CAPID, ZDC_DigiErrors_DVER, ZDC_DigiErrorsVsLS, ZDC_Hot_Channel_Errors, ZDC_HotChannelErrorsVsLS, ZDC_TotalChannelErrors, HcalZDCDetId::zside(), and ecaldqm::zside().

Referenced by ZDCMonitorModule::analyze().

389  {
390  if (fVerbosity > 0)
391  std::cout << "<HcalZDCMonitor::processEvent> Processing Event..." << std::endl;
392  if (showTiming)
393  {
394  cpu_timer.reset();
395  cpu_timer.start();
396  }
397  ++ievt_;
398  meEVT_->Fill(ievt_);
399 
400  //--------------------------------------
401  // ZDC Digi part
402  //--------------------------------------
403  double fSum = 0.;
404  std::vector<double> fData;
405  double digiThresh = 99.5; //corresponds to 40 ADC counts
406  //int digiThreshADC = 40;
407  int digiSaturation = 127;
408  //double ZDCQIEConst = 2.6;
409 
410  if (digi.size()>0) {
411  ZDC_Digi_Errors->Fill(-1,-1,1);
412  ZDC_Hot_Channel_Errors->Fill(-1,-1,1);
413  ZDC_TotalChannelErrors->Fill(-1,-1,1);
414  ZDC_Cold_Channel_Errors->Fill(-1,-1,1);
415  ZDC_Dead_Channel_Errors->Fill(-1,-1,1);
416  EventCounter+=1;
417  }
418 
419  for (int i=0;i<18;++i) {
420  ChannelHasDigiError[i]=false;
421  DigiErrorDVER[i]=false;
422  DigiErrorCAPID[i]=false;
423  HotChannelError[i]=false;
424  DeadChannelError[i]=true;
425  }
426 
427  typedef std::vector<DetId> DetIdVector;
428 
429  for (DetIdVector::const_iterator baddigi_iter=report.bad_quality_begin();
430  baddigi_iter != report.bad_quality_end();
431  ++baddigi_iter)
432  {
433  DetId id(baddigi_iter->rawId());
434  if (id.det()==DetId::Calo && id.subdetId()==HcalZDCDetId::SubdetectorId)
435  {
436  HcalZDCDetId id(baddigi_iter->rawId());
437  int iSide = id.zside();
438  int iSection = id.section();
439  int iChannel = id.channel();
440  if(iSection==1 || iSection==2){
441  ChannelHasDigiError[(9*((1-iSide)/2))+(iChannel-1)+(5*((iSection-1)%2))]=true;
442  DeadChannelError[(9*((1-iSide)/2))+(iChannel-1)+(5*((iSection-1)%2))]=false;
443  //do stuff
444  }//end of if i(Section==1 || iSection==2)
445  }
446  else continue;
447 
448  }//end unpacker section
449 
450 
451  // ChannelHasError[18]: [0-8] are iSide=1, [9-17] are iSide=2
452  // First 5 bins ([0-4],[9-13]) are EM bins
453  // Last 4 bins are HAD bins
454 
455  for (ZDCDigiCollection::const_iterator digi_iter = digi.begin();
456  digi_iter != digi.end(); ++digi_iter)
457  {
458  const ZDCDataFrame digi = (const ZDCDataFrame) (*digi_iter);
459  //HcalZDCDetId id(digi_iter->id());
460  int iSide = digi_iter->id().zside();
461  int iSection = digi_iter->id().section();
462  int iChannel = digi_iter->id().channel();
463 
464  unsigned int fTS = digi_iter->size();
465  while (fData.size()<fTS)
466  fData.push_back(-999);
467  while (fData.size()>fTS)
468  fData.pop_back(); // delete last elements
469 
470  if (iSection==1 || iSection==2)
471  {
472 
474 
477  DeadChannelError[(9*((1-iSide)/2))+(iChannel-1)+(5*((iSection-1)%2))]=false;
479 
480  int iCapID=27;
481  int iCapIDPrevious=27;
482  int HotCounter=0;
483  int ColdCounter=0;
484 
485  for (int iTS=0; iTS<digi.size(); ++iTS) //looping over all ten timeslices
486  {
488  if (digi[iTS].adc()==127) HotCounter+=1;
489  else HotCounter=0;//require 3 consecutive saturated Time Slices in a single channel in a single event
490  if (HotCounter >= 3) HotChannelError[(9*((1-iSide)/2))+(iChannel-1)+(5*((iSection-1)%2))]=true;
492 
493 
495  if (digi[iTS].adc()<=10) ColdCounter+=1;
496  if (ColdCounter==10)
497  {
498  ColdChannelCounter[(9*((1-iSide)/2))+(iChannel-1)+(5*((iSection-1)%2))]+=1;
499  }
501 
502 
505  if ((ChannelHasDigiError[(9*((1-iSide)/2))+(iChannel-1)+(5*((iSection-1)%2))]=false))
506  {
507  iCapID=digi.sample(iTS).capid();
508  if (iTS>0) iCapIDPrevious=digi.sample(iTS-1).capid();
509 
510  if (digi.sample(iTS).dv()==0 || digi.sample(iTS).er()==1)
511  {
512  ChannelHasDigiError[(9*((1-iSide)/2))+(iChannel-1)+(5*((iSection-1)%2))]=true;
513  DigiErrorDVER[(9*((1-iSide)/2))+(iChannel-1)+(5*((iSection-1)%2))]=true;
514  break;
515  }
516  else
517  {
518  if (iTS==0) continue;
519  else
520  {
521  if ((iCapID-iCapIDPrevious+4)%4!=1)
522  {
523  ChannelHasDigiError[(9*((1-iSide)/2))+(iChannel-1)+(5*((iSection-1)%2))]=true;
524  DigiErrorCAPID[(9*((1-iSide)/2))+(iChannel-1)+(5*((iSection-1)%2))]=true;
525  break;
526  }//end of capid rotation check
527  }//checking if TS!=0
528  } // end of the check for dv/er
529  }//END of unpacker double check
530  } // end of TS loop
531 
533 
534 
535  fSum = 0.;
536  bool saturated = false;
537  for (unsigned int i = 0; i < fTS; ++i)
538  {
539  //fData[i]=digi[i].nominal_fC() * ZDCQIEConst;
540  fData[i]=digi[i].nominal_fC();
541  if (digi[i].adc()==digiSaturation){
542  saturated=true;
543  }
544  }
545 
546  double fTSMean = 0;
547  if (fData.size()>6)
548  fTSMean = getTime(fData, 4, 6, fSum); // tsmin = 4, tsmax = 6.
549  //std::cout << "Side= " << iSide << " Section= " << iSection << " Channel= " << iChannel << "\tCharge\t" << fSum <<std::endl;
550  if (saturated==true){
551  h_2D_saturation->Fill(iSide==1?0:1,iSection==1?iChannel-1:iChannel+4,1);
552  }
553 
554  if (iSection == 1)
555  { // EM
556  if (iSide == 1) { // Plus
557  for (unsigned int i = 0; i < fTS; ++i) {
558  if (fData[i] > digiThresh) h_ZDCP_EM_Pulse[iChannel - 1]->Fill(i, fData[i]);
559  }
560  if (fSum > digiThresh) {
561  h_ZDCP_EM_Charge[iChannel - 1]->Fill(fSum);
562  h_ZDCP_EM_TSMean[iChannel - 1]->Fill(fTSMean);
563  //std::cout<< "fSum " << fSum << " fTSMean " << fTSMean <<std::endl;
564  }
565  } // Plus
566  if (iSide == -1) { // Minus
567  for (unsigned int i = 0; i < fTS; ++i) {
568  if (fData[i] > digiThresh) h_ZDCM_EM_Pulse[iChannel - 1]->Fill(i, fData[i]);
569  }
570  if (fSum > digiThresh) {
571  h_ZDCM_EM_Charge[iChannel - 1]->Fill(fSum);
572  h_ZDCM_EM_TSMean[iChannel - 1]->Fill(fTSMean);
573  }
574  } // Minus
575  }// EM
576 
577  else if (iSection == 2)
578  { // HAD
579  if (iSide == 1) { // Plus
580  for (unsigned int i = 0; i < fTS; ++i) {
581  if (fData[i] > digiThresh) h_ZDCP_HAD_Pulse[iChannel - 1]->Fill(i, fData[i]);
582  }
583  if (fSum > digiThresh) {
584  h_ZDCP_HAD_Charge[iChannel - 1]->Fill(fSum);
585  h_ZDCP_HAD_TSMean[iChannel - 1]->Fill(fTSMean);
586  }
587  } // Plus
588  if (iSide == -1) { // Minus
589  for (unsigned int i = 0; i < fTS; ++i) {
590  if (fData[i] > digiThresh) h_ZDCM_HAD_Pulse[iChannel - 1]->Fill(i, fData[i]);
591  }
592  if (fSum > digiThresh) {
593  h_ZDCM_HAD_Charge[iChannel - 1]->Fill(fSum);
594  h_ZDCM_HAD_TSMean[iChannel - 1]->Fill(fTSMean);
595  }
596  }// Minus
597  } // HAD
598  }//end of if (iSection==1 || iSection==2)
599  } // loop on zdc digi collection
600 
601 
602 
604  // Fill Fall 2012 histograms
606  int numdigierrors=0;
607  int numhoterrors=0;
608 
609  for (int i = 0; i<18; i++){
610  if (ChannelHasDigiError[i]==true)
611  {
612  ++numdigierrors;
613  ZDC_Digi_Errors->Fill(i/9,i%9,1);
614  }
615  if (DigiErrorDVER[i]==true)
616  {
617  ZDC_DigiErrors_DVER->Fill(i/9,i%9,1);
618  }
619  if (DigiErrorCAPID[i]==true)
620  {
621  ZDC_DigiErrors_CAPID->Fill(i/9,i%9,1);
622  }
623  if(HotChannelError[i]==true)
624  {
625  ++numhoterrors;
626  ZDC_Hot_Channel_Errors->Fill(i/9,(i%9),1);
627  }
628  if(DeadChannelError[i]==true)
629  {
630  DeadChannelCounter[i]+=1;
631  }
632  // If any of the above is true, fill the total channel errors
634  {
635  ZDC_TotalChannelErrors->Fill(i/9,i%9,1);
636  TotalChannelErrors[i]+=1;
637  }
638  }//end the for i<18 loop
639 
640 
641  if (numdigierrors>0)
642  ZDC_DigiErrorsVsLS->Fill(lumiblock,numdigierrors); //could make this ->Fill(currentLS,1) if I want to count each event as only having one error even if multiple channels are in error
643  if (numhoterrors>0)
644  ZDC_HotChannelErrorsVsLS->Fill(lumiblock,numhoterrors);
646  //End of filling Fall 2012 histograms
648 
649 
650  //--------------------------------------
651  // ZDC RecHit part
652  //--------------------------------------
653  for (ZDCRecHitCollection::const_iterator rechit_iter = rechit.begin();
654  rechit_iter != rechit.end(); ++rechit_iter)
655  {
656  int Side = (rechit_iter->id()).zside();
657  int Section = (rechit_iter->id()).section();
658  int Channel = (rechit_iter->id()).channel();
659  //std::cout << "RecHitEnergy " << zhit->energy() << " RecHitTime " << zhit->time() << std::endl;
660 
661  if(Section==1)
662  { //EM
663  if (Side ==1 ){ // Plus
664  h_ZDCP_EM_RecHitEnergy[Channel-1]->Fill(rechit_iter->energy());
665  h_ZDCP_EM_RecHitTiming[Channel-1]->Fill(rechit_iter->time());
666  }
667  if (Side == -1 ){ //Minus
668  h_ZDCM_EM_RecHitEnergy[Channel-1]->Fill(rechit_iter->energy());
669  h_ZDCM_EM_RecHitTiming[Channel-1]->Fill(rechit_iter->time());
670  }
671  } //EM
672  else if(Section==2)
673  { //HAD
674  if (Side ==1 ){ //Plus
675  h_ZDCP_HAD_RecHitEnergy[Channel-1]->Fill(rechit_iter->energy());
676  h_ZDCP_HAD_RecHitTiming[Channel-1]->Fill(rechit_iter->time());
677  }
678  if (Side == -1 ){ //Minus
679  h_ZDCM_HAD_RecHitEnergy[Channel-1]->Fill(rechit_iter->energy());
680  h_ZDCM_HAD_RecHitTiming[Channel-1]->Fill(rechit_iter->time());
681  }
682  } // HAD
683  } // loop on rechits
684 
685 } // end of event processing
int adc(sample_type sample)
get the ADC sample (12 bits)
MonitorElement * h_ZDCP_HAD_TSMean[4]
bool ChannelHasDigiError[18]
int i
Definition: DBlmapReader.cc:9
MonitorElement * ZDC_DigiErrorsVsLS
MonitorElement * h_ZDCP_HAD_RecHitTiming[4]
MonitorElement * h_ZDCM_EM_Pulse[5]
MonitorElement * h_ZDCM_HAD_TSMean[4]
int ColdChannelCounter[18]
void start()
Definition: CPUTimer.cc:74
MonitorElement * ZDC_Hot_Channel_Errors
MonitorElement * h_ZDCM_EM_TSMean[5]
bool HotChannelError[18]
MonitorElement * h_ZDCM_EM_RecHitTiming[5]
MonitorElement * ZDC_Dead_Channel_Errors
MonitorElement * h_ZDCM_HAD_RecHitTiming[4]
MonitorElement * h_ZDCP_EM_RecHitEnergy[5]
int zside() const
get the z-side of the cell (1/-1)
Definition: HcalZDCDetId.h:39
std::vector< ZDCDataFrame >::const_iterator const_iterator
MonitorElement * h_ZDCP_EM_Pulse[5]
bool dv() const
is the Data Valid bit set?
Definition: HcalQIESample.h:28
void reset()
Definition: CPUTimer.cc:107
MonitorElement * h_ZDCP_EM_TSMean[5]
int zside(DetId const &)
MonitorElement * h_ZDCM_EM_Charge[5]
void Fill(long long x)
MonitorElement * ZDC_HotChannelErrorsVsLS
MonitorElement * h_ZDCP_HAD_Charge[4]
const HcalQIESample & sample(int i) const
access a sample
Definition: ZDCDataFrame.h:39
MonitorElement * ZDC_DigiErrors_CAPID
bool DigiErrorDVER[18]
MonitorElement * ZDC_DigiErrors_DVER
DetIdVector::const_iterator bad_quality_begin() const
MonitorElement * h_2D_saturation
edm::CPUTimer cpu_timer
MonitorElement * h_ZDCM_HAD_Charge[4]
MonitorElement * h_ZDCM_HAD_RecHitEnergy[4]
MonitorElement * ZDC_Cold_Channel_Errors
const_iterator end() const
Definition: DetId.h:18
double getTime(const std::vector< double > &fData, unsigned int ts_min, unsigned int ts_max, double &fSum)
static const int SubdetectorId
Definition: HcalZDCDetId.h:25
bool DigiErrorCAPID[18]
int capid() const
get the Capacitor id
Definition: HcalQIESample.h:26
bool DeadChannelError[18]
MonitorElement * h_ZDCP_HAD_Pulse[4]
int size() const
total number of samples in the digi
Definition: ZDCDataFrame.h:26
MonitorElement * meEVT_
MonitorElement * h_ZDCM_EM_RecHitEnergy[5]
MonitorElement * ZDC_Digi_Errors
size_type size() const
MonitorElement * ZDC_TotalChannelErrors
MonitorElement * h_ZDCP_HAD_RecHitEnergy[4]
int TotalChannelErrors[18]
tuple cout
Definition: gather_cfg.py:145
DQMChannel Channel
int DeadChannelCounter[18]
MonitorElement * h_ZDCP_EM_Charge[5]
bool er() const
is the error bit set?
Definition: HcalQIESample.h:30
const_iterator begin() const
DetIdVector::const_iterator bad_quality_end() const
MonitorElement * h_ZDCP_EM_RecHitTiming[5]
MonitorElement * h_ZDCM_HAD_Pulse[4]
void HcalZDCMonitor::reset ( void  )

Definition at line 10 of file HcalZDCMonitor.cc.

Referenced by ZDCMonitorModule::reset().

10  {
11 }
void HcalZDCMonitor::setup ( const edm::ParameterSet ps,
DQMStore::IBooker ib 
)
virtual

Reimplemented from HcalBaseMonitor.

Definition at line 13 of file HcalZDCMonitor.cc.

References HcalBaseMonitor::baseFolder_, DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), DQMStore::IBooker::bookInt(), ChannelWeighting_, ColdChannelCounter, gather_cfg::cout, HcalBaseMonitor::cpu_timer, DeadChannelCounter, EventCounter, EventsVsLS, MonitorElement::Fill(), HcalBaseMonitor::fVerbosity, edm::ParameterSet::getParameter(), MonitorElement::getTH2F(), edm::ParameterSet::getUntrackedParameter(), h_2D_charge, h_2D_RecHitEnergy, h_2D_RecHitTime, h_2D_saturation, h_2D_TSMean, h_ZDCM_EM_Charge, h_ZDCM_EM_Pulse, h_ZDCM_EM_RecHitEnergy, h_ZDCM_EM_RecHitTiming, h_ZDCM_EM_TSMean, h_ZDCM_HAD_Charge, h_ZDCM_HAD_Pulse, h_ZDCM_HAD_RecHitEnergy, h_ZDCM_HAD_RecHitTiming, h_ZDCM_HAD_TSMean, h_ZDCP_EM_Charge, h_ZDCP_EM_Pulse, h_ZDCP_EM_RecHitEnergy, h_ZDCP_EM_RecHitTiming, h_ZDCP_EM_TSMean, h_ZDCP_HAD_Charge, h_ZDCP_HAD_Pulse, h_ZDCP_HAD_RecHitEnergy, h_ZDCP_HAD_RecHitTiming, h_ZDCP_HAD_TSMean, i, ievt_, MaxErrorRates_, meEVT_, mergeVDriftHistosByStation::name, NLumiBlocks_, NZDC_QualityIndexVsLB_, OfflineColdThreshold_, OfflineDeadThreshold_, OnlineColdThreshold_, OnlineDeadThreshold_, PZDC_QualityIndexVsLB_, edm::CPUTimer::reset(), HcalBaseMonitor::rootFolder_, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::IBooker::setCurrentFolder(), HcalBaseMonitor::setup(), HcalBaseMonitor::showTiming, edm::CPUTimer::start(), indexGen::title, ZDC_Cold_Channel_Errors, ZDC_ColdChannelErrorsVsLS, ZDC_Dead_Channel_Errors, ZDC_DeadChannelErrorsVsLS, ZDC_Digi_Errors, ZDC_DigiErrors_CAPID, ZDC_DigiErrors_DVER, ZDC_DigiErrorsVsLS, ZDC_Hot_Channel_Errors, ZDC_HotChannelErrorsVsLS, and ZDC_TotalChannelErrors.

Referenced by ZDCMonitorModule::bookHistograms().

13  {
14  HcalBaseMonitor::setup(ps, ib);
15 
16  baseFolder_ = rootFolder_ + "ZDCMonitor_Hcal";
17 
18  const edm::ParameterSet& psZDC(ps.getParameter<edm::ParameterSet>("zdcMonitorTask"));
19  NLumiBlocks_ = psZDC.getUntrackedParameter<int>("NLumiBlocks",4000);
20  ChannelWeighting_ = psZDC.getUntrackedParameter<std::vector<double>> ("ZDC_ChannelWeighting");
21  MaxErrorRates_ = psZDC.getUntrackedParameter<std::vector<double>> ("ZDC_AcceptableChannelErrorRates");
22  OfflineColdThreshold_ = psZDC.getUntrackedParameter<int>("ZDC_OfflineColdThreshold");
23  OfflineDeadThreshold_ = psZDC.getUntrackedParameter<int>("ZDC_OfflineDeadThreshold");
24  OnlineDeadThreshold_ = psZDC.getUntrackedParameter<int>("ZDC_OnlineDeadThreshold");
25  OnlineColdThreshold_ = psZDC.getUntrackedParameter<int>("ZDC_OnlineColdThreshold");
26 
27  for (int i=0;i<18;++i)
28  {
31  }
32 
33  EventCounter=0;
34 
35  if (showTiming) {
36  cpu_timer.reset();
37  cpu_timer.start();
38  }
39 
40  if (fVerbosity > 0)
41  std::cout << "<HcalZDCMonitor::setup> Setting up histograms" << std::endl;
42 
43  if (fVerbosity > 1)
44  std::cout << "<HcalZDCMonitor::setup> Getting variable values from cfg files" << std::endl;
45 
46  // Set initial event # to 0
47  ievt_ = 0;
48 
49  //Histograms
50  if (fVerbosity > 1)
51  std::cout << "<HcalZDCMonitor::setup> Setting up Histograms" << std::endl;
52 
54  meEVT_ = ib.bookInt("ZDC Event Number");
55  meEVT_->Fill(ievt_);
56  char name[128];
57  char title[128];
58 
59  PZDC_QualityIndexVsLB_ = ib.book1D("PZDC_QualityIndexVSLB","Quality Index for the ZDC+ vs LS; LS; Quality Index", NLumiBlocks_,0,NLumiBlocks_);
60  NZDC_QualityIndexVsLB_ = ib.book1D("NZDC_QualityIndexVSLB","Quality Index for the ZDC- vs LS; LS; Quality Index", NLumiBlocks_,0,NLumiBlocks_);
61  EventsVsLS = ib.book1D("EventsVsLS", "Total Number of Events per LS; LS; # of Events", NLumiBlocks_,0,NLumiBlocks_);
62 
63  //
64  h_2D_charge = ib.book2D("2D_DigiCharge", "Digi Charge (fC)", 2, 0, 2, 9, 0, 9);
65  h_2D_charge->setBinLabel(1,"ZDC+",1);
66  h_2D_charge->setBinLabel(2,"ZDC-",1);
67  h_2D_charge->setBinLabel(1,"EM1",2);
68  h_2D_charge->setBinLabel(2,"EM2",2);
69  h_2D_charge->setBinLabel(3,"EM3",2);
70  h_2D_charge->setBinLabel(4,"EM4",2);
71  h_2D_charge->setBinLabel(5,"EM5",2);
72  h_2D_charge->setBinLabel(6,"HAD1",2);
73  h_2D_charge->setBinLabel(7,"HAD2",2);
74  h_2D_charge->setBinLabel(8,"HAD3",2);
75  h_2D_charge->setBinLabel(9,"HAD4",2);
76 
77  h_2D_TSMean = ib.book2D("2D_DigiTiming", "Digi Timing", 2, 0, 2, 9, 0, 9);
78  h_2D_TSMean->setBinLabel(1,"ZDC+",1);
79  h_2D_TSMean->setBinLabel(2,"ZDC-",1);
80  h_2D_TSMean->setBinLabel(1,"EM1",2);
81  h_2D_TSMean->setBinLabel(2,"EM2",2);
82  h_2D_TSMean->setBinLabel(3,"EM3",2);
83  h_2D_TSMean->setBinLabel(4,"EM4",2);
84  h_2D_TSMean->setBinLabel(5,"EM5",2);
85  h_2D_TSMean->setBinLabel(6,"HAD1",2);
86  h_2D_TSMean->setBinLabel(7,"HAD2",2);
87  h_2D_TSMean->setBinLabel(8,"HAD3",2);
88  h_2D_TSMean->setBinLabel(9,"HAD4",2);
89 
90  h_2D_RecHitEnergy = ib.book2D("2D_RecHitEnergy", "Rechit Energy", 2, 0, 2, 9, 0, 9);
91  h_2D_RecHitEnergy->setBinLabel(1,"ZDC+",1);
92  h_2D_RecHitEnergy->setBinLabel(2,"ZDC-",1);
93  h_2D_RecHitEnergy->setBinLabel(1,"EM1",2);
94  h_2D_RecHitEnergy->setBinLabel(2,"EM2",2);
95  h_2D_RecHitEnergy->setBinLabel(3,"EM3",2);
96  h_2D_RecHitEnergy->setBinLabel(4,"EM4",2);
97  h_2D_RecHitEnergy->setBinLabel(5,"EM5",2);
98  h_2D_RecHitEnergy->setBinLabel(6,"HAD1",2);
99  h_2D_RecHitEnergy->setBinLabel(7,"HAD2",2);
100  h_2D_RecHitEnergy->setBinLabel(8,"HAD3",2);
101  h_2D_RecHitEnergy->setBinLabel(9,"HAD4",2);
102 
103  h_2D_RecHitTime = ib.book2D("2D_RecHitTime", "Rechit Timing", 2, 0, 2, 9, 0, 9);
104  h_2D_RecHitTime->setBinLabel(1,"ZDC+",1);
105  h_2D_RecHitTime->setBinLabel(2,"ZDC-",1);
106  h_2D_RecHitTime->setBinLabel(1,"EM1",2);
107  h_2D_RecHitTime->setBinLabel(2,"EM2",2);
108  h_2D_RecHitTime->setBinLabel(3,"EM3",2);
109  h_2D_RecHitTime->setBinLabel(4,"EM4",2);
110  h_2D_RecHitTime->setBinLabel(5,"EM5",2);
111  h_2D_RecHitTime->setBinLabel(6,"HAD1",2);
112  h_2D_RecHitTime->setBinLabel(7,"HAD2",2);
113  h_2D_RecHitTime->setBinLabel(8,"HAD3",2);
114  h_2D_RecHitTime->setBinLabel(9,"HAD4",2);
115 
116  h_2D_saturation = ib.book2D("h_2D_QIE", "Saturation Check", 2, 0, 2, 9, 0, 9);
117  h_2D_saturation->setBinLabel(1,"ZDC+",1);
118  h_2D_saturation->setBinLabel(2,"ZDC-",1);
119  h_2D_saturation->setBinLabel(1,"EM1",2);
120  h_2D_saturation->setBinLabel(2,"EM2",2);
121  h_2D_saturation->setBinLabel(3,"EM3",2);
122  h_2D_saturation->setBinLabel(4,"EM4",2);
123  h_2D_saturation->setBinLabel(5,"EM5",2);
124  h_2D_saturation->setBinLabel(6,"HAD1",2);
125  h_2D_saturation->setBinLabel(7,"HAD2",2);
126  h_2D_saturation->setBinLabel(8,"HAD3",2);
127  h_2D_saturation->setBinLabel(9,"HAD4",2);
128 
129 
130  // digi errors
131  ib.setCurrentFolder(baseFolder_ + "/Errors/Digis");
132  ZDC_Digi_Errors = ib.book2D("ZDC_Digi_Errors", "Raw Number of Digi Errors Per ZDC Channel", 2, 0, 2, 9, 0, 9);
133  ZDC_Digi_Errors->setBinLabel(1,"ZDC+",1);
134  ZDC_Digi_Errors->setBinLabel(2,"ZDC-",1);
135  ZDC_Digi_Errors->setBinLabel(1,"EM1",2);
136  ZDC_Digi_Errors->setBinLabel(2,"EM2",2);
137  ZDC_Digi_Errors->setBinLabel(3,"EM3",2);
138  ZDC_Digi_Errors->setBinLabel(4,"EM4",2);
139  ZDC_Digi_Errors->setBinLabel(5,"EM5",2);
140  ZDC_Digi_Errors->setBinLabel(6,"HAD1",2);
141  ZDC_Digi_Errors->setBinLabel(7,"HAD2",2);
142  ZDC_Digi_Errors->setBinLabel(8,"HAD3",2);
143  ZDC_Digi_Errors->setBinLabel(9,"HAD4",2);
144  ZDC_Digi_Errors->getTH2F()->SetOption("coltext");
145 
146 
147  ZDC_DigiErrorsVsLS = ib.book1D("ZDC_DigiErrorsVsLS","Total Number of (Digi) Errors found in the ZDCs vs. Lumi Section;LS;# errors",NLumiBlocks_,0,NLumiBlocks_);
148 
149  ib.setCurrentFolder(baseFolder_ + "/Errors/Digis/DigiErrorCauses");
150  ZDC_DigiErrors_DVER = ib.book2D("ZDC_DigiErrors_DVER","Raw Number of Digi Errors Caused by Finding .dv()=0 or .er()=1",2,0,2,9,0,9);
151  ZDC_DigiErrors_DVER->setBinLabel(1,"ZDC+",1);
152  ZDC_DigiErrors_DVER->setBinLabel(2,"ZDC-",1);
153  ZDC_DigiErrors_DVER->setBinLabel(1,"EM1",2);
154  ZDC_DigiErrors_DVER->setBinLabel(2,"EM2",2);
155  ZDC_DigiErrors_DVER->setBinLabel(3,"EM3",2);
156  ZDC_DigiErrors_DVER->setBinLabel(4,"EM4",2);
157  ZDC_DigiErrors_DVER->setBinLabel(5,"EM5",2);
158  ZDC_DigiErrors_DVER->setBinLabel(6,"HAD1",2);
159  ZDC_DigiErrors_DVER->setBinLabel(7,"HAD2",2);
160  ZDC_DigiErrors_DVER->setBinLabel(8,"HAD3",2);
161  ZDC_DigiErrors_DVER->setBinLabel(9,"HAD4",2);
162  ZDC_DigiErrors_DVER->getTH2F()->SetOption("coltext");
163 
164  ZDC_DigiErrors_CAPID = ib.book2D("ZDC_DigiErrors_CAPID","Raw Number of Digi Errors Caused by the Caps not Alternating",2,0,2,9,0,9);
165  ZDC_DigiErrors_CAPID->setBinLabel(1,"ZDC+",1);
166  ZDC_DigiErrors_CAPID->setBinLabel(2,"ZDC-",1);
167  ZDC_DigiErrors_CAPID->setBinLabel(1,"EM1",2);
168  ZDC_DigiErrors_CAPID->setBinLabel(2,"EM2",2);
169  ZDC_DigiErrors_CAPID->setBinLabel(3,"EM3",2);
170  ZDC_DigiErrors_CAPID->setBinLabel(4,"EM4",2);
171  ZDC_DigiErrors_CAPID->setBinLabel(5,"EM5",2);
172  ZDC_DigiErrors_CAPID->setBinLabel(6,"HAD1",2);
173  ZDC_DigiErrors_CAPID->setBinLabel(7,"HAD2",2);
174  ZDC_DigiErrors_CAPID->setBinLabel(8,"HAD3",2);
175  ZDC_DigiErrors_CAPID->setBinLabel(9,"HAD4",2);
176  ZDC_DigiErrors_CAPID->getTH2F()->SetOption("coltext");
177 
178 
179  // hot channels
180  ib.setCurrentFolder(baseFolder_ + "/Errors/HotChannel");
181  ZDC_Hot_Channel_Errors = ib.book2D("ZDC_Hot_Channel_Errors", "Raw Number of Times Each Channel Appeared Hot", 2, 0, 2, 9, 0, 9);
182  ZDC_Hot_Channel_Errors->setBinLabel(1,"ZDC+",1);
183  ZDC_Hot_Channel_Errors->setBinLabel(2,"ZDC-",1);
189  ZDC_Hot_Channel_Errors->setBinLabel(6,"HAD1",2);
190  ZDC_Hot_Channel_Errors->setBinLabel(7,"HAD2",2);
191  ZDC_Hot_Channel_Errors->setBinLabel(8,"HAD3",2);
192  ZDC_Hot_Channel_Errors->setBinLabel(9,"HAD4",2);
193  ZDC_Hot_Channel_Errors->getTH2F()->SetOption("coltext");
194 
195 
196  ZDC_HotChannelErrorsVsLS = ib.book1D("ZDC_HotChannelErrorsVsLS","Total Number of Hot Channel Errors in the ZDCs vs. Lumi Section; LS; # Hot channels", NLumiBlocks_,0,NLumiBlocks_);
197 
198  // dead channels
199  ib.setCurrentFolder(baseFolder_ + "/Errors/DeadChannel");
200  ZDC_Dead_Channel_Errors = ib.book2D("ZDC_Dead_Channel_Errors", "Raw Number of Times Each Channel Appeared Dead", 2, 0, 2, 9, 0, 9);
212  ZDC_Dead_Channel_Errors->getTH2F()->SetOption("coltext");
213 
214  ZDC_DeadChannelErrorsVsLS = ib.book1D("ZDC_DeadChannelErrorsVsLS","Total Number of Dead Channel Errors in the ZDC vs. Lumi Section; LS; # of Dead Chanels", NLumiBlocks_, 0, NLumiBlocks_);
215 
216  // cold channels
217  ib.setCurrentFolder(baseFolder_ + "/Errors/ColdChannel");
218  ZDC_Cold_Channel_Errors = ib.book2D("ZDC_Cold_Channel_Errors", "Raw Number of Times Each Channel Appeared Cold", 2, 0, 2, 9, 0, 9);
230  ZDC_Cold_Channel_Errors->getTH2F()->SetOption("coltext");
231 
232  ZDC_ColdChannelErrorsVsLS=ib.book1D("ZDC_ColdChannelErrorsVsLS","Total Number of Cold Channels in the ZDC vs. Lumi Section; LS; # of Cold Chanels", NLumiBlocks_, 0, NLumiBlocks_);
233 
234  // total errors
235  ib.setCurrentFolder(baseFolder_ + "/Errors");
236  ZDC_TotalChannelErrors = ib.book2D("ZDC_TotalChannelErrors","Total Number of Errors(Digi Error, Hot Cell or Dead Cell) Per Channel in the ZDC" ,2,0,2,9,0,9);
237  ZDC_TotalChannelErrors->setBinLabel(1,"ZDC+",1);
238  ZDC_TotalChannelErrors->setBinLabel(2,"ZDC-",1);
244  ZDC_TotalChannelErrors->setBinLabel(6,"HAD1",2);
245  ZDC_TotalChannelErrors->setBinLabel(7,"HAD2",2);
246  ZDC_TotalChannelErrors->setBinLabel(8,"HAD3",2);
247  ZDC_TotalChannelErrors->setBinLabel(9,"HAD4",2);
248  ZDC_TotalChannelErrors->getTH2F()->SetOption("coltext");
249 
250  ib.setCurrentFolder(baseFolder_ + "/Digis");
251 
252  for (int i = 0; i < 5; ++i) {
253  // pulse Plus Side
254  sprintf(title, "h_ZDCP_EMChan_%i_Pulse", i + 1);
255  sprintf(name, "ZDC Plus EM Section Pulse for channel %i", i + 1);
256  h_ZDCP_EM_Pulse[i] = ib.book1D(title, name, 10, -0.5, 9.5);
257  h_ZDCP_EM_Pulse[i]->setAxisTitle("Time Slice id",1);
258  h_ZDCP_EM_Pulse[i]->setAxisTitle("Pulse Height",2);
259  // pulse Minus Side
260  sprintf(title, "h_ZDCM_EMChan_%i_Pulse", i + 1);
261  sprintf(name, "ZDC Minus EM Section Pulse for channel %i", i + 1);
262  h_ZDCM_EM_Pulse[i] = ib.book1D(title, name, 10, -0.5, 9.5);
263  h_ZDCM_EM_Pulse[i]->setAxisTitle("Time Slice id",1);
264  h_ZDCM_EM_Pulse[i]->setAxisTitle("Pulse Height",2);
265  // integrated charge over 10 time samples
266  sprintf(title, "h_ZDCP_EMChan_%i_Charge", i + 1);
267  sprintf(name, "ZDC Plus EM Section Charge for channel %i", i + 1);
268  h_ZDCP_EM_Charge[i] = ib.book1D(title, name, 1000, 0., 30000.);
269  h_ZDCP_EM_Charge[i]->setAxisTitle("Charge (fC)",1);
270  h_ZDCP_EM_Charge[i]->setAxisTitle("Events",2);
271  // integrated charge over 10 time samples
272  sprintf(title, "h_ZDCM_EMChan_%i_Charge", i + 1);
273  sprintf(name, "ZDC Minus EM Section Charge for channel %i", i + 1);
274  h_ZDCM_EM_Charge[i] = ib.book1D(title, name, 1000, 0., 30000.);
275  h_ZDCM_EM_Charge[i]->setAxisTitle("Charge (fC)",1);
276  h_ZDCM_EM_Charge[i]->setAxisTitle("Events",2);
277  // charge weighted time slice
278  sprintf(title, "h_ZDCP_EMChan_%i_TSMean", i + 1);
279  sprintf(name, "ZDC Plus EM Section TSMean for channel %i", i + 1);
280  h_ZDCP_EM_TSMean[i] = ib.book1D(title, name, 100, -0.5, 9.5);
281  h_ZDCP_EM_TSMean[i]->setAxisTitle("Timing",1);
282  h_ZDCP_EM_TSMean[i]->setAxisTitle("Events",2);
283  // charge weighted time slice
284  sprintf(title, "h_ZDCM_EMChan_%i_TSMean", i + 1);
285  sprintf(name, "ZDC Minus EM Section TSMean for channel %i", i + 1);
286  h_ZDCM_EM_TSMean[i] = ib.book1D(title, name, 100, -0.5, 9.5);
287  h_ZDCM_EM_TSMean[i]->setAxisTitle("Timing",1);
288  h_ZDCM_EM_TSMean[i]->setAxisTitle("Events",2);
289  }
290 
291  for (int i = 0; i < 4; ++i) {
292  // pulse Plus Side
293  sprintf(title, "h_ZDCP_HADChan_%i_Pulse", i + 1);
294  sprintf(name, "ZDC Plus HAD Section Pulse for channel %i", i + 1);
295  h_ZDCP_HAD_Pulse[i] = ib.book1D(title, name, 10, -0.5, 9.5);
296  h_ZDCP_HAD_Pulse[i]->setAxisTitle("Time Slice id",1);
297  h_ZDCP_HAD_Pulse[i]->setAxisTitle("Pulse Height",2);
298  // pulse Minus Side
299  sprintf(title, "h_ZDCM_HADChan_%i_Pulse", i + 1);
300  sprintf(name, "ZDC Minus HAD Section Pulse for channel %i", i + 1);
301  h_ZDCM_HAD_Pulse[i] = ib.book1D(title, name, 10, -0.5, 9.5);
302  h_ZDCM_HAD_Pulse[i]->setAxisTitle("Time Slice id",1);
303  h_ZDCM_HAD_Pulse[i]->setAxisTitle("Pulse Height",2);
304  // integrated charge over 10 time samples
305  sprintf(title, "h_ZDCP_HADChan_%i_Charge", i + 1);
306  sprintf(name, "ZDC Plus HAD Section Charge for channel %i", i + 1);
307  h_ZDCP_HAD_Charge[i] = ib.book1D(title, name, 1000, 0., 30000.);
308  h_ZDCP_HAD_Charge[i]->setAxisTitle("Charge (fC)",1);
309  h_ZDCP_HAD_Charge[i]->setAxisTitle("Events",2);
310  // integrated charge over 10 time samples
311  sprintf(title, "h_ZDCM_HADChan_%i_Charge", i + 1);
312  sprintf(name, "ZDC Minus HAD Section Charge for channel %i", i + 1);
313  h_ZDCM_HAD_Charge[i] = ib.book1D(title, name, 1000, 0., 30000.);
314  h_ZDCM_HAD_Charge[i]->setAxisTitle("Charge (fC)",1);
315  h_ZDCM_HAD_Charge[i]->setAxisTitle("Events",2);
316  // charge weighted time slice
317  sprintf(title, "h_ZDCP_HADChan_%i_TSMean", i + 1);
318  sprintf(name, "ZDC Plus HAD Section TSMean for channel %i", i + 1);
319  h_ZDCP_HAD_TSMean[i] = ib.book1D(title, name, 100, -0.5, 9.5);
320  h_ZDCP_HAD_TSMean[i]->setAxisTitle("Timing",1);
321  h_ZDCP_HAD_TSMean[i]->setAxisTitle("Events",2);
322  // charge weighted time slice
323  sprintf(title, "h_ZDCM_HADChan_%i_TSMean", i + 1);
324  sprintf(name, "ZDC Minus HAD Section TSMean for channel %i", i + 1);
325  h_ZDCM_HAD_TSMean[i] = ib.book1D(title, name, 100, -0.5, 9.5);
326  h_ZDCM_HAD_TSMean[i]->setAxisTitle("Timing",1);
327  h_ZDCM_HAD_TSMean[i]->setAxisTitle("Events",2);
328  }
329 
330  ib.setCurrentFolder(baseFolder_ + "/RecHits");
331 
332  for (int i = 0; i < 5; ++i) {
333  //RecHitEnergy Plus Side
334  sprintf(title,"h_ZDCP_EMChan_%i_RecHit_Energy",i+1);
335  sprintf(name,"ZDC EM Section Rechit Energy for channel %i",i+1);
336  h_ZDCP_EM_RecHitEnergy[i] = ib.book1D(title, name, 1010, -100., 10000.);
337  h_ZDCP_EM_RecHitEnergy[i]->setAxisTitle("Energy (GeV)",1);
338  h_ZDCP_EM_RecHitEnergy[i]->setAxisTitle("Events",2);
339  //RecHitEnergy Minus Side
340  sprintf(title,"h_ZDCM_EMChan_%i_RecHit_Energy",i+1);
341  sprintf(name,"ZDC EM Section Rechit Energy for channel %i",i+1);
342  h_ZDCM_EM_RecHitEnergy[i] = ib.book1D(title, name, 1010, -100., 10000.);
343  h_ZDCM_EM_RecHitEnergy[i]->setAxisTitle("Energy (GeV)",1);
344  h_ZDCM_EM_RecHitEnergy[i]->setAxisTitle("Events",2);
345  //RecHit Timing Plus Side
346  sprintf(title,"h_ZDCP_EMChan_%i_RecHit_Timing",i+1);
347  sprintf(name,"ZDC EM Section Rechit Timing for channel %i",i+1);
348  h_ZDCP_EM_RecHitTiming[i] = ib.book1D(title, name, 100, -100., 100.);
349  h_ZDCP_EM_RecHitTiming[i]->setAxisTitle("RecHit Time",1);
350  h_ZDCP_EM_RecHitTiming[i]->setAxisTitle("Events",2);
351  //RecHit Timing Minus Side
352  sprintf(title,"h_ZDCM_EMChan_%i_RecHit_Timing",i+1);
353  sprintf(name,"ZDC EM Section Rechit Timing for channel %i",i+1);
354  h_ZDCM_EM_RecHitTiming[i] = ib.book1D(title, name, 100, -100., 100.);
355  h_ZDCM_EM_RecHitTiming[i]->setAxisTitle("RecHit Time",1);
356  h_ZDCM_EM_RecHitTiming[i]->setAxisTitle("Events",2);
357  }
358 
359  for (int i = 0; i < 4; ++i) {
360  //RecHitEnergy Plus Side
361  sprintf(title,"h_ZDCP_HADChan_%i_RecHit_Energy",i+1);
362  sprintf(name,"ZDC HAD Section Rechit Energy for channel %i",i+1);
363  h_ZDCP_HAD_RecHitEnergy[i] = ib.book1D(title, name, 1010, -100., 10000.);
364  h_ZDCP_HAD_RecHitEnergy[i]->setAxisTitle("Energy (GeV)",1);
365  h_ZDCP_HAD_RecHitEnergy[i]->setAxisTitle("Events",2);
366  //RecHitEnergy Minus Side
367  sprintf(title,"h_ZDCM_HADChan_%i_RecHit_Energy",i+1);
368  sprintf(name,"ZDC HAD Section Rechit Energy for channel %i",i+1);
369  h_ZDCM_HAD_RecHitEnergy[i] = ib.book1D(title, name, 1010, -100., 10000.);
370  h_ZDCM_HAD_RecHitEnergy[i]->setAxisTitle("Energy (GeV)",1);
371  h_ZDCM_HAD_RecHitEnergy[i]->setAxisTitle("Events",2);
372  //RecHit Timing Plus Side
373  sprintf(title,"h_ZDCP_HADChan_%i_RecHit_Timing",i+1);
374  sprintf(name,"ZDC HAD Section Rechit Timing for channel %i",i+1);
375  h_ZDCP_HAD_RecHitTiming[i] = ib.book1D(title, name, 100, -100., 100.);
376  h_ZDCP_HAD_RecHitTiming[i]->setAxisTitle("RecHit Time",1);
377  h_ZDCP_HAD_RecHitTiming[i]->setAxisTitle("Events",2);
378  //RecHit Timing Minus Side
379  sprintf(title,"h_ZDCM_HADChan_%i_RecHit_Timing",i+1);
380  sprintf(name,"ZDC HAD Section Rechit Timing for channel %i",i+1);
381  h_ZDCM_HAD_RecHitTiming[i] = ib.book1D(title, name, 100, -100., 100.);
382  h_ZDCM_HAD_RecHitTiming[i]->setAxisTitle("RecHit Time",1);
383  h_ZDCM_HAD_RecHitTiming[i]->setAxisTitle("Events",2);
384  }
385 
386  return;
387 }
MonitorElement * h_ZDCP_HAD_TSMean[4]
T getParameter(std::string const &) const
int i
Definition: DBlmapReader.cc:9
MonitorElement * ZDC_DigiErrorsVsLS
MonitorElement * h_ZDCP_HAD_RecHitTiming[4]
MonitorElement * h_ZDCM_EM_Pulse[5]
MonitorElement * h_ZDCM_HAD_TSMean[4]
int ColdChannelCounter[18]
void start()
Definition: CPUTimer.cc:74
MonitorElement * ZDC_Hot_Channel_Errors
MonitorElement * h_ZDCM_EM_TSMean[5]
MonitorElement * h_ZDCM_EM_RecHitTiming[5]
MonitorElement * NZDC_QualityIndexVsLB_
MonitorElement * ZDC_Dead_Channel_Errors
MonitorElement * h_2D_TSMean
MonitorElement * h_ZDCM_HAD_RecHitTiming[4]
virtual void setup(const edm::ParameterSet &ps, DQMStore::IBooker &ib)
MonitorElement * h_ZDCP_EM_RecHitEnergy[5]
MonitorElement * bookInt(Args &&...args)
Definition: DQMStore.h:103
MonitorElement * h_ZDCP_EM_Pulse[5]
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
std::vector< double > ChannelWeighting_
void reset()
Definition: CPUTimer.cc:107
MonitorElement * h_ZDCP_EM_TSMean[5]
MonitorElement * h_ZDCM_EM_Charge[5]
std::vector< double > MaxErrorRates_
MonitorElement * ZDC_DeadChannelErrorsVsLS
void Fill(long long x)
MonitorElement * ZDC_HotChannelErrorsVsLS
MonitorElement * h_ZDCP_HAD_Charge[4]
MonitorElement * ZDC_ColdChannelErrorsVsLS
MonitorElement * ZDC_DigiErrors_CAPID
std::string rootFolder_
MonitorElement * ZDC_DigiErrors_DVER
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
MonitorElement * h_2D_saturation
MonitorElement * h_2D_charge
edm::CPUTimer cpu_timer
MonitorElement * h_2D_RecHitTime
MonitorElement * h_ZDCM_HAD_Charge[4]
std::string baseFolder_
MonitorElement * h_ZDCM_HAD_RecHitEnergy[4]
MonitorElement * ZDC_Cold_Channel_Errors
MonitorElement * PZDC_QualityIndexVsLB_
MonitorElement * h_2D_RecHitEnergy
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:276
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
MonitorElement * EventsVsLS
MonitorElement * h_ZDCP_HAD_Pulse[4]
MonitorElement * meEVT_
MonitorElement * h_ZDCM_EM_RecHitEnergy[5]
MonitorElement * ZDC_Digi_Errors
MonitorElement * ZDC_TotalChannelErrors
MonitorElement * h_ZDCP_HAD_RecHitEnergy[4]
tuple cout
Definition: gather_cfg.py:145
int DeadChannelCounter[18]
TH2F * getTH2F(void) const
MonitorElement * h_ZDCP_EM_Charge[5]
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * h_ZDCP_EM_RecHitTiming[5]
MonitorElement * h_ZDCM_HAD_Pulse[4]

Member Data Documentation

bool HcalZDCMonitor::ChannelHasDigiError[18]
private

Definition at line 57 of file HcalZDCMonitor.h.

Referenced by processEvent().

float HcalZDCMonitor::ChannelRatio[18]
private

Definition at line 43 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock().

std::vector<double> HcalZDCMonitor::ChannelWeighting_
private

Definition at line 59 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), and setup().

bool HcalZDCMonitor::checkZDC_
private

Definition at line 38 of file HcalZDCMonitor.h.

int HcalZDCMonitor::ColdChannelCounter[18]
private

Definition at line 52 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

int HcalZDCMonitor::DeadChannelCounter[18]
private

Definition at line 51 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

bool HcalZDCMonitor::DeadChannelError[18]
private

Definition at line 53 of file HcalZDCMonitor.h.

Referenced by processEvent().

bool HcalZDCMonitor::DigiErrorCAPID[18]
private

Definition at line 55 of file HcalZDCMonitor.h.

Referenced by processEvent().

bool HcalZDCMonitor::DigiErrorDVER[18]
private

Definition at line 56 of file HcalZDCMonitor.h.

Referenced by processEvent().

int HcalZDCMonitor::EventCounter
private

Definition at line 44 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

MonitorElement* HcalZDCMonitor::EventsVsLS
private

Definition at line 125 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), and setup().

MonitorElement* HcalZDCMonitor::h_2D_charge
private

Definition at line 70 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), and setup().

MonitorElement* HcalZDCMonitor::h_2D_RecHitEnergy
private

Definition at line 72 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), and setup().

MonitorElement* HcalZDCMonitor::h_2D_RecHitTime
private

Definition at line 73 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), and setup().

MonitorElement* HcalZDCMonitor::h_2D_saturation
private

Definition at line 69 of file HcalZDCMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_2D_TSMean
private

Definition at line 71 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCM_EM_Charge[5]
private

Definition at line 77 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCM_EM_Pulse[5]
private

Definition at line 75 of file HcalZDCMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCM_EM_RecHitEnergy[5]
private

Definition at line 87 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCM_EM_RecHitTiming[5]
private

Definition at line 89 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCM_EM_TSMean[5]
private

Definition at line 79 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCM_HAD_Charge[4]
private

Definition at line 83 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCM_HAD_Pulse[4]
private

Definition at line 81 of file HcalZDCMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCM_HAD_RecHitEnergy[4]
private

Definition at line 91 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCM_HAD_RecHitTiming[4]
private

Definition at line 93 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCM_HAD_TSMean[4]
private

Definition at line 85 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCP_EM_Charge[5]
private

Definition at line 76 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCP_EM_Pulse[5]
private

Definition at line 74 of file HcalZDCMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCP_EM_RecHitEnergy[5]
private

Definition at line 86 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCP_EM_RecHitTiming[5]
private

Definition at line 88 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCP_EM_TSMean[5]
private

Definition at line 78 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCP_HAD_Charge[4]
private

Definition at line 82 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCP_HAD_Pulse[4]
private

Definition at line 80 of file HcalZDCMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCP_HAD_RecHitEnergy[4]
private

Definition at line 90 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCP_HAD_RecHitTiming[4]
private

Definition at line 92 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

MonitorElement* HcalZDCMonitor::h_ZDCP_HAD_TSMean[4]
private

Definition at line 84 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

bool HcalZDCMonitor::HotChannelError[18]
private

Definition at line 54 of file HcalZDCMonitor.h.

Referenced by processEvent().

int HcalZDCMonitor::ievt_
private

Definition at line 66 of file HcalZDCMonitor.h.

Referenced by processEvent(), and setup().

std::vector<double> HcalZDCMonitor::MaxErrorRates_
private

Definition at line 60 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), and setup().

MonitorElement* HcalZDCMonitor::meEVT_
private

Definition at line 68 of file HcalZDCMonitor.h.

Referenced by processEvent(), and setup().

int HcalZDCMonitor::NLumiBlocks_
private

Definition at line 42 of file HcalZDCMonitor.h.

Referenced by setup().

int HcalZDCMonitor::NumBadZDC
private

Definition at line 39 of file HcalZDCMonitor.h.

MonitorElement* HcalZDCMonitor::NZDC_QualityIndexVsLB_
private

Definition at line 124 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), and setup().

int HcalZDCMonitor::OfflineColdThreshold_
private

Definition at line 61 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), and setup().

int HcalZDCMonitor::OfflineDeadThreshold_
private

Definition at line 46 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), and setup().

int HcalZDCMonitor::OnlineColdThreshold_
private

Definition at line 48 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), and setup().

int HcalZDCMonitor::OnlineDeadThreshold_
private

Definition at line 47 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), and setup().

MonitorElement* HcalZDCMonitor::ProblemsVsLB_ZDC
private

Definition at line 40 of file HcalZDCMonitor.h.

MonitorElement* HcalZDCMonitor::PZDC_QualityIndexVsLB_
private

Definition at line 123 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), and setup().

int HcalZDCMonitor::TotalChannelErrors[18]
private

Definition at line 50 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), and processEvent().

MonitorElement* HcalZDCMonitor::ZDC_Cold_Channel_Errors
private

Definition at line 104 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

MonitorElement* HcalZDCMonitor::ZDC_ColdChannelErrorsVsLS
private

Definition at line 105 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), and setup().

MonitorElement* HcalZDCMonitor::ZDC_Dead_Channel_Errors
private

Definition at line 107 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().

MonitorElement* HcalZDCMonitor::ZDC_DeadChannelErrorsVsLS
private

Definition at line 108 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), and setup().

MonitorElement* HcalZDCMonitor::ZDC_Digi_Errors
private

Definition at line 96 of file HcalZDCMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalZDCMonitor::ZDC_DigiErrors_CAPID
private

Definition at line 99 of file HcalZDCMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalZDCMonitor::ZDC_DigiErrors_DVER
private

Definition at line 98 of file HcalZDCMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalZDCMonitor::ZDC_DigiErrorsVsLS
private

Definition at line 97 of file HcalZDCMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalZDCMonitor::ZDC_Hot_Channel_Errors
private

Definition at line 101 of file HcalZDCMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalZDCMonitor::ZDC_HotChannelErrorsVsLS
private

Definition at line 102 of file HcalZDCMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalZDCMonitor::ZDC_TotalChannelErrors
private

Definition at line 110 of file HcalZDCMonitor.h.

Referenced by endLuminosityBlock(), processEvent(), and setup().