1 #ifndef QuickTrackAssociatorByHitsImpl_h 2 #define QuickTrackAssociatorByHitsImpl_h 71 std::unique_ptr<const TrackerHitAssociator> hitAssoc,
73 bool absoluteNumberOfHits,
74 double qualitySimToReco,
75 double puritySimToReco,
77 double pixelHitWeight,
78 bool threeHitTracksAreSpecial,
103 typedef std::pair<uint32_t, EncodedEventId>
111 return (
i.first.key() >
j.first.key());
120 template <
class T_TrackCollection,
class T_TrackingParticleCollection,
class T_hitOrClusterAssociator>
122 const T_TrackCollection& trackCollection,
123 const T_TrackingParticleCollection& trackingParticleCollection,
124 const TrackingParticleRefKeySet* trackingParticleKeys,
125 T_hitOrClusterAssociator hitOrClusterAssociator)
const;
133 template <
class T_TrackCollection,
class T_TrackingParticleCollection,
class T_hitOrClusterAssociator>
135 const T_TrackCollection& trackCollection,
136 const T_TrackingParticleCollection& trackingParticleCollection,
137 const TrackingParticleRefKeySet* trackingParticleKeys,
138 T_hitOrClusterAssociator hitOrClusterAssociator)
const;
145 template <
typename T_TPCollection,
typename iter>
146 std::vector<std::pair<edm::Ref<TrackingParticleCollection>,
double> > associateTrack(
149 const TrackingParticleRefKeySet* trackingParticleKeys,
159 template <
typename T_TPCollection,
typename iter>
160 std::vector<std::pair<edm::Ref<TrackingParticleCollection>,
double> > associateTrack(
162 const T_TPCollection& trackingParticles,
163 const TrackingParticleRefKeySet* trackingParticleKeys,
168 bool trackingParticleContainsIdentifier(
const TrackingParticle* pTrackingParticle,
175 template <
typename iter>
182 template <
typename iter>
194 template <
typename iter>
195 std::vector<std::pair<SimTrackIdentifiers, double> > getAllSimTrackIdentifiers(
205 template <
typename iter>
206 double weightedNumberOfTrackClusters(iter begin, iter end)
const;
239 #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)
std::pair< uint32_t, EncodedEventId > SimTrackIdentifiers
This is enough information to uniquely identify a sim track.
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)
SimToRecoDenomType simToRecoDenominator_
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...
std::unique_ptr< const TrackerHitAssociator > hitAssociator_