Back to home page

EIC code displayed by LXR

 
 

    


Warning, /acts/docs/core/eventdata/particle_hypothesis.md is written in an unsupported language. File is not indexed.

0001 # Particle hypothesis
0002 
0003 The *particle hypothesis* consists of the information about a particle necessary for accurate track reconstruction. This is the
0004  - *absolute PDG*
0005  - *mass*
0006  - *absolute charge*
0007 
0008 This is redundant, as the *absolute PDG* can be used to look up *mass* and *absolute charge*, but used as a caching mechanism and can be an opportunity to use different, not necessarily physical values.
0009 
0010 Internally, ACTS will use the *absolute PDG* to determine the energy loss or multiple scattering distribution for the particle. *mass* parameterizes these functions and is used for time transport. *absolute charge* is used as a conversion factor between the track parameter $\frac{q}{p}$ and $p$ whenever required.
0011 
0012 The implementation consists of a generic, templated class `Acts::GenericParticleHypothesis` which depends on the charge type.
0013 There are four different charge types
0014  - {struct}`Acts::Neutral`
0015  - {struct}`Acts::SinglyCharged`
0016  - {class}`Acts::NonNeutralCharge`
0017  - {class}`Acts::AnyCharge`
0018 The reason for these different charge types is that in special cases it is not necessary to carry the *absolute charge* as it is already described by the type.
0019 
0020 Ultimately there is a collection of classes which fill the charge type into the `Acts::GenericParticleHypothesis` for the user and provide a set of common particle hypotheses.
0021  - {class}`Acts::SinglyChargedParticleHypothesis`
0022  - {class}`Acts::NeutralParticleHypothesis`
0023  - {class}`Acts::NonNeutralChargedParticleHypothesis`
0024  - {class}`Acts::ParticleHypothesis`
0025 
0026 Internally, ACTS will use {class}`Acts::ParticleHypothesis`, if not specified otherwise. This is the most generic one which is convertible from all the other hypotheses.