Reference
Contents
Index
ThreeBodyDecays.ThreeBodyDecayThreeBodyDecays.ThreeBodyDecayBase.vcatThreeBodyDecays.DecayChainLSThreeBodyDecays.DecayChainsLSThreeBodyDecays.InvariantsThreeBodyDecays.cosθijThreeBodyDecays.phaseThreeBodyDecays.phase_space_integrandThreeBodyDecays.polardalitz2invariantsThreeBodyDecays.projection_integrandThreeBodyDecays.unpolarized_intensityThreeBodyDecays.wrThreeBodyDecays.y2σsThreeBodyDecays.σiofkThreeBodyDecays.σjofk
ThreeBodyDecays.ThreeBodyDecay — MethodThreeBodyDecay(descriptor)
Constructs a ThreeBodyDecay object using one argument, a descriptor. The descriptor is a list of pairs, names .=> zip(couplings, chains).
Examples
ThreeBodyDecay("K892" .=> zip([1.0, -1.0, 0.2im], [chain1, chain2, chain3]))ThreeBodyDecays.ThreeBodyDecay — MethodThreeBodyDecay(; chains, couplings, names)
Constructs a ThreeBodyDecay object with the given parameters.
Arguments
chains: An array of chains involved in the decay. The length of this array should match the lengths ofcouplingsandnames.couplings: An array of coupling constants for each chain in the decay. The length of this array should match the lengths ofchainsandnames.names: An array of names for each chain, or names of resonances in the decay. The length of this array should match the lengths ofchainsandcouplings.
Returns
- A 
ThreeBodyDecayobject with the specified chains, couplings, and names. 
Examples
ThreeBodyDecay(
chains=[chain1, chain2, chain3],
couplings=[1.0, -1.0, 0.2im],
names=["L1405", "L1405", "K892"])Base.vcat — MethodBase.vcat(models::ThreeBodyDecay...)Concatenates multiple ThreeBodyDecay objects into a single ThreeBodyDecay. Argument is variable number of ThreeBodyDecay objects.
An example
extended_model = vcat(model[2], model[2:3], model)ThreeBodyDecays.DecayChainLS — MethodDecayChainLS(; k, # chain is specified by the spectator index k Xlineshape, # lambda function for lineshape jp, # the spin-parity of the resonance, e.g. jp"1/2-" Ps, # need parities, e.g. Ps=ThreeBodyParities('+','+','+'; P0='+') tbs) # give three-body-system structure
Returns the decay chain with the smallest LS, ls
ThreeBodyDecays.DecayChainsLS — MethodDecayChainsLS(; k, # chain is specified by the spectator index k Xlineshape, # lambda function for lineshape jp, # the spin-parity of the resonance, e.g. jp"1/2-" Ps, # need parities, e.g. Ps=ThreeBodyParities('+','+','+'; P0='+') tbs) # give three-body-system structure
Returns an array of the decay chains with all possible couplings
ThreeBodyDecays.Invariants — MethodInvariants(ms::MassTuple{T}; σ1, σ2) Invariants(ms::MassTuple{T}; σ1, σ3) Invariants(ms::MassTuple{T}; σ2, σ3)
Construct a tuple of (σ1, σ2, σ3) from just two invariants and the mass tuple.
ThreeBodyDecays.cosθij — Methodcosθij(k,σs,msq)Isobar decay angle for the chain-k, i.e. an angle of between vectors pi and -pk in the (ij) rest frame.
Explicit forms: cosθ23, cosθ31, cosθ12.
ThreeBodyDecays.phase — MethodPhase for wigner d-functions for clockwise rotationsThreeBodyDecays.phase_space_integrand — Methodphase_space_integrand(function_σs, ms; k::Int)Calculate the phase space integrand for a given function function_σs, and mass tuple ms. The key argument k specifies the mapping: σk->[0,1], zk->[0,1]. It returns an integrand function of x, x ∈ [0,1]x[0,1] domain to pass to a numerical integrator.
Arguments
function_σs: A function that takes a MandelstamTuple and returns a scalar.ms: A scalar representing the mass.k: An integer representing the mapping index.
Usage
integrand = phase_space_integrand(function_σs, ms; k)See also
x2σsprojection_integrand
ThreeBodyDecays.polardalitz2invariants — Methodpolardalitz2invariants(θ, expansion_point)
For given polar angle θ, it returns an (σ1,σ2,σ3) Tuple of polynomials of radius r(θ) around the expansion point. The polynomial works as a function of the r coordinate.
ThreeBodyDecays.projection_integrand — Methodprojection_integrand(function_σs, ms, σk; k)Calculate the projection integrand for a given function function_σs, mass tuple ms, and Mandelstam variable σk, with k specified by a keyword argument. It returns an integrand function of x, x ∈ [0,1] to pass to a numerical integrator.
Arguments
function_σs: A function that takes a MandelstamTuple and returns a scalar.ms: A scalar representing the mass.σk: A scalar representing the Mandelstam variable.k: A scalar representing the momentum transfer (optional).
Usage
plot(4.2, 4.6) do e1
	I = Base.Fix1(unpolarized_intensity, model)
	integrand = projection_integrand(I, masses(model), e1^2; k = 3)
	e1 * quadgk(integrand, 0, 1)[1]
endThreeBodyDecays.unpolarized_intensity — Methodunpolarized_intensity(model::ThreeBodyDecay, σs; kw...)
Computes squared amplitude summed over spin projections.
ThreeBodyDecays.wr — Functionwr(system_a, reference_b, particle_c=0)Create a WignerRotation object of the right type based on provided indices. The daughter particles are numbered 1,2,3, the mother particle is 0.
system_atells which isobar is considered, andreference_btell which system is used as a reference.
For system_a and reference_b the spectator notations are used, i.e. 1 for the system (2,3), 2 for the system (3,1), and 3 for the system (1,2).
ThreeBodyDecays.y2σs — Methody2σs(y, ms::MassTuple; k::Int = last(findmin(Tuple(ms))))Maps a pair of variables to the plain of squared masses using a linear transformation. The values [0,1] correspond to the physical limits of the mass squared variables. The physical value
Arguments
y: a pair of numbersms: masses of the system as aMassTuple, seeThreeBodyMasses.k: the index for which the variable is not generated. By default, the function picks the coordinates
where the Dalitz plot has the closest shape to the squared fitting box.
Returns
- an instance of 
MandelstamTuplewith the squared masses. 
Example
The phase space sample with 100 points can be generated as follows: julia data = let 	N = 100 	# map random variables to dalitz 	_data = mapslices(rand(N,2); dims=2) do xy 		y2σs(xy, ms) 	end[:,1] 	# select physical 	filter!(_data) do σs 		isphysical(σs, ms) 	end 	_data end`
ThreeBodyDecays.σiofk — Methodσiofk(k,z,σj,msq)Computes invariant σi = (p0 - pi)² from the scattering angle z=cosθij in the rest from of (i,j), given the mass of the system m(i,j)² = σk
Explicit forms: σ3of2, σ1of3, σ2of1.
See also σjofk(z,σk,msq; k)
ThreeBodyDecays.σjofk — Methodσjofk(z,σi,msq; k::Int)Computes invariant σj = (p0-pj)² from the scattering angle z=cosθij in the rest from of (i,j), given the mass of the system m(i,j)² = σk
Explicit forms: σ3of1, σ1of2, σ2of3.
See also σiofk(z,σj,msq; k)