ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::ParticleHypothesis Class Referencefinal

Particle hypothesis used in reconstruction. More...

#include <Acts/EventData/ParticleHypothesis.hpp>

Public Member Functions

 ParticleHypothesis (PdgParticle absPdg)
 Creates a particle hypothesis using the absolute PDG.
constexpr ParticleHypothesis (PdgParticle absPdg, float mass, ChargeHypothesis charge)
 Creates a particle hypothesis using absolute PDG, mass and the charge type.
constexpr ParticleHypothesis (PdgParticle absPdg, float mass, float absCharge)
 Creates a particle hypothesis using absolute PDG, mass and the charge type.
float absoluteCharge () const noexcept
 Get the hypothesized absolute charge.
constexpr PdgParticle absolutePdg () const noexcept
 Get the hypothesized absolute PDG.
constexpr const ChargeHypothesischarge () const noexcept
 Get the hypothesized charge.
constexpr float extractCharge (double qOverP) const noexcept
 Extracts the signed charge from the q over p track parameter using the charge hypothesis.
constexpr double extractMomentum (double qOverP) const noexcept
 Extracts the particle momentum from the q over p track parameter using the charge hypothesis.
constexpr float mass () const noexcept
 Get the hypothesized mass.
constexpr double qOverP (double momentum, float signedQ) const noexcept
 Calculate the q over p track parameter with the given absolute momentum and charge.
std::ostream & toStream (std::ostream &os) const
 Output stream representation of the particle hypothesis.

Static Public Member Functions

static ParticleHypothesis chargedGeantino ()
 Create a charged geantino particle hypothesis with unit charge.
static ParticleHypothesis chargedGeantino (float absoluteCharge)
 Create a charged geantino particle hypothesis with custom charge.
static ParticleHypothesis electron ()
 Create an electron particle hypothesis.
static ParticleHypothesis geantino ()
 Create a neutral geantino particle hypothesis (massless neutral particle).
static ParticleHypothesis kaon ()
 Create a charged kaon particle hypothesis.
static ParticleHypothesis muon ()
 Create a muon particle hypothesis.
static ParticleHypothesis photon ()
 Create a photon particle hypothesis.
static ParticleHypothesis pion ()
 Create a charged pion particle hypothesis.
static ParticleHypothesis pion0 ()
 Create a neutral pion particle hypothesis.
static ParticleHypothesis pionLike (float absoluteCharge)
 Create a pion-like particle hypothesis with custom charge.
static ParticleHypothesis proton ()
 Create a proton particle hypothesis.

Detailed Description

Particle hypothesis used in reconstruction.

The reconstruction hypothesis consists of absolute PDG code, mass and absolute charge.

Constructor & Destructor Documentation

◆ ParticleHypothesis() [1/3]

Acts::ParticleHypothesis::ParticleHypothesis ( PdgParticle absPdg,
float mass,
float absCharge )
constexpr

Creates a particle hypothesis using absolute PDG, mass and the charge type.

Parameters
absPdgthe absolute PDG
massthe particle mass
absChargethe absolute charge

◆ ParticleHypothesis() [2/3]

Acts::ParticleHypothesis::ParticleHypothesis ( PdgParticle absPdg,
float mass,
ChargeHypothesis charge )
constexpr

Creates a particle hypothesis using absolute PDG, mass and the charge type.

Parameters
absPdgthe absolute PDG
massthe particle mass
chargethe charge type

◆ ParticleHypothesis() [3/3]

Acts::ParticleHypothesis::ParticleHypothesis ( PdgParticle absPdg)
explicit

Creates a particle hypothesis using the absolute PDG.

The mass and charge is looked up using findMass and findCharge. If the lookup fails an exception is thrown.

Parameters
absPdgthe absolute PDG

Member Function Documentation

◆ absoluteCharge()

float Acts::ParticleHypothesis::absoluteCharge ( ) const
noexcept

Get the hypothesized absolute charge.

Returns
The absolute charge magnitude

◆ absolutePdg()

