CMS 3D CMS Logo

TrackAssociatorByPositionImpl.h
Go to the documentation of this file.
1 #ifndef TrackAssociatorByPositionImpl_h
2 #define TrackAssociatorByPositionImpl_h
3 
17 
20 
22 
25 
26 #include <map>
27 
28 //Note that the Association Map is filled with -ch2 and not chi2 because it is ordered using std::greater:
29 //the track with the lowest association chi2 will be the first in the output map.
30 
32 public:
33  typedef std::pair<TrackingParticleRef, TrackPSimHitRef> SimHitTPPair;
34  typedef std::vector<SimHitTPPair> SimHitTPAssociationList;
35  enum class Method { chi2, dist, momdr, posdr };
36 
38  const TrackingGeometry* geo,
39  const Propagator* prop,
40  const SimHitTPAssociationList* assocList,
41  double qMinCut,
42  double qCut,
44  Method method,
45  bool minIfNoMatch,
46  bool considerAllSimHits)
48  theGeometry(geo),
49  thePropagator(prop),
50  theSimHitsTPAssoc(assocList),
51  theQminCut(qMinCut),
52  theQCut(qCut),
55  theMinIfNoMatch(minIfNoMatch),
56  theConsiderAllSimHits(considerAllSimHits) {}
57 
59 
61  const edm::RefVector<TrackingParticleCollection>&) const override;
62 
64 
66  const edm::RefVector<TrackingParticleCollection>&) const override;
67 
68 private:
69  double quality(const TrajectoryStateOnSurface&, const TrajectoryStateOnSurface&) const;
70 
75  double theQminCut;
76  double theQCut;
81 
84  //edm::InputTag _simHitTpMapTag;
85 };
86 
87 #endif
Propagator.h
TrajectoryStateOnSurface.h
TrackToTrackingParticleAssociatorBaseImpl.h
TrackAssociatorByPositionImpl::associateSimToReco
reco::SimToRecoCollection associateSimToReco(const edm::RefToBaseVector< reco::Track > &, const edm::RefVector< TrackingParticleCollection > &) const override
compare reco to sim the handle of reco::Track and TrackingParticle collections
Definition: TrackAssociatorByPositionImpl.cc:169
TrackAssociatorByPositionImpl::theConsiderAllSimHits
bool theConsiderAllSimHits
Definition: TrackAssociatorByPositionImpl.h:80
TrackAssociatorByPositionImpl::Method::chi2
MessageLogger.h
TrackingGeometry
Definition: TrackingGeometry.h:26
ESHandle.h
TrackAssociatorByPositionImpl::thePropagator
const Propagator * thePropagator
Definition: TrackAssociatorByPositionImpl.h:73
TrackAssociatorByPositionImpl::quality
double quality(const TrajectoryStateOnSurface &, const TrajectoryStateOnSurface &) const
Definition: TrackAssociatorByPositionImpl.cc:81
TrackAssociatorByPositionImpl::Method::momdr
AlcaSiPixelAliHarvester0T_cff.method
method
Definition: AlcaSiPixelAliHarvester0T_cff.py:41
TrackAssociatorByPositionImpl::TrackAssociatorByPositionImpl
TrackAssociatorByPositionImpl(edm::EDProductGetter const &productGetter, const TrackingGeometry *geo, const Propagator *prop, const SimHitTPAssociationList *assocList, double qMinCut, double qCut, double positionMinimumDistance, Method method, bool minIfNoMatch, bool considerAllSimHits)
Definition: TrackAssociatorByPositionImpl.h:37
PSimHitContainer.h
TrackAssociatorByPositionImpl::Method::dist
edm::RefVector< TrackingParticleCollection >
TrackAssociatorByPositionImpl::theSimHitsTPAssoc
const SimHitTPAssociationList * theSimHitsTPAssoc
Definition: TrackAssociatorByPositionImpl.h:74
TrackAssociatorByPositionImpl::theMethod
Method theMethod
Definition: TrackAssociatorByPositionImpl.h:78
edm::Ref< TrackingParticleCollection >
edm::EDProductGetter
Definition: EDProductGetter.h:41
Propagator
Definition: Propagator.h:44
TrackAssociatorByPositionImpl::Method::posdr
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
trackAssociatorByPosition_cfi.positionMinimumDistance
positionMinimumDistance
Definition: trackAssociatorByPosition_cfi.py:12
reco::TrackToTrackingParticleAssociatorBaseImpl
Definition: TrackToTrackingParticleAssociatorBaseImpl.h:33
TrackAssociatorByPositionImpl::thePositionMinimumDistance
double thePositionMinimumDistance
Definition: TrackAssociatorByPositionImpl.h:77
reco::Track
Definition: Track.h:27
TrackAssociatorByPositionImpl::getState
FreeTrajectoryState getState(const reco::Track &) const
Definition: TrackAssociatorByPositionImpl.cc:76
TrackAssociatorByPositionImpl::theGeometry
const TrackingGeometry * theGeometry
Definition: TrackAssociatorByPositionImpl.h:72
TrackAssociatorByPositionImpl::theMinIfNoMatch
bool theMinIfNoMatch
Definition: TrackAssociatorByPositionImpl.h:79
edm::AssociationMap< edm::OneToManyWithQualityGeneric< edm::View< reco::Track >, TrackingParticleCollection, double > >
TrackAssociatorByPositionImpl::theQCut
double theQCut
Definition: TrackAssociatorByPositionImpl.h:76
edm::refcoreimpl::productGetter
EDProductGetter const * productGetter(std::atomic< void const * > const &iCache)
Definition: refcore_implementation.h:72
edm::RefToBaseVector< reco::Track >
TrackAssociatorByPositionImpl::SimHitTPPair
std::pair< TrackingParticleRef, TrackPSimHitRef > SimHitTPPair
Definition: TrackAssociatorByPositionImpl.h:33
TrackAssociatorByPositionImpl
Definition: TrackAssociatorByPositionImpl.h:31
TrackAssociatorByPositionImpl::Method
Method
Definition: TrackAssociatorByPositionImpl.h:35
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
TrackAssociatorByPositionImpl::associateRecoToSim
reco::RecoToSimCollection associateRecoToSim(const edm::RefToBaseVector< reco::Track > &, const edm::RefVector< TrackingParticleCollection > &) const override
compare reco to sim the handle of reco::Track and TrackingParticle collections
Definition: TrackAssociatorByPositionImpl.cc:117
EventSetup.h
EDProductGetter.h
ParameterSet.h
GlobalTrackingGeometry.h
TrackAssociatorByPositionImpl::productGetter_
edm::EDProductGetter const * productGetter_
Definition: TrackAssociatorByPositionImpl.h:71
SimTrackContainer.h
SimVertexContainer.h
TrackAssociatorByPositionImpl::SimHitTPAssociationList
std::vector< SimHitTPPair > SimHitTPAssociationList
Definition: TrackAssociatorByPositionImpl.h:34
TrackAssociatorByPositionImpl::theQminCut
double theQminCut
Definition: TrackAssociatorByPositionImpl.h:75