CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ZDCMonitorModule.h
Go to the documentation of this file.
1 #ifndef ZDCMonitorModule_GUARD_H
2 #define ZDCMonitorModule_GUARD_H
3 
4 /*
5  * \file ZDCMonitorModule.h
6  *
7 
8  * \author
9  *
10 */
11 
20 
23 
26 
28 
29 class MonitorElement;
30 class DQMStore;
31 class HcalZDCMonitor;
32 
33 #include <iostream>
34 #include <fstream>
35 
37 
38 public:
39 
40  // Constructor
42 
43  // Destructor
45 
46  protected:
47 
48  // Analyze
49  void analyze(const edm::Event& e, const edm::EventSetup& c);
50 
51  // BeginJob
52  void beginJob();
53 
54  // BeginRun
55  void beginRun(const edm::Run& run, const edm::EventSetup& c);
56 
57  // Begin LumiBlock
58  void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
59  const edm::EventSetup& c) ;
60 
61  // End LumiBlock
62  void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
63  const edm::EventSetup& c);
64 
65  // EndJob
66  void endJob(void);
67 
68  // EndRun
69  void endRun(const edm::Run& run, const edm::EventSetup& c);
70 
71  // Reset
72  void reset(void);
73 
75  bool prescale();
76 /*
77  // Check ZDC has FED data
78  void CheckZDCStatus (const FEDRawDataCollection& rawraw,
79  const HcalUnpackerReport& report,
80  const HcalElectronicsMap& emap,
81  const ZDCDigiCollection& zdcdigi
82  );
83 */
84  private:
85  std::vector<int> fedss;
86  /********************************************************/
87  // The following member variables can be specified in //
88  // the configuration input file for the process. //
89  /********************************************************/
90 
98 
99  // Reset histograms every N events
100 
104 
106  int debug_; // make debug an int in order to allow different levels of messaging
107 
108  // control whether or not to display time used by each module
109  bool showTiming_;
111 
112  // counters and flags
113  int nevt_;
114 
115  struct{
116  timeval startTV,updateTV;
117  double elapsedTime;
118  double vetoTime;
119  double updateTime;
120  } psTime_;
121 
124 
125  // environment variables
127  unsigned int ilumisec;
128  bool Online_;
130 
131  int ievt_;
135  int ievt_pre_; // copy of counter used for prescale purposes
137 
140 
141  edm::InputTag FEDRawDataCollection_; // not yet in use, but we still store the tag name
142 
146 
151 
157 
159 
161  bool checkZDC_;
162 
165 
166  std::ofstream m_logFile;
167 
168  // Determine whether the ZDC in the run (using FED info)
171 
172  // myquality_ will store status values for each det ID I find
174  //std::map<HcalDetId, unsigned int> myquality_;
175  //HcalChannelQuality* chanquality_;
176 };
177 
178 #endif
const HcalElectronicsMap * readoutMap_
void beginRun(const edm::Run &run, const edm::EventSetup &c)
std::vector< int > fedss
struct ZDCMonitorModule::@281 psTime_
edm::EDGetTokenT< HcalUnpackerReport > tok_hcal_
edm::InputTag inputLabelDigi_
MonitorElement * meIEVTRECHIT_
edm::EDGetTokenT< ZDCRecHitCollection > tok_zdcrh_
MonitorElement * meTrigger_
edm::ESHandle< HcalDbService > conditions_
ZDCMonitorModule(const edm::ParameterSet &ps)
edm::CPUTimer cpu_timer
MonitorElement * meIEVTALL_
void analyze(const edm::Event &e, const edm::EventSetup &c)
int prescaleLS_
units of events
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
MonitorElement * meQuality_
edm::InputTag inputLabelRecHitZDC_
int debug_
Verbosity switch used for debugging or informational output.
int prescaleUpdate_
units of minutes
MonitorElement * meIEVTRAW_
void endRun(const edm::Run &run, const edm::EventSetup &c)
MonitorElement * meZDC_
HcalZDCMonitor * zdcMon_
std::string rootFolder_
edm::EDGetTokenT< ZDCDigiCollection > tok_zdc_
unsigned int ilumisec
int prescaleTime_
units of lumi sections
std::ofstream m_logFile
MonitorElement * meIEVTDIGI_
edm::InputTag FEDRawDataCollection_
MonitorElement * meStatus_
void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
DQMStore * dbe_
Connection to the DQM backend.
MonitorElement * meLatency_
MonitorElement * meFEDS_
Definition: Run.h:41
bool prescale()
Boolean prescale test for this event.
std::string monitorName_
units of &quot;updates&quot;, TBD