Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:48:49

0001 #include "CondCore/DBOutputService/interface/PoolDBOutputService.h"
0002 #include "FWCore/Framework/interface/EventSetup.h"
0003 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0004 #include "FWCore/ServiceRegistry/interface/Service.h"
0005 #include "CondFormats/DataRecord/interface/SiStripCondDataRecords.h"
0006 #include "CondFormats/SiStripObjects/interface/SiStripApvSimulationParameters.h"
0007 
0008 class SiStripApvSimulationParametersBuilder : public edm::one::EDAnalyzer<> {
0009 public:
0010   explicit SiStripApvSimulationParametersBuilder(const edm::ParameterSet& iConfig) : m_parametersToken(esConsumes()) {}
0011   ~SiStripApvSimulationParametersBuilder() override {}
0012 
0013   void analyze(const edm::Event&, const edm::EventSetup&) override;
0014 
0015 private:
0016   const edm::ESGetToken<SiStripApvSimulationParameters, SiStripApvSimulationParametersRcd> m_parametersToken;
0017 };
0018 
0019 void SiStripApvSimulationParametersBuilder::analyze(const edm::Event&, const edm::EventSetup& evtSetup) {
0020   // copy; DB service needs non-const pointer but does not take ownership
0021   auto obj = std::make_unique<SiStripApvSimulationParameters>(evtSetup.getData(m_parametersToken));
0022 
0023   edm::Service<cond::service::PoolDBOutputService> mydbservice;
0024   if (mydbservice.isAvailable()) {
0025     if (mydbservice->isNewTagRequest("SiStripApvSimulationParametersRcd")) {
0026       mydbservice->createOneIOV<SiStripApvSimulationParameters>(
0027           *obj, mydbservice->beginOfTime(), "SiStripApvSimulationParametersRcd");
0028     } else {
0029       mydbservice->appendOneIOV<SiStripApvSimulationParameters>(
0030           *obj, mydbservice->currentTime(), "SiStripApvSimulationParametersRcd");
0031     }
0032   } else {
0033     edm::LogError("SiStripApvSimulationParametersBuilder") << "Service is unavailable";
0034   }
0035 }
0036 
0037 #include "FWCore/PluginManager/interface/ModuleDef.h"
0038 #include "FWCore/Framework/interface/MakerMacros.h"
0039 DEFINE_FWK_MODULE(SiStripApvSimulationParametersBuilder);