expertsystem

Deprecated since version 0.7.3: Use QRules and AmpForm instead

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

expertsystem.amplitude

― a collection of tools to convert the StateTransitionGraph solutions found by reaction into an HelicityModel. 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[ParticleCollection] = None, mass_conservation_factor: Optional[float] = 3.0, topology_building: str = 'isobar', number_of_threads: Optional[int] = None)Result

An alias to reaction.generate.

load_default_particles()ParticleCollection[source]

Load the default particle list that comes with the expertsystem.

Runs load_pdg and supplements its output definitions from the file reaction/additional_definitions.yml.

Submodules and Subpackages