9.1. lhcb#

Import functions that are specifically for this LHCb analysis.

ModelName#

The names of the published models.

alias of Literal[‘Default amplitude model’, ‘Alternative amplitude model with K(892) with free mass and width’, ‘Alternative amplitude model with L(1670) with free mass and width’, ‘Alternative amplitude model with L(1690) with free mass and width’, ‘Alternative amplitude model with D(1232) with free mass and width’, ‘Alternative amplitude model with L(1600), D(1600), D(1700) with free mass and width’, “Alternative amplitude model with free L(1405) Flatt’e widths, indicated as G1 (pK channel) and G2 (Sigmapi)”, ‘Alternative amplitude model with L(1800) contribution added with free mass and width’, ‘Alternative amplitude model with L(1810) contribution added with free mass and width’, ‘Alternative amplitude model with D(1620) contribution added with free mass and width’, ‘Alternative amplitude model in which a Relativistic Breit-Wigner is used for the K(700) contribution’, ‘Alternative amplitude model with K(700) with free mass and width’, ‘Alternative amplitude model with K(1410) contribution added with mass and width from PDG2020’, ‘Alternative amplitude model in which a Relativistic Breit-Wigner is used for the K(1430) contribution’, ‘Alternative amplitude model with K(1430) with free width’, ‘Alternative amplitude model with an additional overall exponential form factor exp(-alpha q^2) multiplying Bugg lineshapes. The exponential parameter is indicated as alpha’, ‘Alternative amplitude model with free radial parameter d for the Lc resonance, indicated as dLc’, ‘Alternative amplitude model obtained using LS couplings’]

LineshapeName#

Allowed lineshape names in the model definition file.

alias of Literal[‘BreitWignerMinL’, ‘BreitWignerMinL_LS’, ‘BuggBreitWignerExpFF’, ‘BuggBreitWignerMinL’, ‘BuggBreitWignerMinL_LS’, ‘Flatte1405’, ‘Flatte1405_LS’]

ResonanceName#

Allowed resonance names in the model definition file.

alias of Literal[‘D(1232)’, ‘D(1600)’, ‘D(1620)’, ‘D(1700)’, ‘K(1410)’, ‘K(1430)’, ‘K(700)’, ‘K(892)’, ‘L(1405)’, ‘L(1520)’, ‘L(1600)’, ‘L(1670)’, ‘L(1690)’, ‘L(1800)’, ‘L(1810)’, ‘L(2000)’]

class ModelDefinition[source]#

Bases: TypedDict

parameters: dict[str, str][source]#
lineshapes: dict[Literal['D(1232)', 'D(1600)', 'D(1620)', 'D(1700)', 'K(1410)', 'K(1430)', 'K(700)', 'K(892)', 'L(1405)', 'L(1520)', 'L(1600)', 'L(1670)', 'L(1690)', 'L(1800)', 'L(1810)', 'L(2000)'], Literal['BreitWignerMinL', 'BreitWignerMinL_LS', 'BuggBreitWignerExpFF', 'BuggBreitWignerMinL', 'BuggBreitWignerMinL_LS', 'Flatte1405', 'Flatte1405_LS']][source]#
load_model(model_file: Path | str, particle_definitions: dict[str, Particle], model_id: int | ModelName = 0, cleanup_summations: bool = False) AmplitudeModel[source]#
load_model_builder(model_file: Path | str, particle_definitions: dict[str, Particle], model_id: int | ModelName = 0) DalitzPlotDecompositionBuilder[source]#
load_three_body_decay(resonance_names: Iterable[Literal['D(1232)', 'D(1600)', 'D(1620)', 'D(1700)', 'K(1410)', 'K(1430)', 'K(700)', 'K(892)', 'L(1405)', 'L(1520)', 'L(1600)', 'L(1670)', 'L(1690)', 'L(1800)', 'L(1810)', 'L(2000)']], particle_definitions: dict[str, Particle], min_ls: bool = True) ThreeBodyDecay[source]#
class ParameterBootstrap(filename: Path | str, decay: ThreeBodyDecay, model_id: int | ModelName = 0)[source]#

Bases: object

A wrapper for loading parameters from model-definitions.yaml.

property values: dict[str, complex | float | int][source]#
property uncertainties: dict[str, complex | float | int][source]#
create_distribution(sample_size: int, seed: int | None = None) dict[str, ndarray][source]#
load_model_parameters(filename: Path | str, decay: ThreeBodyDecay, model_id: int | ModelName = 0, particle_definitions: dict[str, Particle] | None = None) dict[Indexed | Symbol, complex | float][source]#
load_model_parameters_with_uncertainties(filename: Path | str, decay: ThreeBodyDecay, model_id: int | ModelName = 0, particle_definitions: dict[str, Particle] | None = None) dict[Indexed | Symbol, MeasuredParameter][source]#
flip_production_coupling_signs(obj: _T, subsystem_names: Iterable[Literal['D', 'K', 'L']]) _T[source]#
compute_decay_couplings(decay: ThreeBodyDecay) dict[Indexed, MeasuredParameter[int]][source]#
class ParameterType#

Template for the parameter type of a for MeasuredParameter.

alias of TypeVar(‘ParameterType’, complex, float, int)

class MeasuredParameter(value: ParameterType, hesse: ParameterType, model: ParameterType | None = None, systematic: ParameterType | None = None)[source]#

Bases: Generic[ParameterType]

Data structure for imported parameter values.

MeasuredParameter.value and hesse are taken from the supplemental material, whereas model and systematic are taken from Tables 8 and 9 from the original LHCb paper [1].

value: ParameterType[source]#

Central value of the parameter as determined by a fit with Minuit.

hesse: ParameterType[source]#

Parameter uncertainty as determined by a fit with Minuit.

model: ParameterType | None[source]#

Systematic uncertainties from fit bootstrapping.

systematic: ParameterType | None[source]#

Systematic uncertainties from detector effects etc..

property uncertainty: ParameterType[source]#
get_conversion_factor(resonance: Particle) Literal[-1, 1][source]#
get_conversion_factor_ls(resonance: Particle, L: Rational, S: Rational) Literal[-1, 1][source]#
parameter_key_to_symbol(key: str, particle_definitions: dict[str, Particle], min_ls: bool = True) Indexed | Symbol[source]#
extract_particle_definitions(decay: ThreeBodyDecay) dict[str, Particle][source]#

Submodules and Subpackages