template<typename C>
class FastCandMatcher< C >
Definition at line 15 of file FastCandMatcher.h.
get match from transient reference
Definition at line 46 of file FastCandMatcher.h.
49 if (
c.hasMasterClone() )
50 return (*
this)( *
c.masterClone() );
51 unsigned int nDau =
c.numberOfDaughters();
55 set<const reco::Candidate *> momsIntersection, momDaughters,
tmp;
58 const Candidate * dauMatch = (*this)( * dau );
60 if ( dauMatch == 0 )
return 0;
63 for(
size_t i = 0;
i < mothers; ++
i ) {
65 if ( mom != 0 && mom->
pdgId() == dauMatch->
pdgId() &&
70 momDaughters.insert( mom );
73 if ( momDaughters.size() == 0 )
return 0;
75 if ( momsIntersection.size() == 0 ) momsIntersection = momDaughters;
78 set_intersection( momsIntersection.begin(), momsIntersection.end(),
79 momDaughters.begin(), momDaughters.end(),
80 inserter(
tmp,
tmp.begin() ) );
83 if ( momsIntersection.size() == 0 )
return 0;
86 if ( momsIntersection.size() > 1 )
return 0;
88 return * momsIntersection.begin();
92 for(
typename std::vector<const map_type *>::const_iterator
m =
maps_.begin();
95 if ( & *
i->key == &
c )
References HltBtagPostValidation_cff::c, mps_fire::i, visualization-live-secondInstance_cfg::m, reco::Candidate::mother(), reco::Candidate::numberOfMothers(), reco::Candidate::pdgId(), reco::Candidate::status(), reco::swap(), and createJobs::tmp.