1 #ifndef Candidate_LeafRefCandidateT_h
2 #define Candidate_LeafRefCandidateT_h
84 virtual int pdgId()
const {
return 0; }
116 virtual double pt()
const {
return ref_->pt(); }
118 virtual double phi()
const {
return ref_->phi(); }
122 virtual double eta()
const {
return ref_->eta(); }
137 virtual double vx()
const {
return ref_->vx(); }
139 virtual double vy()
const {
return ref_->vy(); }
141 virtual double vz()
const {
return ref_->vz(); }
167 template<
typename Ref>
171 template<
typename C>
C get()
const {
173 else return reco::get<C>( * this );
176 template<
typename C,
typename Tag>
C get()
const {
178 else return reco::get<C, Tag>( * this );
183 else return reco::get<C>( *
this,
i );
188 else return reco::get<C, Tag>( *
this,
i );
193 else return reco::numberOf<C>( * this );
198 else return reco::numberOf<C, Tag>( * this );
203 typedef boost::filter_iterator<S, const_iterator>
type;
208 return boost::make_filter_iterator(s,
begin(),
end());
212 return boost::make_filter_iterator(s,
end(),
end());
217 virtual bool isMuon()
const {
return false; }
224 virtual bool isJet()
const {
return false; }
259 template<
typename,
typename,
typename>
friend struct component;
260 friend class ::OverlapChecker;
337 return ref_ == o.
ref_;
virtual Candidate * daughter(size_type)
return daughter at a given position (throws an exception)
virtual bool massConstraint() const
do mass constraint?
virtual const CandidateBaseRef & masterClone() const
virtual double y() const
rapidity
virtual bool isStandAloneMuon() const
int Charge
electric charge type
virtual int status() const
status word
math::XYZPoint Point
point in the space
virtual double massSqr() const
mass squared
CovarianceMatrix vertexCovariance() const
fill SMatrix
edm::Ref< Container > Ref
math::XYZVector Vector
point in the space
virtual const Candidate * daughter(const std::string &s) const
return daughter with a specified role name
virtual void setLongLived()
set long lived flag
virtual double p() const
magnitude of momentum vector
virtual void setThreeCharge(Charge qx3)
set electric charge
virtual double pz() const
z coordinate of momentum vector
virtual double vertexNormalizedChi2() const
chi-squared divided by n.d.o.f.
candidate::const_iterator const_iterator
virtual double theta() const
momentum polar angle
virtual bool hasMasterClonePtr() const
virtual void fillVertexCovariance(CovarianceMatrix &v) const
virtual CandidatePtr sourceCandidatePtr(size_type i) const
LorentzVector p4Cartesian_
internal cache for p4
virtual Candidate * daughter(const std::string &s)
return daughter with a specified role name
virtual int charge() const
electric charge
virtual bool isGlobalMuon() const
virtual LeafRefCandidateT< T > * clone() const
returns a clone of the Candidate object
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
virtual const PolarLorentzVector & polarP4() const
four-momentum Lorentz vector
virtual double energy() const
energy
virtual double vx() const
x coordinate of vertex position
size_type numberOf() const
number of components
virtual const CandidatePtr & masterClonePtr() const
edm::BoolCache cachePolarFixed_
has cache been set?
size_type numberOf() const
number of components
virtual double vertexCovariance(int i, int j) const
(i, j)-th element of error matrix, i, j = 0, ... 2
virtual const_iterator begin() const
first daughter const_iterator
CandidateCollection daughters
collection of daughter candidates
virtual double rapidity() const
rapidity
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
candidate::iterator_imp_specific< daughters > iterator_imp_specific
virtual double pt() const
transverse momentum
virtual double et() const
transverse energy
LeafRefCandidateT()
default constructor
virtual double vz() const
z coordinate of vertex position
boost::filter_iterator< S, const_iterator > type
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
void clearCache() const
clear internal cache
virtual double mtSqr() const
transverse mass squared
static const unsigned int massConstraintTag
static const unsigned int longLivedTag
virtual bool overlap(const Candidate &) const
check overlap with another Candidate
virtual int pdgId() const
pdg ID: dummy for now
virtual double px() const
x coordinate of momentum vector
virtual Vector boostToCM() const
virtual Vector momentum() const
spatial momentum vector
virtual bool isPhoton() const
virtual void setVertex(const Point &vertex)
set vertex
virtual const Point & vertex() const =0
vertex position
virtual bool isJet() const
virtual bool isCaloMuon() const
virtual int charge() const =0
electric charge
virtual void setP4(const LorentzVector &p4)
set 4-momentum
virtual double py() const
y coordinate of momentum vector
PolarLorentzVector p4Polar_
internal cache for p4
daughter_iterator< S >::type beginFilter(const S &s) const
virtual bool isConvertedPhoton() const
virtual bool longLived() const
is long lived?
virtual void setPdgId(int pdgId)
math::XYZVector Vector
point in the space
virtual void setStatus(int status)
set status word
virtual size_t numberOfMothers() const
number of mothers
virtual double mt() const
transverse mass
virtual size_t numberOfDaughters() const
number of daughters
void cacheCartesian() const
set internal cache
float mass_
mass hypothesis
virtual const Candidate * mother(size_type) const
return mother at a given position (throws an exception)
virtual bool hasMasterClone() const
This only happens if the concrete Candidate type is ShallowCloneCandidate.
candidate::iterator iterator
virtual double vertexNdof() const
void cachePolar() const
set internal cache
virtual int threeCharge() const
electric charge
virtual double eta() const
momentum pseudorapidity
XYZVectorD XYZVector
spatial vector with cartesian internal representation
XYZPointD XYZPoint
point in space with cartesian internal representation
math::XYZTLorentzVector LorentzVector
Lorentz vector.
daughter_iterator< S >::type endFilter(const S &s) const
virtual const Point & vertex() const
vertex position
virtual bool isElectron() const
virtual size_t numberOfSourceCandidatePtrs() const
math::XYZTLorentzVector LorentzVector
Lorentz vector.
virtual const Candidate * daughter(size_type) const
return daughter at a given position (throws an exception)
edm::BoolCache cacheCartesianFixed_
virtual void setPz(double pz)
virtual double phi() const
momentum azimuthal angle
candidate::const_iterator_imp_specific< daughters > const_iterator_imp_specific
virtual bool isTrackerMuon() const
virtual ~LeafRefCandidateT()
destructor
virtual void setP4(const PolarLorentzVector &p4)
set 4-momentum
virtual void setMassConstraint()
set mass constraint flag
math::XYZPoint Point
point in the space
virtual void setCharge(Charge q)
virtual bool isMuon() const
virtual double mass() const
mass
virtual double vertexChi2() const
chi-squares
virtual double vy() const
y coordinate of vertex position
LeafRefCandidateT(const T &c, float m)
value_type const * get() const
int Charge
electric charge type
Ref masterRef() const
cast master clone reference to a concrete type
virtual const_iterator end() const
last daughter const_iterator
virtual void setMass(double m)
set particle mass
virtual const LorentzVector & p4() const =0
four-momentum Lorentz vector
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.