79 : qualitySimToReco_(iConfig.getParameter<double>(
"Quality_SimToReco")),
80 puritySimToReco_(iConfig.getParameter<double>(
"Purity_SimToReco")),
81 pixelHitWeight_(iConfig.getParameter<double>(
"PixelHitWeight")),
82 cutRecoToSim_(iConfig.getParameter<double>(
"Cut_RecoToSim")),
83 threeHitTracksAreSpecial_(iConfig.getParameter<
bool>(
"ThreeHitTracksAreSpecial")),
84 useClusterTPAssociation_(iConfig.getParameter<
bool>(
"useClusterTPAssociation")),
85 absoluteNumberOfHits_(iConfig.getParameter<
bool>(
"AbsoluteNumberOfHits")) {
91 if (denominatorString ==
"sim")
93 else if (denominatorString ==
"reco")
96 throw cms::Exception(
"QuickTrackAssociatorByHitsImpl") <<
"SimToRecoDenominator not specified as sim or reco";
102 bool useGrouped, useSplitting;
103 if (iConfig.
exists(
"UseGrouped"))
108 if (iConfig.
exists(
"UseSplitting"))
109 useSplitting = iConfig.
getParameter<
bool>(
"UseSplitting");
115 if (!(useGrouped && useSplitting)) {
116 LogDebug(
"QuickTrackAssociatorByHitsImpl")
117 <<
"UseGrouped and/or UseSplitting has been set to false, but this associator ignores that setting.";
121 produces<reco::TrackToTrackingParticleAssociator>();
148 hitAssociatorParameters.
addParameter<
bool>(
"associateRecoTracks",
true);
155 return hitAssociatorParameters;
165 std::unique_ptr<TrackerHitAssociator> trackAssoc;
169 clusterAssoc = clusterAssocHandle.
product();
176 auto impl = std::make_unique<QuickTrackAssociatorByHitsImpl>(
iEvent.productGetter(),
187 auto toPut = std::make_unique<reco::TrackToTrackingParticleAssociator>(
std::move(
impl));
T getParameter(std::string const &) const
bool absoluteNumberOfHits_
bool exists(std::string const ¶meterName) const
checks if a parameter exists
bool threeHitTracksAreSpecial_
T const * product() const
edm::ParameterSet makeHitAssociatorParameters(const edm::ParameterSet &)
QuickTrackAssociatorByHitsProducer(const edm::ParameterSet &)
void addDefault(ParameterSetDescription const &psetDescription)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
void addParameter(std::string const &name, T const &value)
#define DEFINE_FWK_MODULE(type)
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
QuickTrackAssociatorByHitsImpl::SimToRecoDenomType simToRecoDenominator_
TrackerHitAssociator::Config trackerHitAssociatorConfig_
edm::EDGetTokenT< ClusterTPAssociation > cluster2TPToken_
~QuickTrackAssociatorByHitsProducer() override
bool useClusterTPAssociation_