{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Quick-start notebook for the axion module" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Importing the modules" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "#start by importing the controller and manipulate modules\n", "from analytical.controller import *\n", "from numerical.manipulate import *\n", "#reimport numpy (though it is pulled by numerical) for smarter syntax highlighting in vscode\n", "import numpy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Analytical part" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "axion_analytical=analytical_pipeline(\"../../MyModels/axion/axionSM.cfg\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Numerical part" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "first create the NumRate class object" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "axion_rate=NumRate(*axion_analytical,1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now all methods of the class are available. For illustration purposes we output the full rate at 10 values of k/T for an axion-gluon coupling only. We rescale $f_\\mathrm{PQ}$ by setting its value to 1 and we use a strong coupling $g_3$ corresponding to $\\alpha_s=0.06$" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "k=numpy.linspace(1,10,10)\n", "#the tuple for the couplings is the union of the gauge and other couplings\n", "#from the output of the analytical pipeline we have \n", "# {'gauge': ('g1', 'g2', 'g3'), 'noneq': ('fPQ',), 'others': ('c1', 'c2', 'c3', 'ct', 'ht')}\n", "rate = axion_rate.rate(k,1.,(0.,0.,numpy.sqrt(4.*numpy.pi*0.06),0,0,1.,0,0),0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Strict LO-scheme rate" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([6.24468720482499e-6, 2.48806377023693e-5, 3.35216329472938e-5,\n", " 3.89866431064388e-5, 4.30820774272845e-5, 4.64391827454089e-5,\n", " 4.93197028763330e-5, 5.18530080251627e-5, 5.41151703842284e-5,\n", " 5.61573931901464e-5], dtype=object)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rate[1]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Subtracted-scheme rate" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1.32458357276370e-5, 2.68517915080078e-5, 3.44196852859558e-5,\n", " 3.94963238927934e-5, 4.34096375330550e-5, 4.66671741757908e-5,\n", " 4.94874378831309e-5, 5.19815453260401e-5, 5.42167932436927e-5,\n", " 5.62397439824078e-5], dtype=object)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rate[2]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tuned-scheme rate" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([2.13516715648551e-5, 3.50716746267359e-5, 4.25672158519041e-5,\n", " 4.74800571298319e-5, 5.12012593583113e-5, 5.42733060334197e-5,\n", " 5.69285281412678e-5, 5.92808393892183e-5, 6.13957319484079e-5,\n", " 6.33165674566682e-5], dtype=object)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rate[3]" ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "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.12.11" } }, "nbformat": 4, "nbformat_minor": 2 }