Go to the documentation of this file. 1 #ifndef Candidate_LeafRefCandidateT_h
2 #define Candidate_LeafRefCandidateT_h
46 template <
typename REF>
95 template <
typename Ref>
102 template <
typename C>
107 return reco::get<C>(*
this);
110 template <
typename C,
typename Tag>
115 return reco::get<C, Tag>(*
this);
118 template <
typename C>
123 return reco::get<C>(*
this,
i);
126 template <
typename C,
typename Tag>
131 return reco::get<C, Tag>(*
this,
i);
134 template <
typename C>
139 return reco::numberOf<C>(*
this);
142 template <
typename C,
typename Tag>
147 return reco::numberOf<C, Tag>(*
this);
166 template <typename, typename, typename>
size_t numberOfDaughters() const final
number of daughters
math::XYZTLorentzVector LorentzVector
Lorentz vector.
edm::RefCoreWithIndex ref_
size_t numberOfMothers() const final
number of mothers
unsigned int index() const
int Charge
electric charge type
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
math::XYZPoint Point
point in the space
LeafRefCandidateT(const REF &c, float m)
bool isStandAloneMuon() const final
double pt() const final
transverse momentum
bool overlap(const Candidate &) const override
check overlap with another Candidate
size_type numberOf() const
number of components
size_t numberOfSourceCandidatePtrs() const final
bool isPhoton() const final
const Candidate * daughter(const std::string &s) const final
return daughter with a specified role name
Candidate * daughter(size_type) final
return daughter at a given position (throws an exception)
C get(size_type i) const
get a component
C get() const
get a component
#define CMS_CLASS_VERSION(_version_)
bool isCaloMuon() const final
LeafRefCandidateT()
default constructor
const Candidate * mother(size_type) const final
return mother at a given position (throws an exception)
XYZPointD XYZPoint
point in space with cartesian internal representation
bool isTrackerMuon() const final
const CandidateBaseRef & masterClone() const final
double eta() const final
momentum pseudorapidity
XYZVectorD XYZVector
spatial vector with cartesian internal representation
CandidateCollection daughters
collection of daughter candidates
C get() const
get a component
const LorentzVector & p4() const final
four-momentum Lorentz vector
bool isConvertedPhoton() const final
int charge() const final
electric charge
CandidatePtr sourceCandidatePtr(size_type i) const final
def template(fileName, svg, replaceme="REPLACEME")
size_type numberOf() const
number of components
const Candidate * daughter(size_type) const final
return daughter at a given position (throws an exception)
const Point & vertex() const override
vertex position (overwritten by PF...)
~LeafRefCandidateT() override
destructor
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Candidate * daughter(const std::string &s) final
return daughter with a specified role name
bool isMuon() const final
double phi() const final
momentum azimuthal angle
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
edm::Ref< Container > Ref
bool hasMasterClonePtr() const final
C get(size_type i) const
get a component
RefCore const & toRefCore() const
bool hasMasterClone() const final
This only happens if the concrete Candidate type is ShallowCloneCandidate.
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
bool isGlobalMuon() const final
bool isElectron() const final
math::XYZVector Vector
point in the space
Ref masterRef() const
cast master clone reference to a concrete type
const CandidatePtr & masterClonePtr() const final