CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CastorMonitorModule.h
Go to the documentation of this file.
1 #ifndef CastorMonitorModule_H
2 #define CastorMonitorModule_H
3 
12 
15 
21 
26 
29 
33 
36 #include "DataFormats/HcalDigi/interface/HcalUnpackerReport.h" //-- no CastorUnpackerReport at the moment !
37 #include "DataFormats/HcalDetId/interface/HcalCastorDetId.h" //-- HcalCastorDetId
46 
47 #include "CalibCalorimetry/CastorCalib/interface/CastorDbASCIIIO.h" //-- use to get/dump Calib to DB
48 #include "CondFormats/CastorObjects/interface/CastorChannelQuality.h" //-- use to get/hold channel status
50 
51 
53 
54 #include <memory>
55 #include <iostream>
56 #include <fstream>
57 #include <vector>
58 #include <string>
59 #include <sys/time.h>
60 
61 
62 
63 
65 
66 public:
67 
70 
73 
74  protected:
75 
77  void analyze(const edm::Event& iEvent, const edm::EventSetup& eventSetup);
78 
80  void beginJob();
81 
83  void beginRun(const edm::Run& iRun, const edm::EventSetup& eventSetup);
84 
86  void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
87  const edm::EventSetup& eventSetup) ;
88 
90  void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
91  const edm::EventSetup& eventSetup);
92 
94  void endJob(void);
95 
97  void endRun(const edm::Run& run, const edm::EventSetup& eventSetup);
98 
100  void reset(void);
101 
103  bool prescale();
104 
106  void CheckCastorStatus (const FEDRawDataCollection& rawraw,
107  const HcalUnpackerReport& report,
108  const CastorElectronicsMap& emap,
109  const CastorDigiCollection& castordigi
110  );
111 
112  private:
113 
121  int prescaleEvt_; //-- units of events
122  int prescaleLS_; //-- units of lumi sections
123  int prescaleTime_; //-- units of minutes
124  int prescaleUpdate_; //-- units of "updates", TBD
125 
128  std::string monitorName_;
129 
132 
134  int nevt_;
136  bool saved_;
137 
138 
139 
140 
142  bool showTiming_;
144 
146  struct{
147  timeval startTV,updateTV;
148  double elapsedTime;
149  double vetoTime;
150  double updateTime;
151  } psTime_;
152 
153 
156 
159  bool actonLS_ ;
160  std::string rootFolder_;
161 
162  int ievt_;
163  int ievt_pre_; //-- copy of counter used for prescale purposes
165 
166  //edm::InputTag inputLabelGT_;
170  //edm::InputTag inputLabelCaloTower_;
171  //edm::InputTag inputLabelLaser_;
172 
174  std::map<uint32_t, std::vector<HcalCastorDetId> > DCCtoCell;
175  std::map<uint32_t, std::vector<HcalCastorDetId> > ::iterator thisDCC;
176  std::map<std::pair <int,int> , std::vector<HcalCastorDetId> > HTRtoCell;
177  std::map<std::pair <int,int> , std::vector<HcalCastorDetId> > ::iterator thisHTR;
178 
188 
189 
199 
201 
204 
207 
208  // pedestal width averaged over capIDs, calculated in beginRun
209  // aware of the difference between index[0..15][0..13]
210  // and sector/module numeration[1..16][1..14]
211  float fPedestalNSigmaAverage[14][16];
212 
213  std::vector<HcalGenericDetId> listEMap; //electronics Emap
214 
215 
216  ofstream m_logFile;
217 
220 
225 
227  bool EDMonOn_;
228 
231  std::map<HcalCastorDetId, unsigned int> myquality_;
233 };
234 
235 #endif
MonitorElement * meCASTOR_
MonitorElement * meQuality_
void endRun(const edm::Run &run, const edm::EventSetup &eventSetup)
void analyze(const edm::Event &iEvent, const edm::EventSetup &eventSetup)
std::map< std::pair< int, int >, std::vector< HcalCastorDetId > > HTRtoCell
void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &eventSetup)
edm::ESHandle< CastorDbService > conditions_
CastorLEDMonitor * LedMon_
MonitorElement * meRunType_
void beginRun(const edm::Run &iRun, const edm::EventSetup &eventSetup)
MonitorElement * meLatency_
edm::ESHandle< CastorPedestals > dbPedestals
std::map< uint32_t, std::vector< HcalCastorDetId > > DCCtoCell
struct CastorMonitorModule::@163 psTime_
edm::InputTag inputLabelRaw_
tuple report
Definition: zeeHLT_cff.py:9
edm::InputTag inputLabelDigi_
int iEvent
Definition: GenABIO.cc:243
std::vector< HcalGenericDetId > listEMap
CastorMonitorModule(const edm::ParameterSet &ps)
edm::InputTag inputLabelRecHitCASTOR_
MonitorElement * meTrigger_
CastorEventDisplay * EDMon_
CastorMonitorSelector * evtSel_
CastorDigiMonitor * DigiMon_
MonitorElement * meFEDS_
MonitorElement * meEvtMask_
std::map< uint32_t, std::vector< HcalCastorDetId > >::iterator thisDCC
void CheckCastorStatus(const FEDRawDataCollection &rawraw, const HcalUnpackerReport &report, const CastorElectronicsMap &emap, const CastorDigiCollection &castordigi)
std::map< std::pair< int, int >, std::vector< HcalCastorDetId > >::iterator thisHTR
MonitorElement * meStatus_
const CastorElectronicsMap * readoutMap_
MonitorElement * CastorEventProduct
CastorPSMonitor * PSMon_
CastorChannelQualityMonitor * CQMon_
float fPedestalNSigmaAverage[14][16]
CastorRecHitMonitor * RecHitMon_
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &eventSetup)
CastorHIMonitor * HIMon_
CastorChannelQuality * chanquality_
std::map< HcalCastorDetId, unsigned int > myquality_
Definition: Run.h:31
MonitorElement * meEVT_