00001 #ifndef ESDBCOPY_H 00002 #define ESDBCOPY_H 00003 00004 #include "FWCore/Framework/interface/EDAnalyzer.h" 00005 #include "CondCore/DBCommon/interface/Exception.h" 00006 00007 #include "FWCore/Framework/interface/IOVSyncValue.h" 00008 00009 #include <string> 00010 #include <map> 00011 00012 namespace edm { 00013 class ParameterSet; 00014 class Event; 00015 class EventSetup; 00016 } 00017 00018 class ESDBCopy : public edm::EDAnalyzer { 00019 public: 00020 explicit ESDBCopy(const edm::ParameterSet& iConfig ); 00021 ~ESDBCopy(); 00022 00023 virtual void analyze( const edm::Event& evt, const edm::EventSetup& evtSetup); 00024 00025 private: 00026 bool shouldCopy(const edm::EventSetup& evtSetup, std::string container); 00027 void copyToDB(const edm::EventSetup& evtSetup, std::string container); 00028 00029 std::string m_timetype; 00030 std::map<std::string, unsigned long long> m_cacheIDs; 00031 std::map<std::string, std::string> m_records; 00032 }; 00033 00034 #endif