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 three main components:
expertsystem.particle
― a stand-alone submodule with which one can investigate specific quantum properties of
Particle
instances (see Particle database).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 byparticle
through theStateTransitionGraph
, while satisfying the rules define by theconservation_rules
module.expertsystem.amplitude
― a collection of tools to convert the
StateTransitionGraph
solutions found byreaction
into anAmplitudeModel
. This module is specifically designed to create amplitude model templates for PWA fitter packages.
Finally, the io
module provides tools that can read and write the objects of
particle
, reaction
, and amplitude
.
-
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]]]]) → Set[FrozenSet[str]][source]¶ An alias to
reaction.check_reaction_violations
.
-
generate_amplitudes
(result: expertsystem.reaction.Result) → expertsystem.amplitude.model.AmplitudeModel¶ An alias to
amplitude.generate
.
-
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.particle.ParticleCollection] = None, topology_building: str = 'isobar', number_of_threads: Optional[int] = None) → expertsystem.reaction.Result¶ An alias to
reaction.generate
.
Submodules and Subpackages