From afcb173857c1495b4be16a3d2d7232e460ff4119 Mon Sep 17 00:00:00 2001 From: Ilya Segal <44557106+IlyaSegal@users.noreply.github.com> Date: Sun, 2 Jun 2024 00:14:05 +0200 Subject: [PATCH] Extend validation (#55) * json file for Lb2pKg * Solving issue #42 * Delete file with comma * same validation marks for lc2pkpi * variables in json file * Change name of the parameter * add validation points for lineshapes, modify qmd file * "name"->"point" in checksums, rename validation points, linshapes variables * add tonumber to julia dictionary * `name` -> `point` in python notebook * Validation of lineshapes for X to 3pi * condition to not checking lineshapes in python --- .cspell/julia.txt | 1 + docs/julia/lb2pkg-lhcb-2765817.qmd | 17 +- docs/julia/lc2ppik-lhcb-2683025.qmd | 23 +- docs/julia/x2pipipi-compass-1391643.qmd | 14 +- docs/python/lc2ppik-lhcb-2683025.qmd | 4 +- models/lb2pkg-lhcb-2765817.json | 407 +++++++++++++++--------- models/lc2ppik-lhcb-2683025.json | 91 +++++- models/x2pipipi-compass-1391643.json | 39 +++ schema.json | 5 +- 9 files changed, 430 insertions(+), 171 deletions(-) diff --git a/.cspell/julia.txt b/.cspell/julia.txt index 091179a..8071e4c 100644 --- a/.cspell/julia.txt +++ b/.cspell/julia.txt @@ -15,6 +15,7 @@ nonpole quadgk struct textrm +tonumber xlab xlim ylab diff --git a/docs/julia/lb2pkg-lhcb-2765817.qmd b/docs/julia/lb2pkg-lhcb-2765817.qmd index b8ec946..748f28b 100644 --- a/docs/julia/lb2pkg-lhcb-2765817.qmd +++ b/docs/julia/lb2pkg-lhcb-2765817.qmd @@ -50,6 +50,10 @@ end function ThreeBodyDecaysIO.dict2instance(::Type{Constant}, dict) return Constant() end + +# type piracy, not good +(bw::HadronicLineshapes.BreitWigner)(x::Dict) = bw(first(values(x))) +(bw::HadronicLineshapes.MultichannelBreitWigner)(x::Dict) = bw(first(values(x))) ``` ## Deserialization of Objects to a Workspace @@ -92,7 +96,7 @@ df = let @unpack amplitude_model_checksums = misc map(amplitude_model_checksums) do check_point_info - @unpack name, value, distribution = check_point_info + @unpack point, value, distribution = check_point_info # # pull distribution dist = workspace[distribution] @@ -100,15 +104,20 @@ df = let # pull correct parameter point parameter_points_dict = array2dict(parameter_points; key="name") # find the point in the list of points - parameter_point = parameter_points_dict[name] + parameter_point = parameter_points_dict[point] # compute, compare _parameters = array2dict(parameter_point["parameters"]; key="name", apply=v -> v["value"]) # computed_value = dist(_parameters) - status = label_diff(value - computed_value; levels=[1e-2, 1e-12]) + # + tonumber(X::Number) = X + tonumber(X::String) = string2complex(X) + reference_value = tonumber(value) + status = label_diff(reference_value - computed_value) + # (; Distribution=distribution, Reference=value, Computed_value=computed_value, - Point=name, Status=status) + Point=point, Status=status) end |> DataFrame end ``` diff --git a/docs/julia/lc2ppik-lhcb-2683025.qmd b/docs/julia/lc2ppik-lhcb-2683025.qmd index 696af3b..f4ae3fa 100644 --- a/docs/julia/lc2ppik-lhcb-2683025.qmd +++ b/docs/julia/lc2ppik-lhcb-2683025.qmd @@ -59,6 +59,10 @@ function ThreeBodyDecaysIO.dict2instance(::Type{BreitWignerWidthExpLikeBugg}, di @unpack mass, width, slope = dict return BreitWignerWidthExpLikeBugg(mass, width, slope) end + +# type piracy, not good +(bw::HadronicLineshapes.BreitWigner)(x::Dict) = bw(first(values(x))) +(bw::HadronicLineshapes.MultichannelBreitWigner)(x::Dict) = bw(first(values(x))) ``` ## Deserialization of Objects to a Workspace @@ -101,7 +105,7 @@ let @unpack amplitude_model_checksums = misc map(amplitude_model_checksums) do check_point_info - @unpack name, value, distribution = check_point_info + @unpack point, value, distribution = check_point_info # # pull distribution dist = workspace[distribution] @@ -109,15 +113,26 @@ let # pull correct parameter point parameter_points_dict = array2dict(parameter_points; key="name") # find the point in the list of points - parameter_point = parameter_points_dict[name] + parameter_point = parameter_points_dict[point] # compute, compare _parameters = array2dict(parameter_point["parameters"]; key="name", apply=v -> v["value"]) # + function label_diff(diff; levels=[1e-2, 1e-10]) + _diff = abs(diff) + _diff < levels[2] && return '🟢' + _diff < levels[1] && return '🟡' + return '🔴' + end computed_value = dist(_parameters) - status = label_diff(value - computed_value; levels=[1e-2, 1e-10]) + # + tonumber(X::Number) = X + tonumber(X::String) = string2complex(X) + reference_value = tonumber(value) + status = label_diff(reference_value - computed_value) + # (; Distribution=distribution, - Point=name, Status=status) + Point=point, Status=status) end |> DataFrame end ``` diff --git a/docs/julia/x2pipipi-compass-1391643.qmd b/docs/julia/x2pipipi-compass-1391643.qmd index f347b16..31a3dfc 100644 --- a/docs/julia/x2pipipi-compass-1391643.qmd +++ b/docs/julia/x2pipipi-compass-1391643.qmd @@ -105,6 +105,13 @@ function ThreeBodyDecaysIO.dict2instance(::Type{KatchaevSigma}, dict) @unpack poles, residues, nonpole_expansion_coeffs = dict return KatchaevSigma(poles, residues, nonpole_expansion_coeffs) end + +# type piracy, not good +(bw::HadronicLineshapes.BreitWigner)(x::Dict) = bw(first(values(x))) +(bw::HadronicLineshapes.MultichannelBreitWigner)(x::Dict) = bw(first(values(x))) +(bw::KatchaevSigma)(x::Dict) = bw(first(values(x))) +(bw::BreitWignerRho3XQrt)(x::Dict) = bw(first(values(x))) +(bw::BreitWignerRhoNoSqrt)(x::Dict) = bw(first(values(x))) ``` ## Deserialization of Objects to a Workspace @@ -164,7 +171,12 @@ let key="name", apply=v -> v["value"]) # computed_value = dist(_parameters) - status = label_diff(value - computed_value; levels=[1e-3, 1e-10]) + # + tonumber(X::Number) = X + tonumber(X::String) = string2complex(X) + reference_value = tonumber(value) + status = label_diff(reference_value - computed_value) + # (; Distribution=distribution, Point=point, computed_value, value, Status=status) end |> DataFrame diff --git a/docs/python/lc2ppik-lhcb-2683025.qmd b/docs/python/lc2ppik-lhcb-2683025.qmd index 8a148fa..ef16da5 100644 --- a/docs/python/lc2ppik-lhcb-2683025.qmd +++ b/docs/python/lc2ppik-lhcb-2683025.qmd @@ -403,7 +403,7 @@ The following serves as a numerical check on whether the amplitude model has bee ```{python} checksums = { - misc_key: {checksum["name"]: checksum["value"] for checksum in misc_value} + misc_key: {checksum["point"]: checksum["value"] for checksum in misc_value} for misc_key, misc_value in MODEL_DEFINITION["misc"].items() if "checksum" in misc_key } @@ -424,6 +424,8 @@ array = [] for distribution_name, checksum in checksums.items(): for point_name, expected in checksum.items(): parameters = checksum_points[point_name] + if len(parameters) < 6: + continue s1 = parameters["m_31_2"] ** 2 s2 = parameters["m_31"] ** 2 computed = intensity_funcs[3]({"sigma1": s1, "sigma2": s2}) diff --git a/models/lb2pkg-lhcb-2765817.json b/models/lb2pkg-lhcb-2765817.json index e49dd92..dbb0272 100644 --- a/models/lb2pkg-lhcb-2765817.json +++ b/models/lb2pkg-lhcb-2765817.json @@ -2122,94 +2122,42 @@ ], "functions": [ { - "type": "BlattWeisskopf", + "type": "BreitWigner", + "x": "m_12_sq", + "mass": 1.89, + "width": 0.12, + "ma": 0.938, + "mb": 0.493, "l": 1, - "radius": 5.0, - "name": "BlattWeisskopf_b_decay_l1" - }, - { - "type": "BlattWeisskopf", - "l": 2, - "radius": 5.0, - "name": "BlattWeisskopf_b_decay_l2" - }, - { - "type": "BlattWeisskopf", - "l": 3, - "radius": 5.0, - "name": "BlattWeisskopf_b_decay_l3" - }, - { - "type": "BlattWeisskopf", - "l": 4, - "radius": 5.0, - "name": "BlattWeisskopf_b_decay_l4" + "d": 1.5, + "name": "L1890_BW" }, { "type": "BlattWeisskopf", "l": 5, - "radius": 5.0, - "name": "BlattWeisskopf_b_decay_l5" - }, - { - "type": "BlattWeisskopf", - "l": 6, - "radius": 5.0, - "name": "BlattWeisskopf_b_decay_l6" - }, - { - "type": "BlattWeisskopf", - "l": 1, - "radius": 1.5, - "name": "BlattWeisskopf_resonance_l1" - }, - { - "type": "BlattWeisskopf", - "l": 2, - "radius": 1.5, - "name": "BlattWeisskopf_resonance_l2" - }, - { - "type": "BlattWeisskopf", - "l": 3, "radius": 1.5, - "name": "BlattWeisskopf_resonance_l3" + "name": "BlattWeisskopf_resonance_l5" }, { - "type": "BlattWeisskopf", - "l": 4, - "radius": 1.5, - "name": "BlattWeisskopf_resonance_l4" + "type": "BreitWigner", + "x": "m_12_sq", + "mass": 1.8, + "width": 0.2, + "ma": 0.938, + "mb": 0.493, + "l": 0, + "d": 1.5, + "name": "L1800_BW" }, { "type": "BlattWeisskopf", - "l": 5, - "radius": 1.5, - "name": "BlattWeisskopf_resonance_l5" - }, - { - "type": "MultichannelBreitWigner", - "mass": 1.405, - "channels": [ - { - "gsq": 0.24941478752959237, - "ma": 0.938, - "mb": 0.493, - "l": 0, - "d": 0 - }, - { - "gsq": 0.24941478752959237, - "ma": 1.197, - "mb": 0.14, - "l": 0, - "d": 0 - } - ], - "name": "L1405_Flatte" + "l": 1, + "radius": 5.0, + "name": "BlattWeisskopf_b_decay_l1" }, { "type": "BreitWigner", + "x": "m_12_sq", "mass": 1.519, "width": 0.016, "ma": 0.938, @@ -2218,18 +2166,31 @@ "d": 1.5, "name": "L1520_BW" }, + { + "type": "BlattWeisskopf", + "l": 4, + "radius": 5.0, + "name": "BlattWeisskopf_b_decay_l4" + }, + { + "type": "MomentumPower", + "l": 2, + "name": "MomentumPower2" + }, { "type": "BreitWigner", - "mass": 1.6, - "width": 0.2, + "x": "m_12_sq", + "mass": 2.09, + "width": 0.25, "ma": 0.938, "mb": 0.493, - "l": 1, + "l": 3, "d": 1.5, - "name": "L1600_BW" + "name": "L2110_BW" }, { "type": "BreitWigner", + "x": "m_12_sq", "mass": 1.674, "width": 0.03, "ma": 0.938, @@ -2240,26 +2201,39 @@ }, { "type": "BreitWigner", - "mass": 1.69, - "width": 0.07, + "x": "m_12_sq", + "mass": 2.35, + "width": 0.15, "ma": 0.938, "mb": 0.493, - "l": 2, + "l": 5, "d": 1.5, - "name": "L1690_BW" + "name": "L2350_BW" }, { "type": "BreitWigner", - "mass": 1.8, + "x": "m_12_sq", + "mass": 1.6, "width": 0.2, "ma": 0.938, "mb": 0.493, - "l": 0, + "l": 1, "d": 1.5, - "name": "L1800_BW" + "name": "L1600_BW" + }, + { + "type": "MomentumPower", + "l": 3, + "name": "MomentumPower3" + }, + { + "type": "Constant", + "mass": 3.5, + "name": "LNR30_NR" }, { "type": "BreitWigner", + "x": "m_12_sq", "mass": 1.79, "width": 0.11, "ma": 0.938, @@ -2270,6 +2244,7 @@ }, { "type": "BreitWigner", + "x": "m_12_sq", "mass": 1.82, "width": 0.08, "ma": 0.938, @@ -2278,8 +2253,15 @@ "d": 1.5, "name": "L1820_BW" }, + { + "type": "BlattWeisskopf", + "l": 3, + "radius": 5.0, + "name": "BlattWeisskopf_b_decay_l3" + }, { "type": "BreitWigner", + "x": "m_12_sq", "mass": 1.825, "width": 0.09, "ma": 0.938, @@ -2290,16 +2272,7 @@ }, { "type": "BreitWigner", - "mass": 1.89, - "width": 0.12, - "ma": 0.938, - "mb": 0.493, - "l": 1, - "d": 1.5, - "name": "L1890_BW" - }, - { - "type": "BreitWigner", + "x": "m_12_sq", "mass": 2.1, "width": 0.2, "ma": 0.938, @@ -2309,43 +2282,84 @@ "name": "L2100_BW" }, { - "type": "BreitWigner", - "mass": 2.09, - "width": 0.25, - "ma": 0.938, - "mb": 0.493, + "type": "MomentumPower", + "l": 1, + "name": "MomentumPower1" + }, + { + "type": "BlattWeisskopf", "l": 3, - "d": 1.5, - "name": "L2110_BW" + "radius": 1.5, + "name": "BlattWeisskopf_resonance_l3" + }, + { + "type": "BlattWeisskopf", + "l": 5, + "radius": 5.0, + "name": "BlattWeisskopf_b_decay_l5" + }, + { + "type": "BlattWeisskopf", + "l": 2, + "radius": 1.5, + "name": "BlattWeisskopf_resonance_l2" + }, + { + "name": "L1405_Flatte", + "type": "MultichannelBreitWigner", + "x": "m_12_sq", + "mass": 1.405, + "channels": [ + { + "gsq": 0.24941478752959237, + "ma": 0.938, + "mb": 0.493, + "l": 0, + "d": 0 + }, + { + "gsq": 0.24941478752959237, + "ma": 1.197, + "mb": 0.14, + "l": 0, + "d": 0 + } + ] }, { "type": "BreitWigner", - "mass": 2.35, - "width": 0.15, + "x": "m_12_sq", + "mass": 1.69, + "width": 0.07, "ma": 0.938, "mb": 0.493, - "l": 5, + "l": 2, "d": 1.5, - "name": "L2350_BW" + "name": "L1690_BW" }, { - "type": "Constant", - "name": "LNR30_NR" + "type": "BlattWeisskopf", + "l": 4, + "radius": 1.5, + "name": "BlattWeisskopf_resonance_l4" }, { - "type": "MomentumPower", - "l": 1, - "name": "MomentumPower1" + "type": "BlattWeisskopf", + "l": 2, + "radius": 5.0, + "name": "BlattWeisskopf_b_decay_l2" }, { - "type": "MomentumPower", - "l": 2, - "name": "MomentumPower2" + "type": "BlattWeisskopf", + "l": 1, + "radius": 1.5, + "name": "BlattWeisskopf_resonance_l1" }, { - "type": "MomentumPower", - "l": 3, - "name": "MomentumPower3" + "type": "BlattWeisskopf", + "l": 6, + "radius": 5.0, + "name": "BlattWeisskopf_b_decay_l6" } ], "domains": [ @@ -2354,34 +2368,39 @@ "type": "product_domain", "axes": [ { - "name": "m_12", - "min": -1, - "max": 1 + "name": "cos_theta_12", + "min": -1.0, + "max": 1.0 }, { "name": "phi_12", - "min": -1, - "max": 1 + "min": -3.14, + "max": 3.14 }, { - "name": "cos_theta_12", - "min": -1, - "max": 1 + "name": "m_12", + "min": 1.0, + "max": 5.5 }, { - "name": "m_12_3", - "min": -1, - "max": 1 + "name": "cos_theta_12_3", + "min": -1.0, + "max": 1.0 }, { "name": "phi_12_3", - "min": -1, - "max": 1 + "min": -3.14, + "max": 3.14 }, { - "name": "cos_theta_12_3", - "min": -1, - "max": 1 + "name": "m_12_3", + "min": 1.0, + "max": 5.5 + }, + { + "name": "L_1520_mass", + "min": 3.0, + "max": 6.5 } ] } @@ -2389,19 +2408,84 @@ "misc": { "amplitude_model_checksums": [ { + "point": "validation_point1", "distribution": "default_model", - "name": "validation_point1", - "value": 645.6877782510131 + "value": 645.6877782510138 }, { + "point": "validation_point2", "distribution": "default_model", - "name": "validation_point2", - "value": 33.3131321180588 + "value": 33.3131321180587 }, { + "point": "validation_point3", "distribution": "default_model", - "name": "validation_point3", - "value": 38.28672874276938 + "value": 38.286728742769384 + }, + { + "point": "validation_point_m12sq", + "distribution": "L1405_Flatte", + "value": "-0.740197550450631 + 0.23636822774611727i" + }, + { + "point": "validation_point_m12sq", + "distribution": "L1890_BW", + "value": "2.198693289424333 + 1.0366413279995204i" + }, + { + "point": "validation_point_m12sq", + "distribution": "L1800_BW", + "value": "0.3117344649326182 + 2.7741995686483376i" + }, + { + "point": "validation_point_m12sq", + "distribution": "L1520_BW", + "value": "-0.6431712763866598 + 0.5539481728042333i" + }, + { + "point": "validation_point_m12sq", + "distribution": "L2110_BW", + "value": "0.8540683809737195 + 0.0415635681035755i" + }, + { + "point": "validation_point_m12sq", + "distribution": "L1680_BW", + "value": "-2.4613302416589518 + 0.36109808787606623i" + }, + { + "point": "validation_point_m12sq", + "distribution": "L2350_BW", + "value": "0.43057041569422266 + 0.00019710073244917788i" + }, + { + "point": "validation_point_m12sq", + "distribution": "L1600_BW", + "value": "-0.6293313194817324 + 0.7663369213404696i" + }, + { + "point": "validation_point_m12sq", + "distribution": "L1810_BW", + "value": "0.1064360891979254 + 5.093985975099388i" + }, + { + "point": "validation_point_m12sq", + "distribution": "L1820_BW", + "value": "4.647408096395898 + 4.443944768616481i" + }, + { + "point": "validation_point_m12sq", + "distribution": "L1830_BW", + "value": "3.824528421578999 + 3.827749839464702i" + }, + { + "point": "validation_point_m12sq", + "distribution": "L2100_BW", + "value": "0.8262246387007841 + 0.013532417439695257i" + }, + { + "point": "validation_point_m12sq", + "distribution": "L1690_BW", + "value": "-1.8597288296334098 + 1.396126484908448i" } ] }, @@ -2414,20 +2498,20 @@ "value": -0.2260000000000005 }, { - "name": "cos_theta_12_3", + "name": "phi_12", "value": 0.0 }, { - "name": "phi_12", - "value": 0.0 + "name": "m_12", + "value": 1.797004885914337 }, { - "name": "phi_12_3", + "name": "cos_theta_12_3", "value": 0.0 }, { - "name": "m_12", - "value": 1.797004885914337 + "name": "phi_12_3", + "value": 0.0 }, { "name": "m_12_3", @@ -2443,20 +2527,20 @@ "value": -0.6259999999999996 }, { - "name": "cos_theta_12_3", + "name": "phi_12", "value": 0.0 }, { - "name": "phi_12", - "value": 0.0 + "name": "m_12", + "value": 4.889261075050094 }, { - "name": "phi_12_3", + "name": "cos_theta_12_3", "value": 0.0 }, { - "name": "m_12", - "value": 4.889261075050094 + "name": "phi_12_3", + "value": 0.0 }, { "name": "m_12_3", @@ -2472,26 +2556,35 @@ "value": 0.5739999999999997 }, { - "name": "cos_theta_12_3", + "name": "phi_12", "value": 0.0 }, { - "name": "phi_12", - "value": 0.0 + "name": "m_12", + "value": 3.477099115642233 }, { - "name": "phi_12_3", + "name": "cos_theta_12_3", "value": 0.0 }, { - "name": "m_12", - "value": 3.477099115642233 + "name": "phi_12_3", + "value": 0.0 }, { "name": "m_12_3", "value": 5.62 } ] + }, + { + "name": "validation_point_m12sq", + "parameters": [ + { + "name": "m_12_sq", + "value": 3.2 + } + ] } ] } diff --git a/models/lc2ppik-lhcb-2683025.json b/models/lc2ppik-lhcb-2683025.json index 5b4f62e..0828a43 100644 --- a/models/lc2ppik-lhcb-2683025.json +++ b/models/lc2ppik-lhcb-2683025.json @@ -756,6 +756,7 @@ { "name": "L1405_Flatte", "type": "MultichannelBreitWigner", + "x": "m_31_sq", "mass": 1.4051, "channels": [ { @@ -779,6 +780,7 @@ "l": 2, "mb": 0.938272046, "type": "BreitWigner", + "x": "m_31_sq", "d": 1.5, "mass": 1.69, "ma": 0.493677, @@ -789,6 +791,7 @@ "l": 1, "mb": 0.13957018, "type": "BreitWigner", + "x": "m_12_sq", "d": 1.5, "mass": 1.232, "ma": 0.938272046, @@ -799,6 +802,7 @@ "l": 2, "mb": 0.938272046, "type": "BreitWigner", + "x": "m_31_sq", "d": 1.5, "mass": 1.518467, "ma": 0.493677, @@ -809,6 +813,7 @@ "l": 1, "mb": 0.938272046, "type": "BreitWigner", + "x": "m_31_sq", "d": 1.5, "mass": 1.63, "ma": 0.493677, @@ -819,6 +824,7 @@ "l": 0, "mb": 0.938272046, "type": "BreitWigner", + "x": "m_31_sq", "d": 1.5, "mass": 1.98819, "ma": 0.493677, @@ -829,6 +835,7 @@ "l": 1, "mb": 0.13957018, "type": "BreitWigner", + "x": "m_12_sq", "d": 1.5, "mass": 1.64, "ma": 0.938272046, @@ -839,6 +846,7 @@ "l": 2, "mb": 0.13957018, "type": "BreitWigner", + "x": "m_12_sq", "d": 1.5, "mass": 1.69, "ma": 0.938272046, @@ -849,6 +857,7 @@ "l": 1, "mb": 0.493677, "type": "BreitWigner", + "x": "m_23_sq", "d": 1.5, "mass": 0.8955, "ma": 0.13957018, @@ -858,6 +867,7 @@ "name": "K700_BuggBW", "slope": 0.94106, "type": "BreitWignerWidthExpLikeBugg", + "x": "m_23_sq", "mass": 0.824, "width": 0.478 }, @@ -865,6 +875,7 @@ "name": "K1430_BuggBW", "slope": 0.020981, "type": "BreitWignerWidthExpLikeBugg", + "x": "m_23_sq", "mass": 1.375, "width": 0.19 }, @@ -873,6 +884,7 @@ "l": 0, "mb": 0.938272046, "type": "BreitWigner", + "x": "m_31_sq", "d": 1.5, "mass": 1.67, "ma": 0.493677, @@ -938,9 +950,59 @@ "misc": { "amplitude_model_checksums": [ { - "name": "validation_point", + "point": "validation_point", "distribution": "default_model", "value": 9345.853380852355 + }, + { + "point": "validation_point_m31sq", + "distribution": "L1405_Flatte", + "value": "-0.7480602620708737 + 0.22521439829964163i" + }, + { + "point": "validation_point_m31sq", + "distribution": "L1690_BW", + "value": "-1.856393035564509 + 1.3970917949874666i" + }, + { + "point": "validation_point_m12sq", + "distribution": "D1232_BW", + "value": "-0.37559145211964445 + 0.2867197317591275i" + }, + { + "point": "validation_point_m31sq", + "distribution": "L1520_BW", + "value": "-0.6519026717262323 + 0.5513711741076602i" + }, + { + "point": "validation_point_m31sq", + "distribution": "L1600_BW", + "value": "-0.5711605382444855 + 0.8517294114907099i" + }, + { + "point": "validation_point_m31sq", + "distribution": "L2000_BW", + "value": "1.1399027771220511 + 0.46329136172829i" + }, + { + "point": "validation_point_m12sq", + "distribution": "D1600_BW", + "value": "-0.7542612203250671 + 0.953349114487552i" + }, + { + "point": "validation_point_m12sq", + "distribution": "D1700_BW", + "value": "-0.32420527030886465 + 0.9152170090261661i" + }, + { + "point": "validation_point_m23sq", + "distribution": "K892_BW", + "value": "-1.6160420072107298 + 0.30076446839110044i" + }, + { + "point": "validation_point_m31sq", + "distribution": "L1670_BW", + "value": "-2.383989898030206 + 0.34006358781864954i" } ] }, @@ -973,6 +1035,33 @@ "value": 2.28646 } ] + }, + { + "name": "validation_point_m12sq", + "parameters": [ + { + "name": "m_12_sq", + "value": 3.2 + } + ] + }, + { + "name": "validation_point_m23sq", + "parameters": [ + { + "name": "m_23_sq", + "value": 1.4 + } + ] + }, + { + "name": "validation_point_m31sq", + "parameters": [ + { + "name": "m_31_sq", + "value": 3.2 + } + ] } ] } diff --git a/models/x2pipipi-compass-1391643.json b/models/x2pipipi-compass-1391643.json index b5e23f9..550ddff 100644 --- a/models/x2pipipi-compass-1391643.json +++ b/models/x2pipipi-compass-1391643.json @@ -976,6 +976,7 @@ "functions": [ { "type": "BreitWigner", + "x": "m_12_sq", "mass": 1.274, "width": 0.185, "ma": 0.13956755, @@ -986,12 +987,14 @@ }, { "type": "BreitWignerRho3XQrt", + "x": "m_12_sq", "mass": 1.69, "width": 0.19, "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], @@ -999,6 +1002,7 @@ }, { "type": "BreitWignerRhoNoSqrt", + "x": "m_12_sq", "mass": 0.7685, "width": 0.1507, "mπ": 0.13956755, @@ -1007,6 +1011,7 @@ }, { "type": "MultichannelBreitWigner", + "x": "m_12_sq", "mass": 0.965, "channels": [ { @@ -1206,6 +1211,31 @@ "distribution": "compass_3pi_JP=4+_M=1_1540_1560", "point": "validation_point4", "value": 0.1058334409901948 + }, + { + "point": "validation_point_m12sq", + "distribution": "R(1274)", + "value": "1.682682255119889 + 0.62086927105196i" + }, + { + "point": "validation_point_m12sq", + "distribution": "R(1690)", + "value": "0.5643082293246228 + 0.10318283266108788i" + }, + { + "point": "validation_point_m12sq", + "distribution": "R(600)", + "value": "0.10172436035046228 + 1.0273440332286132i" + }, + { + "point": "validation_point_m12sq", + "distribution": "R(768)", + "value": "-1.7321826562432676 + 0.6323990884902008i" + }, + { + "point": "validation_point_m12sq", + "distribution": "R(965)", + "value": "-0.9212576583634395 + 2.1470398931994485i" } ] }, @@ -1325,6 +1355,15 @@ "value": -0.6113011797354894 } ] + }, + { + "name": "validation_point_m12sq", + "parameters": [ + { + "name": "m_12_sq", + "value": 1.1 + } + ] } ] } diff --git a/schema.json b/schema.json index 11c8435..5dec29a 100644 --- a/schema.json +++ b/schema.json @@ -391,8 +391,7 @@ "properties": { "point": { "description": "Parameter point over which to evaluate the distribution.", - "type": "string", - "pattern": "^validation_point[0-9]*$" + "type": "string" }, "distribution": { "type": "string", @@ -401,7 +400,7 @@ "value": { "description": "The resulting checksum value ('non-normalized intensity').", "minimum": 0, - "type": "number" + "$ref": "#/definitions/ComplexNumber" } }, "uniqueItems": true