Projektpraktikum/trackinglosses_endVelo_momEff.ipynb
2024-01-23 16:00:16 +01:00

157 lines
28 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"import uproot\t\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from mpl_toolkits import mplot3d\n",
"import awkward as ak\n",
"from scipy.optimize import curve_fit\n",
"from methods.fit_linear_regression_model import fit_linear_regression_model\n",
"import sklearn\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"298 72\n",
"370\n"
]
}
],
"source": [
"file = uproot.open(\n",
" \"tracking_losses_ntuple_test_endVelo_momEff.root:PrDebugTrackingLosses.PrDebugTrackingTool/Tuple;1\"\n",
")\n",
"\n",
"# selektiere nur elektronen von B->K*ee\n",
"allcolumns = file.arrays()\n",
"found = allcolumns[\n",
" (allcolumns.isElectron) & (~allcolumns.lost) & (allcolumns.fromB)\n",
"] # B: 9056\n",
"lost = allcolumns[\n",
" (allcolumns.isElectron) & (allcolumns.lost) & (allcolumns.fromB)\n",
"] # B: 1466\n",
"\n",
"electrons = allcolumns[(allcolumns.isElectron) & (allcolumns.fromB)]\n",
"\n",
"print(ak.num(found, axis=0), ak.num(lost, axis=0))\n",
"print(ak.num(electrons, axis=0))\n",
"# ak.count(found, axis=None)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"stretch factor: 0.24161073825503357\n"
]
}
],
"source": [
"rad_length_found = ak.to_numpy(found[\"rad_length_frac\"])\n",
"eta_found = ak.to_numpy(found[\"eta\"])\n",
"rad_length_lost = ak.to_numpy(lost[\"rad_length_frac\"])\n",
"eta_lost = ak.to_numpy(lost[\"eta\"])\n",
"\n",
"stretch_factor = ak.num(eta_lost, axis=0) / ak.num(eta_found, axis=0)\n",
"print(\"stretch factor: \", stretch_factor)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"endVeloP_found = ak.to_numpy(found[\"ideal_state_770_p\"])\n",
"trueP_found = ak.to_numpy(found[\"p\"])\n",
"nbins = 50\n",
"vmax = 5\n",
"\n",
"a0 = plt.hist2d(\n",
" trueP_found,\n",
" endVeloP_found,\n",
" density=False,\n",
" bins=nbins,\n",
" cmap=plt.cm.jet,\n",
" cmin=1,\n",
" vmax=vmax,\n",
" range=[[0, 30000], [0, 30000]],\n",
")\n",
"# plt.plot([-0.1, 1.0], [-0.1, 1.0], marker=\"\", alpha=0.8)\n",
"plt.xlabel(f\"True $P$\")\n",
"plt.ylabel(f\"endVelo $P$\")\n",
"plt.title(f\"found P\")\n",
"# ax1.set(xlim=(0,4000), ylim=(-1000,1000))\n",
"\n",
"plt.colorbar(a0[3])\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": "tuner",
"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"
}
},
"nbformat": 4,
"nbformat_minor": 2
}