70 }
else if (meth ==
"dist") {
72 }
else if (meth ==
"momdr") {
74 }
else if (meth ==
"posdr") {
77 throw cms::Exception(
"BadParameterName") << meth <<
" TrackAssociatorByPostionImpl::Method name not recognized.";
88 thePutToken{produces<reco::TrackToTrackingParticleAssociator>()},
89 theQminCut{
iConfig.getParameter<
double>(
"QminCut")},
90 theQCut{
iConfig.getParameter<
double>(
"QCut")},
91 thePositionMinimumDistance{
iConfig.getParameter<
double>(
"positionMinimumDistance")},
93 theMinIfNoMatch{
iConfig.getParameter<
bool>(
"MinIfNoMatch")},
94 theConsiderAllSimHits{
iConfig.getParameter<
bool>(
"ConsiderAllSimHits")} {}
105 std::make_unique<TrackAssociatorByPositionImpl>(iEvent.
productGetter(),
static TrackAssociatorByPositionImpl::Method parseMethodName(const std::string &meth)
TrackAssociatorByHitsImpl::SimHitTPAssociationList SimHitTPAssociationList
edm::ESGetToken< Propagator, TrackingComponentsRecord > thePropagatorToken
#define DEFINE_FWK_MODULE(type)
EDProductGetter const & productGetter() const
bool theConsiderAllSimHits
edm::EDPutTokenT< reco::TrackToTrackingParticleAssociator > thePutToken
edm::EDGetTokenT< SimHitTPAssociationList > theSimHitTpMapToken
edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecord > theGeometryToken
bool getData(T &iHolder) const
double thePositionMinimumDistance
void addDefault(ParameterSetDescription const &psetDescription)
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
TrackAssociatorByPositionImpl::Method theMethod
bool get(ProductID const &oid, Handle< PROD > &result) const
OrphanHandle< PROD > emplace(EDPutTokenT< PROD > token, Args &&...args)
puts a new product
~TrackAssociatorByPositionProducer() override=default
T getParameter(std::string const &) const
TrackAssociatorByPositionProducer(const edm::ParameterSet &)
std::vector< SimHitTPPair > SimHitTPAssociationList