Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:07:17

0001 #ifndef DQM_EcalMonitorDbModule_EcalDQMStatusWriter_h
0002 #define DQM_EcalMonitorDbModule_EcalDQMStatusWriter_h
0003 
0004 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0005 
0006 #include "CondFormats/EcalObjects/interface/EcalDQMChannelStatus.h"
0007 #include "CondFormats/EcalObjects/interface/EcalDQMTowerStatus.h"
0008 
0009 #include "Geometry/EcalMapping/interface/EcalElectronicsMapping.h"
0010 #include "Geometry/EcalMapping/interface/EcalMappingRcd.h"
0011 
0012 #include <fstream>
0013 
0014 class EcalDQMStatusWriter : public edm::one::EDAnalyzer<edm::one::WatchRuns> {
0015 public:
0016   EcalDQMStatusWriter(edm::ParameterSet const &);
0017   ~EcalDQMStatusWriter() override {}
0018 
0019 private:
0020   void analyze(edm::Event const &, edm::EventSetup const &) override;
0021   void beginRun(edm::Run const &, edm::EventSetup const &) override;
0022   void endRun(edm::Run const &, edm::EventSetup const &) override;
0023 
0024   EcalDQMChannelStatus channelStatus_;
0025   EcalDQMTowerStatus towerStatus_;
0026   unsigned firstRun_;
0027   std::ifstream inputFile_;
0028 
0029   EcalElectronicsMapping const *electronicsMap_;
0030   edm::ESGetToken<EcalElectronicsMapping, EcalMappingRcd> elecMapHandle_;
0031   void setElectronicsMap(edm::EventSetup const &);
0032   EcalElectronicsMapping const *GetElectronicsMap();
0033 };
0034 
0035 #endif