PdgParticle Acts::ParticleHypothesis::absolutePdg ( ) const
constexprnoexcept

Get the hypothesized absolute PDG.

Returns
The absolute PDG particle identifier

◆ charge()

const ChargeHypothesis & Acts::ParticleHypothesis::charge ( ) const
constexprnoexcept

Get the hypothesized charge.

Returns
Reference to the charge type object

◆ chargedGeantino() [1/2]

ParticleHypothesis Acts::ParticleHypothesis::chargedGeantino ( )
static

Create a charged geantino particle hypothesis with unit charge.

Returns
Charged geantino particle hypothesis with any charge type

◆ chargedGeantino() [2/2]

ParticleHypothesis Acts::ParticleHypothesis::chargedGeantino ( float absoluteCharge)
static

Create a charged geantino particle hypothesis with custom charge.

Parameters
absoluteChargeThe absolute charge value
Returns
Charged geantino particle hypothesis with any charge type

◆ electron()

ParticleHypothesis Acts::ParticleHypothesis::electron ( )
static

Create an electron particle hypothesis.

Returns
Electron particle hypothesis with any charge type

◆ extractCharge()

float Acts::ParticleHypothesis::extractCharge ( double qOverP) const
constexprnoexcept

Extracts the signed charge from the q over p track parameter using the charge hypothesis.

Parameters
qOverPthe q over p track parameter.
Returns
The extracted signed charge

◆ extractMomentum()

double Acts::ParticleHypothesis::extractMomentum ( double qOverP) const
constexprnoexcept

Extracts the particle momentum from the q over p track parameter using the charge hypothesis.

Parameters
qOverPthe q over p track parameter.
Returns
The extracted absolute momentum

◆ geantino()

ParticleHypothesis Acts::ParticleHypothesis::geantino ( )
static

Create a neutral geantino particle hypothesis (massless neutral particle).

Returns
Neutral geantino particle hypothesis with any charge type

◆ kaon()

ParticleHypothesis Acts::ParticleHypothesis::kaon ( )
static

Create a charged kaon particle hypothesis.

Returns
Charged kaon particle hypothesis with any charge type

◆ mass()

float Acts::ParticleHypothesis::mass ( ) const
constexprnoexcept

Get the hypothesized mass.

Returns
The particle mass in natural units

◆ muon()

ParticleHypothesis Acts::ParticleHypothesis::muon ( )
static

Create a muon particle hypothesis.

Returns
Muon particle hypothesis with any charge type

◆ photon()

ParticleHypothesis Acts::ParticleHypothesis::photon ( )
static

Create a photon particle hypothesis.

Returns
Photon particle hypothesis with any charge type

◆ pion()

ParticleHypothesis Acts::ParticleHypothesis::pion ( )
static

Create a charged pion particle hypothesis.

Returns
Charged pion particle hypothesis with any charge type

◆ pion0()

ParticleHypothesis Acts::ParticleHypothesis::pion0 ( )
static

Create a neutral pion particle hypothesis.

Returns
Neutral pion particle hypothesis with any charge type

◆ pionLike()

ParticleHypothesis Acts::ParticleHypothesis::pionLike ( float absoluteCharge)
static

Create a pion-like particle hypothesis with custom charge.

Parameters
absoluteChargeThe absolute charge value
Returns
Pion-like particle hypothesis with any charge type

◆ proton()

ParticleHypothesis Acts::ParticleHypothesis::proton ( )
static

Create a proton particle hypothesis.

Returns
Proton particle hypothesis with any charge type

◆ qOverP()

double Acts::ParticleHypothesis::qOverP ( double momentum,
float signedQ ) const
constexprnoexcept

Calculate the q over p track parameter with the given absolute momentum and charge.

Parameters
momentumthe absolute momentum.
signedQthe signed charge.
Returns
The calculated charge over momentum ratio

◆ toStream()

std::ostream & Acts::ParticleHypothesis::toStream ( std::ostream & os) const

Output stream representation of the particle hypothesis.

Parameters
osOutput stream to write to
Returns
Modified output stream for chaining