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));