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