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.

3  {
4 }
HcalZDCMonitor::~HcalZDCMonitor ( )

Definition at line 5 of file HcalZDCMonitor.cc.

5  {
6 }

Member Function Documentation

void HcalZDCMonitor::endLuminosityBlock ( void  )

Definition at line 740 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().

741 {
742  bool HadLumiError[18]={false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false};
743 
745 
746  if(Online_ == false)
747  {//checks if DQM is in OFFLINE MODE
748  for (int i=0;i<18;++i) {
750  if (ChannelRatio[i] <= MaxErrorRates_[i]) {
751  if (i<9) {
753  } else {
755  }
756  if (ColdChannelCounter[i] >= OfflineColdThreshold_)//Begin Cold Error Plots
757  {
760  ZDC_TotalChannelErrors->Fill(i/9,i%9,ColdChannelCounter[i]);//Can change this between 1, or the amount of errors (Currently the latter)
762  HadLumiError[i]=true;
763  }//END OF Cold Error Plot
765  {//Begin Dead Error Plots
768  ZDC_TotalChannelErrors->Fill(i/9,i%9,DeadChannelCounter[i]); //Could fill this with 1 or total dead errors (which is currently done)
770  HadLumiError[i]=true;
771  }//END OF Dead Channel Plots
772  if (HadLumiError[i]==true)
773  {//Removing the QI for Dead of Cold Channels
774  if (i<9) {
776  } else {
778  }
779  }//END OF QI Removal
780  }//END OF ChannelRatio[i]<=MaxErrorRates_[i]
781  else {
782  //This part only happens if ChannelRatio[i] > MaxErrorRates_[i]...
783  //Above you notice the QI plots become 'un-filled'.
784  //If the plot was never filled to begin with,
785  //then we do not want to remove from the plot causing there to be a negative QI
787  {//Begin Cold Error Plots
792  }//END OF Cold Error Plot
794  {//Begin Dead Error plots
799  }//END OF Dead Error Plots
800  }
801  }//END OF FOR LOOP
802  }//END OF DQM OFFLINE PART
803 
804  if(Online_ == true)
805  {//checks if DQM is in ONLINE MODE
806  for (int i=0;i<18;++i) {
808  if (ChannelRatio[i] <= MaxErrorRates_[i]) {
809  if (i<9) {
811  } else {
813  }
814  if (ColdChannelCounter[i] >= OnlineColdThreshold_)//Begin Cold Error Plots
815  {
818  ZDC_TotalChannelErrors->Fill(i/9,i%9,ColdChannelCounter[i]);//Can change this between 1, or the amount of errors (Currently the latter)
820  HadLumiError[i]=true;
821  }//END OF Cold Error Plot
823  {//Begin Dead Error Plots
826  ZDC_TotalChannelErrors->Fill(i/9,i%9,DeadChannelCounter[i]); //Could fill this with 1 or total dead errors (which is currently done)
828  HadLumiError[i]=true;
829  }//END OF Dead Channel Plots
830  if (HadLumiError[i]==true)
831  {//Removing the QI for Dead of Cold Channels
832  if (i<9) {
834  } else {
836  }
837  }//END OF QI Removal
838  }//END OF ChannelRatio[i]<=MaxErrorRates_[i]
839  else {
840  //This part only happens if ChannelRatio[i] > MaxErrorRates_[i]...
841  //Above you notice the QI plots become 'un-filled'.
842  //If the plot was never filled to begin with,
843  //then we do not want to remove from the plot causing there to be a negative QI
845  {//Begin Cold Error Plots
850  }//END OF Cold Error Plot
852  {//Begin Dead Error plots
857  }//END OF Dead Error Plots
858  }//end of ChannelRatio[i] > MaxErrorRates_[i] part
859  }//END OF FOR LOOP
860  }//END OF DQM ONLINE PART
861 
862 
863 
864 
866 
867  for (int i = 0; i < 5; ++i) { // EM Channels
868  // ZDC Plus
869  h_2D_charge->setBinContent(1, i + 1, h_ZDCP_EM_Charge[i]->getMean());
870  h_2D_TSMean->setBinContent(1, i + 1, h_ZDCP_EM_TSMean[i]->getMean());
871  h_2D_RecHitEnergy->setBinContent(1, i + 1, h_ZDCP_EM_RecHitEnergy[i]->getMean());
872  h_2D_RecHitTime->setBinContent(1, i + 1, h_ZDCP_EM_RecHitTiming[i]->getMean());
873  // ZDC Minus
874  h_2D_charge->setBinContent(2, i + 1, h_ZDCM_EM_Charge[i]->getMean());
875  h_2D_TSMean->setBinContent(2, i + 1, h_ZDCM_EM_TSMean[i]->getMean());
876  h_2D_RecHitEnergy->setBinContent(2, i + 1, h_ZDCM_EM_RecHitEnergy[i]->getMean());
877  h_2D_RecHitTime->setBinContent(2, i + 1, h_ZDCM_EM_RecHitTiming[i]->getMean());
878  }
879 
880  for (int i = 0; i < 4; ++i) { // HAD channels
881  // ZDC Plus
882  h_2D_charge->setBinContent(1, i + 6, h_ZDCP_HAD_Charge[i]->getMean());
883  h_2D_TSMean->setBinContent(1, i + 6, h_ZDCP_HAD_TSMean[i]->getMean());
884  h_2D_RecHitEnergy->setBinContent(1, i + 6, h_ZDCP_HAD_RecHitEnergy[i]->getMean());
885  h_2D_RecHitTime->setBinContent(1, i + 6, h_ZDCP_HAD_RecHitTiming[i]->getMean());
886  // ZDC Minus
887  //h_ZDCM_HAD_Pulse[i]->Scale(10. / h_ZDCM_HAD_Pulse[i]->getEntries());
888  h_2D_charge->setBinContent(2, i + 6, h_ZDCM_HAD_Charge[i]->getMean());
889  h_2D_TSMean->setBinContent(2, i + 6, h_ZDCM_HAD_TSMean[i]->getMean());
890  h_2D_RecHitEnergy->setBinContent(2, i + 6, h_ZDCM_HAD_RecHitEnergy[i]->getMean());
891  h_2D_RecHitTime->setBinContent(2, i + 6, h_ZDCM_HAD_RecHitTiming[i]->getMean());
892  }
893 } // 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 716 of file HcalZDCMonitor.cc.

Referenced by processEvent().

716  {
717  double weightedTime = 0.;
718  double SumT = 0.;
719  double Time = -999.;
720  double digiThreshf = 99.5;
721 
722  for (unsigned int ts=ts_min; ts<=ts_max; ++ts) {
723  if (fData[ts] > digiThreshf){
724  weightedTime += ts * fData[ts];
725  SumT += fData[ts];
726  }
727  }
728 
729  if (SumT > 0.) {
730  Time = weightedTime / SumT;
731  }
732 
733  fSum = SumT;
734 
735  return Time;
736 
737 } //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 386 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().

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

Referenced by ZDCMonitorModule::reset().

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

Reimplemented from HcalBaseMonitor.

Definition at line 10 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().

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