From 91954495d9e4f3acd1dc9b2eac82173748d83972 Mon Sep 17 00:00:00 2001 From: Nicholas Kamp Date: Fri, 2 Feb 2024 15:23:15 -0500 Subject: [PATCH] Touch up dipole examples, preliminary paper plots --- .../Examples/Example2/DipolePortal_CCM.py | 3 +- resources/Examples/Example2/PaperPlots.ipynb | 152 ++++++++++++++ .../Examples/Example2/VisualizeOutput.ipynb | 191 ------------------ 3 files changed, 153 insertions(+), 193 deletions(-) create mode 100644 resources/Examples/Example2/PaperPlots.ipynb delete mode 100644 resources/Examples/Example2/VisualizeOutput.ipynb diff --git a/resources/Examples/Example2/DipolePortal_CCM.py b/resources/Examples/Example2/DipolePortal_CCM.py index 98832932..87836776 100644 --- a/resources/Examples/Example2/DipolePortal_CCM.py +++ b/resources/Examples/Example2/DipolePortal_CCM.py @@ -1,5 +1,4 @@ import os -import sys import numpy as np import leptoninjector as LI @@ -61,7 +60,7 @@ primary_physical_distributions["flux_units"] = flux_units # direction distribution: cone from lower W target -opening_angle = np.arctan(12 / 23.0) +opening_angle = np.arctan(5 / 23.0) # slightly larger than CCM lower_target_origin = LI.math.Vector3D(0, 0, -0.241) detector_origin = LI.math.Vector3D(23, 0, -0.65) diff --git a/resources/Examples/Example2/PaperPlots.ipynb b/resources/Examples/Example2/PaperPlots.ipynb new file mode 100644 index 00000000..1cb52dd0 --- /dev/null +++ b/resources/Examples/Example2/PaperPlots.ipynb @@ -0,0 +1,152 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "15a15725-d033-4b56-b3f4-55c2e949025e", + "metadata": {}, + "outputs": [], + "source": [ + "import awkward as awk\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9500a367-6e8a-404e-8e64-fe7442a282ba", + "metadata": {}, + "outputs": [], + "source": [ + "f = \"output/CCM_Dipole_M2.35e-02_mu3.00e-07_example.parquet\"\n", + "data = awk.from_parquet(f)\n", + "POT = 2.25e22" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1e42dae5-0015-41c6-9f53-ddc1ce7c67ca", + "metadata": {}, + "outputs": [], + "source": [ + "# Kinematic distributions\n", + "\n", + "# initial nu\n", + "nu_flag = data[\"primary_type\"]==\"ParticleType.NuMu\"\n", + "nu_momenta = np.squeeze(data[\"primary_momentum\"][nu_flag])\n", + "\n", + "# N\n", + "N_flag = data[\"primary_type\"]==\"ParticleType.N4\"\n", + "N_momenta = np.squeeze(data[\"primary_momentum\"][N_flag])\n", + "\n", + "# gamma\n", + "gamma_flag = data[\"secondary_types\"]=='ParticleType.Gamma'\n", + "gamma_momenta = data[\"secondary_momenta\"][gamma_flag]\n", + "# mask out entries that are not gamma\n", + "gamma_momenta = awk.mask(gamma_momenta, awk.num(gamma_momenta,axis=2)>0)\n", + "gamma_momenta = np.squeeze(gamma_momenta[~awk.is_none(gamma_momenta,axis=1)])\n", + "\n", + "# nu out\n", + "nuout_flag = data[\"secondary_types\"]=='ParticleType.NuLight'\n", + "nuout_momenta = data[\"secondary_momenta\"][nuout_flag]\n", + "# mask out entries that are not nuout\n", + "nuout_momenta = awk.mask(nuout_momenta, awk.num(nuout_momenta,axis=2)>0)\n", + "nuout_momenta = np.squeeze(nuout_momenta[~awk.is_none(nuout_momenta,axis=1)])\n", + "\n", + "kwargs = {\"bins\":np.linspace(0,0.031,50),\n", + " \"weights\":data[\"event_weight\"]*POT,\n", + " \"alpha\":0.5}\n", + "\n", + "# Energy\n", + "plt.hist(nu_momenta[:,0],**kwargs,label=r\"Initial $\\nu$\")\n", + "plt.hist(N_momenta[:,0],**kwargs,label=r\"Upscattered $\\mathcal{N}$\")\n", + "plt.hist(gamma_momenta[:,0],**kwargs,label=r\"Outgoing $\\gamma$\")\n", + "plt.hist(nuout_momenta[:,0],**kwargs,label=r\"Outgoing $\\nu$\")\n", + "plt.legend()\n", + "plt.semilogy()\n", + "plt.xlabel(\"Energy [GeV]\")\n", + "plt.ylabel(\"Event Rate\")\n", + "plt.show()\n", + "\n", + "# Angle\n", + "kwargs[\"bins\"] = np.linspace(-1,1,50)\n", + "def CosTheta(momenta,axis=1):\n", + " return momenta[:,axis]/np.linalg.norm(momenta[:,1:],axis=-1)\n", + " \n", + "plt.hist(CosTheta(nu_momenta),**kwargs,label=r\"Initial $\\nu$\")\n", + "plt.hist(CosTheta(N_momenta),**kwargs,label=r\"Upscattered $\\mathcal{N}$\")\n", + "plt.hist(CosTheta(gamma_momenta),**kwargs,label=r\"Outgoing $\\gamma$\")\n", + "plt.hist(CosTheta(nuout_momenta),**kwargs,label=r\"Outgoing $\\nu$\")\n", + "plt.legend()\n", + "plt.semilogy()\n", + "plt.xlabel(\"Energy [GeV]\")\n", + "plt.ylabel(\"Event Rate\")\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a167ce8f-adef-42e9-87cb-5448eaf6f04d", + "metadata": {}, + "outputs": [], + "source": [ + "dec_flag = data[\"primary_type\"]=='ParticleType.N4'\n", + "gamma_flag = data[\"secondary_types\"]=='ParticleType.Gamma'\n", + "fid_flag = data[\"event_weight\"]<3e-24\n", + "\n", + "plt.hist2d(np.array(data[\"vertex\"][~dec_flag][:,0,0]),\n", + " np.array(data[\"vertex\"][~dec_flag][:,0,1]),\n", + " bins=(np.linspace(-5,30,50),\n", + " np.linspace(-2,2,50)))\n", + "plt.show()\n", + "\n", + "plt.hist2d(np.array(data[\"vertex\"][dec_flag])[:,0,0],\n", + " np.array(data[\"vertex\"][dec_flag])[:,0,1],\n", + " bins=(np.linspace(-5,30,50),\n", + " np.linspace(-2,2,50)))\n", + "plt.show()\n", + "\n", + "plt.hist2d(np.array(data[\"vertex\"][dec_flag])[fid_flag][:,0,0],\n", + " np.array(data[\"vertex\"][dec_flag])[fid_flag][:,0,1],\n", + " bins=(np.linspace(20,30,50),\n", + " np.linspace(-2,2,50)))\n", + "plt.show()\n", + "plt.hist(data[\"event_weight\"])\n", + "plt.loglog()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0cff9723-3d17-4de3-bbe4-3cda1e0d3a74", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/resources/Examples/Example2/VisualizeOutput.ipynb b/resources/Examples/Example2/VisualizeOutput.ipynb deleted file mode 100644 index 4bcccd81..00000000 --- a/resources/Examples/Example2/VisualizeOutput.ipynb +++ /dev/null @@ -1,191 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "import h5py\n", - "import matplotlib.pyplot as plt\n", - "import numpy as np\n", - "\n", - "POT = 1.875e+21" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "f = h5py.File('output/MiniBooNE_Dipole_M0.47_mu1.25e-06_example.hdf5','r')\n", - "four_momenta = {'nu':[],\n", - " 'HNL':[],\n", - " 'Gamma':[],\n", - " 'NuOut':[]}\n", - "vertex = {'upscattering':[],\n", - " 'decay':[]}\n", - "weights = []\n", - "for i in range(f.attrs['num_events']):\n", - " event_group = f['event%d'%i]\n", - " weights.append(event_group.attrs['event_weight'])\n", - " for j in range(event_group.attrs['num_interactions']):\n", - " int_group = event_group['interaction%d'%j]\n", - " if int_group.attrs['primary_type'] == 'ParticleType.NuMu':\n", - " four_momenta['nu'].append(list(int_group['primary_momentum']))\n", - " vertex['upscattering'].append(list(int_group['vertex']))\n", - " else:\n", - " four_momenta['HNL'].append(list(int_group['primary_momentum']))\n", - " vertex['decay'].append(list(int_group['vertex']))\n", - " for isec in range(2):\n", - " if int_group.attrs['secondary_type%d'%isec] == 'ParticleType.Gamma':\n", - " four_momenta['Gamma'].append(list(int_group['secondary_momentum%d'%isec]))\n", - " else:\n", - " four_momenta['NuOut'].append(list(int_group['secondary_momentum%d'%isec]))\n", - "\n", - "for k in four_momenta.keys():\n", - " four_momenta[k] = np.array(four_momenta[k])\n", - "for k in vertex.keys():\n", - " vertex[k] = np.array(vertex[k])\n", - "weights = np.where(np.isnan(weights),0,weights)\n", - "\n", - "f.close()" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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b/l169Y5RYoUccaNG+d89913prdy0aJFnS1btnjLjBo1yrzG4sWLna+++sqMKKhZs6Zz+vTpsNhHrX+xYsWct99+29m/f793O378uHlcvw4dOtRJTU11du7c6Sxfvty57rrrnLp16zpnzpxx/f7piIGlS5c627dvdzZt2uT07t3bKVGihPPNN99EzDn0uPHGG80okIzcdg61Pl9++aXZ9M/J+PHjzfc//fSTeVz3TffRY8eOHU6pUqWcv//97+b3cMqUKU7hwoWdJUuW5PqYuXn/3njjDfN3RvfL93dQRwt4/O1vf3NWr15tzp/+XerYsaNToUIFM1LB7funo68WLVrk/Pjjj+Zv51//+lenUKFC5ufQjecvP/voce+995pRIFlxyzl86KGHzAhArYvvz9upU6e8Zdz6WRi24UNNnjzZqV69uvnA1eFdGzZs8D52yy23mCGJvhYsWODUq1fPlNfhfh988IHf4zrE6Mknn3QqV65sfnk6dOjgbN261QmXfbz66qvNL1fGTX+4lP5Adu7c2alYsaL5YdPy999/f8j+KOR1/wYPHuwtq+fo1ltvdb744ouIOofq+++/N+ft448/zvRabjuHnqGXGTfPPulX3ceMz2nWrJk5HrVq1TJDqPNyzNy8f/r95corDZUJCQlm36666ipze9u2bWGxf6NHj3Zq165tQn9cXJyTmJjorFy50rXnL78/oxoWS5Ys6UyfPj3L13TLOZQs9ks3398pt34WxvzfDgAAAFgRln0+AABA+CJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAEJv+H1rwkcPcYFW1AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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1gw7aX2OhpWPPvpIWltbTTspLAYAnAvCiwPojCIdFtq/f3+349qboc477zzz74EDB0yvyb/+67/KI488IqNHjzY9KkuXLjXBwRsahg4d2u159Ll7OqbBqKuu53iHqXo65n3c448/Lj/4wQ9k7dq1nXU42jOkbQEADO6M2fkWXXBrho1sNmbMGLnxxhvlqaeekubm5l7P2717twkOTz75pEydOtUM5Rw6dEgC5c033zTFvFoTk5SUZMLWe++9F7D2AADsMMSmgl3dus6QscnTTz9timVTU1PloYceMkM4WpyrNT46RKSFsdpDo/Us69atM7OPNDysX78+YG3W2hgt+t2xY4eZwaQzobQeRutqAAC+k7D5d2c/KdaeCS1DbCrY1U3rPHTxNttojYrO8tEakvz8fLNIna7zokFAi2J1SrQOC2lA+N73vmfO0WJcrX/RGUCB8OCDD5r1abKyskzbdLbR3Llz5dixYwFpDwC42c66s09oGSfOEOLxzmu1hDe86BvkiBEjun1OC1dra2vloosuksjIyIC1Eb3jewQA/ffKAzk+uWzjDn/Sp/OuLXpJBvP929qeFwAA3FqMmyDuQsEuAABwFHpeAACAsT/kY+mLayWw6HkBAACOQngBAACOwrARAABOX8PFZazpebH5rtIAAMDC8GLzXaUBAICF4QUAALgD4QUAADgKBbt/1bDuqUG76BfeldvvxyxatEg2bNhg7lW0cuXKzuNbtmyRm2++Wfpzl4ePP/5Yvv3tb8uLL74ohw8flujoaPnCF75gbvg4ceLEfrUrJCTEPI/eswgA0PdVcfvKbavn9gU9Lw6i92PSmy5+8knf7j3RW3CZOnWqvPbaa+aO0zU1NbJx40bzrxY7640UAQAIZvS8OMjMmTNNyNDel8cee+y0z2vPifbEVFVVdR5bu3at2Q4cOGD2H3jgATl06JB5ntjYWHNMe1teffVVueyyy0zh829+8xtzPCEhQe6++26zeSUnJ5teFn0t/bzSnh81adKkztcBAFv5tFeFadADQnhxkLCwMHn00Ufltttuk6997WsyYcKEfj2+o6PD9LLcfvvtncHF67zzzpPly5fLgw8+aHpnRo8efdbn05ldY8eOlZ/85Cdm2EnbBwBO5stgApcNG+lf8qNGjZJbbrkl0E0JymujvR+rV6/u92MbGhrk6NGjcuWVV/b4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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "w = weights * POT\n", - "fid_mask = np.sqrt(np.sum(vertex['decay']**2,axis=-1))<5\n", - "w[np.logical_not(fid_mask)] = 0\n", - "\n", - "# MB efficiency\n", - "w *= 0.29 - 0.12*four_momenta['Gamma'][:,0]\n", - "w *= four_momenta['Gamma'][:,0]>0.14\n", - "\n", - "\n", - "bins = np.linspace(0,2,50)\n", - "for k,v in four_momenta.items():\n", - " #if k!='nu': continue\n", - " n,_,_ = plt.hist(four_momenta[k][:,0],bins=bins,alpha=0.5,weights=w,label=k)\n", - "#plt.xlim(0,)\n", - "plt.legend()\n", - "plt.show()\n", - "\n", - "bins = np.linspace(0,1,50)\n", - "for k,v in four_momenta.items():\n", - " if k == 'HNL':\n", - " CosTheta = four_momenta[k][:,3] / np.sqrt(np.sum(four_momenta[k][:,1:]**2,axis=-1))\n", - " else:\n", - " CosTheta = four_momenta[k][:,3]/four_momenta[k][:,0]\n", - " plt.hist(CosTheta,bins=bins,alpha=0.5,weights=w,label=k)\n", - "plt.legend()\n", - "plt.semilogy()\n", - "#plt.ylim(0,100)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "Nbins = 50\n", - "zmin = -10\n", - "zmax = 10\n", - "xbound = 10\n", - "\n", - "zbins = np.linspace(zmin,zmax,Nbins)\n", - "xbins = np.linspace(-xbound,xbound,Nbins)\n", - "\n", - "plt.hist2d(vertex['upscattering'][:,2],vertex['upscattering'][:,0],bins=(zbins,xbins),weights=w)\n", - "plt.show()\n", - "\n", - "plt.hist2d(vertex['decay'][:,2],vertex['decay'][:,0],bins=(zbins,xbins),weights=w)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "lienv", - "language": "python", - "name": "lienv" - }, - "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.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -}