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

docs: add intro slide to AmpForm mini-demo #23

Merged
merged 3 commits into from
Jul 12, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,10 @@
"pygments",
"pyplot",
"pythoncode",
"q",
"redeboer",
"rtfd",
"rules's",
"savefig",
"scimath",
"seealso",
Expand Down
5 changes: 5 additions & 0 deletions demo/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*
!*.css
!*.ipynb
!.gitignore
!README.md
83 changes: 64 additions & 19 deletions demo/ampform.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
}
},
"source": [
"# AmpForm physics demo"
"# AmpForm physics mini-demo"
]
},
{
Expand All @@ -40,7 +40,7 @@
"source": [
"from IPython.display import Javascript\n",
"\n",
"display(Javascript(\"IPython.notebook.execute_cells_below()\"))"
"Javascript(\"IPython.notebook.execute_cells_below()\")"
]
},
{
Expand Down Expand Up @@ -180,6 +180,42 @@
"particle_selection += PDG.filter(lambda p: p.name.startswith(\"phi\"))"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Common Partial Wave Analysis"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ComPWA provides an _ecosystem_ of three Python packages:\n",
"1. `QRules`: quantum number conservation rules ('resonance finder')\n",
"2. `AmpForm`: spin formalisms and dynamics\n",
"3. `TensorWaves`: toy MC and model optimization with multiple computational back-ends"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
},
"tags": []
},
"source": [
"Main targets are:\n",
"- to make PWA intelligible with **modern and interactive documentation** ([example](https://ampform.rtfd.io/en/stable/usage/dynamics/k-matrix.html))\n",
"- long-term, open source development that can be picked up by successors (**academic continuity**)\n",
"- to perform PWA with the latest tools from the Python data science community"
]
},
{
"cell_type": "markdown",
"metadata": {
Expand All @@ -201,7 +237,7 @@
},
"source": [
"- **Quantum number conservation rules** are encoded in `QRules`\n",
"- This allows us to **generate particle reactions**"
"- This allows us to investigate potential resonances"
]
},
{
Expand All @@ -222,9 +258,23 @@
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
"slide_type": "fragment"
}
},
"source": [
"`QRules` can also:\n",
"- check **conversation rule violations** in an invalid reaction\n",
"- serve as a **quantum number database** (PDG listings are default input)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"source": [
"## 2. [AmpForm](https://ampform.rtfd.io): express transitions as amplitude models"
]
Expand All @@ -239,7 +289,7 @@
},
"source": [
"- `AmpForm` encodes **spin formalisms and dynamics**\n",
"- It can formulate these state transitions as an **amplitude model**"
"- It can formulate QRules's state transitions as an **amplitude model**"
]
},
{
Expand Down Expand Up @@ -279,14 +329,14 @@
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
"slide_type": "fragment"
},
"tags": []
},
"source": [
"`AmpForm` takes care of the spin formalism (helicity), but dynamics have to be chosen:\n",
"- 𝑎₀(1320) lies well within phase space: relativistic Breit-Wigner\n",
"- 𝑎₂(980) lies below threshold: add **analytic continuation**"
"In our example, **helicity formalism** with the following dynamics:\n",
"- 𝑎₀(1320) lies well within phase space: relativistic Breit-Wigner with form factor\n",
"- 𝑎₂(980) lies below threshold: **analytic continuation** for phase space factor"
]
},
{
Expand All @@ -296,14 +346,8 @@
"outputs": [],
"source": [
"builder = ampform.get_builder(reaction)\n",
"builder.set_dynamics(\n",
" \"a(2)(1320)+\",\n",
" create_relativistic_breit_wigner_with_ff,\n",
")\n",
"builder.set_dynamics(\n",
" \"a(0)(980)0\",\n",
" create_analytic_breit_wigner,\n",
")\n",
"builder.set_dynamics(\"a(2)(1320)+\", create_relativistic_breit_wigner_with_ff)\n",
"builder.set_dynamics(\"a(0)(980)0\", create_analytic_breit_wigner)\n",
"model = builder.formulate()"
]
},
Expand Down Expand Up @@ -433,8 +477,9 @@
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
"slide_type": "slide"
},
"tags": []
},
"source": [
"## 3. [TensorWaves](https://tensorwaves.rtfd.io): generate toy MC and optimize model"
Expand Down