|
|
{ "cells": [ { "cell_type": "code", "execution_count": 27, "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", "import mplhep\n", "mplhep.style.use([\"LHCbTex2\"])\n", "plt.rcParams[\"savefig.dpi\"] = 600\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 28, "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", " \"/work/cetin/Projektpraktikum/tracking_losses_ntuple_B_zmag.root:PrDebugTrackingLosses.PrDebugTrackingTool/Tuple;1\"\n", ")\n", "\n", "# selektiere nur elektronen von B->K*ee\n", "allcolumns = file.arrays()\n", "found = allcolumns[(allcolumns.isElectron) & (~allcolumns.lost) &\n", " (allcolumns.fromB)] # B: 9056\n", "lost = allcolumns[(allcolumns.isElectron) & (allcolumns.lost) &\n", " (allcolumns.fromB)] # 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": 29, "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_chi2: float32,\n", " match_dSlope: float32,\n", " match_dSlopeY: float32,\n", " match_distX: float32,\n", " match_distY: float32,\n", " match_fraction: float32,\n", " match_teta2: float32,\n", " match_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", " p_end_scifi: float64,\n", " p_end_ut: float64,\n", " p_end_velo: float64,\n", " phi: float64,\n", " pid: int32,\n", " pt: float64,\n", " px: float64,\n", " py: float64,\n", " pz: float64,\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": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "electrons[0]" ] }, { "cell_type": "code", "execution_count": 30, "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": 30, "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", "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": 31, "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 (brem[itr, \"brem_vtx_z\", jentry] > 9410\n", " or brem[itr, \"brem_photons_pe\", jentry] < photon_cut\n", " or brem[itr, \"brem_photons_pe\",\n", " jentry] < photon_cut_ratio * tmp_energy):\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 (brem[itr, \"brem_vtx_z\", jentry] > 9410\n", " or brem[itr, \"brem_photons_pe\", jentry] < photon_cut\n", " or brem[itr, \"brem_photons_pe\",\n", " jentry] < photon_cut_ratio * tmp_energy):\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 (brem[itr, \"brem_vtx_z\", jentry] > 9410\n", " or brem[itr, \"brem_photons_pe\", jentry] < photon_cut\n", " or brem[itr, \"brem_photons_pe\",\n", " jentry] < photon_cut_ratio * tmp_energy):\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)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "63793\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, 3.12e+03],\n", " brem_vtx_x: [-6.97, -52.9, -55.2, -1.71e+03],\n", " brem_vtx_z: [112, 859, 895, 8.7e+03],\n", " photon_length: 4}\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": 32, "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": 33, "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": 34, "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": 35, "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, 1.88e+03],\n", " brem_vtx_x: [-3.61, -61.5],\n", " brem_vtx_z: [35.6, 8.49e+03],\n", " photon_length: 2}\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": 35, "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": 36, "metadata": {}, "outputs": [], "source": [ "Z_found = ak.to_numpy(\n", " ak.sum(ntuple[~ntuple.lost][\"brem_photons_pe\"], axis=-1,\n", " keepdims=False)) / ak.to_numpy(ntuple[~ntuple.lost][\"energy\"])\n", "Z_lost = ak.to_numpy(\n", " ak.sum(ntuple[ntuple.lost][\"brem_photons_pe\"], axis=-1,\n", " keepdims=False)) / ak.to_numpy(ntuple[ntuple.lost][\"energy\"])" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "image/png": "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 "text/plain": [ "<Figure size 1200x900 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.yscale(\"log\")\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": 38, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "found: 44660 , lost: 19133\n", "0.4284146887595163\n" ] }, { "data": { "text/html": [ "<pre>[-3.61,\n", " -61.5,\n", " -33.8,\n", " -133,\n", " -799,\n", " 65.2,\n", " -5.73,\n", " -26.6,\n", " -4.26,\n", " -396,\n", " ...,\n", " -13.1,\n", " -25.6,\n", " -140,\n", " -4.27,\n", " -4.27,\n", " -103,\n", " 8.82,\n", " 12.8,\n", " -17.8]\n", "---------------------\n", "type: 44660 * float64</pre>" ], "text/plain": [ "<Array [-3.61, -61.5, -33.8, ..., 8.82, 12.8, -17.8] type='44660 * float64'>" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tuple_found = ntuple[~ntuple.lost]\n", "tuple_lost = ntuple[ntuple.lost]\n", "\n", "brem_x = ak.to_numpy(ak.flatten(ntuple[\"brem_vtx_x\"]))\n", "brem_z = ak.to_numpy(ak.flatten(ntuple[\"brem_vtx_z\"]))\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": 57, "metadata": {}, "outputs": [ { "data": { "image/png": "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 "text/plain": [ "<Figure size 2000x800 with 3 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "vmax = 350\n", "nbins = 200\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", " cmin=1,\n", " vmax=vmax,\n", " range=[[-200, 9500], [-3200, 3200]],\n", ")\n", "ax0.vlines([770, 990, 2700, 7500], -3200, 3200, colors=\"red\", lw=1.5)\n", "ax0.set_ylim(-3200, 3200)\n", "ax0.set_xlim(-200, 9500)\n", "ax0.set_xlabel(\"z [mm]\")\n", "ax0.set_ylabel(\"x [mm]\")\n", "ax0.set_title(\"found\")\n", "\n", "a1 = ax1.hist2d(\n", " brem_z_lost,\n", " brem_x_lost,\n", " density=False,\n", " bins=nbins,\n", " cmin=1,\n", " vmax=vmax * stretch_factor,\n", " range=[[-200, 9500], [-3200, 3200]],\n", ")\n", "ax1.vlines([770, 990, 2700, 7500], -3200, 3200, colors=\"red\", lw=1.5)\n", "ax1.set_ylim(-3200, 3200)\n", "ax1.set_xlim(-200, 9500)\n", "ax1.set_xlabel(\"z [mm]\")\n", "ax1.set_ylabel(\"x [mm]\")\n", "ax1.set_title(\"lost\")\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()\n", "plt.savefig(\n", " \"/work/cetin/Projektpraktikum/thesis/brem_vtx_found_lost_hist2d.pdf\",\n", " format=\"PDF\",\n", ")" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABJ0AAAOWCAYAAABF0OMKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAADnw0lEQVR4nOz9fXAjeXrYeT4JFuulq7oKZLVeqKLU06Bab3teuwG21y9aS7sEekb2jcMaAVWzo/HrToEnOWzf8jTAlNZxd/baUwIUnr0Nh9cNtGT7pLFu2KBGDk/srdRA6WV1XtsqEj2OvbXHo0F29xwpjGami1nsqq43Enl/cIBC/gDkCzOBTJDfTwQjmMQPv/xlAiSAh8/zpGaapikAAAAAAABAgGJhLwAAAAAAAADHD0EnAAAAAAAABI6gEwAAAAAAAAJH0AkAAAAAAACBI+gEAAAAAACAwBF0AgAAAAAAQOAIOgEAAAAAACBwBJ0AAAAAAAAQOIJOAAAAAAAACBxBJwAAAAAAAASOoBMAAAAAAAACR9AJAAAAAAAAgSPoBAAAAAAAgMARdAIAAAAAAEDgCDoBAAAAAAAgcASdAAAAAAAAEDiCTgAAAAAAAAgcQScAAAAAAAAEjqATAAAAAAAAAkfQCQAAAAAAAIEj6AQAAAAAAIDAEXQCAAAAAABA4Ag6AQAAAAAAIHAEnQAAAAAAABA4gk4AAAAAAAAIHEEnAAAAAAAABI6gEwAAAAAAAAJH0AnA1DMMI+wlAAAAAAAUBJ0ATKVmsynFYlHm5ubk+vXrYS8HAAAAAKA4FfYCABw/zWZT1tfXpdlsiq7rcufOHTEMQ+LxuCQSCZmfn5dkMimZTEbS6fTA/XO5nOi6LltbW72fGYYhjUZD1tfXpdFokN0EAAAAABGnmaZphr0IIGqq1aqsrq56vl8ymbQESo5K0zTP94nH47K7uzv0tlwuJxsbG57nrNfrQ4NCwxiGITdv3pRyuex5P8lkUtLptCwtLUm9XpeNjY2Bc9kNRDWbzYH7Z7NZqdVqnvcLAAAAABgfyuuAIfL5vOzu7srW1pZks1nbsel0Wur1em98EEzTlFarJZVKReLx+MhxiURCKpWKtFqtkQEnEZFarSa7u7uugkiFQkG2trZkd3fXdcCpW+amBpy6waDufN3jqtfrks/ne8fWbDalXC7L6upqLzimZjJ15zFNUxKJhKt1AQAAAADCQ6YT4MLq6qpUq9WBn08iw0bXdVlaWhp62+7urm1QapRUKjU0Y6hSqUg+n/e0tkwmI7quW36ez+elUqm4mqNcLkuxWBz4eSKRkFarNfQ+6uNBphMAAAAARA+ZToALo0rtjlKC51UikZBkMjnw82w2e6SAk8jodXsJODUaDVlaWrIEnOLxuGxtbbkOOIkcZla1Wq2BY7lz587I+xz1uAEAAAAAk0PQCXBhVDnXpMq8hu3Hz76H3ddLIKfZbEomkxm4/61bt4YGyNys56233rKsgUbhAAAAADDdCDoBLowKyMzPz092IRGg67qsrKwM/LxWqx0p4NTVzZI6jjY2NgZKEPFUo9EIewkAAAAAxoCgEzAFhgW3Ll++HOh8bgNouVxuIAspn8+7bjpuJ5FISKFQ8D3PpDSbTVldXZWlpSXRNE3m5uZkaWlJUqlU74qBGxsbcv36dcfASqPR6N3/uAdhdF2XarUqmUxGNE0byJoL20l6LAAAAIBxOhX2AgBMj0ajMbQBealUCmwfN27c6F0FzzCMSPZvMgxDrl+/3rvSXiKR6F3lUNd1aTab0mw2e7d372OnG8wzDENWV1dHNlGfZrquSy6XE13XI10+eRIeCwAAAGASyHQC4NqwBuR+GpoPE4/HPTU0D0M3i0nk8Ip/rVZLarWa1Go12draklarNZD55RS4OAmlmolEQra2tmR3dzfSGW0n4bEAAAAAJoGgEwBXGo3G0L5EN27cCHxfuVxOROyvYGen0WhILpezlL1lMhmpVqu+11Yul3slV4VCYWiALJFISL1et2SAOfV0qlQqkkgkJJFISK1W873OqItaSV2/k/ZYAAAAAONCeR0AV0Z9+PbTPHyUdDotpVLJc8aJYRiysrIyUAJoGIY0Gg1pNBpSKpV8NT2/efNm7/thmV/9CoWCvPvuu1Iulx0DaOl0+kSVcYWVTbS6uiqVSsV2zEl7LAAAAIBxIdMJgCvDGioH0Tx8lEKh4KlsT9d1eeGFF4b2nFLHpVKpIzWIPkovolKpJMlkkqvXRUC1Wg0k2w0AAACAOwSdADjSdX1o0GQcWU5HYRhGr/lzNpuVSqUiW1tbUq/XR/YOymQyngNBasDJbeDqxo0bkW6cfRLouu6YmQYAAAAgWJTXAXA0KjiztLQ04ZUM1w3+1Ov1geyrdDotq6urQ4NMuVxOtra2XO8nkUhYtovFoly9etUxI6t7ZbuoXo3vuDMMI9I9pAAAAIDjikwnAI5GBZ2idJWvYQGnrm5jb1Wz2fRUZhePxy1BI8MwJJVKucqYMk2TgFMIun2+KG8EAAAAJo+gEzClisWiaJp2pK9UKuVpX6NKw6ISRInH4479pRKJhOVqcl3DfmZHHa/ruiwtLQXSK6jZbMrq6qpjBplhGFKtViWVSln22y0hm5ubE03TZGlpScrl8sD9dV2XYrHYu7rf0tKSrK6uDn2cu/tRn0OqTCbTm6//K8iywmq1atnP3NycpFKpoccocng+h/X56l/fqHPt9rHoMgxDyuWyZDKZ3vnvrq9YLLoKeum6LuVyWZaWlixr7n8MlpaWeqWkAAAAQOSZAFwRkYGv3d3diew7n88P3X+QX4lEwvP+6/X6RI5fVSgULOtIp9Ou7xuPxweOw6t0Oj30fCSTSXNra8vTXFtbW2Y+n7esKx6PD4zb3d01S6WSmUwmLfusVCqmaQ6ek/6vfD7fm8duXCKRGPmcVp8Do5RKJVe/I1tbW64fg1qt1jsvtVrNMkcikRi59t3dXXNra2tgTVtbW5av/vncPBaqSqXSG18qlcytrS2z1WqZtVrN8nhls9mB++7u7pqFQqF3HP1r3N3dHXi8+9fVarUc1wYAAACEiUwnYErl83nZ2to60pfTJeNVozKaopJt4SXjalhGlNMV71T1er3Xp0mdJ5VKuc5E0XVd1tfXXWfTJJPJgWbYW1tbkkqlpNlsSq1Wk1arJbu7u5YG6tVqVZrNpmQyGWk0GlKv12V3d1d2d3elXq/3zp+u63Lz5s2h+87lcq7WOOy8+NFoNHr7vnHjhmX+ZDIptVpNRA7Xfv36dct94/G4JJPJgYb33Z/13+b1segqFouyuroq8XhcWq2WFAoFSSaTkkgkJJvNytbWVm/NGxsbsrS0ZHlu3LlzRzKZzMDzcnNzU1544YVeaWir1ZJKpdJ7rAzDoDE6AAAAoi/sqBcwLSRimU6lUunI86lZJuKQ6aRminS/ulk2k6Zm6wzLIBmlmzUTxHGMOi9Hmbd/LqfsGjX7ZVTGmZqR1Z/x1K//nIzad71ed5WZtLu7G2imUzabdXzOO83jdu1dbh+L/gwnp8e6P5NpVGZe/xrj8fjQx1V9/k7qbxAAAABwFGQ6AXAU9UwnL9Qr0Ikc/TgKhYLs7u6OzO7pXjXPzfzD1jVKfwP3fD4/sp+VesW2URlu/es3DCOyj+uo52H/z4NoGO72sSgWi7395/N5V2NFDrO3hjWw7z+O1157bejjqj7XNjc3Xa0VAAAACANBJwCORn0Ib7VaE16Jf8MCF++++66v+Wq1mmxtbQ2UcYkcBhhWVlYCDeS4LSfsf9y8lCBG6Upvr732mpRKJanVao6BHZHJBUKr1WpvX26CVPl83vIYeG1g369/f1F6rAAAAAAVQScAjkZl0gzL1oi6YQGCy5cv+543mUyO7JfVbDYH+g1NwlGvLnjnzp1gF+JDPB6XQqEwsoeW135cQanX673v3WZG9f8eTePvDgAAAOAVQScArgzL4tF1PbKlWF54KW1zks/npdVqDQR8NjY2Ih1oOGqAatJ0XZdqtSqNRmNok/BJrsMr9Xl2HH53AAAAADsEnQC4cu3ataE/j3IgZRQ "text/plain": [ "<Figure size 1200x900 with 2 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nbins = 200\n", "vmax = 400\n", "\n", "a1 = plt.hist2d(\n", " brem_z_found,\n", " brem_x_found,\n", " density=False,\n", " bins=nbins,\n", " cmin=1,\n", " vmax=vmax,\n", " range=[[-200, 9500], [-3200, 3200]],\n", ")\n", "plt.vlines([770, 990, 2700, 7500], -3200, 3200, colors=\"red\", lw=1.5)\n", "plt.ylim(-3200, 3200)\n", "plt.xlim(-200, 9500)\n", "plt.xlabel(\"z [mm]\")\n", "plt.ylabel(\"x [mm]\")\n", "# plt.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(a1[3])\n", "mplhep.lhcb.text(\"Simulation\", loc=0)\n", "# plt.show()\n", "plt.savefig(\n", " \"/work/cetin/Projektpraktikum/thesis/brem_vtx_hist2d_found.pdf\",\n", " format=\"PDF\",\n", ")" ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [ { "data": { "image/png": "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 "text/plain": [ "<Figure size 1200x900 with 2 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib\n", "\n", "nbins = 200\n", "vmax = 400\n", "\n", "a1 = plt.hist2d(\n", " brem_z_lost,\n", " brem_x_lost,\n", " density=False,\n", " bins=nbins,\n", " cmin=1,\n", " vmax=vmax * stretch_factor,\n", " # norm=matplotlib.colors.Normalize(vmin=1, vmax=vmax * stretch_factor),\n", " range=[[-200, 9500], [-3200, 3200]],\n", ")\n", "plt.vlines([770, 990, 2700, 7500], -3200, 3200, colors=\"red\", lw=1.5)\n", "plt.ylim(-3200, 3200)\n", "plt.xlim(-200, 9500)\n", "plt.xlabel(\"z [mm]\")\n", "plt.ylabel(\"x [mm]\")\n", "\n", "plt.colorbar(a1[3])\n", "mplhep.lhcb.text(\"Simulation\", loc=0)\n", "plt.show()\n", "# plt.savefig(\n", "# \"/work/cetin/Projektpraktikum/thesis/brem_vtx_hist2d_lost.pdf\",\n", "# format=\"PDF\",\n", "# )" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "image/png": "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 "text/plain": [ "<Figure size 1200x900 with 2 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nbins = 200\n", "vmax = 400\n", "\n", "a1 = plt.hist2d(\n", " brem_z,\n", " brem_x,\n", " density=False,\n", " bins=nbins,\n", " cmin=1,\n", " vmax=vmax,\n", " range=[[-200, 9500], [-3200, 3200]],\n", ")\n", "plt.vlines([770, 990, 2700, 7500], -3200, 3200, colors=\"red\", lw=1.5)\n", "plt.ylim(-3200, 3200)\n", "plt.xlim(-200, 9500)\n", "plt.xlabel(\"z [mm]\")\n", "plt.ylabel(\"x [mm]\")\n", "# plt.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(a1[3])\n", "mplhep.lhcb.text(\"Simulation\", loc=0)\n", "# plt.show()\n", "plt.savefig(\n", " \"/work/cetin/Projektpraktikum/thesis/brem_vtx_hist2d.pdf\",\n", " format=\"PDF\",\n", ")" ] }, { "cell_type": "code", "execution_count": 133, "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]\n", " > 770) and (ntuple[jelec, \"brem_vtx_z\", jphoton] <= 2700):\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 +\n", " tmp_richut_length +\n", " tmp_velo_length)\n", "\n", " # if (tmp_velo == 0) and (tmp_richut == 0):\n", " if (False # (tmp_velo >= 0.5 * ntuple[jelec, \"energy\"])\n", " or ((tmp_velo == 0) and (tmp_richut == 0)) or\n", " (ntuple[jelec, \"energy\"] - tmp_velo < 3000)):\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))" ] }, { "cell_type": "code", "execution_count": 134, "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": 134, "metadata": {}, "output_type": "execute_result" } ], "source": [ "energy_emissions[3]" ] }, { "cell_type": "code", "execution_count": 135, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "found: 41978\n", "lost: 8523\n", "50501\n", "VELO energy emission, eff: 0.18201619769905547\n", "RICH1+UT energy emission, eff: 0.12653214787825984\n", "Neither, eff: 0.5226827191540762\n", "total efficiency: 0.8312310647313914\n", "efficiency: 0.8312310647313914\n", "\n", "found in velo/(found + lost in velo)\n", "VELO energy emission, eff: 0.848831840428479\n", "RICH1+UT energy emission, eff: 0.794479671764267\n", "eff von e die nicht strahlen: 0.8345505706788074\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", "denom = ak.num(electrons, axis=0)\n", "print(denom)\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],\n", " 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": 136, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "41978\n", "8523\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))" ] }, { "cell_type": "code", "execution_count": 137, "metadata": {}, "outputs": [], "source": [ "# energy_emissions = energy_emissions[energy_emissions.energy >= 5e3]" ] }, { "cell_type": "code", "execution_count": 138, "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", "\n", "velo_found = ak.to_numpy(\n", " energy_emissions[(~energy_emissions.lost)\n", " & (energy_emissions.quality == 1)][\"velo\"])\n", "rich_found = ak.to_numpy(\n", " energy_emissions[(~energy_emissions.lost)\n", " & (energy_emissions.quality == 1)][\"rich\"])\n", "energy_found = ak.to_numpy(\n", " energy_emissions[(~energy_emissions.lost)\n", " & (energy_emissions.quality == 1)][\"energy\"])\n", "\n", "velo_lost = ak.to_numpy(\n", " energy_emissions[(energy_emissions.lost)\n", " & (energy_emissions.quality == 1)][\"velo\"])\n", "rich_lost = ak.to_numpy(\n", " energy_emissions[(energy_emissions.lost)\n", " & (energy_emissions.quality == 1)][\"rich\"])\n", "energy_lost = ak.to_numpy(\n", " energy_emissions[(energy_emissions.lost)\n", " & (energy_emissions.quality == 1)][\"energy\"])\n", "\n", "diff_found = velo_found - rich_found # / energy_found\n", "diff_lost = velo_lost - rich_lost # / energy_lost\n", "\n", "xlim = 20000\n", "nbins = 80\n", "\n", "plt.hist(\n", " diff_lost,\n", " bins=nbins,\n", " density=True,\n", " alpha=0.5,\n", " histtype=\"bar\",\n", " color=\"darkorange\",\n", " label=\"lost\",\n", " range=[-xlim, xlim],\n", ")\n", "plt.hist(\n", " diff_found,\n", " bins=nbins,\n", " density=True,\n", " alpha=0.5,\n", " histtype=\"bar\",\n", " color=\"blue\",\n", " label=\"found\",\n", " range=[-xlim, xlim],\n", ")\n", "# plt.xlim(-20000, 20000)\n", "# plt.yscale(\"log\")\n", "plt.title(\"emitted energy difference\")\n", "plt.xlabel(r\"$(E_{VELO} - E_{RICH1+UT})$ [MeV]\")\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": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 139, "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(\n", " energy_emissions[energy_emissions.quality == 1][\"velo_length\"])\n", "number_rich = ak.to_numpy(\n", " energy_emissions[energy_emissions.quality == 1][\"rich_length\"])\n", "\n", "plt.hist(\n", " number_velo,\n", " bins=10,\n", " density=True,\n", " alpha=0.5,\n", " histtype=\"bar\",\n", " color=\"darkorange\",\n", " label=\"velo\",\n", " range=[0, 10],\n", ")\n", "plt.hist(\n", " number_rich,\n", " bins=10,\n", " density=True,\n", " alpha=0.5,\n", " histtype=\"bar\",\n", " color=\"blue\",\n", " label=\"rich\",\n", " range=[0, 10],\n", ")\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": 140, "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": 140, "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 }
|