1 #ifndef SimTracker_TrackAssociatorProducers_TrackAssociatorByHitsImpl_h
2 #define SimTracker_TrackAssociatorProducers_TrackAssociatorByHitsImpl_h
26 typedef std::pair<TrackingParticleRef, TrackPSimHitRef>
SimHitTPPair;
34 double iQuality_SimToReco,
35 double iPurity_SimToReco,
36 double iCut_RecoToSim,
59 return TrackToTrackingParticleAssociatorBaseImpl::associateRecoToSim(tCH,tPCH);
66 return TrackToTrackingParticleAssociatorBaseImpl::associateSimToReco(tCH,tPCH);
79 template<
typename iter>
81 std::vector<SimHitIdpr>&,
88 std::vector<SimHitIdpr>&,
91 template<
typename iter>
SimToRecoDenomType SimToRecoDenominator
TrackAssociatorByHitsImpl(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 quality_SimToReco
std::unique_ptr< TrackerHitAssociator > associate
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.
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