File indexing completed on 2024-04-06 12:28:55
0001 #include "TrackingTools/TransientTrackingRecHit/interface/SeedingLayerSetsHits.h"
0002 #include "RecoTracker/TkSeedingLayers/interface/SeedingLayerSetsBuilder.h"
0003
0004 #include "FWCore/Framework/interface/stream/EDProducer.h"
0005 #include "FWCore/Framework/interface/Event.h"
0006 #include "FWCore/Framework/interface/MakerMacros.h"
0007 #include "FWCore/Framework/interface/ConsumesCollector.h"
0008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0009
0010 class dso_hidden SeedingLayersEDProducer : public edm::stream::EDProducer<> {
0011 public:
0012 SeedingLayersEDProducer(const edm::ParameterSet& iConfig);
0013 ~SeedingLayersEDProducer() override;
0014
0015 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0016
0017 void produce(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
0018
0019 private:
0020 SeedingLayerSetsBuilder builder_;
0021 };
0022
0023 SeedingLayersEDProducer::SeedingLayersEDProducer(const edm::ParameterSet& iConfig)
0024 : builder_(iConfig, consumesCollector()) {
0025 produces<SeedingLayerSetsHits>();
0026 }
0027 SeedingLayersEDProducer::~SeedingLayersEDProducer() {}
0028
0029 void SeedingLayersEDProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
0030 edm::ParameterSetDescription desc;
0031 SeedingLayerSetsBuilder::fillDescriptions(desc);
0032
0033 descriptions.add("seedingLayersEDProducer", desc);
0034 }
0035
0036 void SeedingLayersEDProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) {
0037 auto prod = builder_.hits(iEvent, iSetup);
0038
0039
0040 iEvent.put(std::move(prod));
0041 }
0042
0043 DEFINE_FWK_MODULE(SeedingLayersEDProducer);