From 995c41773dfd87da51df892874f82a8e4ed26b41 Mon Sep 17 00:00:00 2001 From: Mikhail Mikhasenko Date: Tue, 4 Jun 2024 18:47:32 +0200 Subject: [PATCH] compass, replace Katchaev Sigma by expression string --- docs/julia/x2pipipi-compass-1391643.qmd | 38 ------------------------- models/x2pipipi-compass-1391643.json | 7 ++--- 2 files changed, 2 insertions(+), 43 deletions(-) diff --git a/docs/julia/x2pipipi-compass-1391643.qmd b/docs/julia/x2pipipi-compass-1391643.qmd index 15e450b..5ed4241 100644 --- a/docs/julia/x2pipipi-compass-1391643.qmd +++ b/docs/julia/x2pipipi-compass-1391643.qmd @@ -37,44 +37,6 @@ theme(:wong2, frame=:box, grid=false, minorticks=true, lab="") ``` -## Function definitions - -Non-standard lineshapes are used to model resonances that do not conform to a simple `BreitWigner` distributions, or a `MultichannelBreitWigner` has to be defined explicitly. -The code below defines a new lineshape, and its deserialization method. - -```{julia} -@with_kw struct KatchaevSigma <: HadronicLineshapes.AbstractFlexFunc - poles::Vector{Float64} - residues::Vector{Float64} - nonpole_expansion_coeffs::Vector{Float64} -end -function (bw::KatchaevSigma)(σ::Number) - mπ = 0.13956755 - mπ2 = mπ^2 - - @unpack poles, residues, nonpole_expansion_coeffs = bw - M00 = 0.0 - for i = 1:length(poles) - M00 += residues[i] / (σ - poles[i]) - end - # - mK = 0.493677 - mK0 = 0.497614 - scale = (σ / (4 * ((mK + mK0) / 2.0)^2)) - 1.0 - for (i, ci) in enumerate(nonpole_expansion_coeffs) - M00 += scale^(i - 1) * ci - end - - rho00 = sqrt(Kallen(σ, mπ2, mπ2)) / σ - return 1.0 / (M00 - 1im * rho00) -end -function ThreeBodyDecaysIO.dict2instance(::Type{KatchaevSigma}, dict) - @unpack poles, residues, nonpole_expansion_coeffs, x = dict - return NamedArgFunc(; - f=KatchaevSigma(poles, residues, nonpole_expansion_coeffs), - variable_names=[x]) -end -``` ## Deserialization of Objects to a Workspace diff --git a/models/x2pipipi-compass-1391643.json b/models/x2pipipi-compass-1391643.json index f3aa14f..e1b6c3f 100644 --- a/models/x2pipipi-compass-1391643.json +++ b/models/x2pipipi-compass-1391643.json @@ -991,11 +991,8 @@ "name": "R(1690)" }, { - "type": "KatchaevSigma", - "x": "m_12_sq", - "poles": [-0.0073999, 0.9828001], - "residues": [0.1131, 0.0], - "nonpole_expansion_coeffs": [0.0337, -0.3185, -0.0942, -0.5927], + "type": "generic_function", + "expression": "1.0 / (0.1131 / (m_12_sq + 0.0073999) + 0.0337 - 0.3185 * (m_12_sq / 0.982657846681 - 1.0) - 0.0942 * (m_12_sq / 0.982657846681 - 1.0)^2 -0.5927 * (m_12_sq / 0.982657846681 - 1.0)^3 - i * sqrt(1 - 4*0.13956755^2 / m_12_sq))", "name": "R(600)" }, {