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 
10 
20 
26 
27 #include <cmath>
28 
36 /* Revision!!!!
37  *
38  * $DATE: 2012/19/12
39  * $Revision: 1.2
40  * \author: J. Gomez
41  */
42 
44 {
45  public:
48  void setup();
49  void processEvent(const ZDCDigiCollection& digi,
50  const ZDCRecHitCollection& rechit, const HcalUnpackerReport& report);
51  //void done();
52  void reset();
53  void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, const edm::EventSetup& c);
54  void beginRun(const edm::Run& run, const edm::EventSetup& c);
55  void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg, const edm::EventSetup& c);
56  void endRun(const edm::Run& run, const edm::EventSetup& c);
57  void analyze(const edm::Event& e, const edm::EventSetup& c);
58  private:
59  //virtual void endJob();
60  //void endLuminosityBlock(void);
61  //void zeroCounters();
62  //void fillHistos();
63  //void setZDClabels(MonitorElement* h);
64  double getTime(std::vector<double> fData, unsigned int ts_min, unsigned int ts_max, double& fSum);
65  //int getTSMax(std::vector<double> fData);
66  //bool isGood(std::vector<double> fData, double fCut, double fPercentage);
67 
68 
69  bool checkZDC_;
70  int NumBadZDC;
74 
76  float ChannelRatio[18];//errorevents/total events in 1 LS
77  int EventCounter;//events in lumi
78  int TotalChannelErrors[18];//total events with an error per channel in a LS
79  std::vector<double> ChannelWeighting_; //Quality index(QI) see description below
80  std::vector<double> MaxErrorRates_; //the fractional error rate before a channel is called bad for a LS
88  bool DeadChannelError[18];
89  bool HotChannelError[18];
90  bool DigiErrorCAPID[18];
91  bool DigiErrorDVER[18];
94 
98  int ievt_;
99  //int zdc_checkNevents_;
126 
132 
135 
138 
141 
144  // Quality index(QI) per LS...QI is a number between 0 and 1. Each ZDC channel is assigned a custom weighting factor, found in /python/HcalZDCMonitor_cfi.py. This weighting factor is representative of the "value" of that channel to data taking. For example, HAD1 is more valuable than HAD4, this is because HAD1 is closer to the IP and will absorb more of the energy of the neutron, so if it is broken, we care more about it being broken than if HAD4 is broken. If all channels are working properly in a given ZDC (ZDC+/-),the QI for that ZDC will be 1. If a channel is deemed malfunctional for a given LS, then the assigned weightfactor will be subtracted from 1.
148 };
149 
150 #endif
MonitorElement * h_ZDCP_HAD_TSMean[4]
bool ChannelHasDigiError[18]
MonitorElement * ZDC_DigiErrorsVsLS
void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
MonitorElement * h_ZDCP_HAD_RecHitTiming[4]
MonitorElement * h_ZDCM_EM_Pulse[5]
edm::InputTag digiLabel_
MonitorElement * h_ZDCM_HAD_TSMean[4]
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
double getTime(std::vector< double > fData, unsigned int ts_min, unsigned int ts_max, double &fSum)
MonitorElement * h_2D_TSMean
MonitorElement * h_ZDCM_HAD_RecHitTiming[4]
MonitorElement * h_ZDCP_EM_RecHitEnergy[5]
edm::InputTag rechitLabel_
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
const HcalQIECoder * channelCoder_
tuple report
Definition: zeeHLT_cff.py:9
MonitorElement * ZDC_HotChannelErrorsVsLS
MonitorElement * h_ZDCP_HAD_Charge[4]
MonitorElement * ZDC_ColdChannelErrorsVsLS
void analyze(const edm::Event &e, const edm::EventSetup &c)
void processEvent(const ZDCDigiCollection &digi, const ZDCRecHitCollection &rechit, const HcalUnpackerReport &report)
MonitorElement * ZDC_DigiErrors_CAPID
bool DigiErrorDVER[18]
MonitorElement * ZDC_DigiErrors_DVER
MonitorElement * h_2D_saturation
MonitorElement * h_2D_charge
const HcalQIEShape * shape_
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 * ProblemsVsLB_ZDC
bool DigiErrorCAPID[18]
HcalZDCMonitor(const edm::ParameterSet &ps)
bool DeadChannelError[18]
void endRun(const edm::Run &run, const edm::EventSetup &c)
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]
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
HcalCalibrations calibs_
void beginRun(const edm::Run &run, const edm::EventSetup &c)
Definition: Run.h:33
MonitorElement * h_ZDCP_EM_RecHitTiming[5]
MonitorElement * h_ZDCM_HAD_Pulse[4]