11 _useKDTree(conf.getParameter<bool>(
"useKDTree")),
12 _debug(conf.getUntrackedParameter<bool>(
"debug",
false)) {}
26 "TrackAndTrackLinker");
54 if( ni1_TO_DISP == ni2_FROM_DISP ) { dist = 1.0; }
57 if( ni1_FROM_DISP == ni2_TO_DISP ) { dist = 1.0; }
60 if( ni1_FROM_DISP == ni2_FROM_DISP ) { dist = 1.0; }
64 for(
const auto& conv1 : elem1->
convRefs() ) {
65 for(
const auto& conv2 : elem2->
convRefs() ) {
66 if( conv1.isNonnull() && conv2.isNonnull() &&
Abstract base class for a PFBlock element (track, cluster...)
bool isNonnull() const
Checks for non-null.
TrackAndTrackLinker(const edm::ParameterSet &conf)
double testLink(const reco::PFBlockElement *, const reco::PFBlockElement *) const override
virtual const ConversionRefVector & convRefs() const
virtual const PFDisplacedTrackerVertexRef & displacedVertexRef(TrackType trType) const
virtual bool trackType(TrackType trType) const
bool linkPrefilter(const reco::PFBlockElement *, const reco::PFBlockElement *) const override
#define DEFINE_EDM_PLUGIN(factory, type, name)
virtual bool isLinkedToDisplacedVertex() const
virtual const VertexCompositeCandidateRef & V0Ref() const