expertsystem¶
import expertsystem
A rule based system that facilitates particle reaction analysis.
The main responsibility of the expertsystem
is to validate particle reactions
as specified by the user. The user boundary conditions for a particle reaction
problem are for example the initial state, final state, and allowed
interactions.
A further responsibility is to build amplitude models, if a reaction is valid. These models are based on the found solutions and represent the transition probability of the process.
The expertsystem
consists of two main components:
expertsystem.reaction
― the core of the
expertsystem
that computes which transitions (represented by aStateTransitionGraph
) are allowed between a certain initial and final state. Internally, the system propagates the quantum numbers defined by thereaction.particle
module through theStateTransitionGraph
, while satisfying the rules define by theconservation_rules
module. See Generate transitions and Particle database.expertsystem.amplitude
― a collection of tools to convert the
StateTransitionGraph
solutions found byreaction
into anHelicityModel
. This module is specifically designed to create amplitude model templates for PWA fitter packages. See Formulate amplitude model.
Finally, the io
module provides tools that can read and write the objects of
this framework.
-
check_reaction_violations
(initial_state: Union[str, Tuple[str, Sequence[float]], Sequence[Union[str, Tuple[str, Sequence[float]]]]], final_state: Sequence[Union[str, Tuple[str, Sequence[float]]]], mass_conservation_factor: Optional[float] = 3.0) → Set[FrozenSet[str]][source]¶ An alias to
reaction.check_reaction_violations
.
-
generate_transitions
(initial_state: Union[str, Tuple[str, Sequence[float]], Sequence[Union[str, Tuple[str, Sequence[float]]]]], final_state: Sequence[Union[str, Tuple[str, Sequence[float]]]], allowed_intermediate_particles: Optional[List[str]] = None, allowed_interaction_types: Optional[Union[str, List[str]]] = None, formalism_type: str = 'helicity', particles: Optional[expertsystem.reaction.particle.ParticleCollection] = None, mass_conservation_factor: Optional[float] = 3.0, topology_building: str = 'isobar', number_of_threads: Optional[int] = None) → expertsystem.reaction.transition.Result¶ An alias to
reaction.generate
.
-
load_default_particles
() → expertsystem.reaction.particle.ParticleCollection[source]¶ Load the default particle list that comes with the
expertsystem
.Runs
load_pdg
and supplements its output definitions from the filereaction/additional_definitions.yml
.
Submodules and Subpackages