{ "cells": [ { "cell_type": "code", "execution_count": 55, "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": 56, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "41978 8523\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_EndVeloP.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": 57, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
{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",
       "    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",
       "    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",
       "}
" ], "text/plain": [ "" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "electrons[0]" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
{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",
       "}
" ], "text/plain": [ "" ] }, "execution_count": 58, "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": 124, "metadata": {}, "outputs": [], "source": [ "photon_cut = 0\n", "photon_cut_ratio = 0.2\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] > 2700\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] > 2700\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] > 2700\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)" ] }, { "cell_type": "code", "execution_count": 125, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "24758\n", "50501\n" ] }, { "data": { "text/html": [ "
{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",
       "}
" ], "text/plain": [ "" ] }, "execution_count": 125, "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": 126, "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": 127, "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": 128, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "50501\n" ] }, { "data": { "text/html": [ "
{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",
       "}
" ], "text/plain": [ "" ] }, "execution_count": 128, "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": 129, "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": 130, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAHOCAYAAAB0PWY+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAq2ElEQVR4nO3dP2wbWYLn8Z9m904wILgpedIF7GI0mVFUJ5PYgMntZDORcjCdNUxioKyBYY03sZwsQWFTAVs0BrgDZgOJNA4X9rK8kJMNzmKNo9vD7ancgIO7oJuuMQQI2t0BL9CSLYoUVSKLZJHv+wGMsciqV89v3OTP7+9Kp9PpCAAAwEA/m3cFAAAA5oUgBAAAjEUQAgAAxiIIAQAAYxGEAACAsQhCAADAWAQhAABgLIIQAAAwFkEIAEYIgmDeVQAwRQQhABihUCgoDMN5VwPAlBCEACTO3t6e1tfXtbKyopWVFeVyud6vdDrde33afN+XZVlKpVKJrB+Ayf35vCsAAFeVy2WdnJyoVqupXC6rWq32vR8EgXK53NTr4bquSqVSYusHYHL0CAFIpOPjY0kaGigsy1I2m516HTzPu/Y5SagfgMmtcPo8gCTqDi1d9xEVhuHAkFWcGo2Gms2mXNcd+v686wcgHvQIAUgcz/MkaaBXpdFo9H4/7ZBxcHAwdFhMSkb9AMSDIAQgcer1uqT+YacwDHVwcDCT54dhqCAIZNt2IusHID4EIQCJ0+1xOTg4UCaTUTqd1vr6ur788suZPP/w8FBPnz5NbP0AxIdVYwASpdsbk0ql1Gq1eq89efJk7AnIYRjq8PBQrVZL1Wr1xmEr13X15s2b2OpXKpWUTqf1448/6ssvv1Q+nx/rzwEgfgQhAIlyeHgoqX/+TSqVUjabvXao6iapVEobGxs6PDy8dvJzVxAE2tjYuDYs3bZ+hUJBlmWpXC5LkjKZTO96APPH0BiARGk2m5IGl6U/f/58onLfvXun7e3tG6+7bu+gceoXBIEajUZfeU+fPh3YdwjA/BCEACRKd/7N1dByuYeme81ty42yyWGj0Rg5dHWb+vm+L+liX6Eu27bleR7HdgAJQRACkBhBECgMw6HHWnTVarWBg1C7R140Gg3t7e0pnU7LcZze+2EYyvd9ZbNZNRoNpdPpob0+ozZQHKd+7969G7huY2NDktRut699DoDZIQgBSIzuPjyXe1C6wjBUqVRSqVQa6I2xbbvXw1Iul+W6rvb29nqveZ4ny7J0fHwsy7LkOE5vZ+jLbhoWu239wjDsBZ+rONUeSAYmSwNIhL29vV4vjud5ymQy2tjYULvd7q3UkqR8Pj/Qy9JsNmXb9rVDWs1mU5ZlaWNjQ7Ztq1KpaHNzc+A63/evnZA9Tv3S6XRvcvVVw8IUgNkjCAFIhHK53FtZdVue5/Xt+3P11PjukFc35Hie19sUsatWq43sDRqnfpZlDcwF6g6JEYSAZOCsMQALb2VlRScnJ71wkU6n5bqustmswjDU+vp67/0gCJROpwfOCMtkMnrz5k2sR2N0n3W5bnt7ezo4OOjtQQRgvpgjBGCheZ6nVCrVFzTy+Xxv0rPnebJtu/d+t3fI9/1eb81NeweNy7Is5fP5vjPIDg4OWD4PJAhDYwAWWrPZ1MbGhjzPUxAEfZsXShcrty4Pm4VhqHa7rXa73Rsqu2mS9CTq9bpKpZL29vb0448/qlQqsZkikCAMjQFYaJlMRqVSScVicewyCoXCwJwhAGYgCAFYaFfnBwHAbTBHCMDC6g5ndXdwBoDbokdohB9++EHfffed7t+/rzt37sy7OgAAIIKzszN9//33+uqrr/Tzn/985LVMlh7hu+++09dffz3vagAAgDH8/ve/169+9auR1xCERrh//76ki4b8xS9+EWvZp6enevTokd6+fau1tbVYy97a2tLr169jLXPaZU+rXNp5NmVPs52lxft7N62yaefZlL2o7TzNshftM/qf//mf9fXXX/e+x0chCI3QHQ77xS9+ce22++P6/PmzJOnhw4e6e/durGXfuXMn9vpOu+xplUs7z6bsabaztHh/76ZVNu08m7IXtZ2nWfYifkZLijStZWpB6Ne//rU2Nzf1zTffTOsRM7O1tXVtY+7s7GhnZ2fGNQIAwGz7+/va398f+t7Z2VnkcqYShD58+CDXdXV4eLgUQej169dTS+8AAOD2RnVE+L6vTCYTqZypBKEHDx7IdV329QAAAIk2taGxZ8+eTatoAACAWExtQ8WvvvpK79+/n1bxAAAAExu7R+jyIYZXhWEoz/N0eHiohw8fjvuIxFi0ydLTrM+0yk5aG0axiO087bKnZRH/3tHO0y932mVPyyK2RxLbOa7J0mPvLP2zn93cmZROp/Uv//Iv4xSfCN3JVq1WayrLM7/44gv98Y9/nMqSQVygnWeDdp4N2nk2aOfZmVZb3+b7e+yhsXw+r5OTE3369Gng1/HxsYrF4kKHIAAAsPzGDkKlUkkPHjzQF198MfDLtm1lMhn99V//dZx1BQAAiNXYc4SePHky8n3LsvTb3/5Wf/M3fzPuIxJj0eYIAQCw7Oa+oeKoFWFBEMhxnHGLThw2VAQAIFnmvqGibdtaWVm59v1Op6O9vb1xiwcAAJi6sYNQKpXS9va2UqnUwHv37t2Tbds3Dp8BAADM09hB6NWrV9ra2oqzLgAAADM1dhAiBE1mdXVVjx690N7eqv78P/5f2N2da5WW0urqql68eKHV1dV5V2Wp0c6zQTvPBu08O0lo67E3VLzJr3/9a21ubi706fPdyVb379+fyqqxq8GHIAQAQDQ3rRr7/vvvI22oOJUg9OHDB6XTaa2vr+vHH3+Mu/iZmebO0hJBCACAabjN9/dUTp9/8OCBXNeVZVnTKH55fDy68sLj2dcBAACDTSUISdL29ra++OKLaRUPAAAwsbGP2LjJmzdv9Pz582kVDwAAMLGJeoT+8R//Uc1mU2EY9r3ebrfl+77a7bYqlcokjwAAAJiaifYRKpVKI68pFovjFp8onDUGAECyzP2sMdd11Ww2tbm5qXfv3ukPf/iDfvOb30iSwjDUb3/7W/3d3/3duMUnCmeNAQCQLHGdNTb2HKFsNqsnT57oiy++UDab1fHxce+9VCqlTCbDHCEAAJBoYwehP/7xj30/b29v62//9m/7Xms0GuMWDwAAMHVjD41ZlqU/+7M/0/r6uo6Pj7W1taXNzU01m02lUik1Go2hB7ICAAAkxdhB6De/+Y1++OEH/eEPf9DGxoYk6fDwULlcTh8+fJAkVavVeGoJAMBV/7Q77xpE88vdedcAI0y0fP5q0LEsSycnJ/rw4YM2NjbYUBEAACTa1I7YAAAA8fB9XwcHB/I8T5LUarXmXKPlMbUjNpYJ+wgBAOapu4XL3t7eVLdzCYJAGxsbCzHHd+77CJmEfYQAAPM2i++hQqGger2+EEFo7vsIAQCA5VEoFOT7/ryrMXP0CAEAsODCMJTjOEqlUr0w4ziOstns0GvCMJTneXIcR8ViUY1Go3dfqVRSKpXS8+fPjRgNIQgBALDAfN/XkydP9ObNm15wqdVqyuVyqlarKpfLkqRnz57Jsqzeiu9ardY7ND2fz+vdu3fa29uT67qyLGsuf5Z5YGgMAIAF9uzZM21ubvb13hSLRdm2LcdxFASBJPVWnF2+BgQhAAAWVhAE8n1/6BBWqVSSdHFIunSx19/e3p729vZ613R7i0xGEAIAYEGNmty8ubkpSb0eoe5qMMdxlE6njZwYPQxBCACABded63NZdwl89xgsy7L04cMHZbNZBUGgTCajWq02w1omE0EIAIAF1R0Suzr/R/opHKXTaUkXPUOpVErNZlP1el3ST8NnJmPVWATsLA0ASCLLsmTbtnzfVxAEfau9jo+PlUqlepOiq9Vqb75QPp+X67oqlUoD9w3rXUoidpaeIXaWBgAkVb1eVyaTUalUUrPZlHQRZqrVql69etUbIjs8PJTjOL3QE4ahLMvq/dztOXJdV47jyPd95fP52f+BIoprZ2mCEABgMf1yd941mBnf93u9Ob7va29vT8ViUalUqjf359mzZ8rlcr1gU6/X+/4Rv7m5qVwu1ws3QRD0Hd5aLBbluq4ODw8l/bTabNkRhAAASDjbtuW67rXhJJVK9eb9XKfbWzSKiafaM1kaAAAYiyAEAACMRRACAADGIggBAABjEYQAAICxCEIAAMBYBCEAAGAsghAAADAWQQgAABiLIAQAAIxFEAIAAMbirLEItra2dOfOnaHvjTr9FgAATMf+/r729/eHvnd2dha5HIJQBK9fv+47wRcAAMzXqI4I3/eVyWQilUMQAgAspN3dedcgmkWpZ5x839fx8bGKxeK8q3Ij5ggBALBAfN+X4zgqFApKp9Pa29ubd5V6giBQoVBQJpOR67rzrk4k9AgBALAgfN/XkydP9OnTJ0mS4zg6OTmZc61+YlmW6vW6VlZW5l2VyAhCAAAsiEqloo2Njd7P1Wp1jrVZDgyNAQCwIHzfn3cVlg5BCACAhKvVaioUCgqCoDcPp1AoyPO83jVhGKpUKslxHOVyOeVyub73G42G1tfXtbKy0gtUnuepUChoZWVFhUKhV06tVlMmk1Gj0ZDnecpkMn3XXNZ9bvdXkuYsRUEQAgAg4YrFour1uizL6s3Dqdfrymazki56ih48eKBSqaRqtapms6lCoaBcLtcLJvl8Xtvb233lZrPZgeG1drutZrMp3/fluq6azaZevXqlYrGoRqPRF3SCINCDBw9UKBTkuu7CTJC+jCAEAMCCe/bsmTY3N/v2vCsWi7JtW47jKAgCSVIqlRq49/KcI+liwvPTp08lSblcTtVqVbZt90JOs9nsXes4jjY3N3uBTJLK5XJsf65ZIAgBALDAgiCQ7/tDN/4tlUqSNHZPzbDg1G63e89tNBrK5XJjlZ0UBCEAABbYqAnUm5ubktTrEYpTt0zLsmIve5YIQgAALIEwDAde6/boXB3+ikM3CHV7iBYVQQgAgAXWHRK7vEKsqxuO0ul07M/t9gS1Wq3Yy54lghAAAAui3W4P9MBYliXbtntL6y87Pj5WKpXqnfl17949Sf1DZd3fD+tRGqU77Far1Ybee9vy5oUgBADAgqvX60qlUr3J0dJFEKlWq3r16lVviKzbe+Q4jjzPU61W602k9jyvN/E5ynBXKpXqrRDLZDLyPE9BEMhxHEkXAWsR9hTiiA0AwEIy6VT37p4+3V6WUqmkQqHQW7ZuWZY+fPigZ8+eKZfL9Yat6vV632qy7r5BlUpFhUJBxWJRruvK8zzl83k9ffq09yzp4ggPy7K0ubnZCzi+72tvb0/lclnValXpdFrValW5XE62bater6vRaCifzyufz8+wlcaz0ul0OvOuRFL5vq9MJqNWqzV0WeKkdr856v/5d49jfwYAAKa5zfc3Q2MAAMBYSzM0FoahKpWKpOGn8fq+r0qlIsuyFIahcrncQnTZAQCA6VmKIOR5nlzXVaPR6M2MvywIgoEusnQ6rXa7PfR6AABghqUYGstms6rX69e+XyqVlM1m+8YJHcfpm10PAADMsxRBaJQwDPuWBHZd3v8AAACYaSmGxkY5Pj6WNHgWSrd3qNls3jg8dnp6qs+fP49dh9XVVa2uro59PwAAJjk/P9f5+fnY95+enka+dumDUHfHzGEn6F5+f5RHjx5NVIcXL15o16QNLwAAmEClUtHLly9n8qylD0InJyeSrj9wLsoW4G/fvtXDhw/HrgO9QQAARPf8+XN9++23Y9///v37yJ0YSx+EugfNXbdd+NUhs2HW1tZ09+7dWOsFAACGm3RKydraWuRrl36ydDfoXNfzEyUIAQCA5bT0PULd1WFX5wJ1f85kMjeWsbW1pTt37gx9b2dnRzs7OxPWEgAA3Mb+/r729/eHvnd2dha5nKUPQqlUSrZtq9ls9k7JlS42YZSk7e3tG8t4/fr1VM4aAwAA4xnVEdE9ayyKpRkaGzXp+dWrV/I8r69XqFqtqlqtXruaDAAALL+l6BHyfV+u60qSDg8PlcvllM1meyHHtm21Wi05jiPLshQEgRzH4XgNAAAMt9LpdDrzrkRSdbvW7t+/P5U5QrvfHPX//LvHY5UDAIBpbpoj9P333/edMXqdpegRmjbmCAEAkCzMEQIAAJgQQQgAABiLIAQAAIzFHKEI2FARAIBkYUPFGWKyNAAAycJkaQAAgAkRhAAAgLEIQgAAwFjMEYqAydIAACQLk6VniMnSAAAkC5OlAQAAJkQQAgAAxiIIAQAAYxGEAACAsQhCAADAWKwai4Dl8wAAJAvL52eI5fMAACQLy+cBAAAmRBACAADGIggBAABjEYQAAICxCEIAAMBYBCEAAGAsls9HwD5CAAAkC/sIzRD7CAEAkCzsIwQAADAhghAAADAWQQgAABiLIAQAAIxFEAIAAMYiCAEAAGMRhAAAgLEIQgAAwFhsqBgBO0sDAJAs7Cw9Q+wsDQBAsrCzNAAAwIQIQgAAwFgEIQAAYCyCEAAAMBZBCAAAGIsgBAAAjEUQAgAAxiIIAQAAYxGEAACAsQhCAADAWAQhAABgLIIQAAAwFoeuRsDp8wAAJAunz88Qp88DAJAsnD4PAAAwIYIQAAAwFkEIAAAYiyAEAACMRRACAADGIggBAABjEYQAAICxCEIAAMBYBCEAAGAsghAAADAWQQgAABiLIAQAAIxFEAIAAMbi9Hksvd3d0T8DAMxFjxAAADAWQQgAABiLoTEYJ8rQGMNnAGAGo3qEwjCU4zhyHGfeVQEAAAlgTI+Q53lyXVeNRkPFYnHe1cEsfTzq//kvHs+hEgCAJDImCGWzWWWzWa2srMy7KjDJP+0OvvbLIa8BAObCmCAEjPTx6MoLj2dfBwDAzBGEgCGYUA0AZiAIRXB6eqrPnz+Pff/q6qpWV1djrBGSYFgQIhwBwOTOz891fn4+9v2np6eRryUIRfDo0aOJ7n/x4oV2+YYEACCSSqWily9fzuRZBKEI3r59q4cPH459P71BAABE9/z5c3377bdj3//+/fvInRgEoQjW1tZ09+7deVcDcfl4NMVyHsdTNgAYbNIpJWtra5GvJQgBUX08uvGSgQNe/3IaFQEAxIUgFMHW1pbu3Lkz9L2dnR3t7OzMuEYAAJhtf39f+/v7Q987OzuLXI5RQSgMw7Hue/36tWzbjrcyAABgbKM6InzfVyaTiVSOMUHI9325ritJOjw8VC6XUzabVSqVmm/FkEwfj2K5b/d3jwev+Yf+H4cuKGRHagCYCWOCkG3bcl23F4aAxBgWegAAM2FMEJoEc4QwTUN7jYZd98vp1gMAFglzhGaIOUKI1cejedcAGO5q7yTDsUiwuOYI/SzOSgEAACwSeoSABTHOQbCch3YDJqUDxiMIAUuEkAMAt0MQioDJ0lhm9BoBWERMlp4hJksjkT4e3XzNXzyeciWmYBGGq2Y5qTiuZzERGkuGDRUBzNe0vqCRHIsQSoEJEYQA01z9cvv4eMhFw16b3O43R0Nem8qjkCQEKiQYQQjAjaIEmHnPNYqyYs4Y9LIBkRGEImCyNEwTaan+1R2x/yKmZw/ZaXtgV+2hX/TDXgOwrJgsPUNMlgYi+Hg05MXHs63DZcs6HLOsfy7glpgsDWAsUc82i+VZu9MpZ/cv4yk3NoQTYGERhIBF8fFo3jWYitiC2cejeMqZ5XJ1lrQDc0cQArBwxg1PAz1UQ1bMDZsYftPzo9wTCZOcgZkjCAFIvo9Ht75leFi6fTmYkSjDiwxBYgoIQsAy+3g07xogqcbtfWI47ydR2jBq+9Cuc0MQioDl84A5BnqS/mEu1ZjI0C0IvjmadTWSi96npcDy+Rli+Twwpo9H867B3AzMIxpzn6NI85EGvrQfD15zQ7nXlo34MRcsFiyfB4CEiDJ5O9I13xxNWhUAt0QQAgDEix4PLBCCEAAskFkOaUV51tAz5ma54eUsJxmPE/AIhYlHEAKAhBh7f6SYhubGelZMZ8zNHYHFWD+bdwUAAADmhR4hAACShuX7M0MQioB9hGCcj0fzrgHmYJYH8mJKDNqYkX2EZoh9hABguoZOzP7l7OuBxcE+QgAwCx+P5l2DZPt4NPBSbIfSMoEZM8BkaQAAYCx6hAAAUzXTYS8mGeOW6BECAADGokcIADBzw3akHqucuOYjwVgEIQDA7H08mkqxQ4fhtDuVZ2E5EIQAAInEvkYzYvi8KoIQAMB4kc5r++Zo2tXAHBCEImBnaQAAkoWdpWeInaUBAHOfmD3OBpNLPOzFztIAAIyBuUe4jCAEAFhqBB+MQhACAMAknOHWhyAEAMCUDN3X6JujWVcDIxCEAACYIcJRsnDWGAAAMBY9QgAAxISJ2YuHHiEAAGAsghAAADAWQ2MAAIyBYbDlQI8QAAAwFkEIAAAYi6GxCDh9HgBglKu7TyfwoFZOn58hTp8HAEzT3E+2X0BxnT7P0BgAADAWPUIAACwAeo2mgx4hAABgLHqEAADAaFcnT0uJnEA9DnqEAACAsegRAgAgYdi1enboEQIAAMYiCAEAAGMRhAAAgLGYIwQAwAIaNo+IvYVujx4hAABgLHqEAABYEuw+fXv0CAEAAGMRhAAAgLEYGgMAALd39diNBT1ygx4hAABgLIIQAAAw1kIOjfm+r0qlIsuyFIahcrmc8vl8pHvDMFSlUpEkVavVaVYTAIC5Yq+hmy1cEAqCQJlMRq1WS7ZtS5LS6bTa7baKxeLIez3Pk+u6ajQaN14LAACW38INjZVKJWWz2V4IkiTHcVQqlW68N5vNql6vT7N6AABggSxUj1AYhvI8b2BIa3NzU5JUq9Xo6QEAYAQ2Xey3UD1Cx8fHkiTLsvpe7/YONZvNmdcJAAAsroXqEQqCQJKUSqVGvh+309NTff78eez7V1dXtbq6GmONAABYXufn5zo/Px/7/tPT08jXLlQQOjk5kSRtbGwMfT8Mw6k899GjRxPd/+LFC+3u7sZTGQAAllylUtHLly9n8qyFCkLpdFqS1G63h75/dcgsLm/fvtXDhw/Hvp/eIAAAonv+/Lm+/fbbse9///595E6MhQpC3aBzXc/PtILQ2tqa7t69O5WyAQBAv0mnlKytrUW+dqGCUHd12NW5QN2fM5nMVJ67tbWlO3fuDH1vZ2dHOzs7U3kuAAAYbn9/X/v7+0PfOzs7i1zOQgWhVCol27bVbDZVLpd7r3ueJ0na3t6eynNfv37dt28RAACYr1EdEb7vR+4cWajl85L06tUreZ7X1ytUrVZVrVZ7q8mCIFA6ne4FpMumNaEaAAAsnoXqEZIu9gxqtVpyHEeWZSkIAjmO07eRYhiGarfbA6HH9325ritJOjw8VC6XUzabvXY5PgAAWG4LF4SkizA06qgM27b16dOnoa+7rtsLQwAAmM70g1kXMgjNGpOlAQBIFiMnS88Lk6UBACZZhPPIjJ0sDQAAEBeCEAAAMBZDYxEwRwgAgGRhjtAMMUcIAIBkYY4QAADAhAhCAADAWAQhAABgLIIQAAAwFpOlI2DVGAAAycKqsRli1RgAAMnCqjEAAIAJEYQAAICxCEIAAMBYBCEAAGAsJktHwKoxAACShVVjM8SqMQAAkoVVYwAAABOiRwgAAEzun3ZvvuaXEa6ZMXqEAACAsQhCAADAWAyNAQCAkXZ/93jwtW+OZl2NqaBHCAAAGIseoQjYRwgAgGRhH6EZYh8hAACShX2EAAAAJkQQAgAAxiIIAQAAYxGEAACAsQhCAADAWAQhAABgLIIQAAAwFvsIAQCAW7t67MaiHrlBEIqAnaUBAEgWdpaeIXaWBgAgWdhZGgAAYEIEIQAAYCyCEAAAMBZBCAAAGIsgBAAAjEUQAgAAxiIIAQAAYxGEAACAsQhCAADAWAQhAABgLIIQAAAwFkEIAAAYiyAEAACMxenzEWxtbenOnTtD3xt1+i0AAJiO/f197e/vD33v7OwscjkEoQhev34t27bnXQ0AAPAfRnVE+L6vTCYTqRyGxgAAgLEIQgAAwFgEIQAAYCyCEAAAMBaTpQEAwMR2f/d48LVvjmZdjVujRwgAABiLIAQAAIxFEAIAAMYiCAEAAGMRhAAAgLEIQgAAwFgEIQAAYCyCEAAAMBZBCAAAGIsgBAAAjEUQAgAAxiIIAQAAYyXu0FXf91WpVGRZlsIwVC6XUz6fj+2+MAxVqVQkSdVqNfb6AwCAxZGoIBQEgTKZjFqtlmzbliSl02m1220Vi8WJ7/M8T67rqtFojCwPAACYIVFDY6VSSdlsthdmJMlxHJVKpVjuy2azqtfr8VYaAAAsrMQEoTAM5Xmecrlc3+ubm5uSpFqtFut9AAAAiRkaOz4+liRZltX3ereXp9lsDh3OGve+2zg9PdXnz5/Hvn91dVWrq6sT1QEAAFOcn5/r/Px87PtPT08jX5uYIBQEgSQplUqNfD+u+27j0aNHE93/4sUL7e7uTlwPAABMUKlU9PLly5k8KzFB6OTkRJK0sbEx9P0wDGO97zbevn2rhw8fjn0/vUEAAET3/Plzffvtt2Pf//79+8idGIkJQul0WpLUbreHvn916GvS+25jbW1Nd+/enbgcAABws0mnlKytrUW+NjGTpbuB5boenOsCzbj3AQAAJKZHqLvK6+qcnu7PmUwm1vtuY2trS3fu3Bn63s7OjnZ2diZ+BgAAiG5/f1/7+/tD3zs7O4tcTmKCUCqVkm3bajabKpfLvdc9z5MkbW9vx3rfbbx+/bpvjyIAADBfozoifN+P3BGSmKExSXr16pU8z+vr3alWq6pWq71VYUEQKJ1O94JO1Pu64pg8DQAAlkNieoSki71/Wq2WHMeRZVkKgkCO4/TtAxSGodrtdl+giXKfdJEQXdeVJB0eHiqXyymbzV679B4AACy3RAUh6SLUjDoGw7Ztffr06db3da9xXbcXhqJijhAAAMmydHOEkow5QgAAJMtSzhECAACYJYIQAAAwFkEIAAAYizlCETBZGgCAZGGy9AwxWRoAgGRhsjQAAMCECEIAAMBYBCEAAGAsghAAADAWk6UjYNUYAADJwqqxGWLVGAAAycKqMQAAgAkRhAAAgLEIQgAAwFgEIQAAYCwmS0fAqjEAAJKFVWMzxKoxAACShVVjC+78/FxH/n/Rv//pX+ddlaVGO8/Gv//pX2nnGaCdZ4N2js/u7x73/brq/Pxcu7u7Oj8/n33l/gNBaE7Oz8/19v1/1Z/+9G/zrspSo51n409/+jfaeQZo59mgnWfn/PxcL1++JAgBAADMA0EIAAAYiyAEAACMRRACAADGYvl8BOwjBABAsrCP0AyxjxAAAMnCPkIAAAATIggtoeu6CpNc9jTrPC3/43/+N8qekWnVmXbuRzvPxiK2xyK2c1QEoSVEEJqNd//rv1P2jEyrzrRzP9p5NhaxPRaxnaMiCAEAAGMRhAAAgLEIQgAAwFgEIQAAYCyCEAAAMBYbKo7Q3Znyr/7qr7S6ujr0mqdPn2p7e/vWZZ+enkqS/t+P/0f/+T9d7Frt+3fHrGm/s7Mz+b4fS1mzKnta5Q5r57j8+7+f6//+8L9jLXNRy/7Xf7v4b2Ua7SxNrz1o536084VFbedplh1XuVe/57qf0e/fv9fa2tqtyjo8PNTBwcHQ987PzyVF22F6pdPpdG71ZIP8/d//vb7++ut5VwMAAIzh97//vX71q1+NvIYgNMIPP/yg7777Tvfv37/2rDEAAJAsZ2dn+v777/XVV1/p5z//+chrCUIAAMBYTJYGAADGIggBAABjsWpsCnzfV6VSkWVZCsNQuVxO+Xx+aveZatz2ajQaqlQq8n1ftm2rWq0qm83OoMaLKY6/l57nqVAo6NOnT1Oq5eKLo52DIFCj0ZAkFYtFpVKpKdR08U3y2dFsNpVKpRQEgSzLUrVanUGNF08YhqpUKpIUuY3m9h3YQaxOTk46kjqtVqv3mmVZHdd1p3KfqcZtr2q12slmsx3XdTvlcrkjqSOp02w2p13lhRTX30vLsjqpVCru6i2NSdv55OSkk8/nO9lstnNycjKtai6Fcdu6Xq93bNvuey2bzXbK5fJU6rnIms1mJ5/PdyR1isVipHvm+R1IEIpZNpvtZLPZvtdc1+3clDnHvc9U47ZXPp/v+7nVanUkDZSFC3H8vSyXy51sNksQGmGSdm61Wp1UKhX5C8d0k3xGX23jarXasSwr9joui9sEoXl+BzJHKEZhGMrzPOVyub7XNzc3JUm1Wi3W+0w1bnt5njfQRWvbtmzbVhAE06nsAovj76Xnebp3755s255KHZfBJO0chqGePHkiy7Lkuu5U67kMJmnrdrstz/P6Xjs5OZFlWfFX1DDz/g4kCMXo+PhYkgb+w+h+CTSbzVjvM9W47ZXNZq/90OLDbFAcfy9d11W5XI6/cktkknZ2HEdhGDJPJaJJ2rpUKikIAhUKBUkX81kODw9p+xjM+zuQIBSjbq/CdRMUr+t1GPc+U8XdXpc/3PCTSdvZcRy+JCKYpJ27/1JuNpvKZDJaX19XLpfjM+Mak7R1sVhUsVhUo9FQOp2W4zj68OEDvZ0xmPd3IEEoRicnJ5KkjY2Noe+HYRjrfaaKs70ajYYsy1KxWIyjaktlknb2fV/37t2jpy2Ccdu5ezafbdsqlUpqtVpqtVoKgkDpdJrPjSEm/exwXbc3lO553sBQGcYz7+9AglCM0um0pIux5GGu+1IY9z5TxdlelUpF9Xo9lnotm0nauVKpMCQW0bjt3P1XcqlU6l1zea5Qd+kyfjLpZ0cul1OpVOotoS8UCr3tCjC+eX8Hso9QjLr/Z12XXm+an3Lb+0wVV3s5jqNXr17RvtcYt50dxxkYnun+vvu/tPlPxm3n64YRuntiMTw2aJLPjlKpJEm93uMPHz7owYMHevbsGfu9TWje34H0CMWoO8P96gdQ9+dMJhPrfaaKo71qtZpyuRzj+yOM286e56lUKimdTvd+NRoNhWGodDrNfKwrJv3c6A4rXHXdMIPJJvnsODw87Pu8SKVSqlarCsOwN0yJ8cz7O5AgFKNUKiXbtgdmuHfHkbe3t2O9z1STtle3K/vqbtJ8mPUbt51brZY6F3uU9X6Vy2WlUil1Oh21Wq2p132RTPK5kc1mB+apdP9VzT+gBk3y2bGxsTHQY9H9DGEH78nM/Ttw6jsVGaa7Qd/l3V0ty+pUq9XezycnJx3Lsvp2M45yH34ybjs3m82Obdsd13X7fhWLRXbxHmLcdr6qXC6zoeIIk35uXH6tWq0O7ICMn4zb1tVqtZNKpTqfPn3qe422Hu7Tp0/XbqiYtO9A5gjFzLZttVotOY4jy7IUBIEcx+lblRSGodrtdt+/LqLch5+M086+7/c27OqO91/GOViDxv37jNuJ43OjXq8rlUopDEN63UYYt627vZqFQqE3RBaGod68eTPrP0Li+b7fm7R/eHioXC6nbDbb6zlL2nfgSqfT6Uz9KQAAAAnEHCEAAGAsghAAADAWQQgAABiLIAQAAIxFEAIAAMYiCAEAAGMRhAAAgLEIQgAAYG7mfUAwQQgAAMxNoVCY6870BCEAADBgb29P6+vrWllZ0crKinK5XO9XOp3uvT4J3/dlWdbAwbWzeHYXZ40BAIAB5XJZJycnqtVqKpfLqlarfe8HQdA7v3FcrusOPftxFs/uokcIAAAMdXx8LElDQ4dlWcpmsxOV73netWVM+9ldHLoKAACG6g4/XRcVwjAcGNaKqtFoqNls9k6qn+WzL6NHCAAADPA8T5IGel4ajUbv95MEkYODg6HDYrN49mUEIQAAMKBer0vqH5oKw1AHBwcTlx2GoYIgkG3bM3/2VQQhAAAwoNsrc3BwoEwmo3Q6rfX1dX355ZcTl314eKinT5/O5dlXsWoMAAD06fbYpFIptVqt3mtPnjyJZZKy67p68+ZNbM8ulUpKp9P68ccf9eWXXyqfz0euC0EIAAD0OTw8lNQ/RyeVSimbzV47nBVVEATa2Ni4do7PbZ9dKBRkWZbK5bIkKZPJ9K6PgqExAADQp9lsShpcuv78+fOJy75u76Bxnh0EgRqNRl95T58+Hdh3aBSCEAAA6NOdo7O9vd33+uVenO410kUgSafTymQyvdfCMFQmk+lb6SVdrPwaNXR1m2f7vi/pYl+hLtu25Xle5GM7CEIAAKAnCAKFYTj06IuuWq3Wd1iq4ziqVqsKw7AXUiqVisIw7As9ozZQHOfZ7969G7huY2NDktRut2/6o0pijhAAALik24NzuZelKwxDOY6jWq2mT58+9V5/+vSp8vl8L8iEYai9vb3eMFeX67ojh9du++wwDHvB56ogCIaWcxVBCAAASLo47NRxHEkXvTeZTEYbGxtqt9u91VySlM/n+3piur0+tm0rCAJVKhXl8/mB3h/f96+dbD3Os9PpdG9y9VVRQpDEERsAACAmvu/r4OBAjUZDrVarLyzVajWFYdhb3RWHRqOhQqHQdwyH53nK5XLXHs1xFT1CAAAgFqlUSnt7e6rX6wNzd0btHTSubu/S5WGwUb1OwzBZGgAAxCIMQ2Wz2YFVYTftHTQuy7KUz+f7VqYdHBzcavk8Q2MAACAWjuPo3r17A8NfjuPcesfn27i8s3Q6nVaxWIx8L0EIAABMLAxDra+vy3XdgSBSKBR6B6kmDUNjAABgYrVaTdLw1VpJDUESQQgAAMTg5ORElmXFcijrLDE0BgAAYhGGYewToqeNIAQAAIzF0BgAADAWQQgAABiLIAQAAIxFEAIAAMYiCAEAAGMRhAAAgLEIQgAAwFgEIQAAYKz/D0YdbMwkOz3+AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "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": 131, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "found: 19848 , lost: 4910\n", "0.2473800886739218\n" ] }, { "data": { "text/html": [ "
[-3.61,\n",
       " -33.8,\n",
       " -133,\n",
       " 65.2,\n",
       " -26.6,\n",
       " 31.6,\n",
       " -52.1,\n",
       " -44.7,\n",
       " -103,\n",
       " -10.2,\n",
       " ...,\n",
       " 330,\n",
       " -11.6,\n",
       " -13.1,\n",
       " -25.6,\n",
       " -4.27,\n",
       " -103,\n",
       " 8.82,\n",
       " 12.8,\n",
       " -17.8]\n",
       "---------------------\n",
       "type: 19848 * float64
" ], "text/plain": [ "" ] }, "execution_count": 131, "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": 132, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "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": 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] > 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(\n", " tmp_neither_length + tmp_richut_length + tmp_velo_length\n", " )\n", "\n", " # if (tmp_velo == 0) and (tmp_richut == 0):\n", " if (\n", " False # (tmp_velo >= 0.5 * ntuple[jelec, \"energy\"])\n", " or ((tmp_velo == 0) and (tmp_richut == 0))\n", " or (ntuple[jelec, \"energy\"] - tmp_velo < 3000)\n", " ):\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": [ "
{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",
       "}
" ], "text/plain": [ "" ] }, "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": [ "
" ] }, "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) & (energy_emissions.quality == 1)][\"velo\"]\n", ")\n", "rich_found = ak.to_numpy(\n", " energy_emissions[(~energy_emissions.lost) & (energy_emissions.quality == 1)][\"rich\"]\n", ")\n", "energy_found = ak.to_numpy(\n", " energy_emissions[(~energy_emissions.lost) & (energy_emissions.quality == 1)][\n", " \"energy\"\n", " ]\n", ")\n", "\n", "velo_lost = ak.to_numpy(\n", " energy_emissions[(energy_emissions.lost) & (energy_emissions.quality == 1)][\"velo\"]\n", ")\n", "rich_lost = ak.to_numpy(\n", " energy_emissions[(energy_emissions.lost) & (energy_emissions.quality == 1)][\"rich\"]\n", ")\n", "energy_lost = ak.to_numpy(\n", " energy_emissions[(energy_emissions.lost) & (energy_emissions.quality == 1)][\n", " \"energy\"\n", " ]\n", ")\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": [ "
" ] }, "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 }