EcalMustacheSCParametersMaker

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
// -*- C++ -*-
//
// Package:    RecoEcal/EcalMustacheSCParametersMaker
// Class:      EcalMustacheSCParametersMaker
//
/**\class EcalMustacheSCParametersMaker EcalMustacheSCParametersMaker.cc

 Description: Writes EcalMustacheSCParameters to the DB

 Implementation:
     [Notes on implementation]
*/
//
// Original Author:  Thomas Reis
//         Created:  Thu, 05 Nov 2020 09:18:19 GMT
//
//

// system include files
#include <memory>

// user include files
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/one/EDAnalyzer.h"

#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/Utilities/interface/Exception.h"

#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "CondCore/DBOutputService/interface/PoolDBOutputService.h"
#include "FWCore/ServiceRegistry/interface/Service.h"
#include "CondFormats/EcalObjects/interface/EcalMustacheSCParameters.h"
#include "CondFormats/DataRecord/interface/EcalMustacheSCParametersRcd.h"

class EcalMustacheSCParametersMaker : public edm::one::EDAnalyzer<> {
public:
  explicit EcalMustacheSCParametersMaker(const edm::ParameterSet&);

  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);

private:
  void analyze(const edm::Event&, const edm::EventSetup&) override;

  edm::ESGetToken<EcalMustacheSCParameters, EcalMustacheSCParametersRcd> parametersToken_;
};

EcalMustacheSCParametersMaker::EcalMustacheSCParametersMaker(const edm::ParameterSet& iConfig)
    : parametersToken_(esConsumes<EcalMustacheSCParameters, EcalMustacheSCParametersRcd>()) {}

void EcalMustacheSCParametersMaker::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {
  const auto& esParams = iSetup.getData(parametersToken_);

  edm::Service<cond::service::PoolDBOutputService> poolDbService;
  if (poolDbService.isAvailable()) {
    poolDbService->writeOneIOV(esParams, poolDbService->currentTime(), "EcalMustacheSCParametersRcd");
  } else {
    throw cms::Exception("PoolDBService") << "No PoolDBService available.";
  }
}

void EcalMustacheSCParametersMaker::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
  edm::ParameterSetDescription desc;
  descriptions.addDefault(desc);
}

DEFINE_FWK_MODULE(EcalMustacheSCParametersMaker);