test
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 Quan Wang
9  *
10  */
11 
20 
23 
26 
28 
30 
31 class MonitorElement;
32 class HcalZDCMonitor;
33 
34 #include <iostream>
35 #include <fstream>
36 
38 
39 public:
40 
41  // Constructor
43 
44  // Destructor
46 
47  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &);
48 
49 protected:
50 
51  // Analyze
52  void analyze(const edm::Event& e, const edm::EventSetup& c);
53 
54  // Begin LumiBlock
55  void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
56  const edm::EventSetup& c) ;
57 
58  // End LumiBlock
59  void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
60  const edm::EventSetup& c);
61 
62  // EndRun
63  void endRun(const edm::Run& run, const edm::EventSetup& c);
64 
65  // Reset
66  void reset(void);
67 
69  bool prescale();
70  /*
71  // Check ZDC has FED data
72  void CheckZDCStatus (const FEDRawDataCollection& rawraw,
73  const HcalUnpackerReport& report,
74  const HcalElectronicsMap& emap,
75  const ZDCDigiCollection& zdcdigi
76  );
77  */
78 private:
79  std::vector<int> fedss;
80  /********************************************************/
81  // The following member variables can be specified in //
82  // the configuration input file for the process. //
83  /********************************************************/
84 
92 
93  // Reset histograms every N events
94  //
95 
97  // HcalZDCMonitor helper class
99 
103 
105  int debug_; // make debug an int in order to allow different levels of messaging
106 
107  // control whether or not to display time used by each module
110 
111  // counters and flags
112  int nevt_;
113 
114  struct{
115  timeval startTV,updateTV;
116  double elapsedTime;
117  double vetoTime;
118  double updateTime;
119  } psTime_;
120 
121  // environment variables
124  int itime_;
125  unsigned int ilumisec;
126  bool Online_;
128 
129  int ievt_;
133  int ievt_pre_; // copy of counter used for prescale purposes
135 
138 
139 // edm::InputTag FEDRawDataCollection_; // not yet in use, but we still store the tag name
140 
144 
149 
155 
157 
159  bool checkZDC_;
160 
163 
164  std::ofstream m_logFile;
165 
166  // Determine whether the ZDC in the run (using FED info)
169 
170  // myquality_ will store status values for each det ID I find
172  //std::map<HcalDetId, unsigned int> myquality_;
173  //HcalChannelQuality* chanquality_;
174 };
175 
176 #endif
const HcalElectronicsMap * readoutMap_
std::vector< int > fedss
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)
unsigned long long EventNumber_t
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_
struct ZDCMonitorModule::@284 psTime_
edm::EDGetTokenT< ZDCDigiCollection > tok_zdc_
const edm::ParameterSet & ps_
units of &quot;updates&quot;, TBD
unsigned int ilumisec
int prescaleTime_
units of lumi sections
std::ofstream m_logFile
MonitorElement * meIEVTDIGI_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)
MonitorElement * meStatus_
void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
edm::RunNumber_t irun_
unsigned int RunNumber_t
edm::EventNumber_t ievent_
MonitorElement * meLatency_
MonitorElement * meFEDS_
Definition: Run.h:43
bool prescale()
Boolean prescale test for this event.
std::string monitorName_