kinematics

Kinematic based calculations for the helicity formalism.

It’s responsibilities are defined by the interface interfaces.Kinematics.

Here, the main responsibility is the conversion of general kinematic information of a reaction to helicity formalism specific quantities

\((s, \theta, \phi)\)

The basic building blocks are the HelicityKinematics and SubSystem.

class HelicityKinematics(fs_id_event_pos_mapping=None)[source]

Bases: tensorwaves.interfaces.Kinematics

Kinematics of the helicity formalism.

General usage is

  1. Register kinematic variables via the three methods (register_invariant_mass(), register_helicity_angles(), register_subsystem()) first.

  2. Then convert events to these kinematic variables.

For additional functionality check phase_space_volume() and is_within_phase_space().

convert(events)[source]

Convert events to the registered kinematics variables.

Parameters

events

A three dimensional numpy array of the shape \((n_{\mathrm{part}}, n_{\mathrm{evts}}, 4)\).

  • \(n_{\mathrm{part}}\) is the number of particles

  • \(n_{\mathrm{evts}}\) is the number of events

The third dimension correspond to the four momentum info \((p_x, p_y, p_z, E)\).

Returns

A dict containing the registered kinematic variables as keys and their corresponding values. This is also known as a dataset.

is_within_phase_space(events)[source]

Check whether events lie within the phase space definition.

property phase_space_volume

Get volume of the defined phase space.

Returns

float

register_helicity_angles(subsystem)[source]

Register helicity angles \((\theta, \phi)\) of a SubSystem.

Parameters

subsystem (SubSystem) – SubSystem to which the registered angles correspond.

Returns

A pair of str keys representing the angles. They can be used to retrieve the angles from the dataset returned by convert().

register_invariant_mass(final_state)[source]

Register an invariant mass \(s\).

Parameters

final_state (Union[tuple, list]) – collection of particle unique id’s

Returns

A str key representing the invariant mass. It can be used to retrieve this invariant mass from the dataset returned by convert().

register_subsystem(subsystem)[source]

Register all kinematic variables of the SubSystem.

Parameters

subsystem (SubSystem) – SubSystem to which the registered kinematic variables correspond.

Returns

A tuple of str keys representing the \((s, \theta, \phi)\). They can be used to retrieve the kinematic data from the dataset returned by convert().

class SubSystem(final_states, recoil_state, parent_recoil_state)[source]

Bases: object

Represents a part of a decay chain.

A SubSystem resembles a decaying state and its ingoing and outgoing state. It is uniquely defined by

__eq__(other)[source]

Equal testing operator.

property final_states

Get final state content of the decay products.

property parent_recoil_state

Get final state content of the recoil partner of the parent.

property recoil_state

Get final state content of the recoil partner.