CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalHotCellMonitor.h
Go to the documentation of this file.
1 #ifndef DQM_HCALMONITORTASKS_HCALHOTCELLMONITOR_H
2 #define DQM_HCALMONITORTASKS_HCALHOTCELLMONITOR_H
3 
6 // collection info
10 
11 #include <cmath>
12 
13 
20  int DeltaIphi;
21  int DeltaIeta;
23  double minCellEnergy; // cells below this threshold can never be considered "hot" by this algorithm
24  double minNeighborEnergy; //neighbors must have some amount of energy to be counted
25  double maxEnergy; // a cell above this energy will always be considered hot
26  double HotEnergyFrac; // a cell will be considered hot if neighbor energy/ cell energy is less than this value
27 };
28 
30 
31  public:
33 
35 
36  void setup(DQMStore::IBooker &);
38  void endRun(const edm::Run& run, const edm::EventSetup& c);
39 
40  void done();
41  void reset();
42  void endJob();
43 
44  // analyze function
45  void analyze(edm::Event const&e, edm::EventSetup const&s);
46 
47  // Begin LumiBlock
48  void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
49  const edm::EventSetup& c) ;
50 
51  // End LumiBlock
52  void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
53  const edm::EventSetup& c);
54 
55  void processEvent(const HBHERecHitCollection& hbHits,
56  const HORecHitCollection& hoHits,
57  const HFRecHitCollection& hfHits,
58  const HcalTopology& topology);
59 
60  void processEvent_rechitenergy( const HBHERecHitCollection& hbheHits,
61  const HORecHitCollection& hoHits,
62  const HFRecHitCollection& hfHits,
63  const HcalTopology& topology);
64 
65  template <class R, class C> void processHit_rechitNeighbors(R& rechititer,
66  C& collection,
67  hotNeighborParams& params,
68  const HcalTopology& topology);
69 
70  void periodicReset();
71 
72 
73 private:
75  void fillNevents_energy(const HcalTopology&);
77 
79  void zeroCounters();
80 
81  int minEvents_; // minimum # of events in a lumi block before persistent test will be checked
82  // Booleans to control which of the three hot cell checking routines are used
85  bool test_et_;
87  bool setupDone_;
88 
93 
95 
96  double minErrorFlag_; // minimum error rate needed to dump out bad bin info
97 
98  double nsigma_;
105 
106  double SiPMscale_;
107  int aboveneighbors[85][72][4];
108  int aboveenergy[85][72][4]; // when rechit is above threshold energy
109  int aboveet[85][72][4]; // when rechit is above threshold et
110  int abovepersistent[85][72][4]; // when rechit is consistently above some threshold
111  int abovepersistentET[85][72][4];
112  int rechit_occupancy_sum[85][72][4];
113 
115 
116 
117  // Diagnostic plots
122 
123  int hbVsNeighbor[500];
124  int heVsNeighbor[500];
125  int hoVsNeighbor[500];
126  int hfVsNeighbor[500];
127 
129 
134 };
135 
136 #endif
void processEvent(const HBHERecHitCollection &hbHits, const HORecHitCollection &hoHits, const HFRecHitCollection &hfHits, const HcalTopology &topology)
int abovepersistent[85][72][4]
EtaPhiHists AboveEnergyThresholdCellsByDepth
void bookHistograms(DQMStore::IBooker &ib, const edm::Run &run, const edm::EventSetup &c)
int aboveneighbors[85][72][4]
edm::InputTag hoRechitLabel_
int ib
Definition: cuy.py:660
hotNeighborParams HONeighborParams_
CaloTopology const * topology(0)
int abovepersistentET[85][72][4]
int rechit_occupancy_sum[85][72][4]
void fillNevents_problemCells(const HcalTopology &)
EtaPhiHists AbovePersistentThresholdCellsByDepth
edm::EDGetTokenT< HORecHitCollection > tok_ho_
int aboveenergy[85][72][4]
void fillNevents_energy(const HcalTopology &)
edm::EDGetTokenT< HFRecHitCollection > tok_hf_
EtaPhiHists AbovePersistentETThresholdCellsByDepth
void processEvent_rechitenergy(const HBHERecHitCollection &hbheHits, const HORecHitCollection &hoHits, const HFRecHitCollection &hfHits, const HcalTopology &topology)
HcalHotCellMonitor(const edm::ParameterSet &ps)
MonitorElement * d_HFenergyVsNeighbor
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
void analyze(edm::Event const &e, edm::EventSetup const &s)
EtaPhiHists AboveETThresholdCellsByDepth
hotNeighborParams HBHENeighborParams_
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
void fillNevents_neighbor(const HcalTopology &)
MonitorElement * d_HBenergyVsNeighbor
void endRun(const edm::Run &run, const edm::EventSetup &c)
void setup(DQMStore::IBooker &)
edm::InputTag hbheRechitLabel_
void processHit_rechitNeighbors(R &rechititer, C &collection, hotNeighborParams &params, const HcalTopology &topology)
void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
void fillNevents_persistentenergy(const HcalTopology &)
int aboveet[85][72][4]
edm::InputTag hfRechitLabel_
MonitorElement * d_HOenergyVsNeighbor
EtaPhiHists AboveNeighborsHotCellsByDepth
hotNeighborParams HFNeighborParams_
Definition: Run.h:43
MonitorElement * d_HEenergyVsNeighbor