Go to the documentation of this file. 1 #ifndef Candidate_LeafCandidate_h
2 #define Candidate_LeafCandidate_h
38 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
39 template <
typename... Args>
55 bool integerCharge =
true);
61 bool integerCharge =
true);
67 bool integerCharge =
true);
75 bool integerCharge =
true);
232 template <
typename Ref>
238 template <
typename T>
243 return reco::get<T>(*
this);
246 template <
typename T,
typename Tag>
251 return reco::get<T, Tag>(*
this);
254 template <
typename T>
259 return reco::get<T>(*
this,
i);
262 template <
typename T,
typename Tag>
267 return reco::get<T, Tag>(*
this,
i);
270 template <
typename T>
275 return reco::numberOf<T>(*
this);
278 template <
typename T,
typename Tag>
283 return reco::numberOf<T, Tag>(*
this);
287 bool isMuon()
const override;
294 bool isJet()
const override;
302 template <
typename,
typename,
typename>
304 friend class ::OverlapChecker;
void setCharge(Charge q)
set electric charge
void setP4(const LorentzVector &p4)
set 4-momentum
void setPdgId(int pdgId) final
double p() const
magnitude of momentum vector
Vector momentum() const final
spatial momentum vector
double et2() const
transverse energy squared (use this for cuts)!
double vertexChi2() const override
chi-squares
math::XYZVector Vector
point in the space
bool isJet() const override
size_t numberOfMothers() const override
number of mothers
CovarianceMatrix vertexCovariance() const final
return SMatrix
void setThreeCharge(Charge qx3)
set electric charge
bool isElectron() const override
Vector boostToCM() const final
void setLongLived() final
math::XYZPoint Point
point in the space
double rapidity() const
repidity
double mt() const
transverse mass
int status() const final
status word
T get(size_type i) const
get a component
void setThreeCharge(Charge qx3) final
set electric charge
size_t numberOfSourceCandidatePtrs() const override
double massSqr() const final
mass squared
void setStatus(int status)
set status word
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
bool longLived() const
is long lived?
bool hasMasterClone() const override
double vz() const override
z coordinate of vertex position
int Charge
electric charge type
void setP4(const PolarLorentzVector &p4) final
set 4-momentum
bool longLived() const final
is long lived?
LeafCandidate * clone() const override
returns a clone of the Candidate object
int charge() const
electric charge
LeafCandidate & operator=(LeafCandidate &&)=default
double vx() const override
x coordinate of vertex position
double mtSqr() const
transverse mass squared
void construct(int qx3, float pt, float eta, float phi, float mass, const Point &vtx, int pdgId, int status)
double vz() const
z coordinate of vertex position
double theta() const
momentum polar angle
double vx() const
x coordinate of vertex position
double pt() const final
transverse momentum
void fillVertexCovariance(CovarianceMatrix &v) const override
fill SMatrix
bool isGlobalMuon() const override
T get() const
get a component
void setPz(double pz) final
LeafCandidate(Args &&... args)
LeafCandidate(LeafCandidate &rh)
T get(size_type i) const
get a component
void setMass(double m)
set particle mass
size_type numberOf() const
number of components
int threeCharge() const final
electric charge
const PolarLorentzVector & polarP4() const
four-momentum Lorentz vector
double phi() const
momentum azimuthal angle
double py() const final
y coordinate of momentum vector
bool overlap(const Candidate &) const override
check overlap with another Candidate
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
~LeafCandidate() override
destructor
void setVertex(const Point &vertex)
set vertex
int status() const
status word
double y() const final
rapidity
double pz() const
z coordinate of momentum vector
bool isCaloMuon() const override
double theta() const final
momentum polar angle
bool isTrackerMuon() const override
bool isMuon() const override
bool massConstraint() const
do mass constraint?
int Charge
electric charge type
value_type const * get() const
void setVertex(const Point &vertex) override
set vertex
double mt() const final
transverse mass
Structure Point Contains parameters of Gaussian fits to DMRs.
double eta() const
momentum pseudorapidity
XYZPointD XYZPoint
point in space with cartesian internal representation
T get() const
get a component
double mass() const final
mass
double eta() const final
momentum pseudorapidity
const Candidate * daughter(size_type) const override
return daughter at a given position (throws an exception)
double vy() const
y coordinate of vertex position
int pdgId() const final
PDG identifier.
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalVector
vector in glovbal coordinate system
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Ref masterRef() const
cast master clone reference to a concrete type
size_type numberOf() const
number of components
const CandidatePtr & masterClonePtr() const override
const LorentzVector & p4() const final
four-momentum Lorentz vector
bool hasMasterClonePtr() const override
CandidateCollection daughters
collection of daughter candidates
int charge() const final
electric charge
double et() const
transverse energy
bool massConstraint() const final
do mass constraint?
double et2() const final
transverse energy squared (use this for cut!)
void setStatus(int status) final
set status word
double py() const
y coordinate of momentum vector
const Point & vertex() const override
vertex position (overwritten by PF...)
double mtSqr() const final
transverse mass squared
double et() const final
transverse energy
bool isStandAloneMuon() const override
void setP4(const LorentzVector &p4) final
set 4-momentum
bool isPhoton() const override
void setMassConstraint()
set mass constraint flag
double phi() const final
momentum azimuthal angle
const LorentzVector & p4() const
four-momentum Lorentz vector
const Point & vertex() const
vertex position
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
math::XYZTLorentzVector LorentzVector
edm::Ref< Container > Ref
const CandidateBaseRef & masterClone() const override
const Candidate * mother(size_type) const override
return mother at a given position (throws an exception)
double p() const final
magnitude of momentum vector
void setCharge(Charge q) final
set electric charge
int pdgId() const
PDG identifier.
double pt() const
transverse momentum
double energy() const final
energy
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
edm::Ptr< Candidate > CandidatePtr
persistent reference to an object in a collection of Candidate objects
double rapidity() const final
rapidity
const PolarLorentzVector & polarP4() const final
four-momentum Lorentz vector
int threeCharge() const
electric charge
double vertexNdof() const override
math::XYZTLorentzVector LorentzVector
Lorentz vector.
bool isConvertedPhoton() const override
void setLongLived()
set long lived flag
CandidatePtr sourceCandidatePtr(size_type i) const override
size_t numberOfDaughters() const override
number of daughters
Vector momentum() const
spatial momentum vector
void setMassConstraint() final
double px() const final
x coordinate of momentum vector
double pz() const final
z coordinate of momentum vector
double vertexNormalizedChi2() const override
chi-squared divided by n.d.o.f.
double vy() const override
y coordinate of vertex position
double energy() const
energy
void setMass(double m) final
set particle mass
double px() const
x coordinate of momentum vector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
LeafCandidate(const Candidate &c)
math::XYZVector Vector
point in the space