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 a StateTransitionGraph) are allowed between a certain initial and final state. Internally, the system propagates the quantum numbers defined by particle through the StateTransitionGraph, while satisfying the rules define by the conservation_rules module.

expertsystem.amplitude

― a collection of tools to convert the StateTransitionGraph solutions found by reaction into an AmplitudeModel. 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

../_images/module_structure.svg