|
|
{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import uproot\n", "import numpy as np\n", "import sys\n", "import os\n", "import matplotlib\n", "import matplotlib.pyplot as plt\n", "from mpl_toolkits import mplot3d\n", "import itertools\n", "import awkward as ak\n", "from scipy.optimize import curve_fit\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "410" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "file = uproot.open(\"tracking_losses_ntuple_Bd2KstEE.root:PrDebugTrackingLosses.PrDebugTrackingTool/Tuple;1\")\n", "\n", "\n", "\n", "#selektiere Kaonen und Pionen aus K*->Kpi - B->K*ee - und nur solche mit einem momentum von ueber 5 GeV \n", "allcolumns = file.arrays()\n", "found = allcolumns[((allcolumns.isPion) | (allcolumns.isKaon)) & (~allcolumns.lost) & (allcolumns.fromSignal) & (allcolumns.p>5e3)] #B: 8126\n", "lost = allcolumns[((allcolumns.isPion) | (allcolumns.isKaon)) & (allcolumns.lost) & (allcolumns.fromSignal) & (allcolumns.p>5e3)] #B: 410\n", "\n", "ak.num(lost, axis=0)\n", "#ak.count(found, axis=None)\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9519681349578257" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def t_eff(found, lost):\n", " sel = found[\"energy\"]\n", " des = lost[\"energy\"]\n", " return ak.count(sel,axis=None)/(ak.count(sel,axis=None)+ak.count(des,axis=None))\n", "\n", "t_eff(found, lost)\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "#ist die shape der teilspur im scifi anders? (koenntest du zum beispiel durch vergleich der verteilungen der fit parameter studieren,\n", "#in meiner thesis findest du das fitmodell -- ist einfach ein polynom dritten grades)\n", "z_ref=8520 #mm\n", "\n", "def scifi_track(z, a, b, c, d):\n", " return a + b*(z-z_ref) + c*(z-z_ref)**2 + d*(z-z_ref)**3\n", "\n", "def z_mag(xv, zv, tx, a, b):\n", " \"\"\" optical centre of the magnet is defined as the intersection between the trajectory tangents before and after the magnet\n", "\n", " Args:\n", " xv (double): velo x track\n", " zv (double): velo z track\n", " tx (double): velo x slope\n", " a (double): ax parameter of track fit\n", " b (double): bx parameter of track fit\n", "\n", " Returns:\n", " double: z_mag\n", " \"\"\"\n", " return (xv-tx*zv-a+b*z_ref)/(b-tx)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "scifi_found = found[found[\"scifi_hit_pos_x_length\"]>3]\n", "scifi_lost = lost[lost[\"scifi_hit_pos_x_length\"]>3]\n", "\n", "scifi_x_found = scifi_found[\"scifi_hit_pos_x\"]\n", "scifi_z_found = scifi_found[\"scifi_hit_pos_z\"]\n", "\n", "tx_found = scifi_found[\"velo_track_tx\"]\n", "\n", "scifi_x_lost = scifi_lost[\"scifi_hit_pos_x\"]\n", "scifi_z_lost = scifi_lost[\"scifi_hit_pos_z\"]\n", "\n", "tx_lost = scifi_lost[\"velo_track_tx\"]\n", "\n", "xv_found = scifi_found[\"velo_track_x\"]\n", "zv_found = scifi_found[\"velo_track_z\"]\n", "\n", "xv_lost = scifi_lost[\"velo_track_x\"]\n", "zv_lost = scifi_lost[\"velo_track_z\"]\n", "\n", "\n", "\n", "#ak.num(scifi_found[\"energy\"], axis=0)\n", "#scifi_found.snapshot()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "scifi_fitpars_found = ak.ArrayBuilder()\n", "\n", "for i in range(0,ak.num(scifi_found[\"energy\"], axis=0)):\n", " popt, pcov = curve_fit(scifi_track,ak.to_numpy(scifi_z_found[i,:]),ak.to_numpy(scifi_x_found[i,:]))\n", " scifi_fitpars_found.begin_list()\n", " scifi_fitpars_found.real(popt[0])\n", " scifi_fitpars_found.real(popt[1])\n", " scifi_fitpars_found.real(popt[2])\n", " scifi_fitpars_found.real(popt[3])\n", " scifi_fitpars_found.end_list()\n", "\n", "scifi_fitpars_lost = ak.ArrayBuilder()\n", "\n", "for i in range(0,ak.num(scifi_lost[\"energy\"], axis=0)):\n", " popt, pcov = curve_fit(scifi_track,ak.to_numpy(scifi_z_lost[i,:]),ak.to_numpy(scifi_x_lost[i,:]))\n", " scifi_fitpars_lost.begin_list()\n", " scifi_fitpars_lost.real(popt[0])\n", " scifi_fitpars_lost.real(popt[1])\n", " scifi_fitpars_lost.real(popt[2])\n", " scifi_fitpars_lost.real(popt[3])\n", " scifi_fitpars_lost.end_list()\n", "\n", "\n", "scifi_fitpars_lost = scifi_fitpars_lost.to_numpy()\n", "scifi_fitpars_found = scifi_fitpars_found.to_numpy()\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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 "text/plain": [ "<Figure size 1500x1000 with 4 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ((ax0, ax1), (ax2, ax3)) = plt.subplots(nrows=2, ncols=2, figsize=(15,10))\n", "\n", "ax0.hist(scifi_fitpars_found[:,0], bins=100, density=True, alpha=0.5, histtype='bar', color=\"blue\", label=r\"$a_x$ found\")\n", "ax0.hist(scifi_fitpars_lost[:,0], bins=100, density=True, alpha=0.5, histtype='bar', color=\"darkorange\", label=r\"$a_x$ lost\")\n", "ax0.set_xlabel(\"a\")\n", "ax0.set_ylabel(\"normed\")\n", "ax0.set_title(\"fitparameter a der scifi track\")\n", "ax0.legend()\n", "\n", "ax1.hist(scifi_fitpars_found[:,1], bins=100, density=True, alpha=0.5, histtype='bar', color=\"blue\", label=r\"$b_x$ found\")\n", "ax1.hist(scifi_fitpars_lost[:,1], bins=100, density=True, alpha=0.5, histtype='bar', color=\"darkorange\", label=r\"$b_x$ lost\")\n", "ax1.set_xlabel(\"b\")\n", "ax1.set_ylabel(\"normed\")\n", "ax1.set_title(\"fitparameter b der scifi track\")\n", "ax1.legend()\n", "\n", "ax2.hist(scifi_fitpars_found[:,2], bins=200, density=True, alpha=0.5, histtype='bar', color=\"blue\", label=r\"$c_x$ found\")\n", "ax2.hist(scifi_fitpars_lost[:,2], bins=200, density=True, alpha=0.5, histtype='bar', color=\"darkorange\", label=r\"$c_x$ lost\")\n", "ax2.set_xlim([-1e-5,1e-5])\n", "ax2.set_xticks(np.arange(-1e-5,1.5e-5,5e-6),minor=False)\n", "ax2.set_xlabel(\"c\")\n", "ax2.set_ylabel(\"normed\")\n", "ax2.set_title(\"fitparameter c der scifi track\")\n", "ax2.legend()\n", "\n", "ax3.hist(scifi_fitpars_found[:,3], bins=200, density=True, alpha=0.5, histtype='bar', color=\"blue\", label=r\"$d_x$ found\")\n", "ax3.hist(scifi_fitpars_lost[:,3], bins=200, density=True, alpha=0.5, histtype='bar', color=\"darkorange\", label=r\"$d_x$ lost\")\n", "ax3.set(xlim=(-2e-8,2e-8))\n", "ax3.set_xlabel(\"d\")\n", "ax3.set_ylabel(\"normed\")\n", "ax3.set_title(\"fitparameter d der scifi track\")\n", "ax3.legend()\n", "\n", "\"\"\"\n", "a_x: virtual hit on the reference plane\n", "\"\"\"\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "found\n", "a = 1.3758753561567658\n", "b = 1.4867317350363123e-05\n", "c = 1.0611928711675984e-09\n", "d = 2.524323901023556e-12\n", "lost\n", "a = 19.655460959039587\n", "b = -0.0007972008149349264\n", "c = -1.6113881305735422e-07\n", "d = 8.074893917737833e-11\n" ] } ], "source": [ "\"\"\"\n", "Electrons\n", "found\n", "a = -0.6718207391527037 b = 0.0013778237292529144 c = 3.3126998287416195e-08 d = -1.0330674442255529e-10\n", "lost\n", "a = -36.98764338200992 b = -0.015685137956233643 c = -8.265859479503501e-07 d = -1.541510766903436e-11\n", "\n", "Kaon and Pions\n", "found\n", "a = 1.3758753561567658 b = 1.4867317350363123e-05 c = 1.0611928711675984e-09 d = 2.524323901023556e-12\n", "lost\n", "a = 19.655460959039587 b = -0.0007972008149349264 c = -1.6113881305735422e-07 d = 8.074893917737833e-11\n", "\n", "Kaons\n", "found\n", "a = 1.553371699292705\t\tb = 8.625619976952656e-05\t\tc = 3.1024420569192613e-09\t\td = -2.028183118694356e-13\n", "lost\n", "a = 50.918713410777336\t\tb = 0.005102900113795297\t\tc = -7.416239379215659e-09\t\td = 5.64633728533602e-11\n", "\n", "Pions\n", "found\n", "a = 1.1512709788236055\t\tb = -7.54683774644083e-05\t\tc = -1.5218096529826036e-09\t\td = 5.975257412125118e-12\n", "lost\n", "a = -3.625684483743866\t\tb = -0.005190892995904242\t\tc = -2.7561307005171267e-07\t\td = 9.883393537611524e-11\n", "\"\"\"\n", "\n", "print(\"found\")\n", "print(\"a = \", str(np.mean(scifi_fitpars_found[:,0])))\n", "print(\"b = \", str(np.mean(scifi_fitpars_found[:,1])))\n", "print(\"c = \", str(np.mean(scifi_fitpars_found[:,2])))\n", "print(\"d = \", str(np.mean(scifi_fitpars_found[:,3])))\n", "\n", "print(\"lost\")\n", "print(\"a = \", str(np.mean(scifi_fitpars_lost[:,0])))\n", "print(\"b = \", str(np.mean(scifi_fitpars_lost[:,1])))\n", "print(\"c = \", str(np.mean(scifi_fitpars_lost[:,2])))\n", "print(\"d = \", str(np.mean(scifi_fitpars_lost[:,3])))\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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 "text/plain": [ "<Figure size 1500x600 with 2 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(15,6))\n", "\n", "for i in range(0,ak.num(scifi_found[\"energy\"], axis=0)):\n", " z_coord = np.linspace(scifi_z_found[i,0],12000,300)\n", " fit = scifi_track(z_coord, *scifi_fitpars_found[i])\n", " ax0.plot(z_coord, fit, \"-\", lw=0.5)\n", " ax0.errorbar(ak.to_numpy(scifi_z_found[i,:]),ak.to_numpy(scifi_x_found[i,:]),fmt=\".\",ms=2)\n", "\n", "#ax0.legend()\n", "ax0.set_xlabel(\"z [mm]\")\n", "ax0.set_ylabel(\"x [mm]\")\n", "ax0.set_title(\"found tracks of scifi hits\")\n", "ax0.set(xlim=(7e3,12000), ylim=(-4000,4000))\n", "ax0.grid()\n", "\n", "for i in range(0,ak.num(scifi_lost[\"energy\"], axis=0)):\n", " z_coord = np.linspace(scifi_z_lost[i,0],12000,300)\n", " fit = scifi_track(z_coord, *scifi_fitpars_lost[i])\n", " ax1.plot(z_coord, fit, \"-\", lw=0.5)\n", " ax1.errorbar(ak.to_numpy(scifi_z_lost[i,:]),ak.to_numpy(scifi_x_lost[i,:]),fmt=\".\",ms=2)\n", "\n", "#ax1.legend()\n", "ax1.set_xlabel(\"z [mm]\")\n", "ax1.set_ylabel(\"x [mm]\")\n", "ax1.set_title(\"lost tracks of scifi hits\")\n", "ax1.set(xlim=(7e3,12000), ylim=(-4000,4000))\n", "ax1.grid()\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "found \n", "zmag = 5196.312017664934\n", "lost \n", "zmag = 5200.71031871899\n" ] } ], "source": [ "#vergleich der zmag werte\n", "zmag_found = z_mag(xv_found, zv_found, tx_found, scifi_fitpars_found[:,0], scifi_fitpars_found[:,1])\n", "zmag_lost = z_mag(xv_lost, zv_lost, tx_lost, scifi_fitpars_lost[:,0], scifi_fitpars_lost[:,1])\n", "zmag_lost = zmag_lost[~np.isnan(zmag_lost)]\n", "zmag_found = zmag_found[~np.isnan(zmag_found)]\n", "\n", "print(\"found \\nzmag = \", str(np.mean(zmag_found)))\n", "print(\"lost \\nzmag = \", str(np.mean(zmag_lost)))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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 "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.hist(zmag_found, bins=2000, density=True, alpha=0.5, histtype='bar', color=\"blue\", label=\"found\")\n", "plt.hist(zmag_lost, bins=500, density=True, alpha=0.5, histtype=\"bar\",color=\"darkorange\", label=\"lost\")\n", "plt.xlabel(\"$z_{mag}$ [mm]\")\n", "plt.ylabel(\"normed\")\n", "plt.title(\"magnet kick position $z_{mag}$ for $K$ and $\\pi$\")\n", "plt.legend()\n", "plt.xticks(np.arange(4900,5405,5), minor=True)\n", "plt.yticks(np.arange(0,0.015,0.001), minor=True)\n", "plt.xlim(4900,5400)\n", "\n", "\"\"\"\n", "the distribution for lost K and pi has a peak at around the same zmag value as found but its less compact and seems chaotic outside the range of the peak.\n", "the distribution for found particles appears compact around the peak.\n", "\n", "\"\"\"\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "env1", "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.12" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }
|