1 #ifndef RecoTracker_TkSeedGenerator_SeedCreatorFromRegionHitsEDProducerT_H
2 #define RecoTracker_TkSeedGenerator_SeedCreatorFromRegionHitsEDProducerT_H
19 template <
typename T_SeedCreator>
36 template <
typename T_SeedCreator>
46 produces<TrajectorySeedCollection>();
49 template <
typename T_SeedCreator>
54 T_SeedCreator::fillDescriptions(desc);
61 auto label =
std::string(
"seedCreatorFromRegion") + T_SeedCreator::fillDescriptionsLabel() +
"EDProducer";
62 descriptions.
add(label, desc);
65 template <
typename T_SeedCreator>
68 iEvent.
getByToken(seedingHitSetsToken_, hseedingHitSets);
71 auto seeds = std::make_unique<TrajectorySeedCollection>();
75 comparitor_->init(iEvent, iSetup);
79 seedCreator_.init(region, iSetup, comparitor_.
get());
85 if(!comparitor_ || comparitor_->compatible(hits)) {
86 seedCreator_.makeSeed(*seeds, hits);
91 seeds->shrink_to_fit();
T getParameter(std::string const &) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void setAllowAnything()
allow any parameter label/value pairs
~SeedCreatorFromRegionHitsEDProducerT()=default
T_SeedCreator seedCreator_
edm::EDGetTokenT< RegionsSeedingHitSets > seedingHitSetsToken_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
std::unique_ptr< SeedComparitor > comparitor_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
SeedCreatorFromRegionHitsEDProducerT(const edm::ParameterSet &iConfig)
virtual void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
T get(const Candidate &c)