{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Usage" ] }, { "cell_type": "markdown", "metadata": { "jupyter": { "source_hidden": true }, "tags": [ "remove-cell" ] }, "source": [ "To install the [expertsystem](expertsystem) in Google Colab, **uncomment** the following:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "jupyter": { "source_hidden": true }, "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "# !pip install expertsystem[doc]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Main interface" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The [expertsystem](expertsystem) consists of three main components: [particle](expertsystem.particle), [reaction](expertsystem.reaction), and [amplitude](expertsystem.amplitude) that build on each other. Here's a small example of how to use them!" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import expertsystem as es\n", "\n", "pdg = es.io.load_pdg()\n", "pdg.filter(lambda p: p.spin == 2 and p.charmness).names" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "result = es.reaction.generate(\n", " initial_state=\"J/psi(1S)\",\n", " final_state=[\"K0\", \"Sigma+\", \"p~\"],\n", " allowed_interaction_types=\"strong\",\n", ")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import graphviz\n", "\n", "graphs = result.collapse_graphs()\n", "dot = es.io.convert_to_dot(graphs)\n", "graphviz.Source(dot)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The [io](expertsystem.io) module offers functionality for reading and writing. This is useful if when you've [generated](expertsystem.amplitude.generate) an [AmplitudeModel](expertsystem.amplitude.model.AmplitudeModel) and want to use it in an external {doc}`PWA package <pwa:software>`." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "amplitude_model = es.amplitude.generate(result)\n", "es.io.write(amplitude_model, \"jpsi_to_gamma_eta_eta.yml\")\n", "len(amplitude_model.parameters)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Advanced" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each of the [expertsystem](expertsystem)'s sub-modules offer functionality to handle more advanced reaction types. The following notebooks illustrate how use them." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "```{toctree}\n", "---\n", "maxdepth: 2\n", "---\n", "usage/workflow\n", "usage/particles\n", "usage/visualization\n", "```" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }