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