1 #ifndef CandUtils_CandMatcherNew_h 2 #define CandUtils_CandMatcherNew_h 46 for(
typename map_vector::const_iterator
i = maps.begin();
i != maps.end(); ++
i)
70 for(
size_t i = 0;
i < nDau; ++
i) {
75 while(m->numberOfMothers() == 1) {
77 momIdx.insert(m.
key());
80 if (common.size() == 0) common = momIdx;
83 set_intersection(common.begin(), common.end(),
84 momIdx.begin(), momIdx.end(),
85 inserter(tmp, tmp.begin()));
90 size_t idx = * max_element(common.begin(), common.end());
Master< F > master(const F &f)
CandMatcher(const map_vector &maps)
constructor
std::vector< const map_type * > map_vector
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
map_type::refprod_type ref() const
reference to matched collection
key_type key() const
Accessor for product key.
virtual ~CandMatcher()
destructor
bool isNull() const
Checks for null.
reference_type operator[](const reco::Candidate &) const
get match from transient reference
virtual const CandidateBaseRef & masterClone() const =0
map_type map_
match map at leaf level
edm::Association< C >::reference_type reference_type
ref type
std::vector< std::vector< double > > tmp
edm::Association< C > map_type
map type
virtual size_type numberOfDaughters() const =0
number of daughters
void swap(reco::ClusterRemovalInfo &cri1, reco::ClusterRemovalInfo &cri2)
virtual bool hasMasterClone() const =0