Go to the documentation of this file. 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>
edm::EDProductGetter const * productGetter_
reco::RecoToSimCollection associateRecoToSim(const edm::RefToBaseVector< reco::Track > &, const edm::RefVector< TrackingParticleCollection > &) const override
Association Reco To Sim with Collections.
const bool AbsoluteNumberOfHits
reco::SimToRecoCollection associateSimToReco(const edm::RefToBaseVector< reco::Track > &, const edm::RefVector< TrackingParticleCollection > &) const override
Association Sim To Reco with Collections.
std::vector< SimHitTPPair > SimHitTPAssociationList
void getMatchedIds(std::vector< SimHitIdpr > &, std::vector< SimHitIdpr > &, int &, iter, iter, TrackerHitAssociator *) const
std::unique_ptr< TrackerHitAssociator > associate
const TrackingRecHit * getHitPtr(trackingRecHit_iterator iter) const
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
SimToRecoDenomType SimToRecoDenominator
Monte Carlo truth information used for tracking validation.
std::pair< TrackingParticleRef, TrackPSimHitRef > SimHitTPPair
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
int getShared(std::vector< SimHitIdpr > &, std::vector< SimHitIdpr > &, TrackingParticle const &) const
EDProductGetter const * productGetter(std::atomic< void const * > const &iCache)
int getDoubleCount(iter, iter, TrackerHitAssociator *, TrackingParticle const &) const
SimHitTPAssociationList const * simHitsTPAssoc
const bool ThreeHitTracksAreSpecial
const double quality_SimToReco
const TrackingRecHit * getHitPtr(edm::OwnVector< TrackingRecHit >::const_iterator iter) const
const double purity_SimToReco
TrackerTopology const * tTopo
const double cut_RecoToSim
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)