CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/CondTools/Hcal/plugins/HcalTimingParamsPopConAnalyzer.cc

Go to the documentation of this file.
00001 #include "CondCore/PopCon/interface/PopConAnalyzer.h"
00002 #include "CondTools/Hcal/interface/HcalTimingParamsHandler.h"
00003 #include "FWCore/Framework/interface/MakerMacros.h"
00004 
00005 //typedef popcon::PopConAnalyzer<HcalTimingParamsHandler> HcalTimingParamsPopConAnalyzer;
00006 
00007 class HcalTimingParamsPopConAnalyzer: public popcon::PopConAnalyzer<HcalTimingParamsHandler>
00008 {
00009 public:
00010   typedef HcalTimingParamsHandler SourceHandler;
00011 
00012   HcalTimingParamsPopConAnalyzer(const edm::ParameterSet& pset): 
00013     popcon::PopConAnalyzer<HcalTimingParamsHandler>(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<HcalTimingParams> objecthandle;
00029     esetup.get<HcalTimingParamsRcd>().get(objecthandle);
00030     myDBObject = new HcalTimingParams(*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   HcalTimingParams* myDBObject;
00040 };
00041 
00042 DEFINE_FWK_MODULE(HcalTimingParamsPopConAnalyzer);