CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/CondTools/Hcal/plugins/HcalL1TriggerObjectsPopConAnalyzer.cc

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