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 );
182 return p4() == o.p4() &&
vertex() == o.vertex() &&
charge() == o.charge();
virtual CandidatePtr sourceCandidatePtr(size_type i) const final
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
math::XYZVector Vector
point in the space
virtual bool isElectron() const final
virtual const Point & vertex() const
vertex position (overwritten by PF...)
unsigned int index() const
virtual double phi() const final
momentum azimuthal angle
virtual bool hasMasterClone() const final
This only happens if the concrete Candidate type is ShallowCloneCandidate.
virtual const Candidate * daughter(size_type) const final
return daughter at a given position (throws an exception)
#define CMS_CLASS_VERSION(_version_)
virtual bool isTrackerMuon() const final
virtual bool isJet() const final
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.
RefCore const & toRefCore() const
virtual int charge() const final
electric charge
virtual Candidate * daughter(size_type) final
return daughter at a given position (throws an exception)
virtual size_t numberOfSourceCandidatePtrs() const final
virtual const Candidate * mother(size_type) const final
return mother at a given position (throws an exception)
size_type numberOf() const
number of components
string key
FastSim: produces sample of signal events, overlayed with premixed minbias events.
virtual bool isCaloMuon() const final
LeafRefCandidateT()
default constructor
virtual size_t numberOfMothers() const final
number of mothers
int Charge
electric charge type
virtual ~LeafRefCandidateT()
destructor
virtual bool hasMasterClonePtr() const final
virtual Candidate * daughter(const std::string &s) final
return daughter with a specified role name
virtual bool isConvertedPhoton() const final
LeafRefCandidateT(const REF &c, float m)
XYZVectorD XYZVector
spatial vector with cartesian internal representation
XYZPointD XYZPoint
point in space with cartesian internal representation
virtual bool isStandAloneMuon() const final
CandidateCollection daughters
collection of daughter candidates
virtual const Candidate * daughter(const std::string &s) const final
return daughter with a specified role name
virtual bool isGlobalMuon() const final
virtual bool isMuon() const final
math::XYZPoint Point
point in the space
virtual bool isPhoton() const final
math::XYZTLorentzVector LorentzVector
Lorentz vector.
virtual double eta() const final
momentum pseudorapidity
edm::RefCoreWithIndex ref_
virtual const CandidatePtr & masterClonePtr() const final
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
virtual const LorentzVector & p4() const final
four-momentum Lorentz vector
virtual const CandidateBaseRef & masterClone() const final
virtual double pt() const final
transverse momentum
virtual size_t numberOfDaughters() const final
number of daughters
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.