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