This checks a slew of possible overlaps for FwdPtr<Candidate> and derivatives.
More...
template<class Top, class Bottom>
class TopProjectorFwdPtrOverlap< Top, Bottom >
This checks a slew of possible overlaps for FwdPtr<Candidate> and derivatives.
Definition at line 38 of file TopProjector.cc.
template<class Top , class Bottom >
Definition at line 50 of file TopProjector.cc.
References edm::FwdPtr< T >::backPtr(), TopProjectorFwdPtrOverlap< Top, Bottom >::bottom_, edm::Ptr< T >::isAvailable(), edm::Ptr< T >::isNonnull(), edm::Ptr< T >::key(), TopProjectorFwdPtrOverlap< Top, Bottom >::matchByPtrDirect_, muonTagProbeFilters_cff::matched, edm::FwdPtr< T >::ptr(), edm::Ptr< T >::refCore(), reco::Candidate::sourceCandidatePtr(), and relativeConstraints::value.
53 bool topFwdGood = top.ptr().isNonnull() && top.ptr().isAvailable();
54 bool topBckGood = top.backPtr().isNonnull() && top.backPtr().isAvailable();
62 (topBckGood && bottomFwdGood && top.backPtr().refCore() ==
bottom_->
ptr().
refCore() &&
67 for (
unsigned isource = 0; isource < top->numberOfSourceCandidatePtrs(); ++isource) {
80 for (
unsigned isource = 0; isource < (*bottom_)->numberOfSourceCandidatePtrs(); ++isource) {
83 if ((topFwdGood && bottomSrcGood && bottomSrcPtr.
refCore() == top.ptr().refCore() &&
84 bottomSrcPtr.
key() == top.ptr().key()) ||
85 (topBckGood && bottomSrcGood && bottomSrcPtr.
refCore() == top.backPtr().refCore() &&
86 bottomSrcPtr.
key() == top.backPtr().key())) {
BottomFwdPtr const * bottom_
bool isNonnull() const
Checks for non-null.
Ptr< value_type > const & backPtr() const
RefCore const & refCore() const
Ptr< value_type > const & ptr() const
virtual CandidatePtr sourceCandidatePtr(size_type i) const
const bool matchByPtrDirect_