Rivet: Non-PID particle properties, via unbound functions

| Rivet 3.1.9

Functions
Non-PID particle properties, via unbound functions
Functions for Particles

## Functions
bool | Rivet::isFirstWith (const Particle &p, const ParticleSelector &f)
| Determine whether a particle is the first in a decay chain to meet the function requirement.
bool | Rivet::isFirstWithout (const Particle &p, const ParticleSelector &f)
| Determine whether a particle is the first in a decay chain not to meet the function requirement.
bool | Rivet::isLastWith (const Particle &p, const ParticleSelector &f)
| Determine whether a particle is the last in a decay chain to meet the function requirement.
bool | Rivet::isLastWithout (const Particle &p, const ParticleSelector &f)
| Determine whether a particle is the last in a decay chain not to meet the function requirement.
bool | Rivet::hasAncestorWith (const Particle &p, const ParticleSelector &f, bool only_physical=true)
| Determine whether a particle has an ancestor which meets the function requirement.
bool | Rivet::hasAncestorWithout (const Particle &p, const ParticleSelector &f, bool only_physical=true)
| Determine whether a particle has an ancestor which doesn't meet the function requirement.
bool | Rivet::hasParentWith (const Particle &p, const ParticleSelector &f)
| Determine whether a particle has a parent which meets the function requirement.
bool | Rivet::hasParentWithout (const Particle &p, const ParticleSelector &f)
| Determine whether a particle has a parent which doesn't meet the function requirement.
bool | Rivet::hasChildWith (const Particle &p, const ParticleSelector &f)
| Determine whether a particle has a child which meets the function requirement.
bool | Rivet::hasChildWithout (const Particle &p, const ParticleSelector &f)
| Determine whether a particle has a child which doesn't meet the function requirement.
bool | Rivet::hasDescendantWith (const Particle &p, const ParticleSelector &f, bool remove_duplicates=true)
| Determine whether a particle has a descendant which meets the function requirement.
bool | Rivet::hasDescendantWithout (const Particle &p, const ParticleSelector &f, bool remove_duplicates=true)
| Determine whether a particle has a descendant which doesn't meet the function requirement.
bool | Rivet::hasStableDescendantWith (const Particle &p, const ParticleSelector &f)
| Determine whether a particle has a stable descendant which meets the function requirement.
bool | Rivet::hasStableDescendantWithout (const Particle &p, const ParticleSelector &f)
| Determine whether a particle has a stable descendant which doesn't meet the function requirement.
bool | Rivet::isVisible (const Particle &p)
| Is this particle potentially visible in a detector?
bool | Rivet::isDirect (const Particle &p, bool allow_from_direct_tau=false, bool allow_from_direct_mu=false)
| Decide if a given particle is direct, via Particle::isDirect()
bool | Rivet::isPrompt (const Particle &p, bool allow_from_prompt_tau=false, bool allow_from_prompt_mu=false)
| Decide if a given particle is prompt, via Particle::isPrompt()
bool | Rivet::isStable (const Particle &p)
| Decide if a given particle is stable, via Particle::isStable()
bool | Rivet::hasHadronicDecay (const Particle &p)
| Decide if a given particle decays hadronically.
bool | Rivet::hasLeptonicDecay (const Particle &p)
| Decide if a given particle decays leptonically (decays, and no hadrons)
bool | Rivet::hasAncestor (const Particle &p, PdgId pid)
bool | Rivet::fromBottom (const Particle &p)
| Determine whether the particle is from a b-hadron decay.
bool | Rivet::fromCharm (const Particle &p)
| Determine whether the particle is from a c-hadron decay.
bool | Rivet::fromHadron (const Particle &p)
| Determine whether the particle is from a hadron decay.
bool | Rivet::fromTau (const Particle &p, bool prompt_taus_only=false)
| Determine whether the particle is from a tau decay.
bool | Rivet::fromPromptTau (const Particle &p)
| Determine whether the particle is from a prompt tau decay.

## Detailed Description

## Function Documentation

## ◆ hasAncestor()

bool Rivet::hasAncestor | ( | const Particle & | p,
|  | PdgId | pid
| ) |  |
| inline

Check whether a given PID is found in the particle's ancestor list

Deprecated:
  Prefer hasAncestorWith

References Rivet::Kin::p(), and Rivet::pid().

## ◆ isDirect()

bool Rivet::isDirect | ( | const Particle & | p,
|  | bool | allow_from_direct_tau = `false`,
|  | bool | allow_from_direct_mu = `false`
| ) |  |
| inline

Decide if a given particle is direct, via Particle::isDirect()

A "direct" particle is one directly connected to the hard process. It is a preferred alias for "prompt", since it has no confusing implications about distinguishability by timing information.

The boolean arguments allow a decay lepton to be considered direct if its parent was a "real" direct lepton.

References Rivet::Kin::p().

## ◆ isPrompt()

bool Rivet::isPrompt | ( | const Particle & | p,
|  | bool | allow_from_prompt_tau = `false`,
|  | bool | allow_from_prompt_mu = `false`
| ) |  |
| inline

Decide if a given particle is prompt, via Particle::isPrompt()

The boolean arguments allow a decay lepton to be considered prompt if its parent was a "real" prompt lepton.

References Rivet::Kin::p().