1 #ifndef Candidate_CompositeRefCandidateT_h
2 #define Candidate_CompositeRefCandidateT_h
29 int pdgId = 0,
int status = 0,
bool integerCharge =
true ) :
33 int pdgId = 0,
int status = 0,
bool integerCharge =
true ) :
55 using ::reco::LeafCandidate::daughter;
97 dau.push_back( cand );
102 mom.push_back( cand );
161 throw cms::Exception(
"Error" ) <<
"can't check overlap internally for CompositeRefCanddate";
int Charge
electric charge type
daughters::value_type daughterRef(size_type i) const
reference to daughter at given position
CompositeRefCandidateT(const LeafCandidate &c)
constructor from a particle
virtual const LorentzVector & p4() const GCC11_FINAL
four-momentum Lorentz vector
candidate::iterator_imp_specific_dummy< daughters > iterator_imp_specific
iterator implementation
candidate::const_iterator const_iterator
virtual int pdgId() const GCC11_FINAL
PDG identifier.
daughters mom
collection of references to mothers
virtual bool overlap(const Candidate &) const
check overlap with another candidate
virtual ~CompositeRefCandidateT()
destructor
const daughters & daughterRefVector() const
references to daughtes
void clearDaughters()
clear daughter references
void addDaughter(const typename daughters::value_type &)
add a daughter via a reference
void resetDaughters(const edm::ProductID &id)
set daughters product ID
virtual int status() const GCC11_FINAL
status word
virtual const_iterator begin() const
first daughter const_iterator
const mothers & motherRefVector() const
references to mothers
virtual size_t numberOfMothers() const
number of mothers
virtual size_t numberOfDaughters() const
number of daughters
virtual const Candidate * daughter(size_type) const
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
CompositeRefCandidateT(Charge q, const PolarLorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
constructor from values
Container::value_type value_type
daughters::value_type motherRef(size_type i=0) const
reference to mother at given position
void addMother(const typename mothers::value_type &)
add a daughter via a reference
candidate::iterator iterator
math::XYZTLorentzVector LorentzVector
Lorentz vector.
virtual CompositeRefCandidateT< D > * clone() const
returns a clone of the candidate
candidate::const_iterator_imp_specific< daughters > const_iterator_imp_specific
const iterator implementation
daughters dau
collection of references to daughters
D daughters
collection of references to daughters
CompositeRefCandidateT()
default constructor
math::XYZPoint Point
point in the space
D mothers
collection of references to daughters
void resetMothers(const edm::ProductID &id)
set mother product ID
virtual const_iterator end() const
last daughter const_iterator
CompositeRefCandidateT(Charge q, const LorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
constructor from values
virtual const Candidate * mother(size_type=0) const
return mother at a given position, i = 0, ... numberOfMothers() - 1 (read only mode) ...
void clearMothers()
clear mother references
DecomposeProduct< arg, typename Div::arg > D
math::XYZPoint Point
point in the space
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.