#include <PhysObjectMatcher.h>
template<typename C1, typename C2, typename S, typename D = reco::MatchByDR<typename C1::value_type, typename C2::value_type>, typename Q = helper::LessByMatchDistance<DeltaR<typename C1::value_type, typename C2::value_type>, C1, C2>>
class reco::PhysObjectMatcher< C1, C2, S, D, Q >
Definition at line 58 of file PhysObjectMatcher.h.
◆ IndexPair
template<typename C1 , typename C2 , typename S , typename D = reco::MatchByDR<typename C1::value_type, typename C2::value_type>, typename Q = helper::LessByMatchDistance<DeltaR<typename C1::value_type, typename C2::value_type>, C1, C2>>
◆ MatchContainer
template<typename C1 , typename C2 , typename S , typename D = reco::MatchByDR<typename C1::value_type, typename C2::value_type>, typename Q = helper::LessByMatchDistance<DeltaR<typename C1::value_type, typename C2::value_type>, C1, C2>>
◆ MatchMap
template<typename C1 , typename C2 , typename S , typename D = reco::MatchByDR<typename C1::value_type, typename C2::value_type>, typename Q = helper::LessByMatchDistance<DeltaR<typename C1::value_type, typename C2::value_type>, C1, C2>>
◆ T1
template<typename C1 , typename C2 , typename S , typename D = reco::MatchByDR<typename C1::value_type, typename C2::value_type>, typename Q = helper::LessByMatchDistance<DeltaR<typename C1::value_type, typename C2::value_type>, C1, C2>>
◆ T2
template<typename C1 , typename C2 , typename S , typename D = reco::MatchByDR<typename C1::value_type, typename C2::value_type>, typename Q = helper::LessByMatchDistance<DeltaR<typename C1::value_type, typename C2::value_type>, C1, C2>>
◆ PhysObjectMatcher()
template<typename C1 , typename C2 , typename S , typename D , typename Q >
Definition at line 85 of file PhysObjectMatcher.h.
87 srcToken_(consumes<C1>(
cfg.template getParameter<edm::InputTag>(
"src"))),
88 matchedToken_(consumes<C2>(
cfg.template getParameter<edm::InputTag>(
"matched"))),
References reco::PhysObjectMatcher< C1, C2, S, D, Q >::resolveAmbiguities_, and reco::PhysObjectMatcher< C1, C2, S, D, Q >::resolveByMatchQuality_.
◆ ~PhysObjectMatcher()
template<typename C1 , typename C2 , typename S , typename D , typename Q >
◆ produce()
template<typename C1 , typename C2 , typename S , typename D , typename Q >
Definition at line 103 of file PhysObjectMatcher.h.
106 typedef std::pair<size_t, size_t>
IndexPair;
124 vector<bool> mLock(
matched->size(),
false);
127 for (
size_t c = 0;
c !=
size; ++
c) {
133 for (
size_t m = 0;
m !=
matched->size(); ++
m) {
143 matchPairs.push_back(make_pair(
c,
m));
151 size_t index = min_element(matchPairs.begin(), matchPairs.end(), comparator)->
second;
168 sort(matchPairs.begin(), matchPairs.end(), comparator);
169 vector<bool> cLock(
master.size(),
false);
171 for (MatchContainer::const_iterator
i = matchPairs.begin();
i != matchPairs.end(); ++
i) {
172 size_t c = (*i).first;
173 size_t m = (*i).second;
176 if (mLock[
m] || cLock[
c])
References cms::cuda::assert(), HltBtagPostValidation_cff::c, HLT_2018_cff::cands, distance_, trigObjTnPSource_cfi::filler, edm::Event::getByToken(), mps_fire::i, charmTagsComputerCvsB_cfi::idx, bTagCombinedSVVariables_cff::indices, visualization-live-secondInstance_cfg::m, volumeBasedMagneticField_160812_cfi::master, match(), muonTagProbeFilters_cff::matched, eostools::move(), edm::Event::put(), class-composition::Q, edm::second(), singleTopDQM_cfi::select, and findQualityFiles::size.
◆ select()
template<typename C1 , typename C2 , typename S , typename D = reco::MatchByDR<typename C1::value_type, typename C2::value_type>, typename Q = helper::LessByMatchDistance<DeltaR<typename C1::value_type, typename C2::value_type>, C1, C2>>
◆ config_
template<typename C1 , typename C2 , typename S , typename D = reco::MatchByDR<typename C1::value_type, typename C2::value_type>, typename Q = helper::LessByMatchDistance<DeltaR<typename C1::value_type, typename C2::value_type>, C1, C2>>
◆ distance_
template<typename C1 , typename C2 , typename S , typename D = reco::MatchByDR<typename C1::value_type, typename C2::value_type>, typename Q = helper::LessByMatchDistance<DeltaR<typename C1::value_type, typename C2::value_type>, C1, C2>>
◆ matchedToken_
template<typename C1 , typename C2 , typename S , typename D = reco::MatchByDR<typename C1::value_type, typename C2::value_type>, typename Q = helper::LessByMatchDistance<DeltaR<typename C1::value_type, typename C2::value_type>, C1, C2>>
◆ resolveAmbiguities_
template<typename C1 , typename C2 , typename S , typename D = reco::MatchByDR<typename C1::value_type, typename C2::value_type>, typename Q = helper::LessByMatchDistance<DeltaR<typename C1::value_type, typename C2::value_type>, C1, C2>>
◆ resolveByMatchQuality_
template<typename C1 , typename C2 , typename S , typename D = reco::MatchByDR<typename C1::value_type, typename C2::value_type>, typename Q = helper::LessByMatchDistance<DeltaR<typename C1::value_type, typename C2::value_type>, C1, C2>>
◆ select_
template<typename C1 , typename C2 , typename S , typename D = reco::MatchByDR<typename C1::value_type, typename C2::value_type>, typename Q = helper::LessByMatchDistance<DeltaR<typename C1::value_type, typename C2::value_type>, C1, C2>>
◆ srcToken_
template<typename C1 , typename C2 , typename S , typename D = reco::MatchByDR<typename C1::value_type, typename C2::value_type>, typename Q = helper::LessByMatchDistance<DeltaR<typename C1::value_type, typename C2::value_type>, C1, C2>>
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.