CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalDeadCellMonitor.h
Go to the documentation of this file.
1 #ifndef DQM_HCALMONITORTASKS_HCALDEADCELLMONITOR_H
2 #define DQM_HCALMONITORTASKS_HCALDEADCELLMONITOR_H
3 
9 
10 // Channel status DB stuff
11 
16 
20 
21 #include <cmath>
22 #include <iostream>
23 #include <fstream>
24 
31 
32 public:
34 
36 
37  void setup(DQMStore::IBooker &);
39  void analyze(edm::Event const&e, edm::EventSetup const&s);
40 
41  void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
42  const edm::EventSetup& c);
43  void endRun(const edm::Run& run, const edm::EventSetup& c);
44  void endJob();
45  void reset();
46 
47  void processEvent(const HBHERecHitCollection& hbHits,
48  const HORecHitCollection& hoHits,
49  const HFRecHitCollection& hfHits,
50  const HBHEDigiCollection& hbhedigi,
51  const HODigiCollection& hodigi,
52  const HFDigiCollection& hfdigi
53  );
54 
55 private:
56  void zeroCounters(bool resetpresent=false);
57 
59  template<class T> void process_Digi(T& digi);
60  template<class T> void process_RecHit(T& rechit);
61 
64 
65  // Booleans to control which of the dead cell checking routines are used
68 
69  void fillNevents_problemCells(const HcalTopology&); // problemcells always checks for never-present digis, rechits
72 
73  // specify minimum energy threshold for energy test
79 
84 
85  // Problems vs. lumi block
94 
96  int beamMode_;
97  bool doReset_;
98 
100  bool present_digi[85][72][4]; // tests that a good digi was present at least once
101  bool present_rechit[85][72][4]; // tests that rechit with energy > threshold at least once
102  unsigned int recentoccupancy_digi[85][72][4]; // tests that cells haven't gone missing for long periods
103  unsigned int recentoccupancy_rechit[85][72][4]; // tests that cells haven't dropped below threshold for long periods
104  unsigned int occupancy_RBX[156];
105 
106  int deadevt_; // running count of events processed since last dead cell check
108  int rbxlost[156];
116 
125 
127 
132 };
133 
134 #endif
edm::InputTag hfRechitLabel_
MonitorElement * NumberOfNeverPresentRecHitsHO
MonitorElement * NumberOfRecentMissingRecHitsHF
MonitorElement * NumberOfNeverPresentRecHits
MonitorElement * NumberOfNeverPresentDigisHB
int ib
Definition: cuy.py:660
void analyze(edm::Event const &e, edm::EventSetup const &s)
MonitorElement * HEDeadVsEvent
MonitorElement * NumberOfRecentMissingRecHits
void zeroCounters(bool resetpresent=false)
bool present_digi[85][72][4]
edm::InputTag hbheRechitLabel_
MonitorElement * NumberOfNeverPresentDigisHE
void fillNevents_problemCells(const HcalTopology &)
void endRun(const edm::Run &run, const edm::EventSetup &c)
HcalDeadCellMonitor(const edm::ParameterSet &ps)
MonitorElement * NumberOfRecentMissingDigisHB
void process_RecHit(T &rechit)
MonitorElement * ProblemsInLastNLB_HO01_alarm
MonitorElement * NumberOfRecentMissingDigisHE
bool present_rechit[85][72][4]
edm::EDGetTokenT< HORecHitCollection > tok_ho_
edm::EDGetTokenT< DcsStatusCollection > tok_dcs_
EtaPhiHists RecHitPresentByDepth
MonitorElement * RBX_loss_VS_LB
MonitorElement * ProblemsVsLB
MonitorElement * NumberOfNeverPresentDigisHF
edm::InputTag hoRechitLabel_
unsigned int occupancy_RBX[156]
MonitorElement * NumberOfNeverPresentDigisHO
MonitorElement * NumberOfNeverPresentRecHitsHB
MonitorElement * Nevents
unsigned int recentoccupancy_rechit[85][72][4]
MonitorElement * NumberOfRecentMissingRecHitsHE
MonitorElement * ProblemsVsLB_HF
MonitorElement * NumberOfRecentMissingDigisHO
MonitorElement * NumberOfNeverPresentRecHitsHF
edm::EDGetTokenT< HODigiCollection > tok_hodigi_
void bookHistograms(DQMStore::IBooker &ib, const edm::Run &run, const edm::EventSetup &c)
MonitorElement * ProblemsVsLB_HB
void setup(DQMStore::IBooker &)
edm::EDGetTokenT< HFRecHitCollection > tok_hf_
unsigned int recentoccupancy_digi[85][72][4]
void processEvent(const HBHERecHitCollection &hbHits, const HORecHitCollection &hoHits, const HFRecHitCollection &hfHits, const HBHEDigiCollection &hbhedigi, const HODigiCollection &hodigi, const HFDigiCollection &hfdigi)
EtaPhiHists RecentMissingDigisByDepth
edm::EDGetTokenT< HFDigiCollection > tok_hfdigi_
edm::EDGetTokenT< HBHEDigiCollection > tok_hbhedigi_
MonitorElement * NumberOfRecentMissingRecHitsHO
EtaPhiHists DigiPresentByDepth
EtaPhiHists RecentMissingRecHitsByDepth
MonitorElement * HBDeadVsEvent
MonitorElement * NumberOfNeverPresentRecHitsHE
MonitorElement * ProblemsVsLB_HE
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
MonitorElement * NumberOfNeverPresentDigis
MonitorElement * NumberOfRecentMissingDigis
void fillNevents_recentrechits(const HcalTopology &)
void fillNevents_recentdigis(const HcalTopology &)
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
MonitorElement * NumberOfRecentMissingDigisHF
void process_Digi(T &digi)
void processEvent_HBHEdigi(HBHEDataFrame digi)
MonitorElement * ProblemsInLastNLB_HBHEHF_alarm
edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecord > tok_gtEvm_
long double T
MonitorElement * HFDeadVsEvent
MonitorElement * ProblemsVsLB_HO2
MonitorElement * HODeadVsEvent
Definition: Run.h:43
MonitorElement * NumberOfRecentMissingRecHitsHB
MonitorElement * ProblemsVsLB_HO