File indexing completed on 2024-04-06 12:28:38
0001
0002 #include "FWCore/Framework/interface/ModuleFactory.h"
0003 #include "FWCore/Framework/interface/ESProducer.h"
0004
0005 #include "RecoTracker/PixelTrackFitting/interface/PixelTrackCleanerBySharedHits.h"
0006
0007 class PixelTrackCleanerBySharedHitsESProducer : public edm::ESProducer {
0008 public:
0009 PixelTrackCleanerBySharedHitsESProducer(const edm::ParameterSet& iConfig);
0010 ~PixelTrackCleanerBySharedHitsESProducer() override = default;
0011
0012 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0013
0014 std::unique_ptr<PixelTrackCleaner> produce(const PixelTrackCleaner::Record& iRecord);
0015
0016 private:
0017 const bool useQuadrupletAlgo_;
0018 };
0019
0020 PixelTrackCleanerBySharedHitsESProducer::PixelTrackCleanerBySharedHitsESProducer(const edm::ParameterSet& iConfig)
0021 : useQuadrupletAlgo_(iConfig.getParameter<bool>("useQuadrupletAlgo")) {
0022 auto componentName = iConfig.getParameter<std::string>("ComponentName");
0023 setWhatProduced(this, componentName);
0024 }
0025
0026 void PixelTrackCleanerBySharedHitsESProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
0027 edm::ParameterSetDescription desc;
0028 desc.add<std::string>("ComponentName", "pixelTrackCleanerBySharedHits");
0029 desc.add<bool>("useQuadrupletAlgo", false);
0030 descriptions.add("pixelTrackCleanerBySharedHits", desc);
0031 }
0032
0033 std::unique_ptr<PixelTrackCleaner> PixelTrackCleanerBySharedHitsESProducer::produce(
0034 const PixelTrackCleaner::Record& iRecord) {
0035 return std::make_unique<PixelTrackCleanerBySharedHits>(useQuadrupletAlgo_);
0036 }
0037
0038 #include "FWCore/PluginManager/interface/ModuleDef.h"
0039 #include "FWCore/Framework/interface/MakerMacros.h"
0040 DEFINE_FWK_EVENTSETUP_MODULE(PixelTrackCleanerBySharedHitsESProducer);