CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalBaseDQMonitor.h
Go to the documentation of this file.
1 #ifndef DQM_HCALMONITORTASKS_GUARD_HCALBASE_H
2 #define DQM_HCALMONITORTASKS_GUARD_HCALBASE_H
3 
4 // system include files
5 #include <memory>
6 
7 // user include files
10 #include "FWCore/Framework/interface/ESHandle.h" // needed to grab objects
11 
15 
18 
20 
22 
23 class HcalLogicalMap;
24 class HcalElectronicsMap;
25 
27 {
28 
29 public:
30 
31  // Constructor
33  // Constructor with no arguments
35 
36  // Destructor
37  virtual ~HcalBaseDQMonitor();
38 
39  virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &);
40 
41 protected:
42 
43  // Analyze
44  virtual void analyze(const edm::Event& e, const edm::EventSetup& c);
45 
46  void getLogicalMap(const edm::EventSetup& c);
47 
48  // BeginRun
49  virtual void dqmBeginRun(const edm::Run& run, const edm::EventSetup& c);
50 
51  // Begin LumiBlock
52  virtual void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
53  const edm::EventSetup& c) ;
54 
55  // End LumiBlock
56  virtual void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
57  const edm::EventSetup& c);
58 
59  // EndRun
60  virtual void endRun(const edm::Run& run, const edm::EventSetup& c);
61 
62  // Reset
63  virtual void reset(void);
64 
65  // cleanup
66  virtual void cleanup(void);
67 
68  // setup
69  virtual void setup(DQMStore::IBooker &);
70 
71  // LumiOutOfOrder
72  bool LumiInOrder(int lumisec);
73 
75  {
76  hh.setup(ib, Name, Units);
77  return;
78  }
79 
80  // IsAllowedCalibType
81  bool IsAllowedCalibType();
83 
84  std::vector<int> AllowedCalibTypes_;
85  bool Online_;
86  bool mergeRuns_;
88  int debug_;
91 
92  int currentLS;
93  int ievt_;
94  int levt_; // number of events in current lumi block
95  int tevt_; // number of events overall
100 
104 
105  // check that each subdetector is present
107 
108  // Define problem-tracking monitor elements -- keep here, or in the client?
112  MonitorElement* ProblemsCurrentLB; // show problems just for this LB
113 
115  // Store known channels to be ignored during plots of problems vs LB
116  // store vector of vectors
117  // index 0 = HB, 1 = HE, 2 = HF, 3 HO (index = subdetector - 1)
118  std::map<unsigned int, int> KnownBadCells_;
119 
122 
124 
125 
126  private:
128 
129  // methods to check for sub-detector status
132 
135 
137 
138 };// class HcalBaseDQMonitor : public edm::EDAnalyzer
139 
140 
141 #endif
virtual void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
virtual void dqmBeginRun(const edm::Run &run, const edm::EventSetup &c)
bool LumiInOrder(int lumisec)
MonitorElement * ProblemsCurrentLB
int ib
Definition: cuy.py:660
edm::EDGetTokenT< FEDRawDataCollection > tok_braw_
virtual void analyze(const edm::Event &e, const edm::EventSetup &c)
void CheckCalibType(const edm::Handle< FEDRawDataCollection > &)
MonitorElement * ProblemsVsLB_HF
std::map< unsigned int, int > KnownBadCells_
std::vector< int > AllowedCalibTypes_
virtual void cleanup(void)
virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)
void getLogicalMap(const edm::EventSetup &c)
MonitorElement * meTevt_
const HcalElectronicsMap * eMap_
void SetupEtaPhiHists(DQMStore::IBooker &ib, EtaPhiHists &hh, std::string Name, std::string Units)
MonitorElement * meTevtHist_
MonitorElement * ProblemsVsLB_HBHEHF
virtual ~HcalBaseDQMonitor()
MonitorElement * ProblemsVsLB_HB
HcalLogicalMap * logicalMap_
edm::InputTag FEDRawDataCollection_
virtual void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
HcalSubdetector
Definition: HcalAssistant.h:31
void setup(DQMStore::IBooker &m_dbe, std::string Name, std::string Units="")
MonitorElement * meIevt_
void CheckSubdetectorStatus(const edm::Handle< FEDRawDataCollection > &, HcalSubdetector, const HcalElectronicsMap &)
virtual void reset(void)
MonitorElement * ProblemsVsLB_HE
virtual void endRun(const edm::Run &run, const edm::EventSetup &c)
MonitorElement * ProblemsVsLB_HO
volatile std::atomic< bool > shutdown_flag false
MonitorElement * ProblemsVsLB
virtual void setup(DQMStore::IBooker &)
MonitorElement * meLevt_
Definition: Run.h:41