CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalZDCMonitor.h
Go to the documentation of this file.
1 #ifndef DQM_HCALMONITORTASKS_HCALZDCMONITOR_H
2 #define DQM_HCALMONITORTASKS_HCALZDCMONITOR_H
3 
12 
15 #include <cmath>
16 
23 {
24 public:
27  void setup(const edm::ParameterSet& ps, DQMStore::IBooker& ib);
28  void processEvent(const ZDCDigiCollection& digi,
29  const ZDCRecHitCollection& rechit,
30  const HcalUnpackerReport& report);
31  void reset();
32  void endLuminosityBlock(void);
33 private:
34  double getTime(const std::vector<double>& fData, unsigned int ts_min, unsigned int ts_max, double& fSum);
35  //int getTSMax(std::vector<double> fData);
36  //bool isGood(std::vector<double> fData, double fCut, double fPercentage);
37 
38  bool checkZDC_;
39  int NumBadZDC;
41 
43  float ChannelRatio[18];//errorevents/total events in 1 LS
44  int EventCounter;//events in lumi
45 
49 
50  int TotalChannelErrors[18];//total events with an error per channel in a LS
53  bool DeadChannelError[18];
54  bool HotChannelError[18];
55  bool DigiErrorCAPID[18];
56  bool DigiErrorDVER[18];
58 
59  std::vector<double> ChannelWeighting_; //Quality index(QI) see description below
60  std::vector<double> MaxErrorRates_; //the fractional error rate before a channel is called bad for a LS
62 
63 // const HcalQIEShape* shape_;
64 // const HcalQIECoder* channelCoder_;
65 // HcalCalibrations calibs_;
66  int ievt_;
67  //int zdc_checkNevents_;
94 
95 
100 
103 
106 
109 
111 
112  // Quality index(QI) per LS...QI is a number between 0 and 1.
113  // Each ZDC channel is assigned a custom weighting factor,
114  // found in /python/HcalZDCMonitor_cfi.py.
115  // This weighting factor is representative of the "value" of that channel to data taking.
116  // For example, HAD1 is more valuable than HAD4,
117  // this is because HAD1 is closer to the IP and will absorb more of the energy of the neutron,
118  // so if it is broken, we care more about it being broken than if HAD4 is broken.
119  // If all channels are working properly in a given ZDC (ZDC+/-),
120  // the QI for that ZDC will be 1.
121  // If a channel is deemed malfunctional for a given LS,
122  // then the assigned weightfactor will be subtracted from 1.
126 };
127 
128 #endif
MonitorElement * h_ZDCP_HAD_TSMean[4]
bool ChannelHasDigiError[18]
MonitorElement * ZDC_DigiErrorsVsLS
MonitorElement * h_ZDCP_HAD_RecHitTiming[4]
MonitorElement * h_ZDCM_EM_Pulse[5]
MonitorElement * h_ZDCM_HAD_TSMean[4]
int ib
Definition: cuy.py:660
int ColdChannelCounter[18]
MonitorElement * ZDC_Hot_Channel_Errors
MonitorElement * h_ZDCM_EM_TSMean[5]
bool HotChannelError[18]
MonitorElement * NZDC_QualityIndexVsLB_
MonitorElement * h_ZDCM_EM_RecHitTiming[5]
MonitorElement * ZDC_Dead_Channel_Errors
MonitorElement * h_2D_TSMean
MonitorElement * h_ZDCM_HAD_RecHitTiming[4]
MonitorElement * h_ZDCP_EM_RecHitEnergy[5]
MonitorElement * h_ZDCP_EM_Pulse[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 setup(const edm::ParameterSet &ps, DQMStore::IBooker &ib)
tuple report
Definition: zeeHLT_cff.py:9
MonitorElement * ZDC_HotChannelErrorsVsLS
MonitorElement * h_ZDCP_HAD_Charge[4]
MonitorElement * ZDC_ColdChannelErrorsVsLS
MonitorElement * ZDC_DigiErrors_CAPID
bool DigiErrorDVER[18]
MonitorElement * ZDC_DigiErrors_DVER
MonitorElement * h_2D_saturation
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
void endLuminosityBlock(void)
MonitorElement * PZDC_QualityIndexVsLB_
double getTime(const std::vector< double > &fData, unsigned int ts_min, unsigned int ts_max, double &fSum)
MonitorElement * h_2D_RecHitEnergy
MonitorElement * ProblemsVsLB_ZDC
bool DigiErrorCAPID[18]
bool DeadChannelError[18]
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]
int TotalChannelErrors[18]
float ChannelRatio[18]
int DeadChannelCounter[18]
MonitorElement * h_ZDCP_EM_Charge[5]
MonitorElement * h_ZDCP_EM_RecHitTiming[5]
MonitorElement * h_ZDCM_HAD_Pulse[4]