CMS 3D CMS Logo

TrackCleanerESProducer.cc
Go to the documentation of this file.
1 // user include files
5 
7 
9 
11 public:
13  ~TrackCleanerESProducer() override = default;
14 
15  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
16 
17  std::unique_ptr<PixelTrackCleaner> produce(const PixelTrackCleaner::Record& iRecord);
18 
19 private:
21 };
22 
24  : trackerToken_(setWhatProduced(this, iConfig.getParameter<std::string>("ComponentName"))
25  .consumesFrom<TrackerTopology, TrackerTopologyRcd>()) {}
26 
29  desc.add<std::string>("ComponentName", "trackCleaner");
30  descriptions.add("trackCleaner", desc);
31 }
32 
33 std::unique_ptr<PixelTrackCleaner> TrackCleanerESProducer::produce(const PixelTrackCleaner::Record& iRecord) {
34  return std::make_unique<TrackCleaner>(&iRecord.get(trackerToken_));
35 }
36 
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:138
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
std::unique_ptr< PixelTrackCleaner > produce(const PixelTrackCleaner::Record &iRecord)
TrackCleanerESProducer(const edm::ParameterSet &iConfig)
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
~TrackCleanerESProducer() override=default
ParameterDescriptionBase * add(U const &iLabel, T const &value)
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition: ModuleFactory.h:60
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerToken_
void add(std::string const &label, ParameterSetDescription const &psetDescription)