00001 #include "CondCore/PopCon/interface/PopConAnalyzer.h" 00002 #include "CondTools/Hcal/interface/HcalZSThresholdsHandler.h" 00003 #include "FWCore/Framework/interface/MakerMacros.h" 00004 00005 //typedef popcon::PopConAnalyzer<HcalZSThresholdsHandler> HcalZSThresholdsPopConAnalyzer; 00006 00007 class HcalZSThresholdsPopConAnalyzer: public popcon::PopConAnalyzer<HcalZSThresholdsHandler> 00008 { 00009 public: 00010 typedef HcalZSThresholdsHandler SourceHandler; 00011 00012 HcalZSThresholdsPopConAnalyzer(const edm::ParameterSet& pset): 00013 popcon::PopConAnalyzer<HcalZSThresholdsHandler>(pset), 00014 m_populator(pset), 00015 m_source(pset.getParameter<edm::ParameterSet>("Source")) {} 00016 00017 private: 00018 virtual void endJob() 00019 { 00020 m_source.initObject(myDBObject); 00021 write(); 00022 } 00023 00024 virtual void analyze(const edm::Event& ev, const edm::EventSetup& esetup) 00025 { 00026 //Using ES to get the data: 00027 00028 edm::ESHandle<HcalZSThresholds> objecthandle; 00029 esetup.get<HcalZSThresholdsRcd>().get(objecthandle); 00030 myDBObject = new HcalZSThresholds(*objecthandle.product() ); 00031 } 00032 00033 void write() { m_populator.write(m_source); } 00034 00035 private: 00036 popcon::PopCon m_populator; 00037 SourceHandler m_source; 00038 00039 HcalZSThresholds* myDBObject; 00040 }; 00041 00042 DEFINE_FWK_MODULE(HcalZSThresholdsPopConAnalyzer);