Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOC: manual formulation of helicity amplitudes for pgamma->LambdaKPi #104

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
154 changes: 146 additions & 8 deletions docs/lambda-k-pi/manual-dpd.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,11 @@
},
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"jp-MarkdownHeadingCollapsed": true
},
"source": [
"# Reaction "
"## Reaction "
]
},
{
Expand Down Expand Up @@ -206,7 +208,17 @@
"outputs": [],
"source": [
"half = sp.Rational(1, 2)\n",
"\n",
"three_half = sp.Rational(3, 2)\n",
"five_half = sp.Rational(5, 2)\n",
"seven_half = sp.Rational(7, 2)"
shenvitor marked this conversation as resolved.
Show resolved Hide resolved
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"A1 = sp.IndexedBase(\"A^1\")\n",
"A2 = sp.IndexedBase(\"A^2\")\n",
"A3 = sp.IndexedBase(\"A^3\")\n",
Expand Down Expand Up @@ -303,16 +315,41 @@
" m_k = sp.Symbol(rf\"m_{{{resonance_name}}}\")\n",
" gamma_k = sp.Symbol(rf\"\\Gamma_{{{resonance_name}}}\")\n",
" theta23, phi23 = sp.symbols(r\"theta_23 phi_23\") # noqa: F841\n",
" s23, lambda_R = sp.symbols(r\"s_{23} \\lambda_K^*\")\n",
" s23, lambda_R = sp.symbols(r\"s_{23} \\lambda_{K^*}\")\n",
" delta = sp.KroneckerDelta(-half, lambda_R + half)\n",
" d_k = Wigner.d(1, lambda_R, 0, theta23)\n",
" return sp.Sum(\n",
" (gamma_k * m_k * delta * c_k * d_k / (-sp.I * gamma_k * m_k + m_k**2 - s23)),\n",
" (lambda_R, -lambda_r_value, lambda_r_value),\n",
" )\n",
"\n",
"\n",
"formualte_A1(\"K^{*}(1410)\", 1)"
" )"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"A1 = (\n",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Be careful not to overwrite the previous A1 definition. This should be the A1_expr, or even something like a mapping of sp.Symbol to sp.Expr as dictionary. Something like:

amplitudes = {}
amplitudes[A1[-half, +half]] = formulate_A1(...) + ...

" formualte_A1(\"K^{*}(1410)^+\", 1)\n",
" + formualte_A1(\"K^{*}(1680)^+\", 1)\n",
" + formualte_A1(\"K^{*}(892)^+\", 1)\n",
" + formualte_A1(\"K^{*}_0(1430)^+\", 0)\n",
" + formualte_A1(\"K^{*}_0(700)\", 0)\n",
" + formualte_A1(\"K^{*}_2(1430)\", 2)\n",
" + formualte_A1(\"K^{*}_3(1780)\", 3)\n",
" + formualte_A1(\"K^{*}_4(2045)\", 4)\n",
")\n",
"A1"
Comment on lines +338 to +348
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will need to be automated, i.e., some loop over the $K^*$ resonances found by QRules, and computation of the helicity. Actually, your formulate_A1() is more something like formulate_chain_amplitude_a1() and formulate_a1() creates the coherent sum of those chain amplitudes.

]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"Math(aslatex(A1, terms_per_line=1))"
]
},
{
Expand Down Expand Up @@ -345,6 +382,57 @@
"A2_expr"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"def formualte_A2(resonance_name, lambda_r_value): # noqa: N802\n",
" c_k = sp.Symbol(rf\"C_{{{resonance_name}}}\")\n",
" m_k = sp.Symbol(rf\"m_{{{resonance_name}}}\")\n",
" gamma_k = sp.Symbol(rf\"\\Gamma_{{{resonance_name}}}\")\n",
" theta31, phi31 = sp.symbols(r\"theta_31 phi_31\") # noqa: F841\n",
" s31, lambda_R = sp.symbols(r\"s_{31} \\lambda_{\\Sigma^*}\")\n",
" delta = sp.KroneckerDelta(-half, lambda_R + half)\n",
" d_k = Wigner.d(1, lambda_R, 0, theta31)\n",
" return sp.Sum(\n",
" (gamma_k * m_k * delta * c_k * d_k / (-sp.I * gamma_k * m_k + m_k**2 - s31)),\n",
" (lambda_R, -lambda_r_value, lambda_r_value),\n",
" )\n",
"\n",
"\n",
"formualte_A2(r\"\\Sigma(1385)^0\", three_half)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"A2 = (\n",
" formualte_A2(r\"\\Sigma(1385)^0\", three_half)\n",
" + formualte_A2(r\"\\Sigma(1660)^0\", half)\n",
" + formualte_A2(r\"\\Sigma(1670)^0\", three_half)\n",
" + formualte_A2(r\"\\Sigma(1750)^0\", half)\n",
" + formualte_A2(r\"\\Sigma(1775)^0\", five_half)\n",
" + formualte_A2(r\"\\Sigma(1915)^0\", five_half)\n",
" + formualte_A2(r\"\\Sigma(1940)^0\", three_half)\n",
" + formualte_A2(r\"\\Sigma(2030)^0\", seven_half)\n",
")\n",
"A2"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"Math(aslatex(A2, terms_per_line=1))"
]
},
{
"cell_type": "markdown",
"metadata": {},
Expand All @@ -367,6 +455,56 @@
")\n",
"A3_expr"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"def formualte_A3(resonance_name, lambda_r_value): # noqa: N802\n",
" c_k = sp.Symbol(rf\"C_{{{resonance_name}}}\")\n",
" m_k = sp.Symbol(rf\"m_{{{resonance_name}}}\")\n",
" gamma_k = sp.Symbol(rf\"\\Gamma_{{{resonance_name}}}\")\n",
" theta12, phi12 = sp.symbols(r\"theta_12 phi_12\") # noqa: F841\n",
" s12, lambda_R = sp.symbols(r\"s_{12} \\lambda_{N^*}\")\n",
" delta = sp.KroneckerDelta(half, lambda_R + half)\n",
" d_k = Wigner.d(1, lambda_R, 0, theta12)\n",
" return sp.Sum(\n",
" (gamma_k * m_k * delta * c_k * d_k / (-sp.I * gamma_k * m_k + m_k**2 - s12)),\n",
" (lambda_R, -lambda_r_value, lambda_r_value),\n",
" )\n",
"\n",
"\n",
"formualte_A3(\"N(1650)^0\", half)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"A3 = (\n",
" formualte_A3(\"N(1650)^+\", half)\n",
" + formualte_A3(\"N(1675)^+\", five_half)\n",
" + formualte_A3(\"N(1680)^+\", five_half)\n",
" + formualte_A3(\"N(1700)^+\", three_half)\n",
" + formualte_A3(\"N(1710)^+\", half)\n",
" + formualte_A3(\"N(1720)^+\", three_half)\n",
" + formualte_A3(\"N(2190)^+\", seven_half)\n",
")\n",
"A3"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"Math(aslatex(A3, terms_per_line=1))"
]
}
],
"metadata": {
Expand Down
Loading