CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/CondTools/Hcal/plugins/HcalQIEDataPopConAnalyzer.cc

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