|
|
{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import uproot\t\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", "from mpl_toolkits.axes_grid1 import ImageGrid\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'/home/lhcb/cetin/.config/matplotlib/matplotlibrc'" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "matplotlib.matplotlib_fname()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "10522" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "file = uproot.open(\"tracking_losses_ntuple_Bd2KstEE.root:PrDebugTrackingLosses.PrDebugTrackingTool/Tuple;1\")\n", "\n", "#selektiere nur elektronen von B->K*ee und nur solche mit einem momentum von ueber 5 GeV \n", "allcolumns = file.arrays()\n", "found = allcolumns[(allcolumns.isElectron) & (~allcolumns.lost) & (allcolumns.fromSignal) & (allcolumns.p > 5e3)] #B: 9056\n", "lost = allcolumns[(allcolumns.isElectron) & (allcolumns.lost) & (allcolumns.fromSignal) & (allcolumns.p > 5e3)] #B: 1466\n", "\n", "ak.num(found, axis=0) + ak.num(lost, axis=0)\n", "#ak.count(found, axis=None)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "10 10\n", "10 10\n", "10 10\n", "15 15\n", "7 7\n", "7 7\n", "8 8\n", "3 3\n", "5 5\n", "15 15\n" ] } ], "source": [ "for i in range(10):\n", "\tprint(found[\"brem_vtx_x_length\"][i], found[\"brem_vtx_z_length\"][i])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "eff all = 0.8606728758791105 +/- 0.003375885792719708\n" ] } ], "source": [ "def t_eff(found, lost, axis = 0):\n", " sel = ak.num(found, axis=axis)\n", " des = ak.num(lost, axis=axis)\n", " return sel/(sel + des)\n", "\n", "def eff_err(found, lost):\n", " n_f = ak.num(found, axis=0)\n", " n_all = ak.num(found, axis=0) + ak.num(lost,axis=0)\n", " return 1/n_all * np.sqrt(np.abs(n_f*(1-n_f/n_all)))\n", "\n", "\n", "print(\"eff all = \", t_eff(found, lost), \"+/-\", eff_err(found, lost))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<pre>{energy: 4.62e+04,\n", " photon_length: 10,\n", " brem_photons_pe: [3.26e+03, 4.45e+03, 178, ..., 825, 8.99e+03, 3.48e+03],\n", " brem_vtx_z: [162, 187, 387, 487, ..., 9.49e+03, 1.21e+04, 1.21e+04, 1.21e+04],\n", " brem_vtx_x: [-5.37, -7, -20, -26.5, ..., -1.24e+03, -1.24e+03, -1.25e+03]}\n", "-------------------------------------------------------------------------------\n", "type: {\n", " energy: float64,\n", " photon_length: int64,\n", " brem_photons_pe: var * float64,\n", " brem_vtx_z: var * float64,\n", " brem_vtx_x: var * float64\n", "}</pre>" ], "text/plain": [ "<Record {energy: 4.62e+04, ...} type='{energy: float64, photon_length: int6...'>" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#try excluding all photons that originate from a vtx @ z>9500mm\n", "#ignore all brem vertices @ z>9500mm \n", "\n", "#found\n", "\n", "brem_e_f = found[\"brem_photons_pe\"]\n", "brem_z_f = found[\"brem_vtx_z\"]\n", "brem_x_f = found[\"brem_vtx_x\"]\n", "e_f = found[\"energy\"]\n", "length_f = found[\"brem_vtx_z_length\"]\n", "\n", "brem_f = ak.ArrayBuilder()\n", "\n", "for itr in range(ak.num(found,axis=0)):\n", " brem_f.begin_record()\n", " #[:,\"energy\"] energy\n", " brem_f.field(\"energy\").append(e_f[itr])\n", " #[:,\"photon_length\"] number of vertices\n", " brem_f.field(\"photon_length\").integer(length_f[itr])\n", " #[:,\"brem_photons_pe\",:] photon energy \n", " brem_f.field(\"brem_photons_pe\").append(brem_e_f[itr])\n", " #[:,\"brem_vtx_z\",:] brem vtx z\n", " brem_f.field(\"brem_vtx_z\").append(brem_z_f[itr])\n", " brem_f.field(\"brem_vtx_x\").append(brem_x_f[itr])\n", " brem_f.end_record()\n", "\n", "brem_f = ak.Array(brem_f)\n", "\n", "#lost\n", "\n", "brem_e_l = lost[\"brem_photons_pe\"]\n", "brem_z_l = lost[\"brem_vtx_z\"]\n", "brem_x_l = lost[\"brem_vtx_x\"]\n", "e_l = lost[\"energy\"]\n", "length_l = lost[\"brem_vtx_z_length\"]\n", "\n", "brem_l = ak.ArrayBuilder()\n", "\n", "for itr in range(ak.num(lost,axis=0)):\n", " brem_l.begin_record()\n", " #[:,\"energy\"] energy\n", " brem_l.field(\"energy\").append(e_l[itr])\n", " #[:,\"photon_length\"] number of vertices\n", " brem_l.field(\"photon_length\").integer(length_l[itr])\n", " #[:,\"brem_photons_pe\",:] photon energy \n", " brem_l.field(\"brem_photons_pe\").append(brem_e_l[itr])\n", " #[:,\"brem_vtx_z\",:] brem vtx z\n", " brem_l.field(\"brem_vtx_z\").append(brem_z_l[itr])\n", " brem_l.field(\"brem_vtx_x\").append(brem_x_l[itr])\n", " brem_l.end_record()\n", "\n", "brem_l = ak.Array(brem_l)\n", "\n", "\n", "\n", "\n", "brem_f[0]" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "acc_brem_found = ak.ArrayBuilder()\n", "\n", "for itr in range(ak.num(brem_f, axis=0)):\n", " acc_brem_found.begin_record()\n", " acc_brem_found.field(\"energy\").real(brem_f[itr,\"energy\"])\n", " \n", " acc_brem_found.field(\"brem_photons_pe\")\n", " acc_brem_found.begin_list()\n", " for jentry in range(brem_f[itr, \"photon_length\"]):\n", " if brem_f[itr, \"brem_vtx_z\", jentry]>9500:\n", " continue\n", " else:\n", " acc_brem_found.real(brem_f[itr,\"brem_photons_pe\", jentry])\n", " \n", " #acc_brem_found.field(\"brem_vtx_z\").real(brem_f[itr, \"brem_vtx_z\",jentry])\n", " acc_brem_found.end_list()\n", " \n", " acc_brem_found.field(\"brem_vtx_z\")\n", " acc_brem_found.begin_list()\n", " for jentry in range(brem_f[itr, \"photon_length\"]):\n", " if brem_f[itr, \"brem_vtx_z\", jentry]>9500:\n", " continue\n", " else:\n", " acc_brem_found.real(brem_f[itr, \"brem_vtx_z\",jentry])\n", " acc_brem_found.end_list()\n", " \n", " acc_brem_found.field(\"brem_vtx_x\")\n", " acc_brem_found.begin_list()\n", " for jentry in range(brem_f[itr, \"photon_length\"]):\n", " if brem_f[itr, \"brem_vtx_z\", jentry]>9500:\n", " continue\n", " else:\n", " acc_brem_found.real(brem_f[itr, \"brem_vtx_x\",jentry])\n", " acc_brem_found.end_list()\n", " \n", "\n", " \n", " acc_brem_found.end_record()\n", "\n", "acc_brem_found = ak.Array(acc_brem_found)\n", "\n", "\n", "\n", "acc_brem_lost = ak.ArrayBuilder()\n", "\n", "for itr in range(ak.num(brem_l, axis=0)):\n", " acc_brem_lost.begin_record()\n", " acc_brem_lost.field(\"energy\").real(brem_l[itr,\"energy\"])\n", " \n", " acc_brem_lost.field(\"brem_photons_pe\")\n", " acc_brem_lost.begin_list()\n", " for jentry in range(brem_l[itr, \"photon_length\"]):\n", " if brem_l[itr, \"brem_vtx_z\", jentry]>9500:\n", " continue\n", " else:\n", " acc_brem_lost.real(brem_l[itr,\"brem_photons_pe\", jentry])\n", " \n", " #acc_brem_found.field(\"brem_vtx_z\").real(brem_f[itr, \"brem_vtx_z\",jentry])\n", " acc_brem_lost.end_list()\n", " \n", " acc_brem_lost.field(\"brem_vtx_z\")\n", " acc_brem_lost.begin_list()\n", " for jentry in range(brem_l[itr, \"photon_length\"]):\n", " if brem_l[itr, \"brem_vtx_z\", jentry]>9500:\n", " continue\n", " else:\n", " acc_brem_lost.real(brem_l[itr, \"brem_vtx_z\",jentry])\n", " acc_brem_lost.end_list()\n", " \n", " acc_brem_lost.field(\"brem_vtx_x\")\n", " acc_brem_lost.begin_list()\n", " for jentry in range(brem_l[itr, \"photon_length\"]):\n", " if brem_l[itr, \"brem_vtx_z\", jentry]>9500:\n", " continue\n", " else:\n", " acc_brem_lost.real(brem_l[itr, \"brem_vtx_x\",jentry])\n", " acc_brem_lost.end_list()\n", " \n", " acc_brem_lost.end_record()\n", "\n", "acc_brem_lost = ak.Array(acc_brem_lost)\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "9056" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ak.num(acc_brem_found,axis=0)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'\\nph_e = found[\"brem_photons_pe\"]\\nevent_cut = ak.all(ph_e<cutoff_energy,axis=1)\\nph_e = ph_e[event_cut]\\n'" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\"\"\"\n", "ph_e = found[\"brem_photons_pe\"]\n", "event_cut = ak.all(ph_e<cutoff_energy,axis=1)\n", "ph_e = ph_e[event_cut]\n", "\"\"\"\n", "\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "cutoff energy = 350MeV, sample size: 693\n", "eff = 0.9481 +/- 0.0084\n" ] } ], "source": [ "#finden wir die elektronen die keine bremsstrahlung gemacht haben mit hoher effizienz?\n", "#von energie der photonen abmachen\n", "#scan ab welcher energie der photonen die effizienz abfällt\n", "\n", "#abhängigkeit vom ort der emission untersuchen <- noch nicht gemacht\n", "\n", "\n", "\n", "#idea: we make an event cut st all events that contain a photon of energy > cutoff_energy are not included\n", "\"\"\"\n", "ph_e = acc_brem_found[\"brem_photons_pe\"]\n", "event_cut = ak.all(ph_e<cutoff_energy,axis=1)\n", "ph_e = ph_e[event_cut]\n", "\"\"\"\n", "\n", "efficiencies_found = []\n", "deff_found = []\n", "\n", "\n", "for cutoff_energy in range(0,30050,1000):\n", "\tnobrem_f = acc_brem_found[ak.sum(acc_brem_found[\"brem_photons_pe\"],axis=-1,keepdims=False)<cutoff_energy]\n", "\tnobrem_l = acc_brem_lost[ak.sum(acc_brem_lost[\"brem_photons_pe\"],axis=-1,keepdims=False)<cutoff_energy]\n", "\n", "\tif ak.num(nobrem_f,axis=0)+ak.num(nobrem_l,axis=0)==0:\n", "\t\tefficiencies_found.append(0)\n", "\t\tdeff_found.append(0)\n", "\t\tcontinue\n", "\t\n", "\teff = t_eff(nobrem_f, nobrem_l)\n", "\tdeff = eff_err(nobrem_f,nobrem_l)\n", "\tefficiencies_found.append(eff)\n", "\tdeff_found.append(deff)\n", "\t#print(\"cutoff = \",str(cutoff_energy) ,\"MeV, sample size: \",ak.num(nobrem_f,axis=0)+ak.num(nobrem_l,axis=0))\n", "\t#print(\"eff = \",np.round(t_eff(nobrem_f,nobrem_l),4), \"+/-\", np.round(eff_err(nobrem_f, nobrem_l),4))\n", "\n", "\"\"\"\n", "we see that a cutoff energy of xxxMeV is ideal because the efficiency drops significantly for higher values\n", "\"\"\"\n", "cutoff_energy = 350.0 #MeV\n", "\n", "\"\"\"\n", "better statistics: cutoff=xxxMeV - sample size: xxx events and efficiency=xxxx\n", "\"\"\"\n", "nobrem_found = acc_brem_found[ak.sum(acc_brem_found[\"brem_photons_pe\"],axis=-1,keepdims=False)<cutoff_energy]\n", "nobrem_lost = acc_brem_lost[ak.sum(acc_brem_lost[\"brem_photons_pe\"],axis=-1,keepdims=False)<cutoff_energy]\n", "\n", "print(\"\\ncutoff energy = 350MeV, sample size:\",ak.num(nobrem_found,axis=0)+ak.num(nobrem_lost,axis=0))\n", "print(\"eff = \",np.round(t_eff(nobrem_found, nobrem_lost),4), \"+/-\", np.round(eff_err(nobrem_found, nobrem_lost),4))" ] }, { "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": [ "x_ = np.arange(0,30050,step=1000)\n", "\n", "plt.errorbar(x_,efficiencies_found, yerr=deff_found, ls=\"\", fmt=\".\", label=\"$\\epsilon(E_{\\gamma,tot})$ \") #, capsize=1)\t\n", "plt.xlabel(\"cutoff energy [MeV]\")\n", "plt.ylabel(r\"$\\epsilon$\")\n", "plt.title(r'$B\\rightarrow K^\\ast ee$, $p>5$GeV, photons w/ brem_vtx_z$<9500$mm')\n", "plt.ylim([0,1.1])\n", "plt.xlim([-1000,31000])\n", "\"\"\"\n", "plt.yticks(np.arange(0,1.04,step=0.02),minor=True)\n", "plt.xticks(np.arange(-200,10400,step=200),minor=True)\n", "\n", "plt.tick_params(left=True, bottom=True, top=True, right=True,\n", "\t\t\t\tlabelleft=True, labelbottom=True, labeltop=False, labelright=False,\n", "\t\t\t\twhich=\"major\",direction=\"in\", length=12, labelsize=\"large\")\n", "plt.tick_params(left=True, bottom=True, top=True, right=True,\n", "\t\t\t\tlabelleft=True, labelbottom=True, labeltop=False, labelright=False,\n", "\t\t\t\twhich=\"minor\",direction=\"in\", length=6)\n", "\"\"\"\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "eff = 0.8545 +/- 0.0036\n" ] }, { "data": { "text/html": [ "<pre>[{energy: 2.58e+04, brem_photons_pe: [9.97e+03, ...], brem_vtx_z: [...], ...},\n", " {energy: 8.03e+04, brem_photons_pe: [4.91e+03, ...], brem_vtx_z: [...], ...},\n", " {energy: 5.6e+03, brem_photons_pe: [320, ..., 392], brem_vtx_z: [...], ...},\n", " {energy: 6.36e+03, brem_photons_pe: [273, ...], brem_vtx_z: [...], ...},\n", " {energy: 4.67e+04, brem_photons_pe: [8.96e+03, ...], brem_vtx_z: [...], ...},\n", " {energy: 7.16e+04, brem_photons_pe: [544, ..., 142], brem_vtx_z: [...], ...},\n", " {energy: 5.15e+04, brem_photons_pe: [384, ...], brem_vtx_z: [...], ...},\n", " {energy: 4.07e+04, brem_photons_pe: [2.7e+04, ...], brem_vtx_z: [...], ...},\n", " {energy: 2.77e+04, brem_photons_pe: [2.24e+03, ...], brem_vtx_z: [...], ...},\n", " {energy: 6.4e+04, brem_photons_pe: [686, ..., 796], brem_vtx_z: [...], ...},\n", " ...,\n", " {energy: 5.59e+03, brem_photons_pe: [901, ...], brem_vtx_z: [...], ...},\n", " {energy: 2.13e+04, brem_photons_pe: [787, ...], brem_vtx_z: [...], ...},\n", " {energy: 9.34e+03, brem_photons_pe: [762, ...], brem_vtx_z: [...], ...},\n", " {energy: 5.08e+04, brem_photons_pe: [711, ...], brem_vtx_z: [...], ...},\n", " {energy: 6.41e+04, brem_photons_pe: [4.17e+03, ...], brem_vtx_z: [...], ...},\n", " {energy: 1.01e+04, brem_photons_pe: [220, ..., 156], brem_vtx_z: [...], ...},\n", " {energy: 1.96e+04, brem_photons_pe: [1.66e+03, ...], brem_vtx_z: [...], ...},\n", " {energy: 2.98e+04, brem_photons_pe: [8.32e+03, ...], brem_vtx_z: [...], ...},\n", " {energy: 3.97e+04, brem_photons_pe: [9.36e+03, ...], brem_vtx_z: [...], ...}]\n", "------------------------------------------------------------------------------\n", "type: 1430 * {\n", " energy: float64,\n", " brem_photons_pe: var * float64,\n", " brem_vtx_z: var * float64,\n", " brem_vtx_x: var * float64\n", "}</pre>" ], "text/plain": [ "<Array [{energy: 2.58e+04, ...}, ..., {...}] type='1430 * {energy: float64,...'>" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#wie viel energie relativ zur anfangsenergie verlieren die elektronen durch bremstrahlung und hat das einen einfluss darauf ob wir sie finden oder nicht?\n", "#if any photon of an electron has an energy higher the cutoff then it is included\n", "cutoff_energy=350\n", "\n", "brem_found = acc_brem_found[ak.sum(acc_brem_found[\"brem_photons_pe\"],axis=-1,keepdims=False)>=cutoff_energy]\n", "energy_found = ak.to_numpy(brem_found[\"energy\"])\n", "eph_found = ak.to_numpy(ak.sum(brem_found[\"brem_photons_pe\"], axis=-1, keepdims=False))\n", "residual_found = energy_found - eph_found\n", "energyloss_found = eph_found/energy_found\n", "\n", "brem_lost = acc_brem_lost[ak.sum(acc_brem_lost[\"brem_photons_pe\"],axis=-1,keepdims=False)>=cutoff_energy]\n", "energy_lost = ak.to_numpy(brem_lost[\"energy\"])\n", "eph_lost = ak.to_numpy(ak.sum(brem_lost[\"brem_photons_pe\"], axis=-1, keepdims=False))\n", "residual_lost = energy_lost - eph_lost\n", "energyloss_lost = eph_lost/energy_lost\n", "\n", "print(\"eff = \", np.round(t_eff(brem_found,brem_lost),4), \"+/-\", np.round(eff_err(brem_found, brem_lost),4))\n", "brem_lost" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mean energyloss relative to initial energy (found): 0.40459562244424735\n", "mean energyloss relative to initial energy (lost): 0.7244570697471976\n" ] } ], "source": [ "mean_energyloss_found = ak.mean(energyloss_found)\n", "mean_energyloss_lost = ak.mean(energyloss_lost)\n", "print(\"mean energyloss relative to initial energy (found): \", mean_energyloss_found)\n", "print(\"mean energyloss relative to initial energy (lost): \", mean_energyloss_lost)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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 "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#in abhängigkeit von der energie der elektronen\n", "plt.hist(energyloss_lost, bins=100, density=True, alpha=0.5, histtype='bar', color=\"darkorange\", label=\"lost\")\n", "plt.hist(energyloss_found, bins=100, density=True, alpha=0.5, histtype='bar', color=\"blue\", label=\"found\")\n", "#plt.xticks(np.arange(0,1.1,0.1), minor=True,)\n", "#plt.yticks(np.arange(0,5.5,0.5), minor=True)\n", "plt.xlabel(r\"$E_\\gamma/E_0$\")\n", "plt.ylabel(\"counts (normed)\")\n", "plt.title(r'$B\\rightarrow K^\\ast ee$, $p>5$GeV, photons w/ brem_vtx_z$<9500$mm')\n", "plt.legend(title=\"LHCb Simulation\", title_fontsize=15)\n", "#plt.grid()\n", "\n", "\"\"\"\n", "\n", "\"\"\"\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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 "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "both_eloss = np.append(energyloss_found,energyloss_lost)\n", "plt.hist(both_eloss, bins=100, density=True, histtype='bar', color=\"cornflowerblue\", label=\"all\")\n", "plt.vlines(ak.mean(both_eloss),0,1.75,colors=\"red\", label=\"mean\")\n", "plt.xlabel(r\"Energyloss Ratio $E_\\gamma/E_0$\")\n", "plt.ylabel(\"counts (normed)\")\n", "plt.title(r'$B^0\\rightarrow K^{\\ast 0} e^+e^-$, $p>5$GeV, photons w/ brem_vtx_z$<9500$mm')\n", "plt.legend(title=\"LHCb Simulation\", title_fontsize=15)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "brem_z_found = ak.to_numpy(ak.flatten(acc_brem_found[\"brem_vtx_z\"]))\n", "brem_x_found = ak.to_numpy(ak.flatten(acc_brem_found[\"brem_vtx_x\"]))\n", "\n", "brem_z_lost = ak.to_numpy(ak.flatten(acc_brem_lost[\"brem_vtx_z\"]))\n", "brem_x_lost = ak.to_numpy(ak.flatten(acc_brem_lost[\"brem_vtx_x\"]))" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "7935" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x_lost=np.array([])\n", "z_lost=np.array([])\n", "\n", "for i in range(4):\n", " x_lost = np.append(x_lost, brem_x_lost)\n", " z_lost = np.append(z_lost, brem_z_lost)\n", "\n", "len(brem_z_lost)" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "image/png": "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 "text/plain": [ "<Figure size 2000x600 with 3 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nbins = 150\n", "nmax = 30\n", "\n", "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20,6))\n", "\n", "a0 = ax0.hist2d(brem_z_found[:20000], brem_x_found[:20000], bins=nbins, density=False, cmap=plt.cm.jet, cmin=2, vmax=nmax)\n", "ax0.set_xlabel(\"z [mm]\")\n", "ax0.set_ylabel(\"x [mm]\")\n", "ax0.set_title(r\"\\bf{}found\")\n", "\n", "#a1 = ax1.hist2d(z_lost, x_lost, bins=nbins, density=False, cmap=plt.cm.jet, cmin=2, vmax=nmax)\n", "a1 = ax1.hist2d(brem_z_lost, brem_x_lost, bins=nbins, density=False, cmap=plt.cm.jet, cmin=1, vmax=nmax)\n", "ax1.set_xlabel(\"z [mm]\")\n", "ax1.set_ylabel(\"x [mm]\")\n", "ax1.set_title(r\"\\bf{}lost\")\n", "#ax1.set(xlim=(0,4000), ylim=(-1000,1000))\n", "\n", "plt.suptitle(r\"$B^0\\rightarrow K^{\\ast 0}e^+e^-$, $p>5$GeV, Bremsstrahlung Vertices\")\n", "plt.colorbar(a1[3], ax=ax1)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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 "text/plain": [ "<Figure size 1280x550 with 3 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#energyloss in abh von der energie der elektronen\n", "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(12.8,5.5))\n", "\n", "a0=ax0.hist2d(energyloss_found, energy_found, bins=(np.linspace(0,1,70), np.linspace(0,5e4,70)), cmap=plt.cm.jet, cmin=1, vmax=10)\n", "ax0.set_ylim(0,5e4)\n", "ax0.set_xlim(0,1)\n", "ax0.set_xlabel(r\"energyloss $E_\\gamma/E_0$\")\n", "ax0.set_ylabel(r\"$E_0$\")\n", "ax0.set_title(\"found energyloss wrt electron energy\")\n", "\n", "a1=ax1.hist2d(energyloss_lost, energy_lost, bins=(np.linspace(0,1,70), np.linspace(0,5e4,70)), cmap=plt.cm.jet, cmin=1, vmax=10) \n", "ax1.set_ylim(0,5e4)\n", "ax1.set_xlim(0,1)\n", "ax1.set_xlabel(r\"energyloss $E_\\gamma/E_0$\")\n", "ax1.set_ylabel(r\"$E_0$\")\n", "ax1.set_title(\"lost energyloss wrt electron energy\")\n", "\n", "fig.colorbar(a1[3],ax=ax1)\n", "fig.suptitle(r\"$e^\\pm$ from $B\\rightarrow K^\\ast ee$, $p>5$GeV, only photons w/ brem_vtx_z$<9500$mm\")\n", "\n", "\"\"\"\n", "we can see that high energy electrons are often found even though they emit a lot of their energy through bremsstrahlung\n", "\"\"\"\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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 "text/plain": [ "<Figure size 1280x550 with 3 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#plot residual energy against energyloss and try to find a good split (eg energyloss before and after the magnet)\n", "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(12.8,5.5))\n", "\n", "a0=ax0.hist2d(energyloss_found, residual_found, bins=(np.linspace(0,1,80), np.linspace(0,6e4,80)), cmap=plt.cm.jet, cmin=1, vmax=15)\n", "ax0.set_ylim(0,6e4)\n", "ax0.set_xlim(0,1)\n", "ax0.set_xlabel(r\"energyloss $E_\\gamma/E_0$\")\n", "ax0.set_ylabel(r\"$E_0-E_\\gamma$\")\n", "ax0.set_title(\"found energyloss wrt residual electron energy\")\n", "\n", "a1=ax1.hist2d(energyloss_lost, residual_lost, bins=(np.linspace(0,1,80), np.linspace(0,6e4,80)), cmap=plt.cm.jet, cmin=1, vmax=15) \n", "ax1.set_ylim(0,6e4)\n", "ax1.set_xlim(0,1)\n", "ax1.set_xlabel(r\"energyloss $E_\\gamma/E_0$\")\n", "ax1.set_ylabel(r\"$E_0-E_\\gamma$\")\n", "ax1.set_title(\"lost energyloss wrt residual electron energy\")\n", "\n", "fig.colorbar(a1[3],ax=ax1)\n", "fig.suptitle(r\"$e^\\pm$ from $B\\rightarrow K^\\ast ee$, $p>5$GeV, only photons w/ brem_vtx_z$<9500$mm\")\n", "\n", "\"\"\"\n", "\"\"\"\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 16, "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": 17, "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", "#should be fulfilled by all candidates\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", "sf_energy_found = ak.to_numpy(scifi_found[\"energy\"])\n", "sf_eph_found = ak.to_numpy(ak.sum(scifi_found[\"brem_photons_pe\"], axis=-1, keepdims=False))\n", "sf_vtx_type_found = scifi_found[\"all_endvtx_types\"]\n", "\n", "\n", "sf_energy_lost = ak.to_numpy(scifi_lost[\"energy\"])\n", "sf_eph_lost = ak.to_numpy(ak.sum(scifi_lost[\"brem_photons_pe\"], axis=-1, keepdims=False))\n", "sf_vtx_type_lost = scifi_lost[\"all_endvtx_types\"]\n", "\n", "\n", "\n", "#ak.num(scifi_found[\"energy\"], axis=0)\n", "#scifi_found.snapshot()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<pre>[101,\n", " 101,\n", " 101,\n", " 101,\n", " 101,\n", " 101,\n", " 101,\n", " 101,\n", " 101,\n", " 101,\n", " 0]\n", "------------------\n", "type: 11 * float32</pre>" ], "text/plain": [ "<Array [101, 101, 101, 101, 101, ..., 101, 101, 101, 0] type='11 * float32'>" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ak.num(scifi_found[\"energy\"], axis=0)\n", "scifi_found[\"all_endvtx_types\"][1,:]" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "scifi_fitpars_found = ak.ArrayBuilder()\n", "vtx_types_found = ak.ArrayBuilder()\n", "\n", "for i in range(0,ak.num(scifi_found, 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", " #[:,4] -> energy \n", " scifi_fitpars_found.real(sf_energy_found[i])\n", " #[:,5] -> photon energy\n", " scifi_fitpars_found.real(sf_eph_found[i])\n", " scifi_fitpars_found.end_list()\n", " \n", " vtx_types_found.begin_list()\n", " #[:,0] -> endvtx_type\n", " vtx_types_found.extend(sf_vtx_type_found[i,:])\n", " vtx_types_found.end_list()\n", " \n", "\n", "scifi_fitpars_lost = ak.ArrayBuilder()\n", "vtx_types_lost = ak.ArrayBuilder()\n", "\n", "for i in range(0,ak.num(scifi_lost, 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", " #[:,4] -> energy \n", " scifi_fitpars_lost.real(sf_energy_lost[i])\n", " #[:,5] -> photon energy\n", " scifi_fitpars_lost.real(sf_eph_lost[i])\n", " scifi_fitpars_lost.end_list()\n", " \n", " vtx_types_lost.begin_list()\n", " #endvtx_type\n", " vtx_types_lost.extend(sf_vtx_type_lost[i,:])\n", " vtx_types_lost.end_list()\n", " \n", "\n", "\n", "scifi_fitpars_lost = ak.to_numpy(scifi_fitpars_lost)\n", "scifi_fitpars_found = ak.to_numpy(scifi_fitpars_found)\n", "\n", "vtx_types_lost = ak.Array(vtx_types_lost)\n", "vtx_types_found = ak.Array(vtx_types_found)\n", "\n" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<pre>[101,\n", " 101,\n", " 101,\n", " 101,\n", " 101,\n", " 101,\n", " 101,\n", " 101,\n", " 101,\n", " 101,\n", " 0]\n", "------------------\n", "type: 11 * float64</pre>" ], "text/plain": [ "<Array [101, 101, 101, 101, 101, ..., 101, 101, 101, 0] type='11 * float64'>" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vtx_types_found[0]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\n", "\n" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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 "text/plain": [ "<Figure size 1280x550 with 3 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#b parameter des fits [:,1] hat für lost eine breitere Verteilung. Warum?\n", "#evtl multiple scattering candidates (lost); findet man einen gewissen endvtx_type (mult scattering)\n", "#steiler velo winkel (eta)? vertex type? evtl bremsstrahlung?\n", "\n", "#isolate b parameters for analysis\n", "b_found = scifi_fitpars_found[:,1]\n", "b_lost = scifi_fitpars_lost[:,1]\n", "\n", "brem_energy_found = scifi_fitpars_found[:,5]\n", "brem_energy_lost = scifi_fitpars_lost[:,5]\n", "\n", "\n", "bs_found, vtxs_types_found = ak.broadcast_arrays(b_found, vtx_types_found)\n", "bs_found = ak.to_numpy(ak.ravel(bs_found))\n", "vtxs_types_found = ak.to_numpy(ak.ravel(vtxs_types_found))\n", "\n", "bs_lost, vtxs_types_lost = ak.broadcast_arrays(b_lost, vtx_types_lost)\n", "bs_lost = ak.to_numpy(ak.ravel(bs_lost))\n", "vtxs_types_lost = ak.to_numpy(ak.ravel(vtxs_types_lost))\n", "\n", "\n", "\n", "\n", "#Erste Annahme ist Bremsstrahlung\n", "\n", "fig, axes = plt.subplots(nrows=1,ncols=2,figsize=(12.8,5.5))\n", "\n", "\n", "n_bins = (np.linspace(-1,1,100), np.linspace(0,1e5,100))\n", "\n", "h0 = axes[0].hist2d(b_found, brem_energy_found, bins=n_bins, cmap=plt.cm.jet, cmin=1,vmax=15)\n", "axes[0].set_xlim(-1,1)\n", "axes[0].set_ylim(0,1e5)\n", "axes[0].set_xlabel(\"b parameter [mm]\")\n", "axes[0].set_ylabel(r\"$E_{ph}$\")\n", "axes[0].set_title(\"found photon energy wrt b parameter\")\n", "\n", "h1 = axes[1].hist2d(b_lost, brem_energy_lost, bins=n_bins, cmap=plt.cm.jet, cmin=1,vmax=15)\n", "axes[1].set_xlim(-1,1)\n", "axes[1].set_ylim(0,1e5)\n", "axes[1].set_xlabel(\"b parameter [mm]\")\n", "axes[1].set_ylabel(r\"$E_{ph}$\")\n", "axes[1].set_title(\"lost photon energy wrt b parameter\")\n", "\n", "fig.colorbar(h1[3], ax=axes[1])\n", "\n", "\"\"\"\n", "\"\"\"\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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 "text/plain": [ "<Figure size 1280x550 with 3 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(12.8,5.5))\n", "\n", "a0=ax[0].hist2d(bs_found, vtxs_types_found, bins=110, density=True, cmap=plt.cm.jet, cmin=1e-20,vmax=2)\n", "ax[0].set_ylim(0,110)\n", "ax[0].set_xlim(-1,1)\n", "ax[0].set_xlabel(\"b\")\n", "ax[0].set_ylabel(\"endvtx id\")\n", "ax[0].set_title(\"found endvtx id wrt b parameter\")\n", "#ax[0].set_yticks(np.arange(0,110,1),minor=True)\n", "\n", "a1=ax[1].hist2d(bs_lost, vtxs_types_lost, bins=110, density=True, cmap=plt.cm.jet, cmin=1e-20,vmax=2)\n", "ax[1].set_ylim(0,110)\n", "ax[1].set_xlim(-1,1)\n", "ax[1].set_xlabel(\"b\")\n", "ax[1].set_ylabel(\"endvtx id\")\n", "ax[1].set_title(\"lost endvtx id wrt b paraneter\")\n", "#ax[1].set_yticks(np.arange(0,110,1), minor=True)\n", "\n", "\"\"\"\n", "vtx_id: 101 - Bremsstrahlung\n", "B:\n", "wir können nicht wirklich sagen dass bei den lost teilchen jegliche endvertex types überwiegen, im gegensatz zu den found \n", "\"\"\"\n", "fig.colorbar(a0[3], ax=ax, orientation='vertical',)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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 "text/plain": [ "<Figure size 1280x800 with 4 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ((ax0, ax1), (ax2, ax3)) = plt.subplots(nrows=2, ncols=2, figsize=(12.8,8))\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_xticks(np.arange(-1,1,0.1),minor=True)\n", "ax1.set_xlabel(\"b\")\n", "ax1.set_ylabel(\"normed\")\n", "ax1.set_title(\"fitparameter b der scifi track\")\n", "ax1.legend()\n", "#evtl multiple scattering candidates (lost); findet man einen gewissen endvtx_type (mult scattering)\n", "#steiler velo winkel (eta)? vertex type? evtl bremsstrahlung?\n", "\n", "\n", "ax2.hist(scifi_fitpars_found[:,2], bins=500, density=True, alpha=0.5, histtype='bar', color=\"blue\", label=r\"$c_x$ found\")\n", "ax2.hist(scifi_fitpars_lost[:,2], bins=500, density=True, alpha=0.5, histtype='bar', color=\"darkorange\", label=r\"$c_x$ lost\")\n", "ax2.set_xlim([-3e-5,3e-5])\n", "ax2.set_xticks(np.arange(-3e-5,3.5e-5,1e-5),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=500, density=True, alpha=0.5, histtype='bar', color=\"blue\", label=r\"$d_x$ found\")\n", "ax3.hist(scifi_fitpars_lost[:,3], bins=500, density=True, alpha=0.5, histtype='bar', color=\"darkorange\", label=r\"$d_x$ lost\")\n", "ax3.set(xlim=(-5e-8,5e-8))\n", "ax3.text(-4e-8,3e8,\"d negligible <1e-7\")\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": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "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 }
|