|
|
{ "cells": [ { "cell_type": "code", "execution_count": 1, "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", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "40402 10099\n", "50501\n" ] } ], "source": [ "#file = uproot.open(\"tracking_losses_ntuple_Bd2KstEE.root:PrDebugTrackingLosses.PrDebugTrackingTool/Tuple;1\")\n", "file = uproot.open(\n", " \"tracking_losses_ntuple_B_default.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": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<pre>{all_endvtx_types_length: 7,\n", " all_endvtx_types: [101, 101, 101, 101, 101, 101, 0],\n", " all_endvtx_x_length: 7,\n", " all_endvtx_x: [-6.97, -52.9, -52.9, ..., -1.71e+03, -2.14e+03, -3.57e+03],\n", " all_endvtx_y_length: 7,\n", " all_endvtx_y: [-0.89, -6.75, -6.75, -7.08, -66.1, -72.6, -39.5],\n", " all_endvtx_z_length: 7,\n", " all_endvtx_z: [112, 859, 859, 895, 8.7e+03, 9.68e+03, 1.26e+04],\n", " brem_photons_pe_length: 6,\n", " brem_photons_pe: [2.62e+03, 812, 2.54e+03, 1.86e+03, 3.12e+03, 241],\n", " brem_photons_px_length: 6,\n", " brem_photons_px: [-161, -49.7, -156, -114, -1.18e+03, -101],\n", " brem_photons_py_length: 6,\n", " brem_photons_py: [-18.9, -6.92, -21.6, -16.8, -20.9, -0.26],\n", " brem_photons_pz_length: 6,\n", " brem_photons_pz: [2.61e+03, 810, 2.54e+03, 1.86e+03, 2.89e+03, 219],\n", " brem_vtx_x_length: 6,\n", " brem_vtx_x: [-6.97, -52.9, -52.9, -55.2, -1.71e+03, -2.14e+03],\n", " brem_vtx_y_length: 6,\n", " ...}\n", "---------------------------------------------------------------------------\n", "type: {\n", " all_endvtx_types_length: int32,\n", " all_endvtx_types: var * float32,\n", " all_endvtx_x_length: int32,\n", " all_endvtx_x: var * float32,\n", " all_endvtx_y_length: int32,\n", " all_endvtx_y: var * float32,\n", " all_endvtx_z_length: int32,\n", " all_endvtx_z: var * float32,\n", " brem_photons_pe_length: int32,\n", " brem_photons_pe: var * float32,\n", " brem_photons_px_length: int32,\n", " brem_photons_px: var * float32,\n", " brem_photons_py_length: int32,\n", " brem_photons_py: var * float32,\n", " brem_photons_pz_length: int32,\n", " brem_photons_pz: var * float32,\n", " brem_vtx_x_length: int32,\n", " brem_vtx_x: var * float32,\n", " brem_vtx_y_length: int32,\n", " brem_vtx_y: var * float32,\n", " brem_vtx_z_length: int32,\n", " brem_vtx_z: var * float32,\n", " endvtx_type: int32,\n", " endvtx_x: float64,\n", " endvtx_y: float64,\n", " endvtx_z: float64,\n", " energy: float64,\n", " eta: float64,\n", " event_count: int32,\n", " fromB: bool,\n", " fromD: bool,\n", " fromDecay: bool,\n", " fromHadInt: bool,\n", " fromPV: bool,\n", " fromPairProd: bool,\n", " fromSignal: bool,\n", " fromStrange: bool,\n", " ideal_state_770_qop: float64,\n", " ideal_state_770_tx: float64,\n", " ideal_state_770_ty: float64,\n", " ideal_state_770_x: float64,\n", " ideal_state_770_y: float64,\n", " ideal_state_770_z: float64,\n", " ideal_state_9410_qop: float64,\n", " ideal_state_9410_tx: float64,\n", " ideal_state_9410_ty: float64,\n", " ideal_state_9410_x: float64,\n", " ideal_state_9410_y: float64,\n", " ideal_state_9410_z: float64,\n", " isElectron: bool,\n", " isKaon: bool,\n", " isMuon: bool,\n", " isPion: bool,\n", " isProton: bool,\n", " lost: bool,\n", " lost_in_track_fit: bool,\n", " match_fraction: float32,\n", " mc_chi2: float32,\n", " mc_dSlope: float32,\n", " mc_dSlopeY: float32,\n", " mc_distX: float32,\n", " mc_distY: float32,\n", " mc_teta2: float32,\n", " mc_zMag: float32,\n", " mcp_idx: int32,\n", " mother_id: int32,\n", " mother_key: int32,\n", " originvtx_type: int32,\n", " originvtx_x: float64,\n", " originvtx_y: float64,\n", " originvtx_z: float64,\n", " p: float64,\n", " phi: float64,\n", " pid: int32,\n", " pt: float64,\n", " px: float64,\n", " py: float64,\n", " pz: float64,\n", " quality: int32,\n", " rad_length_frac: float64,\n", " scifi_hit_pos_x_length: int32,\n", " scifi_hit_pos_x: var * float32,\n", " scifi_hit_pos_y_length: int32,\n", " scifi_hit_pos_y: var * float32,\n", " scifi_hit_pos_z_length: int32,\n", " scifi_hit_pos_z: var * float32,\n", " track_p: float64,\n", " track_pt: float64,\n", " tx: float64,\n", " ty: float64,\n", " ut_hit_pos_x_length: int32,\n", " ut_hit_pos_x: var * float32,\n", " ut_hit_pos_y_length: int32,\n", " ut_hit_pos_y: var * float32,\n", " ut_hit_pos_z_length: int32,\n", " ut_hit_pos_z: var * float32,\n", " velo_hit_pos_x_length: int32,\n", " velo_hit_pos_x: var * float32,\n", " velo_hit_pos_y_length: int32,\n", " velo_hit_pos_y: var * float32,\n", " velo_hit_pos_z_length: int32,\n", " velo_hit_pos_z: var * float32,\n", " velo_track_idx: int32,\n", " velo_track_tx: float64,\n", " velo_track_ty: float64,\n", " velo_track_x: float64,\n", " velo_track_y: float64,\n", " velo_track_z: float64\n", "}</pre>" ], "text/plain": [ "<Record {all_endvtx_types_length: 7, ...} type='{all_endvtx_types_length: i...'>" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "electrons[0]" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<pre>{lost: True,\n", " rad_length_frac: 0.129,\n", " energy: 1.17e+04,\n", " photon_length: 6,\n", " brem_photons_pe: [2.62e+03, 812, 2.54e+03, 1.86e+03, 3.12e+03, 241],\n", " brem_vtx_x: [-6.97, -52.9, -52.9, -55.2, -1.71e+03, -2.14e+03],\n", " brem_vtx_z: [112, 859, 859, 895, 8.7e+03, 9.68e+03]}\n", "---------------------------------------------------------------------\n", "type: {\n", " lost: bool,\n", " rad_length_frac: float64,\n", " energy: float64,\n", " photon_length: int64,\n", " brem_photons_pe: var * float64,\n", " brem_vtx_x: var * float64,\n", " brem_vtx_z: var * float64\n", "}</pre>" ], "text/plain": [ "<Record {lost: True, rad_length_frac: ..., ...} type='{lost: bool, rad_leng...'>" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lost_e = electrons[\"lost\"]\n", "e = electrons[\"energy\"]\n", "brem_pe = electrons[\"brem_photons_pe\"]\n", "brem_z = electrons[\"brem_vtx_z\"]\n", "brem_x = electrons[\"brem_vtx_x\"]\n", "length = electrons[\"brem_vtx_z_length\"]\n", "rad_length = electrons[\"rad_length_frac\"]\n", "\n", "\n", "brem = ak.ArrayBuilder()\n", "\n", "for itr in range(ak.num(electrons, axis=0)):\n", " brem.begin_record()\n", " brem.field(\"lost\").boolean(lost_e[itr])\n", " brem.field(\"rad_length_frac\").append(rad_length[itr])\n", " # [:,\"energy\"] energy\n", " brem.field(\"energy\").append(e[itr])\n", " # [:,\"photon_length\"] number of vertices\n", " brem.field(\"photon_length\").integer(length[itr])\n", " # [:,\"brem_photons_pe\",:] photon energy\n", " brem.field(\"brem_photons_pe\").append(brem_pe[itr])\n", " # [:,\"brem_vtx_z\",:] brem vtx z\n", " brem.field(\"brem_vtx_x\").append(brem_x[itr])\n", " brem.field(\"brem_vtx_z\").append(brem_z[itr])\n", " brem.end_record()\n", "\n", "brem = ak.Array(brem)\n", "brem[0]" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "photon_cut = 0\n", "photon_cut_ratio = 0.1\n", "\n", "cut_brem = ak.ArrayBuilder()\n", "\n", "for itr in range(ak.num(brem, axis=0)):\n", " cut_brem.begin_record()\n", " cut_brem.field(\"event_id\").integer(itr)\n", " cut_brem.field(\"lost\").boolean(brem[itr, \"lost\"])\n", " cut_brem.field(\"rad_length_frac\").real(brem[itr, \"rad_length_frac\"])\n", " cut_brem.field(\"energy\").real(brem[itr, \"energy\"])\n", "\n", " ph_length = brem[itr, \"photon_length\"]\n", " \n", " tmp_energy = brem[itr, \"energy\"]\n", "\n", " cut_brem.field(\"brem_photons_pe\")\n", " cut_brem.begin_list()\n", " for jentry in range(brem[itr, \"photon_length\"]):\n", " if (\n", " brem[itr, \"brem_vtx_z\", jentry] > 3000\n", " or brem[itr, \"brem_photons_pe\", jentry] < photon_cut\n", " or brem[itr, \"brem_photons_pe\", jentry] < photon_cut_ratio * tmp_energy\n", " ):\n", " ph_length -= 1\n", " continue\n", " else:\n", " cut_brem.real(brem[itr, \"brem_photons_pe\", jentry])\n", " tmp_energy -= brem[itr, \"brem_photons_pe\", jentry]\n", " cut_brem.end_list()\n", "\n", " tmp_energy = brem[itr, \"energy\"]\n", "\n", " cut_brem.field(\"brem_vtx_x\")\n", " cut_brem.begin_list()\n", " for jentry in range(brem[itr, \"photon_length\"]):\n", " if (\n", " brem[itr, \"brem_vtx_z\", jentry] > 3000\n", " or brem[itr, \"brem_photons_pe\", jentry] < photon_cut\n", " or brem[itr, \"brem_photons_pe\", jentry] < photon_cut_ratio * tmp_energy\n", " ):\n", " continue\n", " else:\n", " cut_brem.real(brem[itr, \"brem_vtx_x\", jentry])\n", " tmp_energy -= brem[itr, \"brem_photons_pe\", jentry]\n", " cut_brem.end_list()\n", "\n", " tmp_energy = brem[itr, \"energy\"]\n", "\n", " cut_brem.field(\"brem_vtx_z\")\n", " cut_brem.begin_list()\n", " for jentry in range(brem[itr, \"photon_length\"]):\n", " if (\n", " brem[itr, \"brem_vtx_z\", jentry] > 3000\n", " or brem[itr, \"brem_photons_pe\", jentry] < photon_cut\n", " or brem[itr, \"brem_photons_pe\", jentry] < photon_cut_ratio * tmp_energy\n", " ):\n", " continue\n", " else:\n", " cut_brem.real(brem[itr, \"brem_vtx_z\", jentry])\n", " tmp_energy -= brem[itr, \"brem_photons_pe\", jentry]\n", " cut_brem.end_list()\n", " \n", " cut_brem.field(\"photon_length\").integer(ph_length)\n", "\n", " cut_brem.end_record()\n", "\n", "ntuple = ak.Array(cut_brem)\n", "\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "44163\n", "50501\n" ] }, { "data": { "text/html": [ "<pre>{event_id: 0,\n", " lost: True,\n", " rad_length_frac: 0.129,\n", " energy: 1.17e+04,\n", " brem_photons_pe: [2.62e+03, 2.54e+03, 1.86e+03],\n", " brem_vtx_x: [-6.97, -52.9, -55.2],\n", " brem_vtx_z: [112, 859, 895],\n", " photon_length: 3}\n", "-------------------------------------------------\n", "type: {\n", " event_id: int64,\n", " lost: bool,\n", " rad_length_frac: float64,\n", " energy: float64,\n", " brem_photons_pe: var * float64,\n", " brem_vtx_x: var * float64,\n", " brem_vtx_z: var * float64,\n", " photon_length: int64\n", "}</pre>" ], "text/plain": [ "<Record {event_id: 0, lost: True, ...} type='{event_id: int64, lost: bool, ...'>" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "print(ak.sum(ak.num(ntuple[\"brem_photons_pe\"], axis=1)))\n", "print(ak.num(ntuple,axis=0))\n", "ntuple[0]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# nulltuple = ntuple[:7000]\n", "# onetuple = ntuple[7000:14000]\n", "# twotuple = ntuple[14000:21000]\n", "# threetuple = ntuple[21000:28000]\n", "# fourtuple = ntuple[28000:35000]\n", "# fivetuple = ntuple[35000:42000]\n", "# sixtuple = ntuple[42000:49000]\n", "# seventuple = ntuple[49000:]\n", "\n", "# ntuple.nbytes" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# cut = \"tenCut\"\n", "# tree = \"Tree10\"\n", "# with uproot.update(\"trackinglosses_B_photon_cuts.root\") as outFile:\n", "# #outFile[\"README\"] = \"The Cuts are placed on the photons. noCut: 0*E, first: 0.05*E, second: 0.1*E, etc.\"\n", "# outFile.mktree(tree, {cut + \"_event_id\": ntuple[\"event_id\"].type, cut + \"_lost\": ntuple[\"lost\"].type, cut + \"_rad_length_frac\": ntuple[\"rad_length_frac\"].type, cut + \"_energy\": ntuple[\"energy\"].type, cut + \"_brem_photons_pe\": ntuple[\"brem_photons_pe\"].type, cut + \"_brem_vtx_x\": ntuple[\"brem_vtx_x\"].type, cut + \"_brem_vtx_z\": ntuple[\"brem_vtx_z\"].type, cut + \"_photon_length\": ntuple[\"photon_length\"].type} )\n", "# outFile[tree].extend( {cut + \"_event_id\": nulltuple[\"event_id\"], cut + \"_lost\": nulltuple[\"lost\"], cut + \"_rad_length_frac\": nulltuple[\"rad_length_frac\"], cut + \"_energy\": nulltuple[\"energy\"], cut + \"_brem_photons_pe\": nulltuple[\"brem_photons_pe\"], cut + \"_brem_vtx_x\": nulltuple[\"brem_vtx_x\"], cut + \"_brem_vtx_z\": nulltuple[\"brem_vtx_z\"], cut + \"_photon_length\": nulltuple[\"photon_length\"]} )\n", "# outFile[tree].extend( {cut + \"_event_id\": onetuple[\"event_id\"], cut + \"_lost\": onetuple[\"lost\"], cut + \"_rad_length_frac\": onetuple[\"rad_length_frac\"], cut + \"_energy\": onetuple[\"energy\"], cut + \"_brem_photons_pe\": onetuple[\"brem_photons_pe\"], cut + \"_brem_vtx_x\": onetuple[\"brem_vtx_x\"], cut + \"_brem_vtx_z\": onetuple[\"brem_vtx_z\"], cut + \"_photon_length\": onetuple[\"photon_length\"]} )\n", "# outFile[tree].extend( {cut + \"_event_id\": twotuple[\"event_id\"], cut + \"_lost\": twotuple[\"lost\"], cut + \"_rad_length_frac\": twotuple[\"rad_length_frac\"], cut + \"_energy\": twotuple[\"energy\"], cut + \"_brem_photons_pe\": twotuple[\"brem_photons_pe\"], cut + \"_brem_vtx_x\": twotuple[\"brem_vtx_x\"], cut + \"_brem_vtx_z\": twotuple[\"brem_vtx_z\"], cut + \"_photon_length\": twotuple[\"photon_length\"]} )\n", "# outFile[tree].extend( {cut + \"_event_id\": threetuple[\"event_id\"], cut + \"_lost\": threetuple[\"lost\"], cut + \"_rad_length_frac\": threetuple[\"rad_length_frac\"], cut + \"_energy\": threetuple[\"energy\"], cut + \"_brem_photons_pe\": threetuple[\"brem_photons_pe\"], cut + \"_brem_vtx_x\": threetuple[\"brem_vtx_x\"], cut + \"_brem_vtx_z\": threetuple[\"brem_vtx_z\"], cut + \"_photon_length\": threetuple[\"photon_length\"]} )\n", "# outFile[tree].extend( {cut + \"_event_id\": fourtuple[\"event_id\"], cut + \"_lost\": fourtuple[\"lost\"], cut + \"_rad_length_frac\": fourtuple[\"rad_length_frac\"], cut + \"_energy\": fourtuple[\"energy\"], cut + \"_brem_photons_pe\": fourtuple[\"brem_photons_pe\"], cut + \"_brem_vtx_x\": fourtuple[\"brem_vtx_x\"], cut + \"_brem_vtx_z\": fourtuple[\"brem_vtx_z\"], cut + \"_photon_length\": fourtuple[\"photon_length\"]} )\n", "# outFile[tree].extend( {cut + \"_event_id\": fivetuple[\"event_id\"], cut + \"_lost\": fivetuple[\"lost\"], cut + \"_rad_length_frac\": fivetuple[\"rad_length_frac\"], cut + \"_energy\": fivetuple[\"energy\"], cut + \"_brem_photons_pe\": fivetuple[\"brem_photons_pe\"], cut + \"_brem_vtx_x\": fivetuple[\"brem_vtx_x\"], cut + \"_brem_vtx_z\": fivetuple[\"brem_vtx_z\"], cut + \"_photon_length\": fivetuple[\"photon_length\"]} )\n", "# outFile[tree].extend( {cut + \"_event_id\": sixtuple[\"event_id\"], cut + \"_lost\": sixtuple[\"lost\"], cut + \"_rad_length_frac\": sixtuple[\"rad_length_frac\"], cut + \"_energy\": sixtuple[\"energy\"], cut + \"_brem_photons_pe\": sixtuple[\"brem_photons_pe\"], cut + \"_brem_vtx_x\": sixtuple[\"brem_vtx_x\"], cut + \"_brem_vtx_z\": sixtuple[\"brem_vtx_z\"], cut + \"_photon_length\": sixtuple[\"photon_length\"]} )\n", "# outFile[tree].extend( {cut + \"_event_id\": seventuple[\"event_id\"], cut + \"_lost\": seventuple[\"lost\"], cut + \"_rad_length_frac\": seventuple[\"rad_length_frac\"], cut + \"_energy\": seventuple[\"energy\"], cut + \"_brem_photons_pe\": seventuple[\"brem_photons_pe\"], cut + \"_brem_vtx_x\": seventuple[\"brem_vtx_x\"], cut + \"_brem_vtx_z\": seventuple[\"brem_vtx_z\"], cut + \"_photon_length\": seventuple[\"photon_length\"]} )" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "50501\n" ] }, { "data": { "text/html": [ "<pre>{event_id: 1,\n", " lost: False,\n", " rad_length_frac: 0.148,\n", " energy: 1.28e+04,\n", " brem_photons_pe: [7.42e+03],\n", " brem_vtx_x: [-3.61],\n", " brem_vtx_z: [35.6],\n", " photon_length: 1}\n", "-----------------------------------\n", "type: {\n", " event_id: int64,\n", " lost: bool,\n", " rad_length_frac: float64,\n", " energy: float64,\n", " brem_photons_pe: var * float64,\n", " brem_vtx_x: var * float64,\n", " brem_vtx_z: var * float64,\n", " photon_length: int64\n", "}</pre>" ], "text/plain": [ "<Record {event_id: 1, lost: False, ...} type='{event_id: int64, lost: bool,...'>" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# data in cut_brem_found and cut_brem_lost\n", "\n", "length_found = ak.num(ntuple[~ntuple.lost][\"brem_photons_pe\"], axis=0)\n", "length_lost = ak.num(ntuple[ntuple.lost][\"brem_photons_pe\"], axis=0)\n", "print(length_found+length_lost)\n", "ntuple[1]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "Z_found = ak.to_numpy(\n", " ak.sum(ntuple[~ntuple.lost][\"brem_photons_pe\"], axis=-1, keepdims=False)\n", ") / ak.to_numpy(ntuple[~ntuple.lost][\"energy\"])\n", "Z_lost = ak.to_numpy(\n", " ak.sum(ntuple[ntuple.lost][\"brem_photons_pe\"], axis=-1, keepdims=False)\n", ") / ak.to_numpy(ntuple[ntuple.lost][\"energy\"])" ] }, { "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": [ "xlim=0\n", "\n", "plt.hist(\n", " Z_lost,\n", " bins=100,\n", " density=True,\n", " alpha=0.5,\n", " histtype=\"bar\",\n", " color=\"darkorange\",\n", " label=\"lost\",\n", " range=[xlim,1]\n", ")\n", "plt.hist(\n", " Z_found,\n", " bins=100,\n", " density=True,\n", " alpha=0.5,\n", " histtype=\"bar\",\n", " color=\"blue\",\n", " label=\"found\",\n", " range=[xlim,1]\n", ")\n", "plt.xlabel(r\"$E_\\gamma/E_0$\")\n", "plt.ylabel(\"a.u.\")\n", "plt.title(r\"$E_{ph}/E_0$\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "found: 32898 , lost: 11265\n", "0.34242203173445196\n" ] }, { "data": { "text/html": [ "<pre>[-3.61,\n", " -33.8,\n", " -133,\n", " 65.2,\n", " -5.73,\n", " -26.6,\n", " -4.26,\n", " 6.83,\n", " 10.7,\n", " 26.2,\n", " ...,\n", " -11.6,\n", " -13.1,\n", " -25.6,\n", " -4.27,\n", " -4.27,\n", " -103,\n", " 8.82,\n", " 12.8,\n", " -17.8]\n", "---------------------\n", "type: 32898 * float64</pre>" ], "text/plain": [ "<Array [-3.61, -33.8, -133, ..., 8.82, 12.8, -17.8] type='32898 * float64'>" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tuple_found = ntuple[~ntuple.lost]\n", "tuple_lost = ntuple[ntuple.lost]\n", "\n", "brem_x_found = ak.to_numpy(ak.flatten(tuple_found[\"brem_vtx_x\"]))\n", "brem_z_found = ak.to_numpy(ak.flatten(tuple_found[\"brem_vtx_z\"]))\n", "\n", "brem_x_lost = ak.to_numpy(ak.flatten(tuple_lost[\"brem_vtx_x\"]))\n", "brem_z_lost = ak.to_numpy(ak.flatten(tuple_lost[\"brem_vtx_z\"]))\n", "\n", "n_found = len(brem_x_found)\n", "n_lost = len(brem_x_lost)\n", "print(\"found: \", n_found, \", lost: \", n_lost)\n", "stretch_factor = n_lost / n_found\n", "print(stretch_factor)\n", "ak.flatten(tuple_found[\"brem_vtx_x\"])" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABkgAAAL5CAYAAAD7Uaj9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAADCdklEQVR4nOz9f5gj133f+X5qhuK4bXKIaSpkLPkHiabk0HepJQtj2Q6T0NcE4ih5lOtwukexnciOLTbCtB2vGKshmpsMxxu6hbGWujdxhwZG2ihWnCynMcwmurZsA5LNrOlY0qBIS1nJttggrbWYkKG6wSGj1lAzU/tHD0Cgcc5poAAUfr1fz9NPd9e36pxv/UDhHBxUlReGYSgAAAAAAAAAAIAZcmDUCQAAAAAAAAAAAMSNARIAAAAAAAAAADBzGCABAAAAAAAAAAAzhwESAAAAAAAAAAAwcxggAQAAAAAAAAAAM4cBEgAAAAAAAAAAMHMYIAEAAAAAAAAAADOHARIAAAAAAAAAADBzGCABAAAAAAAAAAAzhwESAAAAWNXrdZVKJS0tLenIkSMKgmDUKWFKVCoVZbNZHTlyRKVSadTpAAAAAJhBDJAAAADAqlgsqlAoqFQqqV6vjzodxODUqVPNAbEjR44om80OfN+XSiUVCgUVi0WOqzFVr9fleZ4ymUxPy+RyOS0sLMjzvLafxvG0d7rneSoWi0Nck/6VSiVlMhllMhmlUillMhlVKpWBlR8EgTKZTFcD0NO6jQEAAEaFARIAAABYra6uqlAojDqNiVav1ydiEKBeryuVSumrX/2qNjY29Oyzz2p+fl7FYnHgH64uLi5qY2NjoGV2a1L2x6g19vnS0lLXyyQSCeXzeZXL5bZp29vbzZ8wDBWGoarVqpaXlyVJR48eHWzyA7S0tKSlpaXmelWrVWWzWWUyGeVyub7KrtVqWlpaUiqV6nrAZRq3MQAAwCgxQAIAAACn+fn5Uacw0ZaWllSr1Uadxr5yuZyCIFA2m5W0+6Hr5uamyuWyVldXR5zd4EzK/hi1xx57TJJ0/PjxnpdtHYA6fvy4EolExzy+76tQKCiRSMj3/ahpDlU2m21e7dSa4+LiopaXl3Xq1KnIt4drXJ0X1bRsYwAAgFFjgAQAAAAYklwuN9Bb8QxT44qBvQNi6XR6FOkMxSTtj1Gq1WoKgkDpdNr4wft+Wrfxfleg9HJlQ+PKjTj2Ya1Wa74mGldh7M1FUuSrSJaXl5XP55XP5yMtP6xtDAAAMGsYIAEAAACGoFQq6dSpU6NOoyuzcEXFJO2PUWtc2dAYBOhV6+2f9htg6+VWa4VCQZlMpnlbqqhXb3SjMXBhy9/3fSUSCdVqtb4GbKJeoTesbQwAADBrGCABAABATxr3zW88ENh1y6JKpaKlpaXmN7Gz2azxwc/1el3ZbLb54OFUKmX9MLtUKmlpaan5ze3GA44bDyluXa5WqymbzTYfXJzJZHp6/kQQBEqlUm0PO96bV6lUaubdKL9UKunee+9tznP33Xc3t1frNmwtN5PJNL+536jzyJEjkb6hfurUqeYDpRcWFpTJZIzPESkWizpy5IhSqVRz2s0339zMtdsBhcZDrBt15HK5tm3e7QfIrculUql9H1rd7Xrutz+ilivtHrvFYrFtnmKx2HYs29ajXq83n3GxtLSkhYUFLSws7DswEQRB28O4FxYWmtv41KlTHbHW3Ov1evP1srCwYHw9NAYeFhcXnXnYNHIxfXBfr9fbtkevV6isrq5qe3tb2Wy2+bDyYTyAvLEOrltTJZNJSRrJc5qGuY0BAABmSggAAAA4bG9vh5JCSWE+nw8lhclkMkwkEs3pksJyudxcJp/Ph8lkshkrFAphOp1uW2ZzczMMwzAsl8uh7/vN5Tc3N8N0Oh1KCn3fb5ZZLpeb0yWFy8vL4erqauj7fri6uhouLy+31bexsREmk8nmfI18Wsvsdv0beafTaeM8jfW1bbdqtWpcrlAoNOfZ2NjoKG97e7unXKvVaphMJsPFxcW2PBYXF5v5m8rc3Nzs2C/d1te6Txp5+74f+r7fdnzk8/mO5Vv3l+/7YTqdbttXkoz5RlnPbvZHr+U2jt3WdVxcXAx93w+Xl5f3XY9kMtm2Xba3tzvqtymXy8Zjp7Eeptfl3m1h2g6NZbvJYb+8CoVCR3x5ebmnY2w/jdd5IpEwHmNR7D3n2TSOi72v/ah12Y7LveLexgAAANOMARIAAAA4tX6Al0wm2z54a/2gLpFIOJdrfFCbz+fD5eXlMAxf/2B+7weDrcuurq62xVo/kN/7wXBjkCSRSHR8wBt1EKCRc2NZk8XFxY4PKrv94LPxAXtj4KYxINPth6WtEolEx35oaGw30yBPP9smDMO2Y6A178YH/rayW4+PvevbGJTau/+jrmc3+yPq9mvkmkgk2gYkWgfX9n7Q3hgc27tNyuVy14MTjW1r2kaNmOkD/sbAjsnq6qp1YKUbjeX3rtv29naYz+et27dfGxsboe/7zYGSXgcXW7UOMJkGIBpaB2WjijJAMqptDAAAMI24xRYAAAC6ls/nm7eVkXZv79K4vUy9Xm+7JVMikWje2iWdTjdvBbO6utpcJpfLKZFIdNzGpnXa3tvntJa59xZAjYcV1+t1nT59ui2WTCaby+5366a9Wh/SvDefer2uSqVifJBzNxrPBwiCQMViUUtLS1peXnbe2sckl8upXq9b82g8U6FSqQzt2Q0PPPBAW96JRKLtWQm2B1Ln8/mO9W0cL3tv3zas9eyn3MZrYnl5ue2WR4lEovmA7M3NzbZlGv/vLSudTre9xlwat+Iy3WKqETPd/qlQKFhv41UsFpVIJPZ9roVN6/o0bjPWeru448ePRyp3P4uLi6pWq9rY2FC5XG7W18st9Rq2traaf7ueEdJ666oo9UTVzzZu3M6wcVu3xq39AAAAZhUDJAAAAOia6YPb5eXl5geFn/3sZ43LtT7jolWpVFK9Xm8+e6H1pzGIUa/X2z58bHxgabqv/n4PPG7Ee/1AMJFIND843/uB85kzZyJ/mCztbtPV1VVJux9q12o160CCS+ND0+/5nu8xxn3fb+6/xx57LGK2Zo19YdonyWSyOfhx7ty5rsts5Lp3Xw1rPYdVrm09FhYWJO0OzOx9zky3+79xTDYG6Vo1BmAaz7VpcA3oVSoV1ev1yIMY9Xq9uZ7Ly8sKd+9YoO3tbZXLZSUSieYg5rCk02mVy2VVq1XVajUdOXKk+bqaBv1u48a5eGNjQxsbG81BkjgHeAAAAMYJAyQAAADoW+Nb8r1cmdGYN51Oa3Nzs+On8cFfGIYDe8hwP+U0vnEfBEHbehYKBT3wwAN95dV6ZU6vV440dPMBcKOOXq+g6ZftapAohrWecW+/1quETp061fag9W4lEonmVVStA3eNB8c3tntrzDWg17iaab+HxNucOXOm+Xfrh/SNK1KSyWRfg4m98H1fGxsb2tzc1NbWlhYWFroenGkdaG29mmSv1kGFuB6E3s82zuVyHQOwjYGye++9d0gZAwAAjDcGSAAAANC3bm8J1KrxweOkfLPb9/3mB9qND5xrtZrq9XrkQY1WjQ+6S6VSzx+Ut25D1we6jf3kmmcYrr/++oGUM6z1HNX2q1arzf1eq9WUyWS0tLTU07f5G4MZjauxpN3bZC0uLjY/CG/9UD2fz1sH9Bq314p6PLfeTs30IX1cgyN77Xdl2V6t5zPXvmgcB3ENjkj9beNisSjf9zvyTafTbccPAADALGGABAAAAH1rfODWywerUW93NUp7n/ngepZDL2q1WvPDy9Z6utX6ge7eZ120auynKANag9C40iiqYa3nKLdf41ZHjTJLpZL1lnQm6XS6mVdjIGRtba35PJhkMql6va5SqdS88sX0Om3cYizqs3QkNQf2bB/SR7l1XFS1Wk1LS0taWFjQ1taWNjc3m1fI7CeRSDT3x1e/+lXrfI0BhTgHfqJu4yAIVK/Xja/BxvHWOpAGAAAwKxggAQAAQN8agxy25zeYtH7I7HqYduN2QeOg9XkrxWJRxWKxrw+UG5aWlpTP55sPlq/Vam0 "text/plain": [ "<Figure size 2000x800 with 3 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "vmax = 150\n", "nbins = 100\n", "\n", "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20, 8))\n", "\n", "a0 = ax0.hist2d(\n", " brem_z_found,\n", " brem_x_found,\n", " density=False,\n", " bins=nbins,\n", " cmap=plt.cm.jet,\n", " cmin=1,\n", " vmax=vmax,\n", " range=[[-200, 3000], [-1000, 1000]],\n", ")\n", "ax0.vlines([770, 990, 2700], -1000, 1000,colors=\"red\")\n", "ax0.set_ylim(-1000, 1000)\n", "ax0.set_xlim(-200, 3000)\n", "ax0.set_xlabel(\"z [mm]\")\n", "ax0.set_ylabel(\"x [mm]\")\n", "ax0.set_title(r\"$e^\\pm$ found brem vertices\")\n", "\n", "a1 = ax1.hist2d(\n", " brem_z_lost,\n", " brem_x_lost,\n", " density=False,\n", " bins=nbins,\n", " cmap=plt.cm.jet,\n", " cmin=1,\n", " vmax=vmax * stretch_factor,\n", " range=[[-200, 3000], [-1000, 1000]],\n", ")\n", "ax1.vlines([770, 990, 2700], -1000, 1000, colors=\"red\")\n", "ax1.set_ylim(-1000, 1000)\n", "ax1.set_xlim(-200, 3000)\n", "ax1.set_xlabel(\"z [mm]\")\n", "ax1.set_ylabel(\"x [mm]\")\n", "ax1.set_title(r\"$e^\\pm$ lost brem vertices\")\n", "# ax1.set(xlim=(0,4000), ylim=(-1000,1000))\n", "\n", "plt.suptitle(\"brem vtx of photons w/ $E>0.1E_0$\")\n", "plt.colorbar(a0[3], ax=ax1)\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "50501\n" ] } ], "source": [ "energy_emissions = ak.ArrayBuilder()\n", "\n", "for jelec in range(ak.num(ntuple, axis=0)):\n", " energy_emissions.begin_record()\n", " energy_emissions.field(\"lost\").boolean(ntuple[jelec, \"lost\"])\n", " energy_emissions.field(\"energy\").real(ntuple[jelec, \"energy\"])\n", "\n", " tmp_velo = 0\n", " tmp_richut = 0\n", " tmp_neither = 0\n", " tmp_velo_length = 0\n", " tmp_richut_length = 0\n", " tmp_neither_length = 0\n", " \n", " for jphoton in range(ak.num(ntuple[jelec][\"brem_photons_pe\"], axis=0)):\n", " if ntuple[jelec, \"brem_vtx_z\", jphoton] <= 770:\n", " tmp_velo += ntuple[jelec, \"brem_photons_pe\", jphoton]\n", " tmp_velo_length += 1\n", " elif (ntuple[jelec, \"brem_vtx_z\", jphoton] > 770) and (\n", " ntuple[jelec, \"brem_vtx_z\", jphoton] <= 2700\n", " ):\n", " tmp_richut += ntuple[jelec, \"brem_photons_pe\", jphoton]\n", " tmp_richut_length += 1\n", " else:\n", " tmp_neither += ntuple[jelec, \"brem_photons_pe\", jphoton]\n", " tmp_neither_length += 1\n", "\n", " energy_emissions.field(\"velo_length\").integer(tmp_velo_length)\n", " energy_emissions.field(\"velo\").real(tmp_velo)\n", "\n", " energy_emissions.field(\"rich_length\").integer(tmp_richut_length)\n", " energy_emissions.field(\"rich\").real(tmp_richut)\n", " \n", " energy_emissions.field(\"neither_length\").integer(tmp_neither_length)\n", " energy_emissions.field(\"downstream\").real(tmp_neither)\n", " \n", " energy_emissions.field(\"photon_length\").integer(tmp_neither_length+tmp_richut_length+tmp_velo_length)\n", " \n", " if (tmp_velo==0) and (tmp_richut==0):\n", " energy_emissions.field(\"quality\").integer(0)\n", " else:\n", " energy_emissions.field(\"quality\").integer(1)\n", "\n", " energy_emissions.end_record()\n", "\n", "energy_emissions = ak.Array(energy_emissions)\n", "\n", "print(ak.num(energy_emissions,axis=0))\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<pre>{lost: False,\n", " energy: 5.09e+04,\n", " velo_length: 0,\n", " velo: 0,\n", " rich_length: 0,\n", " rich: 0,\n", " neither_length: 0,\n", " downstream: 0,\n", " photon_length: 0,\n", " quality: 0}\n", "--------------------------\n", "type: {\n", " lost: bool,\n", " energy: float64,\n", " velo_length: int64,\n", " velo: float64,\n", " rich_length: int64,\n", " rich: float64,\n", " neither_length: int64,\n", " downstream: float64,\n", " photon_length: int64,\n", " quality: int64\n", "}</pre>" ], "text/plain": [ "<Record {lost: False, energy: 5.09e+04, ...} type='{lost: bool, energy: flo...'>" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "energy_emissions[3]" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "found: 40402\n", "lost: 10099\n", "50501\n", "VELO energy emission, eff: 0.2624700500980179\n", "RICH1+UT energy emission, eff: 0.17696679273677748\n", "Neither, eff: 0.3605869190709095\n", "total efficiency: 0.8000237619057049\n", "efficiency: 0.8000237619057048\n", "\n", "found in velo/(found + lost in velo)\n", "VELO energy emission, eff: 0.807739183424741\n", "RICH1+UT energy emission, eff: 0.7549417131272175\n", "eff von e die nicht strahlen: 0.8183166314654204\n" ] } ], "source": [ "# efficiency berechnen als found in velo oder rich über alle elektronen\n", "# dann kann man zusammenrechnen mit velo, rich, und allen anderen elektronen\n", "# expected eff = 81.19%\n", "\n", "electrons_found = energy_emissions[~energy_emissions.lost]\n", "electrons_lost = energy_emissions[energy_emissions.lost]\n", "\n", "anz_found = ak.num(electrons[~electrons.lost],axis=0)\n", "anz_lost = ak.num(electrons[electrons.lost],axis=0)\n", "print(\"found: \",anz_found)\n", "print(\"lost: \", anz_lost)\n", "\n", "num_velo_found = 0\n", "num_rich_found = 0\n", "num_no_up_rad_found = 0\n", "for itr in range(ak.num(electrons_found, axis=0)):\n", " if (electrons_found[itr, \"quality\"]==1):\n", " if (electrons_found[itr, \"velo\"] >= electrons_found[itr, \"rich\"]):\n", " num_velo_found += 1\n", " else:\n", " num_rich_found += 1\n", " else:\n", " num_no_up_rad_found += 1\n", "\n", "num_velo_lost = 0\n", "num_rich_lost = 0\n", "num_no_up_rad_lost = 0\n", "for itr in range(ak.num(electrons_lost, axis=0)):\n", " if (electrons_lost[itr, \"quality\"]==1):\n", " if (electrons_lost[itr, \"velo\"] >= electrons_lost[itr, \"rich\"]):\n", " num_velo_lost += 1\n", " else:\n", " num_rich_lost += 1\n", " else:\n", " num_no_up_rad_lost += 1\n", "\n", "\n", "\n", "denom = ak.num(electrons,axis=0)\n", "print(denom)\n", "\n", "\n", "eff_velo = num_velo_found/denom\n", "\n", "eff_rich = num_rich_found/denom\n", "\n", "eff_other = ak.num(electrons_found[electrons_found.quality==0],axis=0)/denom\n", "\n", "print(\"VELO energy emission, eff: \", eff_velo)\n", "\n", "print(\"RICH1+UT energy emission, eff: \", eff_rich)\n", "\n", "print(\"Neither, eff: \", eff_other)\n", "\n", "print(\"total efficiency: \", eff_velo + eff_rich + eff_other)\n", "\n", "print(\"efficiency: \", anz_found/(anz_found+anz_lost))\n", "\n", "print(\"\\nfound in velo/(found + lost in velo)\")\n", "\n", "eff_velo = num_velo_found/(num_velo_found+num_velo_lost)\n", "eff_rich = num_rich_found/(num_rich_found+num_rich_lost)\n", "\n", "eff_no_rad = num_no_up_rad_found/(num_no_up_rad_found+num_no_up_rad_lost)\n", "\n", "print(\"VELO energy emission, eff: \", eff_velo)\n", "\n", "print(\"RICH1+UT energy emission, eff: \", eff_rich)\n", "\n", "print(\"eff von e die nicht strahlen: \", eff_no_rad )" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "40402\n", "10099\n", "50501\n" ] } ], "source": [ "print(ak.num(electrons[~electrons.lost],axis=0))\n", "print(ak.num(electrons[electrons.lost],axis=0))\n", "print(ak.num(electrons,axis=0))\n", "\n" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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 "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# energyspektren angucken von velo und rich\n", "diff_found = ak.to_numpy(energy_emissions[(~energy_emissions.lost) & (energy_emissions.quality==1)][\"velo\"]) - ak.to_numpy(energy_emissions[(~energy_emissions.lost) & (energy_emissions.quality==1)][\"rich\"])\n", "diff_lost = ak.to_numpy(energy_emissions[(energy_emissions.lost) & (energy_emissions.quality==1)][\"velo\"]) - ak.to_numpy(energy_emissions[(energy_emissions.lost) & (energy_emissions.quality==1)][\"rich\"])\n", "\n", "xlim = 20000\n", "\n", "plt.hist(diff_lost,bins=100,density=True,alpha=0.5,histtype=\"bar\",color=\"darkorange\",label=\"lost\",range=[-xlim,xlim])\n", "plt.hist(diff_found,bins=100,density=True,alpha=0.5,histtype=\"bar\",color=\"blue\",label=\"found\", range=[-xlim,xlim])\n", "plt.xlim(-20000,20000)\n", "plt.title(\"emitted energy difference\")\n", "plt.xlabel(r\"$E_{velo} - E_{rich}$ [MeV]\")\n", "plt.ylabel(\"a.u.\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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 "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# number of brem vtx with E>x*E_0\n", "\n", "number_velo = ak.to_numpy(energy_emissions[energy_emissions.quality==1][\"velo_length\"])\n", "number_rich = ak.to_numpy(energy_emissions[energy_emissions.quality==1][\"rich_length\"])\n", "\n", "\n", "plt.hist(number_velo,bins=10,density=True,alpha=0.5,histtype=\"bar\",color=\"darkorange\",label=\"velo\",range=[0,10])\n", "plt.hist(number_rich,bins=10,density=True,alpha=0.5,histtype=\"bar\",color=\"blue\",label=\"rich\",range=[0,10])\n", "plt.xlim(0,10)\n", "plt.title(\"number of photons emitted\")\n", "plt.xlabel(\"number of photons\")\n", "plt.ylabel(\"a.u.\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "' \\nphoton cut = x*E_0\\neffs, all photons included: x=0\\nfound in velo/(found + lost in velo)\\nVELO energy emission, eff: 0.8446167611094543\\nRICH1+UT energy emission, eff: 0.7961586121437423\\neff von e die nicht strahlen: 0.7954674220963173\\n'" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"\"\" \n", "photon cut = x*E_0\n", "effs, all photons included: x=0\n", "found in velo/(found + lost in velo)\n", "VELO energy emission, eff: 0.8446167611094543\n", "RICH1+UT energy emission, eff: 0.7961586121437423\n", "eff von e die nicht strahlen: 0.7954674220963173\n", "\"\"\"" ] }, { "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": [] }, { "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 }
|