1 #ifndef SimTracker_TrackAssociatorProducers_TrackAssociatorByHitsImpl_h
2 #define SimTracker_TrackAssociatorProducers_TrackAssociatorByHitsImpl_h
27 typedef std::pair<TrackingParticleRef, TrackPSimHitRef>
SimHitTPPair;
31 std::unique_ptr<TrackerHitAssociator> iAssociate,
35 double iQuality_SimToReco,
36 double iPurity_SimToReco,
37 double iCut_RecoToSim,
59 return TrackToTrackingParticleAssociatorBaseImpl::associateRecoToSim(tCH, tPCH);
66 return TrackToTrackingParticleAssociatorBaseImpl::associateSimToReco(tCH, tPCH);
78 template <
typename iter>
83 template <
typename iter>
SimToRecoDenomType SimToRecoDenominator
const double quality_SimToReco
edm::EDProductGetter const * productGetter_
std::unique_ptr< TrackerHitAssociator > associate
reco::SimToRecoCollection associateSimToReco(const edm::Handle< edm::View< reco::Track > > &tCH, const edm::Handle< TrackingParticleCollection > &tPCH) const override
compare reco to sim the handle of reco::Track and TrackingParticle collections
EDProductGetter const * productGetter(std::atomic< void const * > const &iCache)
SimHitTPAssociationList const * simHitsTPAssoc
int getShared(std::vector< SimHitIdpr > &, std::vector< SimHitIdpr > &, TrackingParticle const &) const
void getMatchedIds(std::vector< SimHitIdpr > &, std::vector< SimHitIdpr > &, int &, iter, iter, TrackerHitAssociator *) const
int getDoubleCount(iter, iter, TrackerHitAssociator *, TrackingParticle const &) const
std::pair< TrackingParticleRef, TrackPSimHitRef > SimHitTPPair
reco::SimToRecoCollection associateSimToReco(const edm::RefToBaseVector< reco::Track > &, const edm::RefVector< TrackingParticleCollection > &) const override
Association Sim To Reco with Collections.
std::vector< SimHitTPPair > SimHitTPAssociationList
const TrackingRecHit * getHitPtr(edm::OwnVector< TrackingRecHit >::const_iterator iter) const
const bool AbsoluteNumberOfHits
reco::RecoToSimCollection associateRecoToSim(const edm::RefToBaseVector< reco::Track > &, const edm::RefVector< TrackingParticleCollection > &) const override
Association Reco To Sim with Collections.
reco::RecoToSimCollection associateRecoToSim(const edm::Handle< edm::View< reco::Track > > &tCH, const edm::Handle< TrackingParticleCollection > &tPCH) const override
compare reco to sim the handle of reco::Track and TrackingParticle collections
TrackAssociatorByHitsImpl(edm::EDProductGetter const &productGetter, std::unique_ptr< TrackerHitAssociator > iAssociate, TrackerTopology const *iTopo, SimHitTPAssociationList const *iSimHitsTPAssoc, SimToRecoDenomType iSimToRecoDenominator, double iQuality_SimToReco, double iPurity_SimToReco, double iCut_RecoToSim, bool iUsePixels, bool iUseGrouped, bool iUseSplitting, bool ThreeHitTracksAreSpecial, bool AbsoluteNumberOfHits)
const double purity_SimToReco
Monte Carlo truth information used for tracking validation.
const TrackingRecHit * getHitPtr(trackingRecHit_iterator iter) const
const bool ThreeHitTracksAreSpecial
TrackerTopology const * tTopo
const double cut_RecoToSim