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