Rivet API documentation
![]() |
Rivet 4.1.3
|
Particle.hh
59 : ParticleBase(), _original(nullptr), _id(PID::ANY), _isDirect(4, std::make_pair(false, false)) { }
74 Particle(PdgId pid, const FourMomentum& mom, ConstGenParticlePtr gp, const FourVector& pos = FourVector())
86 setOrigin(vprod->position().t(), vprod->position().x(), vprod->position().y(), vprod->position().z());
380 const Particles constituents(const ParticleSelector& selector, const ParticleSorter& sorter) const {
421 const Particles rawConstituents(const ParticleSelector& selector, const ParticleSorter& sorter) const {
Specialized version of the FourVector with momentum/energy functionality.
Definition Vector4.hh:363
Specialisation of VectorN to a general (non-momentum) Lorentz 4-vector.
Definition Vector4.hh:32
Vector3 vector3() const
Get the spatial part of the 4-vector as a 3-vector.
Definition Vector4.hh:219
Object implementing Lorentz transform calculations and boosts.
Definition LorentzTrans.hh:21
const FourMomentum & mom() const
Get the equivalent momentum four-vector (const) (alias).
Definition ParticleBase.hh:39
double p() const
Get the 3-momentum magnitude directly.
Definition ParticleBase.hh:168
ThreeMomentum p3() const
Get the 3-momentum directly.
Definition ParticleBase.hh:164
Particle representation, either from a HepMC::GenEvent or reconstructed.
Definition Particle.hh:50
Particle & setMomentum(double E, double px, double py, double pz)
Set the momentum via components.
Definition Particle.hh:112
Particles allDescendants(const ParticleSelector &f, bool remove_duplicates=true) const
Get a list of all the descendants from the current particle (with selector function).
Definition Particle.hh:668
const Particles constituents(const ParticleSelector &selector, const ParticleSorter &sorter) const
Direct constituents of this particle, filtered and sorted by functors.
Definition Particle.hh:380
const Particles rawConstituents(const ParticleSorter &sorter) const
Fundamental constituents of this particle, sorted by a functor.
Definition Particle.hh:393
bool hasStableDescendantWithout(const ParticleSelector &f) const
Definition Particle.hh:734
virtual fastjet::PseudoJet pseudojet() const
Converter to FastJet3 PseudoJet.
Definition Particle.hh:187
bool hasChildWith(const ParticleSelector &f) const
Definition Particle.hh:638
Vector3 closestApproach() const
Find the point of closest approach (and hence the impact parameter) to the primary vertex.
Definition Particle.hh:156
bool isDirect(bool allow_from_direct_tau=false, bool allow_from_direct_mu=false) const
Shorthand definition of 'promptness' based on set definition flags.
bool hasDescendantWith(const Cut &c, bool remove_duplicates=true) const
virtual void addConstituent(const Particle &c, bool addmom=false)
Add a single direct constituent to this particle.
bool isPrompt(bool allow_from_prompt_tau=false, bool allow_from_prompt_mu=false) const
Alias for isDirect.
Definition Particle.hh:609
bool hasAncestorWith(const ParticleSelector &f, bool only_physical=true) const
Definition Particle.hh:514
Particles rawConstituents() const
Fundamental constituents of this particle.
bool hasAncestorWith(const Cut &c, bool only_physical=true) const
const Particles constituents(const Cut &c, const ParticleSorter &sorter) const
Direct constituents of this particle, sorted by a functor.
Definition Particle.hh:366
virtual void addConstituents(const Particles &cs, bool addmom=false)
Add direct constituents to this particle.
bool fromBottom() const
Determine whether the particle is from a b-hadron decay.
bool hasParentWithout(const Cut &c) const
const Particles rawConstituents(const ParticleSelector &selector, const ParticleSorter &sorter) const
Fundamental constituents of this particle, filtered and sorted by functors.
Definition Particle.hh:421
Particle & setOrigin(const FourVector &position)
Set the origin position.
Definition Particle.hh:132
const Particles & constituents() const
Direct constituents of this particle, returned by reference.
Definition Particle.hh:345
bool hasChildWithout(const Cut &c) const
bool hasParentWith(const ParticleSelector &f) const
Definition Particle.hh:465
bool isChargedLepton() const
Is this a charged lepton?
Definition Particle.hh:287
bool hasParentWith(const Cut &c) const
bool hasBottom() const
Does this (hadron) contain a b quark?
Definition Particle.hh:297
bool hasChildWithout(const ParticleSelector &f) const
Definition Particle.hh:653
bool isPhysical(bool include_beams=false) const
Is this particle recorded as physically meaningful in the event record?
bool isLastWith(const ParticleSelector &f) const
Determine whether a particle is the last in a decay chain to meet the function requirement.
Definition Particle.hh:769
Particles ancestors(const Cut &c=Cuts::OPEN, bool only_physical=true) const
const Particles constituents(const ParticleSelector &selector) const
Direct constituents of this particle, filtered by a selection functor.
Definition Particle.hh:373
double abscharge() const
The absolute charge of this Particle.
Definition Particle.hh:241
bool isFirstWith(const ParticleSelector &f) const
Determine whether a particle is the first in a decay chain to meet the function requirement.
Definition Particle.hh:757
bool hasDescendantWith(const ParticleSelector &f, bool remove_duplicates=true) const
Definition Particle.hh:677
bool hasStableDescendantWith(const Cut &c) const
bool isLastWithout(const ParticleSelector &f) const
Determine whether a particle is the last in a decay chain not to meet the function requirement.
Definition Particle.hh:776
Particles ancestors(const ParticleSelector &f, bool only_physical=true) const
Definition Particle.hh:505
Particle(const RivetHepMC::GenParticle &gp)
Constructor from a HepMC GenParticle reference.
Definition Particle.hh:91
const Particles constituents(const Cut &c) const
Direct constituents of this particle, filtered by a Cut.
Definition Particle.hh:359
double flightLength() const
bool fromHadron() const
Determine whether the particle is from a hadron decay.
bool hasAncestorWithout(const Cut &c, bool only_physical=true) const
bool hasChildWith(const Cut &c) const
const Particles rawConstituents(const ParticleSelector &selector) const
Fundamental constituents of this particle, filtered by a selection functor.
Definition Particle.hh:414
bool hasPhysicalAncestor(const Cut &c=Cuts::OPEN) const
Does this (outgoing) particle have physically meaningful (outgoing) parents in the event record?
Particles allDescendants(const Cut &c=Cuts::OPEN, bool remove_duplicates=true) const
Get a list of all the descendants from the current particle (with optional selection Cut).
bool fromTau(bool prompt_taus_only=false) const
Determine whether the particle is from a tau decay.
Particle & setGenParticle(ConstGenParticlePtr gp)
Set a const pointer to the original GenParticle.
Definition Particle.hh:198
bool hasParentWithout(const ParticleSelector &f) const
Definition Particle.hh:480
Particle & transformBy(const LorentzTransform <)
Apply an active Lorentz transform to this particle.
Particles parents(const Cut &c=Cuts::OPEN) const
int abscharge3() const
Three times the absolute charge of this Particle (i.e. integer multiple of smallest quark charge).
Definition Particle.hh:251
Particles stableDescendants(const ParticleSelector &f) const
Get a list of all the stable descendants from the current particle (with selector function).
Definition Particle.hh:710
bool isComposite() const
Determine if this Particle is a composite of other Rivet Particles.
Definition Particle.hh:336
Particle & setOrigin(double t, double x, double y, double z)
Set the origin position via components.
Definition Particle.hh:137
bool fromPromptTau() const
Determine whether the particle is from a prompt tau decay.
Definition Particle.hh:585
bool hasCharm() const
Does this (hadron) contain a c quark?
Definition Particle.hh:302
bool fromHadronicTau(bool prompt_taus_only=false) const
Determine whether the particle is from a tau which decayed hadronically.
bool isFirstWithout(const ParticleSelector &f) const
Determine whether a particle is the first in a decay chain not to meet the function requirement.
Definition Particle.hh:764
bool isStable() const
Whether this particle is stable according to the generator.
const FourMomentum & momentum() const
The momentum.
Definition Particle.hh:101
Particle(ConstGenParticlePtr gp)
Constructor from a HepMC GenParticle pointer.
Definition Particle.hh:78
const Particles rawConstituents(const Cut &c, const ParticleSorter &sorter) const
Fundamental constituents of this particle, sorted by a functor.
Definition Particle.hh:407
bool hasDescendantWithout(const Cut &c, bool remove_duplicates=true) const
Particles children(const ParticleSelector &f) const
Get a list of the direct descendants from the current particle (with selector function).
Definition Particle.hh:629
Particle(PdgId pid, const FourMomentum &mom, ConstGenParticlePtr gp, const FourVector &pos=FourVector())
Constructor from PID, momentum, and a GenParticle for relational links.
Definition Particle.hh:74
PdgId abspid() const
Absolute value of the PDG ID code.
Definition Particle.hh:225
const Particles rawConstituents(const Cut &c) const
Fundamental constituents of this particle, filtered by a Cut.
Definition Particle.hh:400
Particles parents(const ParticleSelector &f) const
Definition Particle.hh:456
Particles children(const Cut &c=Cuts::OPEN) const
Get a list of the direct descendants from the current particle (with optional selection Cut).
bool hasDescendantWithout(const ParticleSelector &f, bool remove_duplicates=true) const
Definition Particle.hh:692
const Particles constituents(const ParticleSorter &sorter) const
Direct constituents of this particle, sorted by a functor.
Definition Particle.hh:352
bool fromCharm() const
Determine whether the particle is from a c-hadron decay.
bool hasStableDescendantWithout(const Cut &c) const
Particles stableDescendants(const Cut &c=Cuts::OPEN) const
ConstGenParticlePtr genParticle() const
Get a const pointer to the original GenParticle.
Definition Particle.hh:204
bool hasStableDescendantWith(const ParticleSelector &f) const
Definition Particle.hh:719
bool isParton() const
Is this a parton? (Hopefully not very often... fiducial FTW).
Definition Particle.hh:315
int charge3() const
Three times the charge of this Particle (i.e. integer multiple of smallest quark charge).
Definition Particle.hh:246
bool hasAncestorWithout(const ParticleSelector &f, bool only_physical=true) const
Definition Particle.hh:529
Particle(PdgId pid, const FourMomentum &mom, const FourVector &pos=FourVector(), ConstGenParticlePtr gp=nullptr)
Constructor from PID and momentum.
Definition Particle.hh:62
Particle & setMomentum(const FourMomentum &momentum)
Set the momentum.
Definition Particle.hh:106
virtual void setConstituents(const Particles &cs, bool setmom=false)
Set direct constituents of this particle.
double dot(const Vector3 &v) const
Dot-product with another vector.
Definition Vector3.hh:124
bool any(const CONTAINER &c)
Return true if x is true for any x in container c, otherwise false.
Definition Utils.hh:364
Jets select(const Jets &jets, const Cut &c)
Filter a jet collection in-place to the subset that passes the supplied Cut.
Definition JetUtils.hh:183
int abscharge3(int pid)
Return the absolute value of 3 times the EM charge.
Definition ParticleIdUtils.hh:1025
double charge(int pid)
Return the EM charge (as floating point).
Definition ParticleIdUtils.hh:1030
double abscharge(int pid)
Return the EM charge (as floating point).
Definition ParticleIdUtils.hh:1035
int charge3(int pid)
Three times the EM charge (as integer).
Definition ParticleIdUtils.hh:936
bool isParton(int pid)
Determine if the PID is that of a parton (quark or gluon).
Definition ParticleIdUtils.hh:198
bool isNeutrino(int pid)
Determine if the PID is that of a neutrino.
Definition ParticleIdUtils.hh:235
bool isChargedLepton(int pid)
Determine if the PID is that of a charged lepton.
Definition ParticleIdUtils.hh:224
bool hasBottom(int pid)
Does this particle contain a bottom quark?
Definition ParticleIdUtils.hh:689
bool hasStrange(int pid)
Does this particle contain a strange quark?
Definition ParticleIdUtils.hh:681
bool hasCharm(int pid)
Does this particle contain a charm quark?
Definition ParticleIdUtils.hh:685
bool isBaryon(int pid)
Check to see if this is a valid baryon.
Definition ParticleIdUtils.hh:337
bool isMeson(int pid)
Check to see if this is a valid meson.
Definition ParticleIdUtils.hh:314
MOMS sortBy(const MOMS &pbs, const CMP &cmp)
Sort a container of momenta by cmp and return by value for const inputs.
Definition Vector4.hh:1428
double p(const ParticleBase &p)
Unbound function access to p.
Definition ParticleBaseUtils.hh:819
Definition RivetHepMC.hh:52
Definition LHCbCommon.hh:9
constexpr std::enable_if_t< std::is_arithmetic_v< NUM >, int > sign(NUM val)
Find the sign of a number.
Definition MathUtils.hh:295
std::ostream & operator<<(std::ostream &os, const AnalysisInfo &ai)
Stream an AnalysisInfo as a text description.
Definition AnalysisInfo.hh:463
std::enable_if_t< std::is_floating_point_v< NUM >, bool > isZero(NUM val, double tolerance=1e-8)
Compare a number to zero.
Definition MathUtils.hh:23
std::pair< Particle, Particle > ParticlePair
Typedef for a pair of Particle objects.
Definition Particle.hh:43
STL namespace.
Generated on for Rivet by
