1 #ifndef QuickTrackAssociatorByHitsImpl_h 2 #define QuickTrackAssociatorByHitsImpl_h 72 std::unique_ptr<const TrackerHitAssociator> hitAssoc,
74 bool absoluteNumberOfHits,
75 double qualitySimToReco,
76 double puritySimToReco,
78 double pixelHitWeight,
79 bool threeHitTracksAreSpecial,
114 template<
class T_TrackCollection,
class T_TrackingParticleCollection,
class T_hitOrClusterAssociator>
115 reco::RecoToSimCollection associateRecoToSimImplementation(
const T_TrackCollection& trackCollection,
const T_TrackingParticleCollection& trackingParticleCollection,
const TrackingParticleRefKeySet *trackingParticleKeys, T_hitOrClusterAssociator hitOrClusterAssociator )
const;
123 template<
class T_TrackCollection,
class T_TrackingParticleCollection,
class T_hitOrClusterAssociator>
124 reco::SimToRecoCollection associateSimToRecoImplementation(
const T_TrackCollection& trackCollection,
const T_TrackingParticleCollection& trackingParticleCollection,
const TrackingParticleRefKeySet *trackingParticleKeys, T_hitOrClusterAssociator hitOrClusterAssociator )
const;
132 template<
typename T_TPCollection,
typename iter> std::vector< std::pair<edm::Ref<TrackingParticleCollection>,
double> > associateTrack(
const TrackerHitAssociator&
hitAssociator,
const T_TPCollection&
trackingParticles,
const TrackingParticleRefKeySet *trackingParticleKeys, iter
begin, iter
end )
const;
140 template<
typename T_TPCollection,
typename iter> std::vector< std::pair<edm::Ref<TrackingParticleCollection>,
double> > associateTrack(
const ClusterTPAssociation& clusterToTPMap,
const T_TPCollection& trackingParticles,
const TrackingParticleRefKeySet *trackingParticleKeys, iter begin, iter end )
const;
144 bool trackingParticleContainsIdentifier(
const TrackingParticle* pTrackingParticle,
const SimTrackIdentifiers& identifier )
const;
161 template<
typename iter> std::vector< std::pair<SimTrackIdentifiers,double> > getAllSimTrackIdentifiers(
const TrackerHitAssociator& hitAssociator, iter begin, iter end )
const;
164 template<
typename iter> std::vector< OmniClusterRef> getMatchedClusters( iter begin, iter end )
const;
181 template<
typename iter>
double weightedNumberOfTrackClusters(iter begin, iter end)
const ;
214 #endif // end of ifndef QuickTrackAssociatorByHitsImpl_h
static bool tpIntPairGreater(std::pair< edm::Ref< TrackingParticleCollection >, size_t > i, std::pair< edm::Ref< TrackingParticleCollection >, size_t > j)
trackingParticleCollection
bool threeHitTracksAreSpecial_
edm::EDProductGetter const * productGetter_
creates either a ClusterTPAssociation OR a TrackerHitAssociator and stores it in the provided unique_...
const ClusterTPAssociation * clusterToTPMap_
EDProductGetter const * productGetter(std::atomic< void const * > const &iCache)
const TrackingRecHit * getHitFromIter(trackingRecHit_iterator iter) const
SimToRecoDenomType simToRecoDenominator_
std::pair< uint32_t, EncodedEventId > SimTrackIdentifiers
This is enough information to uniquely identify a sim track.
bool absoluteNumberOfHits_
edm::IndexSet TrackingParticleRefKeySet
Set for TrackingParticleRef keys.
Monte Carlo truth information used for tracking validation.
TrackToTrackingParticleAssociator that associates by hits a bit quicker than the normal TrackAssociat...
const TrackingRecHit * getHitFromIter(TrackingRecHitCollection::const_iterator iter) const
TrackingRecHitCollection::base::const_iterator trackingRecHit_iterator
iterator over a vector of reference to TrackingRecHit in the same collection
std::unique_ptr< const TrackerHitAssociator > hitAssociator_