builder#
import ampform.dynamics.builder
Build dynamics with correct variable names and values.
- class TwoBodyKinematicVariableSet(incoming_state_mass: Symbol, outgoing_state_mass1: Symbol, outgoing_state_mass2: Symbol, helicity_theta: Symbol, helicity_phi: Symbol, angular_momentum: int | None = None)[source]#
Bases:
objectData container for the essential variables of a two-body decay.
This data container is inserted into a
ResonanceDynamicsBuilder, so that it can build some lineshape expression from thedynamicsmodule. It also allows to insert custom dynamics into the amplitude model.
- BuilderReturnType#
Type that a
ResonanceDynamicsBuildershould return.The first element in this
tupleis thesympy.Exprthat describes the dynamics for the resonance. The second element are suggested parameter values (seeparameter_defaults) for theSymbolinstances that appear in thesympy.Expr.
- class ResonanceDynamicsBuilder(*args, **kwargs)[source]#
Bases:
ProtocolProtocol that is used by
DynamicsSelector.assign.Follow this
Protocolwhen defining a builder function that is to be used byDynamicsSelector.assign. For an example, see the source codecreate_relativistic_breit_wigner, which creates arelativistic_breit_wigner.See also
- __call__(resonance: Particle, variable_pool: TwoBodyKinematicVariableSet) BuilderReturnType[source]#
Formulate a dynamics
Exprfor this resonance.
- create_non_dynamic(resonance: Particle, variable_pool: TwoBodyKinematicVariableSet) BuilderReturnType[source]#
- create_non_dynamic_with_ff(resonance: Particle, variable_pool: TwoBodyKinematicVariableSet) BuilderReturnType[source]#
Generate (only) a Blatt-Weisskopf form factor for a two-body decay.
See also
FormFactor.
- class RelativisticBreitWignerBuilder(form_factor: bool = False, energy_dependent_width: bool = False, phsp_factor: PhaseSpaceFactorProtocol | None = None)[source]#
Bases:
objectFactory for building relativistic Breit-Wigner expressions.
The
__call__()of this builder complies with theResonanceDynamicsBuilder, so instances of this class can be used inDynamicsSelector.assign().- Parameters:
form_factor – Formulate a relativistic Breit-Wigner function multiplied by a Blatt-Weisskopf form factor (
FormFactor), like in Equation (50.26) on PDG2021, §Resonances, p.9.energy_dependent_width – Use an
EnergyDependentWidthin the denominator of the Breit-Wigner.phsp_factor – A class that complies with the
PhaseSpaceFactorProtocolthat is used in the energy-dependent width. Defaults toPhaseSpaceFactor.
- __call__(resonance: Particle, variable_pool: TwoBodyKinematicVariableSet) BuilderReturnType[source]#
Formulate a relativistic Breit-Wigner for this resonance.
- create_relativistic_breit_wigner(resonance: Particle, variable_pool: TwoBodyKinematicVariableSet) BuilderReturnType[source]#
Create a
relativistic_breit_wignerfor a two-body decay.This is a convenience function for a
RelativisticBreitWignerBuilder_without_ form factor.
- create_relativistic_breit_wigner_with_ff(resonance: Particle, variable_pool: TwoBodyKinematicVariableSet) BuilderReturnType[source]#
Create a
relativistic_breit_wigner_with_fffor a two-body decay.This is a convenience function for a
RelativisticBreitWignerBuilder_with_ form factor and a ‘normal’PhaseSpaceFactor.
- create_analytic_breit_wigner(resonance: Particle, variable_pool: TwoBodyKinematicVariableSet) BuilderReturnType[source]#
Create a
relativistic_breit_wigner_with_ffwith analytic continuation.This is a convenience function for a
RelativisticBreitWignerBuilder_with_ form factor and a ‘analytic’ phase space factor (seeEqualMassPhaseSpaceFactor).See also