1 #ifndef SimTracker_TrackAssociatorProducers_TrackAssociatorByHitsImpl_h
2 #define SimTracker_TrackAssociatorProducers_TrackAssociatorByHitsImpl_h
30 typedef std::pair<TrackingParticleRef, TrackPSimHitRef>
SimHitTPPair;
35 std::unique_ptr<TrackerHitAssociator> iAssociate,
39 double iQuality_SimToReco,
40 double iPurity_SimToReco,
41 double iCut_RecoToSim,
64 return TrackToTrackingParticleAssociatorBaseImpl::associateRecoToSim(tCH,tPCH);
71 return TrackToTrackingParticleAssociatorBaseImpl::associateSimToReco(tCH,tPCH);
84 template<
typename iter>
86 std::vector<SimHitIdpr>&,
93 std::vector<SimHitIdpr>&,
96 template<
typename iter>
SimToRecoDenomType SimToRecoDenominator
const double quality_SimToReco
edm::EDProductGetter const * productGetter_
std::unique_ptr< TrackerHitAssociator > associate
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
virtual reco::SimToRecoCollection associateSimToReco(const edm::RefToBaseVector< reco::Track > &, const edm::RefVector< TrackingParticleCollection > &) const override
Association Sim To Reco with Collections.
std::vector< SimHitTPPair > SimHitTPAssociationList
virtual 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
const TrackingRecHit * getHitPtr(edm::OwnVector< TrackingRecHit >::const_iterator iter) const
virtual 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
const bool AbsoluteNumberOfHits
virtual reco::RecoToSimCollection associateRecoToSim(const edm::RefToBaseVector< reco::Track > &, const edm::RefVector< TrackingParticleCollection > &) const override
Association Reco To Sim with 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
std::vector< std::pair< OmniClusterRef, TrackingParticleRef > > ClusterTPAssociationList
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
TrackingRecHitCollection::base::const_iterator trackingRecHit_iterator
iterator over a vector of reference to TrackingRecHit in the same collection