ampform_dpd#

import ampform_dpd

Module for formulating the amplitude model for a three-body decay using DPD.

class AmplitudeModel(decay: ThreeBodyDecay, intensity: Expr = 1, amplitudes: dict[Indexed, Expr] = NOTHING, variables: dict[Symbol, Expr] = NOTHING, parameter_defaults: dict[Symbol, float | complex] = NOTHING, masses: dict[Symbol, float] = NOTHING, invariants: dict[Symbol, Expr] = NOTHING)[source]#

Bases: object

decay: ThreeBodyDecay[source]#
intensity: Expr[source]#
amplitudes: dict[Indexed, Expr][source]#
variables: dict[Symbol, Expr][source]#
parameter_defaults: dict[Symbol, float | complex][source]#
masses: dict[Symbol, float][source]#
invariants: dict[Symbol, Expr][source]#
property full_expression: Expr[source]#
class DalitzPlotDecompositionBuilder(decay: ThreeBodyDecay, min_ls: bool | tuple[bool, bool] = True, all_subsystems: bool = False)[source]#

Bases: object

formulate(reference_subsystem: Literal[1, 2, 3] | None = None, *, cleanup_summations: bool = False, use_coefficients: bool = False) AmplitudeModel[source]#

Formulate the amplitude model given the configuration of this builder.

Parameters:
  • reference_subsystem – The subsystem to use as reference for the alignment of helicities. If None, the subsystem with the most resonances is chosen.

  • cleanup_summations – Whether to remove helicity indices in the summations if their corresponding state is spinless.

  • use_coefficients – Whether to use a single complex coefficient per decay chain, instead of separate coefficients for each helicity coupling.

formulate_subsystem_amplitude(λ0: Rational, λ1: Rational, λ2: Rational, λ3: Rational, subsystem_id: Literal[1, 2, 3], *, use_coefficients: bool = False) AmplitudeModel[source]#
formulate_aligned_amplitude(λ0: Rational | Symbol, λ1: Rational | Symbol, λ2: Rational | Symbol, λ3: Rational | Symbol, reference_subsystem: Literal[1, 2, 3] | None = None) tuple[PoolSum, dict[Symbol, Expr]][source]#
class DynamicsConfigurator(decay: ThreeBodyDecay)[source]#

Bases: object

register_builder(identifier, builder: DynamicsBuilder) None[source]#
get_builder(identifier) DynamicsBuilder[source]#
property decay: ThreeBodyDecay[source]#
class DynamicsBuilder(*args, **kwargs)[source]#

Bases: Protocol

class DefinedExpression(expression: Expr = 1, parameters: dict[Symbol, complex | float] = NOTHING)[source]#

Bases: object

expression: Expr[source]#
parameters: dict[Symbol, complex | float][source]#
create_mass_symbol_mapping(decay: ThreeBodyDecay) dict[Symbol, float][source]#
create_mass_symbol(particle: IsobarNode | Particle | State) Symbol[source]#
formulate_invariants(decay: ThreeBodyDecay) dict[Symbol, Expr][source]#
formulate_third_mandelstam(decay: ThreeBodyDecay, x_mandelstam: Literal[1, 2, 3] = 1, y_mandelstam: Literal[1, 2, 3] = 2) Add[source]#

Submodules and Subpackages