Interactive examples

This page exposes some of the functionality of the expertsystem as online utilities.

Check allowed reactions

The expertsystem can be used to check whether a transition between an initial and final state is valid. If a solution is allowed, the check returns a set of names of the allowed intermediate states, if not, it will raise a ValueError containing the violated conservation rules:

import expertsystem as es

es.check_reaction(
  initial_state="pi0",
  final_state=["gamma", "gamma", "gamma"],
  allowed_interactions="EM",
)

Investigate intermediate resonances

The expertsystem is designed to be a tool when doing Partial Wave Analysis. It’s main features are therefore the generate_transitions and generate_amplitudes functions. Here’s a small applet with which to visualize these transitions online:

import expertsystem as es
from graphviz import Source

result = es.generate_transitions(
  initial_state=("J/psi(1S)", [-1, +1]),
  final_state=["K0", "Sigma+", "p~"],
  allowed_interaction_types="strong",
)
graphs = result.collapse_graphs()
Source(es.io.convert_to_dot(graphs))