CMS 3D CMS Logo

MTDTimeCalibESProducer.cc
Go to the documentation of this file.
2 
5 
8 
10 
16 
17 #include <string>
18 #include <memory>
19 
20 using namespace edm;
21 
23 public:
25  ~MTDTimeCalibESProducer() override = default;
26 
27  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
28 
29  std::unique_ptr<MTDTimeCalib> produce(const MTDTimeCalibRecord&);
30 
31 private:
35 };
36 
38  pset_ = p;
39  setWhatProduced(this, "MTDTimeCalib").setConsumes(ddToken_).setConsumes(topoToken_);
40 }
41 
42 // Configuration descriptions
45  desc.add<double>("BTLTimeOffset", 0.)->setComment("Time offset (additive) to all the BTL RecHits [ns]");
46  desc.add<double>("ETLTimeOffset", 0.)->setComment("Time offset (additive) to all the ETL RecHits [ns]");
47  desc.add<double>("BTLLightCollTime", 0.2)->setComment("Light collection time for BTL tile geometry [ns]");
48  desc.add<double>("BTLLightCollSlope", 0.075)
49  ->setComment("Light collection slope for bar for BTL bar tile geometry [ns/cm]");
50  descriptions.add("MTDTimeCalibESProducer", desc);
51 }
52 
53 std::unique_ptr<MTDTimeCalib> MTDTimeCalibESProducer::produce(const MTDTimeCalibRecord& iRecord) {
54  return std::make_unique<MTDTimeCalib>(pset_, &iRecord.get(ddToken_), &iRecord.get(topoToken_));
55 }
56 
59 
void setComment(std::string const &value)
edm::ESGetToken< MTDTopology, MTDTopologyRcd > topoToken_
std::unique_ptr< MTDTimeCalib > produce(const MTDTimeCalibRecord &)
edm::ESGetToken< MTDGeometry, MTDDigiGeometryRecord > ddToken_
MTDTimeCalibESProducer(const edm::ParameterSet &p)
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
ParameterDescriptionBase * add(U const &iLabel, T const &value)
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition: ModuleFactory.h:60
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
HLT enums.