P-vector model fit, single channel#
Studied decay#
reaction = qrules.generate_transitions(
initial_state="J/psi(1S)",
final_state=["eta", "p", "p~"],
allowed_intermediate_particles=["N"],
allowed_interaction_types=["strong"],
formalism="helicity",
particle_db=create_particle_database(),
)
Amplitude builder#
model_builder = ampform.get_builder(reaction)
model_builder.adapter.permutate_registered_topologies()
model_builder.config.scalar_initial_state_mass = True
model_builder.config.stable_final_state_ids = [0, 1, 2]
create_dynamics_symbol = DynamicsSymbolBuilder()
for resonance in reaction.get_intermediate_particles():
model_builder.set_dynamics(resonance.name, create_dynamics_symbol)
model = model_builder.formulate()
model.intensity.cleanup()
\[\displaystyle \sum_{m_{A}=-1}^{1} \sum_{m_{1}=-1/2}^{1/2} \sum_{m_{2}=-1/2}^{1/2}{\left|{A^{01}_{m_{A}, 0, m_{1}, m_{2}}}\right|^{2}}\]
\[\begin{split}\displaystyle \begin{array}{rcl}
A^{01}_{0, 0, - \frac{1}{2}, - \frac{1}{2}} &=& - C_{J/\psi(1S) \to {N_1(1/2^-)}_{+1/2} \overline{p}_{+1/2}; N_1(1/2^-) \to \eta_{0} p_{+1/2}} X_{J^P={\frac{3}{2}}^{-}, Q=+1} D^{1}_{0,0}\left(- \phi_{01},\theta_{01},0\right) D^{\frac{3}{2}}_{- \frac{1}{2},\frac{1}{2}}\left(- \phi^{01}_{0},\theta^{01}_{0},0\right) \\
&+& - C_{J/\psi(1S) \to {N_1(1/2^-)}_{+1/2} \overline{p}_{-1/2}; N_1(1/2^-) \to \eta_{0} p_{+1/2}} X_{J^P={\frac{3}{2}}^{-}, Q=+1} D^{1}_{0,1}\left(- \phi_{01},\theta_{01},0\right) D^{\frac{3}{2}}_{\frac{1}{2},\frac{1}{2}}\left(- \phi^{01}_{0},\theta^{01}_{0},0\right) \\
&+& - C_{J/\psi(1S) \to {N_1(1/2^-)}_{+3/2} \overline{p}_{+1/2}; N_1(1/2^-) \to \eta_{0} p_{+1/2}} X_{J^P={\frac{3}{2}}^{-}, Q=+1} D^{1}_{0,-1}\left(- \phi_{01},\theta_{01},0\right) D^{\frac{3}{2}}_{- \frac{3}{2},\frac{1}{2}}\left(- \phi^{01}_{0},\theta^{01}_{0},0\right) \\
&+& - C_{J/\psi(1S) \to {N_1(3/2^-)}_{+1/2} \overline{p}_{+1/2}; N_1(3/2^-) \to \eta_{0} p_{+1/2}} X_{J^P={\frac{3}{2}}^{+}, Q=+1} D^{1}_{0,0}\left(- \phi_{01},\theta_{01},0\right) D^{\frac{3}{2}}_{- \frac{1}{2},\frac{1}{2}}\left(- \phi^{01}_{0},\theta^{01}_{0},0\right) \\
&+& - C_{J/\psi(1S) \to {N_1(3/2^-)}_{+1/2} \overline{p}_{-1/2}; N_1(3/2^-) \to \eta_{0} p_{+1/2}} X_{J^P={\frac{3}{2}}^{+}, Q=+1} D^{1}_{0,1}\left(- \phi_{01},\theta_{01},0\right) D^{\frac{3}{2}}_{\frac{1}{2},\frac{1}{2}}\left(- \phi^{01}_{0},\theta^{01}_{0},0\right) \\
&+& - C_{J/\psi(1S) \to {N_1(3/2^-)}_{+3/2} \overline{p}_{+1/2}; N_1(3/2^-) \to \eta_{0} p_{+1/2}} X_{J^P={\frac{3}{2}}^{+}, Q=+1} D^{1}_{0,-1}\left(- \phi_{01},\theta_{01},0\right) D^{\frac{3}{2}}_{- \frac{3}{2},\frac{1}{2}}\left(- \phi^{01}_{0},\theta^{01}_{0},0\right) \\
&+& - C_{J/\psi(1S) \to {N_2(1/2^-)}_{+1/2} \overline{p}_{+1/2}; N_2(1/2^-) \to \eta_{0} p_{+1/2}} X_{J^P={\frac{3}{2}}^{-}, Q=+1} D^{1}_{0,0}\left(- \phi_{01},\theta_{01},0\right) D^{\frac{3}{2}}_{- \frac{1}{2},\frac{1}{2}}\left(- \phi^{01}_{0},\theta^{01}_{0},0\right) \\
&+& - C_{J/\psi(1S) \to {N_2(1/2^-)}_{+1/2} \overline{p}_{-1/2}; N_2(1/2^-) \to \eta_{0} p_{+1/2}} X_{J^P={\frac{3}{2}}^{-}, Q=+1} D^{1}_{0,1}\left(- \phi_{01},\theta_{01},0\right) D^{\frac{3}{2}}_{\frac{1}{2},\frac{1}{2}}\left(- \phi^{01}_{0},\theta^{01}_{0},0\right) \\
&+& - C_{J/\psi(1S) \to {N_2(1/2^-)}_{+3/2} \overline{p}_{+1/2}; N_2(1/2^-) \to \eta_{0} p_{+1/2}} X_{J^P={\frac{3}{2}}^{-}, Q=+1} D^{1}_{0,-1}\left(- \phi_{01},\theta_{01},0\right) D^{\frac{3}{2}}_{- \frac{3}{2},\frac{1}{2}}\left(- \phi^{01}_{0},\theta^{01}_{0},0\right) \\
&+& - C_{J/\psi(1S) \to {N_2(3/2^-)}_{+1/2} \overline{p}_{+1/2}; N_2(3/2^-) \to \eta_{0} p_{+1/2}} X_{J^P={\frac{3}{2}}^{+}, Q=+1} D^{1}_{0,0}\left(- \phi_{01},\theta_{01},0\right) D^{\frac{3}{2}}_{- \frac{1}{2},\frac{1}{2}}\left(- \phi^{01}_{0},\theta^{01}_{0},0\right) \\
&+& - C_{J/\psi(1S) \to {N_2(3/2^-)}_{+1/2} \overline{p}_{-1/2}; N_2(3/2^-) \to \eta_{0} p_{+1/2}} X_{J^P={\frac{3}{2}}^{+}, Q=+1} D^{1}_{0,1}\left(- \phi_{01},\theta_{01},0\right) D^{\frac{3}{2}}_{\frac{1}{2},\frac{1}{2}}\left(- \phi^{01}_{0},\theta^{01}_{0},0\right) \\
&+& - C_{J/\psi(1S) \to {N_2(3/2^-)}_{+3/2} \overline{p}_{+1/2}; N_2(3/2^-) \to \eta_{0} p_{+1/2}} X_{J^P={\frac{3}{2}}^{+}, Q=+1} D^{1}_{0,-1}\left(- \phi_{01},\theta_{01},0\right) D^{\frac{3}{2}}_{- \frac{3}{2},\frac{1}{2}}\left(- \phi^{01}_{0},\theta^{01}_{0},0\right) \\
\end{array}\end{split}\]
\[\begin{split}\displaystyle \begin{array}{cll}
X_{J^P={\frac{3}{2}}^{-}, Q=+1} \\
N_1(1/2^-) & m=1.65\text{ GeV} & \Gamma=0.6\text{ GeV} \\
N_2(1/2^-) & m=1.75\text{ GeV} & \Gamma=0.6\text{ GeV} \\
X_{J^P={\frac{3}{2}}^{+}, Q=+1} \\
N_2(3/2^-) & m=1.92\text{ GeV} & \Gamma=0.6\text{ GeV} \\
N_1(3/2^-) & m=1.82\text{ GeV} & \Gamma=0.6\text{ GeV} \\
\end{array}\end{split}\]
Dynamics parametrization#
Phasespace factor#
\[\begin{split}\displaystyle \begin{array}{rcl}
\rho^\mathrm{CM}_{m_{1},m_{2}}\left(s\right) &=& - 16 i \pi \Sigma\left(s\right) \\
\Sigma\left(s\right) &=& \frac{- \left(m_{1}^{2} - m_{2}^{2}\right) \left(- \frac{1}{\left(m_{1} + m_{2}\right)^{2}} + \frac{1}{s}\right) \log{\left(\frac{m_{1}}{m_{2}} \right)} + \frac{2 \log{\left(\frac{\left|{m_{1}^{2} + m_{2}^{2} + 2 \sqrt{s} q\left(s\right) - s}\right|}{2 m_{1} m_{2}} \right)} q\left(s\right)}{\sqrt{s}}}{16 \pi^{2}} \\
q\left(s\right) &=& \frac{\sqrt{\lambda\left(s, m_{1}^{2}, m_{2}^{2}\right)}}{2 \sqrt{s}} \\
\end{array}\end{split}\]
Relativistic Breit-Wigner#
PARAMETERS_BW = dict(model.parameter_defaults)
def formulate_breit_wigner(
resonances: list[tuple[Particle, TwoBodyKinematicVariableSet]],
) -> sp.Expr:
(_, variables), *_ = resonances
s = variables.incoming_state_mass**2
m1 = variables.outgoing_state_mass1
m2 = variables.outgoing_state_mass2
ρ = PhaseSpaceCM(s, m1, m2)
m = [sp.Symbol(Rf"m_{{{p.latex}}}") for p, _ in resonances]
Γ0 = [sp.Symbol(Rf"\Gamma_{{{p.latex}}}") for p, _ in resonances]
β = [sp.Symbol(Rf"\beta_{{{p.latex}}}") for p, _ in resonances]
expr = sum(
(β_ * m_ * Γ0_) / (m_**2 - s - m_ * Γ0_ * ρ)
for m_, Γ0_, β_ in zip(m, Γ0, β, strict=True)
)
for i, (resonance, _) in enumerate(resonances):
PARAMETERS_BW[β[i]] = 1 + 0j
PARAMETERS_BW[m[i]] = resonance.mass
PARAMETERS_BW[Γ0[i]] = resonance.width
return expr
\[\begin{split}\displaystyle \begin{array}{rcl}
X_{J^P={\frac{3}{2}}^{-}, Q=+1} &=& \frac{\Gamma_{N_1(1/2^-)} \beta_{N_1(1/2^-)} m_{N_1(1/2^-)}}{- \Gamma_{N_1(1/2^-)} m_{N_1(1/2^-)} \rho^\mathrm{CM}_{m_{0},m_{1}}\left(m_{01}^{2}\right) - m_{01}^{2} + \left(m_{N_1(1/2^-)}\right)^{2}} + \frac{\Gamma_{N_2(1/2^-)} \beta_{N_2(1/2^-)} m_{N_2(1/2^-)}}{- \Gamma_{N_2(1/2^-)} m_{N_2(1/2^-)} \rho^\mathrm{CM}_{m_{0},m_{1}}\left(m_{01}^{2}\right) - m_{01}^{2} + \left(m_{N_2(1/2^-)}\right)^{2}} \\
X_{J^P={\frac{3}{2}}^{+}, Q=+1} &=& \frac{\Gamma_{N_1(3/2^-)} \beta_{N_1(3/2^-)} m_{N_1(3/2^-)}}{- \Gamma_{N_1(3/2^-)} m_{N_1(3/2^-)} \rho^\mathrm{CM}_{m_{0},m_{1}}\left(m_{01}^{2}\right) - m_{01}^{2} + \left(m_{N_1(3/2^-)}\right)^{2}} + \frac{\Gamma_{N_2(3/2^-)} \beta_{N_2(3/2^-)} m_{N_2(3/2^-)}}{- \Gamma_{N_2(3/2^-)} m_{N_2(3/2^-)} \rho^\mathrm{CM}_{m_{0},m_{1}}\left(m_{01}^{2}\right) - m_{01}^{2} + \left(m_{N_2(3/2^-)}\right)^{2}} \\
\end{array}\end{split}\]
\(P\) vector#
PARAMETERS_F = dict(model.parameter_defaults)
def formulate_k_matrix(
resonances: list[tuple[Particle, TwoBodyKinematicVariableSet]],
) -> sp.Expr:
(_, variables), *_ = resonances
s = variables.incoming_state_mass**2
m = [sp.Symbol(Rf"m_{{{p.latex}}}") for p, _ in resonances]
g = [sp.Symbol(Rf"g_{{{p.latex}}}") for p, _ in resonances]
expr = sum((g_**2) / (m_**2 - s) for m_, g_ in zip(m, g, strict=True))
for i, (resonance, _) in enumerate(resonances):
PARAMETERS_F[m[i]] = resonance.mass
PARAMETERS_F[g[i]] = 1
return expr
def formulate_p_vector(
resonances: list[tuple[Particle, TwoBodyKinematicVariableSet]],
) -> sp.Expr:
(_, variables), *_ = resonances
s = variables.incoming_state_mass**2
g = [sp.Symbol(Rf"g_{{{p.latex}}}") for p, _ in resonances]
m = [sp.Symbol(Rf"m_{{{p.latex}}}") for p, _ in resonances]
β = [sp.Symbol(Rf"\beta_{{{p.latex}}}") for p, _ in resonances]
expr = sum((g_ * β_) / (m_**2 - s) for m_, g_, β_ in zip(m, g, β, strict=True))
for i, (resonance, _) in enumerate(resonances):
PARAMETERS_F[β[i]] = 1 + 0j
PARAMETERS_F[m[i]] = resonance.mass
PARAMETERS_F[g[i]] = 1
return expr
def formulate_f_vector(
resonances: list[tuple[Particle, TwoBodyKinematicVariableSet]],
) -> sp.Expr:
(_, variables), *_ = resonances
s = variables.incoming_state_mass**2
m1 = variables.outgoing_state_mass1
m2 = variables.outgoing_state_mass2
rho = PhaseSpaceCM(s, m1, m2)
K = formulate_k_matrix(resonances)
P = formulate_p_vector(resonances)
return (1 / (1 - rho * K)) * P
\[\begin{split}\displaystyle \begin{array}{rcl}
X_{J^P={\frac{3}{2}}^{-}, Q=+1} &=& \frac{\frac{\beta_{N_1(1/2^-)} g_{N_1(1/2^-)}}{- m_{01}^{2} + \left(m_{N_1(1/2^-)}\right)^{2}} + \frac{\beta_{N_2(1/2^-)} g_{N_2(1/2^-)}}{- m_{01}^{2} + \left(m_{N_2(1/2^-)}\right)^{2}}}{- \left(\frac{\left(g_{N_1(1/2^-)}\right)^{2}}{- m_{01}^{2} + \left(m_{N_1(1/2^-)}\right)^{2}} + \frac{\left(g_{N_2(1/2^-)}\right)^{2}}{- m_{01}^{2} + \left(m_{N_2(1/2^-)}\right)^{2}}\right) \rho^\mathrm{CM}_{m_{0},m_{1}}\left(m_{01}^{2}\right) + 1} \\
X_{J^P={\frac{3}{2}}^{+}, Q=+1} &=& \frac{\frac{\beta_{N_1(3/2^-)} g_{N_1(3/2^-)}}{- m_{01}^{2} + \left(m_{N_1(3/2^-)}\right)^{2}} + \frac{\beta_{N_2(3/2^-)} g_{N_2(3/2^-)}}{- m_{01}^{2} + \left(m_{N_2(3/2^-)}\right)^{2}}}{- \left(\frac{\left(g_{N_1(3/2^-)}\right)^{2}}{- m_{01}^{2} + \left(m_{N_1(3/2^-)}\right)^{2}} + \frac{\left(g_{N_2(3/2^-)}\right)^{2}}{- m_{01}^{2} + \left(m_{N_2(3/2^-)}\right)^{2}}\right) \rho^\mathrm{CM}_{m_{0},m_{1}}\left(m_{01}^{2}\right) + 1} \\
\end{array}\end{split}\]
Create numerical functions#
full_expression_bw = perform_cached_doit(model_bw.expression).xreplace(
dynamics_expressions_bw
)
intensity_func_bw = create_parametrized_function(
expression=perform_cached_doit(full_expression_bw),
backend="jax",
parameters=PARAMETERS_BW,
)
full_expression_fvector = perform_cached_doit(model_fvector.expression).xreplace(
dynamics_expressions_fvector
)
intensity_func_fvector = create_parametrized_function(
expression=perform_cached_doit(full_expression_fvector),
backend="jax",
parameters=PARAMETERS_F,
)
Generate data#
Generate phase space sample#
rng = TFUniformRealNumberGenerator(seed=0)
phsp_generator = TFPhaseSpaceGenerator(
initial_state_mass=reaction.initial_state[-1].mass,
final_state_masses={i: p.mass for i, p in reaction.final_state.items()},
)
phsp_momenta = phsp_generator.generate(100_000, rng)
ε = 1e-8
transformer = SympyDataTransformer.from_sympy(model.kinematic_variables, backend="jax")
phsp = transformer(phsp_momenta)
phsp = {k: v + ε * 1j if re.match(r"^m_\d\d$", k) else v for k, v in phsp.items()}
Update function parameters#
toy_parameters_bw = {
R"m_{N_1(1/2^-)}": 1.65,
R"m_{N_2(1/2^-)}": 1.75,
R"m_{N_1(3/2^-)}": 1.85,
R"m_{N_2(3/2^-)}": 1.9,
R"\Gamma_{N_1(1/2^-)}": 1 / 1.65,
R"\Gamma_{N_2(1/2^-)}": 1 / 1.75,
R"\Gamma_{N_1(3/2^-)}": 1 / 1.85,
R"\Gamma_{N_2(3/2^-)}": 1 / 1.9,
}
intensity_func_bw.update_parameters(toy_parameters_bw)
toy_parameters_fvector = {
R"\beta_{N_1(1/2^-)}": 1 + 0j,
R"\beta_{N_2(1/2^-)}": 1 + 0j,
R"\beta_{N_1(3/2^-)}": 1 + 0j,
R"\beta_{N_2(3/2^-)}": 1 + 0j,
R"m_{N_1(1/2^-)}": 1.65,
R"m_{N_2(1/2^-)}": 1.75,
R"m_{N_1(3/2^-)}": 1.95,
R"m_{N_2(3/2^-)}": 1.9,
R"g_{N_1(1/2^-)}": 1.65,
R"g_{N_2(1/2^-)}": 1,
R"g_{N_1(3/2^-)}": 1,
R"g_{N_2(3/2^-)}": 1,
}
intensity_func_fvector.update_parameters(toy_parameters_fvector)
Plot sub-intensities#
total_intensities_bw = intensity_func_bw(phsp)
sub_intensities_bw = {
p: compute_sub_intensity(
intensity_func_bw,
phsp,
resonances=[p.latex],
coupling_pattern=r"\\beta",
)
for symbol, resonances in create_dynamics_symbol.collected_symbols.items()
for p, _ in resonances
}
total_intensities_fvector = intensity_func_fvector(phsp)
sub_intensities_fvector = {
p: compute_sub_intensity(
intensity_func_fvector,
phsp,
resonances=[p.latex],
coupling_pattern=r"\\beta",
)
for symbol, resonances in create_dynamics_symbol.collected_symbols.items()
for p, _ in resonances
}
Weighted data with \(F\) vector#
weighted_phsp_generator = TFWeightedPhaseSpaceGenerator(
initial_state_mass=model.reaction_info.initial_state[-1].mass,
final_state_masses={i: p.mass for i, p in model.reaction_info.final_state.items()},
)
data_generator = IntensityDistributionGenerator(
domain_generator=weighted_phsp_generator,
function=intensity_func_fvector,
domain_transformer=transformer,
)
data_momenta = data_generator.generate(50_000, rng)
data = transformer(data_momenta)
Perform fit#
Estimator definition#
estimator_bw = UnbinnedNLL(
intensity_func_bw,
data=data,
phsp=phsp,
backend="jax",
)
estimator_fvector = UnbinnedNLL(
intensity_func_fvector,
data=data,
phsp=phsp,
backend="jax",
)
Initial parameters#
initial_parameters_beta = {
R"\beta_{N_2(1/2^-)}": 1 + 0j,
R"\beta_{N_2(3/2^-)}": 1 + 0j,
}
initial_parameters_masses = {
R"m_{N_1(1/2^-)}": 1.6,
R"m_{N_2(1/2^-)}": 1.7,
R"m_{N_1(3/2^-)}": 1.8,
R"m_{N_2(3/2^-)}": 1.93,
}
initial_parameters_bw = {
**initial_parameters_beta,
**initial_parameters_masses,
R"\Gamma_{N_1(1/2^-)}": 1 / 1.6,
R"\Gamma_{N_2(1/2^-)}": 1 / 1.65,
R"\Gamma_{N_1(3/2^-)}": 1 / 1.85,
R"\Gamma_{N_2(3/2^-)}": 1 / 1.93,
}
initial_parameters_fvector = {
**initial_parameters_beta,
**initial_parameters_masses,
R"g_{N_1(1/2^-)}": 1.6,
R"g_{N_2(1/2^-)}": 1,
R"g_{N_1(3/2^-)}": 1.0,
R"g_{N_2(3/2^-)}": 1.0,
}
Optimize parameters#
minuit2 = Minuit2()
fit_result_bw = minuit2.optimize(estimator_bw, initial_parameters_bw)
assert fit_result_bw.minimum_valid
fit_result_bw
FitResult(
minimum_valid=True,
execution_time=12.6900634765625,
function_calls=1682,
estimator_value=-7931.137816713118,
parameter_values={
'm_{N_1(1/2^-)}': 1.6539461175761394,
'm_{N_2(1/2^-)}': 1.7264292670507233,
'm_{N_1(3/2^-)}': 1.7328191451306136,
'm_{N_2(3/2^-)}': 1.908580828366668,
'\\Gamma_{N_1(1/2^-)}': 1.8524926041523075,
'\\Gamma_{N_2(1/2^-)}': 0.13046881396159438,
'\\Gamma_{N_1(3/2^-)}': 0.1573516791553556,
'\\Gamma_{N_2(3/2^-)}': 1.324380387465878,
'\\beta_{N_2(1/2^-)}': (-1.6897481365226579-1.1568947003976526j),
'\\beta_{N_2(3/2^-)}': (1.5375186053600138-0.44760512526013624j),
},
parameter_errors={
'm_{N_1(1/2^-)}': 0.004603319099772491,
'm_{N_2(1/2^-)}': 0.0006070545961158388,
'm_{N_1(3/2^-)}': 0.0015172566194625206,
'm_{N_2(3/2^-)}': 0.0077272263352300054,
'\\Gamma_{N_1(1/2^-)}': 0.06361609357610253,
'\\Gamma_{N_2(1/2^-)}': 0.005879299479538631,
'\\Gamma_{N_1(3/2^-)}': 0.019367706202832097,
'\\Gamma_{N_2(3/2^-)}': 0.05320290566507636,
'\\beta_{N_2(1/2^-)}': (0.1311293412261402+0.1278774780728592j),
'\\beta_{N_2(3/2^-)}': (0.11272653975271772+0.22792481789700972j),
},
)
fit_result_fvector = minuit2.optimize(estimator_fvector, initial_parameters_fvector)
assert fit_result_fvector.minimum_valid
fit_result_fvector
FitResult(
minimum_valid=True,
execution_time=13.932363510131836,
function_calls=1011,
estimator_value=-8199.598714182841,
parameter_values={
'm_{N_1(1/2^-)}': 1.6483798486877363,
'm_{N_2(1/2^-)}': 1.7483200793152158,
'm_{N_1(3/2^-)}': 1.8986142342242096,
'm_{N_2(3/2^-)}': 1.9496754881738385,
'g_{N_1(1/2^-)}': 1.6624278005128597,
'g_{N_2(1/2^-)}': 0.9493267500468856,
'g_{N_1(3/2^-)}': 1.0079832421160817,
'g_{N_2(3/2^-)}': 0.9800998848231933,
'\\beta_{N_2(1/2^-)}': (0.9606446724644881-0.00903038965870049j),
'\\beta_{N_2(3/2^-)}': (0.9709322547787542+0.008602453798822136j),
},
parameter_errors={
'm_{N_1(1/2^-)}': 0.001040462783404995,
'm_{N_2(1/2^-)}': 0.0006658939683350329,
'm_{N_1(3/2^-)}': 0.0011425836015682435,
'm_{N_2(3/2^-)}': 0.0015413452101229357,
'g_{N_1(1/2^-)}': 0.010998823395799513,
'g_{N_2(1/2^-)}': 0.018365301903530223,
'g_{N_1(3/2^-)}': 0.013236677643628186,
'g_{N_2(3/2^-)}': 0.03222752091156066,
'\\beta_{N_2(1/2^-)}': (0.015907378725063155+0.016622785545148663j),
'\\beta_{N_2(3/2^-)}': (0.040758323198047446+0.01968492218927783j),
},
)
Fit result comparison#
P vector#
compute_aic_bic(fit_result_fvector)
(-16375.197428365682, -16269.360088952759)
initial | fit result | expected | deviation | |
---|---|---|---|---|
$\beta_{N_2(1/2^-)}$ | 1+0j | 0.961-0.00903j | 1+0j | 4.0% |
$\beta_{N_2(3/2^-)}$ | 1+0j | 0.971+0.0086j | 1+0j | 3.0% |
$g_{N_1(1/2^-)}$ | 1.6 | 1.66 | 1.65 | 0.8% |
$g_{N_1(3/2^-)}$ | 1 | 1.01 | 1 | 0.8% |
$g_{N_2(1/2^-)}$ | 1 | 0.949 | 1 | 5.1% |
$g_{N_2(3/2^-)}$ | 1 | 0.98 | 1 | 2.0% |
$m_{N_1(1/2^-)}$ | 1.6 | 1.65 | 1.65 | 0.1% |
$m_{N_1(3/2^-)}$ | 1.8 | 1.9 | 1.95 | 2.6% |
$m_{N_2(1/2^-)}$ | 1.7 | 1.75 | 1.75 | 0.1% |
$m_{N_2(3/2^-)}$ | 1.93 | 1.95 | 1.9 | 2.6% |
Breit–Wigner#
compute_aic_bic(fit_result_bw)
(-15838.275633426236, -15732.438294013313)
initial | fit result | expected | deviation | |
---|---|---|---|---|
$\Gamma_{N_1(1/2^-)}$ | 0.625 | 1.85 | 0.606 | 205.7% |
$\Gamma_{N_1(3/2^-)}$ | 0.541 | 0.157 | 0.541 | 70.9% |
$\Gamma_{N_2(1/2^-)}$ | 0.606 | 0.13 | 0.571 | 77.2% |
$\Gamma_{N_2(3/2^-)}$ | 0.518 | 1.32 | 0.526 | 151.6% |
$\beta_{N_2(1/2^-)}$ | 1+0j | -1.69-1.16j | 1+0j | 292.8% |
$\beta_{N_2(3/2^-)}$ | 1+0j | 1.54-0.448j | 1+0j | 69.9% |
$m_{N_1(1/2^-)}$ | 1.6 | 1.65 | 1.65 | 0.2% |
$m_{N_1(3/2^-)}$ | 1.8 | 1.73 | 1.85 | 6.3% |
$m_{N_2(1/2^-)}$ | 1.7 | 1.73 | 1.75 | 1.3% |
$m_{N_2(3/2^-)}$ | 1.93 | 1.91 | 1.9 | 0.5% |