File indexing completed on 2024-04-06 12:24:44
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #include <memory>
0021
0022
0023 #include "FWCore/Framework/interface/ModuleFactory.h"
0024 #include "FWCore/Framework/interface/ESProducer.h"
0025 #include <FWCore/ParameterSet/interface/ConfigurationDescriptions.h>
0026 #include <FWCore/ParameterSet/interface/ParameterSetDescription.h>
0027
0028 #include "CondFormats/DataRecord/interface/EcalSCDynamicDPhiParametersRcd.h"
0029 #include "RecoEcal/EgammaCoreTools/interface/SCDynamicDPhiParametersHelper.h"
0030
0031
0032
0033
0034
0035 class EcalSCDynamicDPhiParametersESProducer : public edm::ESProducer {
0036 public:
0037 EcalSCDynamicDPhiParametersESProducer(const edm::ParameterSet&);
0038 ~EcalSCDynamicDPhiParametersESProducer() override;
0039
0040 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0041
0042 using ReturnType = std::unique_ptr<EcalSCDynamicDPhiParameters>;
0043
0044 ReturnType produce(const EcalSCDynamicDPhiParametersRcd&);
0045
0046 private:
0047 EcalSCDynamicDPhiParameters params_;
0048 };
0049
0050
0051
0052
0053 EcalSCDynamicDPhiParametersESProducer::EcalSCDynamicDPhiParametersESProducer(const edm::ParameterSet& iConfig) {
0054 setWhatProduced(this);
0055
0056 reco::SCDynamicDPhiParametersHelper scDynamicDPhiParams(params_, iConfig);
0057 }
0058
0059 EcalSCDynamicDPhiParametersESProducer::~EcalSCDynamicDPhiParametersESProducer() {}
0060
0061
0062
0063
0064
0065
0066 EcalSCDynamicDPhiParametersESProducer::ReturnType EcalSCDynamicDPhiParametersESProducer::produce(
0067 const EcalSCDynamicDPhiParametersRcd& iRecord) {
0068 auto product = std::make_unique<EcalSCDynamicDPhiParameters>(params_);
0069 return product;
0070 }
0071
0072 void EcalSCDynamicDPhiParametersESProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
0073 edm::ParameterSetDescription desc;
0074 {
0075 edm::ParameterSetDescription vpsd1;
0076 vpsd1.add<double>("eMin");
0077 vpsd1.add<double>("etaMin");
0078 vpsd1.add<double>("yoffset");
0079 vpsd1.add<double>("scale");
0080 vpsd1.add<double>("xoffset");
0081 vpsd1.add<double>("width");
0082 vpsd1.add<double>("saturation");
0083 vpsd1.add<double>("cutoff");
0084 std::vector<edm::ParameterSet> temp1;
0085 temp1.reserve(1);
0086 {
0087 edm::ParameterSet temp2;
0088 temp2.addParameter<double>("eMin", 0.);
0089 temp2.addParameter<double>("etaMin", 0.);
0090 temp2.addParameter<double>("yoffset", 0.0280506);
0091 temp2.addParameter<double>("scale", 0.946048);
0092 temp2.addParameter<double>("xoffset", -0.101172);
0093 temp2.addParameter<double>("width", 0.432767);
0094 temp2.addParameter<double>("saturation", 0.14);
0095 temp2.addParameter<double>("cutoff", 0.6);
0096 temp1.push_back(temp2);
0097 }
0098 desc.addVPSet("dynamicDPhiParameterSets", vpsd1, temp1);
0099 }
0100 descriptions.add("ecalSCDynamicDPhiParametersESProducer", desc);
0101 }
0102
0103
0104 DEFINE_FWK_EVENTSETUP_MODULE(EcalSCDynamicDPhiParametersESProducer);