You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1139 lines
147 KiB

{
"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": [
"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[(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": 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",
" 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",
"}</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",
"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.25\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] > 2700\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] > 2700\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] > 2700\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": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"19715\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: [],\n",
" brem_vtx_x: [],\n",
" brem_vtx_z: [],\n",
" photon_length: 0}\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": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAHOCAYAAAB0PWY+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAsXklEQVR4nO3dP2wbWYLn8Z92704wILhpedIB2sVJNjOK6mQSN2DyOtlMpBzsZIZJDJQZWHIdWU6WoLCpgCkaA9wBvYEoGocLZ1he2MkEZ7HW0e3hcCo34OAu6KarDQGCdneGF2iqWhQpqUQWySLf9wMI2yKrXj2/9ZA/v78r/X6/LwAAAAP9xbwrAAAAMC8EIQAAYCyCEAAAMBZBCAAAGIsgBAAAjEUQAgAAxiIIAQAAYxGEAACAsQhCAHAF3/fnXQUAU0QQAoArlEolBUEw72oAmBKCEIDU2d3d1Z07d7SysqKVlRUVCoXoJ5vNRq9Pm+d5sixLmUwmlfUDMLn/MO8KAMBF1WpVR0dHajabqlarajQaA+/7vq9CoTD1ejiOo0qlktr6AZgcPUIAUunw8FCSRgYKy7KUz+enXgfXdS99ThrqB2ByK5w+DyCNwqGlyz6igiAYGrJKUrvdVqfTkeM4I9+fd/0AJIMeIQCp47quJA31qrTb7ei/px0y9vf3Rw6LSemoH4BkEIQApM7BwYGkwWGnIAi0v78/k+cHQSDf92XbdirrByA5BCEAqRP2uOzv7yuXyymbzerOnTv66quvZvL8VqulR48epbZ+AJLDqjEAqRL2xmQyGXW73ei1hw8fjj0BOQgCtVotdbtdNRqNa4etHMfR69evE6tfpVJRNpvVDz/8oK+++krFYnGsPweA5BGEAKRKq9WSNDj/JpPJKJ/PXzpUdZ1MJqP19XW1Wq1LJz+HfN/X+vr6pWHppvUrlUqyLEvValWSlMvlousBzB9DYwBSpdPpSBpelv7s2bOJyn337p22trauve6yvYPGqZ/v+2q32wPlPXr0aGjfIQDzQxACkCrh/JuLoeV8D014zU3LjbPJYbvdvnLo6ib18zxP0tm+QiHbtuW6Lsd2AClBEAKQGr7vKwiCkcdahJrN5tBBqOGRF+12W7u7u8pms6rVatH7QRDI8zzl83m1221ls9mRvT5XbaA4Tv3evXs3dN36+rokqdfrXfocALNDEAKQGuE+POd7UEJBEKhSqahSqQz1xti2HfWwVKtVOY6j3d3d6DXXdWVZlg4PD2VZlmq1WrQz9HnXDYvdtH5BEETB5yJOtQfSgcnSAFJhd3c36sVxXVe5XE7r6+vq9XrRSi1JKhaLQ70snU5Htm1fOqTV6XRkWZbW19dl27bq9bo2NjaGrvM879IJ2ePUL5vNRpOrLxoVpgDMHkEIQCpUq9VoZdVNua47sO/PxVPjwyGvMOS4rhttihhqNptX9gaNUz/LsobmAoVDYgQhIB04awzAwltZWdHR0VEULrLZrBzHUT6fVxAEunPnTvS+7/vKZrNDZ4Tlcjm9fv060aMxwmedr9vu7q729/ejPYgAzBdzhAAsNNd1lclkBoJGsViMJj27rivbtqP3w94hz/Oi3prr9g4al2VZKhaLA2eQ7e/vs3weSBGGxgAstE6no/X1dbmuK9/3BzYvlM5Wbp0fNguCQL1eT71eLxoqu26S9CQODg5UqVS0u7urH374QZVKhc0UgRRhaAzAQsvlcqpUKiqXy2OXUSqVhuYMATADQQjAQrs4PwgAbiL1Q2NBEKher0vSyHF1z/NUr9ej1RmFQmFoCW2cawAsnnA4K1wlBgA3leog5LquHMdRu90e2e3t+75yuZy63W401p/NZtXr9aLr41xzme+//16/+93v9OWXX+rWrVsJ/+kATCrcwFD66TgLADg5OdF3332nb775Rj/72c+uvri/ACT1y+Xy0Ov5fL6fz+cHXnMcp3/+jxXnmst8++23fUn88MMPP/zww88C/nz77bfXftenukfoKkEQyHXdoeGycLfYZrOpra2ta6+5qlfoyy+/lCR9++23+qu/+qsEay8dHx/rwYMHevv2rdbW1hIte3NzU69evUq0zGmXPa1yaefZlD3NdpYW7+/dtMqmnWdT9qK28zTLXrTP6H/5l3/Rr371q+h7/CoLG4TCc4IuzgsIh7/CLfWvu+aqIBQOh/385z/XL37xi7Hrurq6qtXV1YHXPn/+LEm6f/++bt++PXbZo9y6devSYwLSWva0yqWdZ1P2NNtZWry/d9Mqm3aeTdmL2s7TLHvWn9Gnp6c6PT0du9zj42NJijWtZWpB6Ne//rU2Njb0+PHjqZQfnutz2QZovu/HuiaOBw8e3Lh+5z1//lw7OzsTlQEAgCnq9bpevHgxk2dNJQh9+PBBjuOo1WpNLQgdHR1J0qUnOwdBEOuaON6+fav79+/fuI6hi71BAADgcs+ePdPTp0/Hvv/9+/exOzGmEoTu3bsnx3Gmupw1m81K+ukAw4ssy4p1TRxra2tT6R4FAADDRk0puYmbzDea2tDYkydPplW0pJ9CzGW9OpZlxboGAACYa2pB6JtvvlGj0ZhoSOkq4cqvi/N8wt9zuVysa+LY3Ny8dMLV9va2tre341ccAABMbG9vT3t7eyPfOzk5iV3O2EHo/CGGF4VL21ut1tSCUCaTkW3b6nQ6Awcsuq4rSdra2op1TRyvXr2a2gz/aZhmMJtW2YsYJhexnadd9rQs4t872nn65U677GlZxPZIYztf1RHheV7szo6xN1RcWVm59ucXv/jFuMVHPn361JdGb6jY7Xb7kvpHR0fRa5Zl9RuNxo2uuUx4b7fbnfBPMezHH3/sS+r/+OOPiZeNn9DOs0E7zwbtPBu08+xMq61v8v09do9QsVhUo9EYuSLr6OhIzWZTv/nNb8YtXtJZonMcR5LUarVUKBSUz+ej5fC2bavb7apWq8myLPm+r1qtNrA3UJxrAACAmcY+ff7169d6+PDhpe+/fPlSHz580N///d+PXbl5C7vWrjprbNw5Qp8/f9YXX3yhH3/8kRVpU0Q7zwbtPBu082zQzrMzSVtfN0fou+++Gzhn9DJj9whdFYKksxVZf/d3f7fQQSi0aHOEAABYdknNERo7CL1///7S98LhJwAAgDQbOwjZtq2VlZVL3+/3+9rd3R23eAAAgKkbOwhlMploifpFd+/elW3b1w6fAQAAzNPYQejly5fa3NxMsi6pxYaKAACky9w3VDQlBEnTmSy9urqqBw+ea3d3Vf/hz/9f4ID65K2urur58+ccfDtltPNs0M6zQTvPziRtndRk6bGXz1/n17/+tTY2NqZ2+vwshA0ZZ/ndOC4GH4IQAACTu8n3919MowIfPnyQ4zgDx1oAAACkzVQOXb13754cx+F09+t8fHPhha9nXwcAAAw2tdPnt7a29MUXX0yr+JlisjQAAOky98nS13n9+rXevXuner0+rUfMDDtLAwCQLnPfWVqS/umf/kmdTkdBEAy83uv15Hmeer3eUgQhAACwnCbaR6hSqVx5DSe8AwCANBt71ZjjOOp0Ovr06ZN+//vfq9Fo6E9/+pP+9Kc/qdfrqVwu6ze/+U2SdQUAAEjU2EEon8/r4cOH+uKLL5TP53V4eBi9l8lklMvl9OzZs0QqCQAAMA1jB6Eff/xx4PetrS39wz/8w8Br7XZ73OIBAACmbuw5QpZl6S//8i91584dHR4eanNzUxsbG+p0OspkMmq32yMPZF1ELJ8HACBd5r58/m//9m/1/fff65//+Z+1vr4uSWq1WioUCvrw4YMkqdFojFt8qrB8HgBS6A87865BPL/cmXcNllIqls9fDDqWZeno6EgfPnzQ+vr60myoCAAAltPUjtgAAADJ8DxP+/v7cl1XktTtdudco+UxlUNXAQBAcmzb1qNHj+R53lSf4/v+0CbJy44gBADAApjFXNVSqaRerzf156QJQQgAAKhUKk29xymNpnboKgAAmI0gCFSr1ZTJZKIwU6vVlM/nR14TBIFc11WtVlO5XFa73Y7uq1QqymQyevbsmRErpglCMbCPEAAgrTzP08OHD/X69esouDSbTRUKBTUaDVWrVUnSkydPZFlWtOK72WxG84GKxaLevXun3d1dOY4jy7Lm8me5ibnvI2QS9hECAKTVkydPtLGxMfA9VS6X5TiOarWaisWiLMuS67oDh6GXy2Xt7u7Oo8qJSGofIeYIAQCwoHzfl+d5I/+xXqlUJJ0dki6d7fW3u7s7EH7C3iKTEYQAAFhQV01u3tjYkHQWliTp4OBAmUxGtVpN2WzWyInRoxCEAABYcKP2/gnP+wyPwbIsSx8+fFA+n5fv+8rlcmo2mzOsZToRhAAAWFDhkFi44/R5YTjKZrOSznqGMpmMOp2ODg4OJP00fGYyghAAAAvKsizZti3f96MhsNDh4aEymUw0Qfr8+aDFYjGaO3TxPnaWBgAACyOc+3O+dycIAjUaDb18+TIaImu1WgOhJwgCWZYVLZUPe44cx5Hv+2q327P7Q8wRy+cBAIvplzvzrsHMeJ4X9eB4nqfd3V2Vy2VlMplo7s+TJ09UKBSiYHNwcDCwmmxjY0OFQkHFYlHSWU/Q+cNbwyX3rVZL0k+rzZYdQQgAgJSzbVuO41waTjKZTDTv5zKdTufa55h4qj1BKAZ2lgYAIF3YWXqG2FkaAIB0YWdpAACACRGEAACAsQhCAADAWAQhAABgLIIQAAAwFkEIAAAYiyAEAACMRRACAADGIggBAABjEYQAAICxCEIAAMBYnDUGAFhIOzvzrkE8i1LPJHmep8PDQ5XL5XlX5VoEoRg4fR4AkBae52l/f1++78vzPFUqFVWr1XlXS5Lk+75qtZra7bZs255qEOL0+Rni9HkAQBp4nqeHDx/q06dPkqRaraajo6M51+onlmXp4OBAKysrU39WUqfPE4QAAFgQ9Xpd6+vr0e+NRmOOtVkOTJYGAGBBeJ437yosHYIQAAAp12w2VSqV5Pu+fN9XqVRSqVSS67rRNUEQqFKpqFarqVAoqFAoDLzfbrd1584draysRIHKdV2VSiWtrKyoVCpF5TSbTeVyObXbbbmuq1wuN3DNeeFzw5/d3d0pt0ayCEIAAKRcuVzWwcGBLMuK5uEcHBwon89LOuspunfvniqVihqNhjqdjkqlkgqFQhRMisWitra2BsrN5/NDw2u9Xk+dTkee58lxHHU6Hb18+VLlclntdnsg6Pi+r3v37qlUKslxHDmOM+WWSB5BCACABffkyRNtbGwMLOwpl8uybVu1Wk2+70uSMpnM0L3n5xxJZxOeHz16JEkqFApqNBqybTsKOZ1OJ7q2VqtpY2MjCmSSUrOCLS6CEAAACyxcRj9qdXOlUpGksXtqRgWnXq8XPbfdbqtQKIxVdloQhAAAWGBXTaDe2NiQpKhHKElhmZZlJV72LBGEAABYAkEQDL0W9uhcHP5KQhiEwh6iRUUQAgBggYVDYudXiIXCcJTNZhN/btgT1O12Ey97lghCAAAsiF6vN9QDY1mWbNuOltafd3h4qEwmEx11cffuXUmDQ2Xhf4/qUbpKOOzWbDZH3nvT8uaFIAQAwII7ODhQJpOJJkdLZ0Gk0Wjo5cuX0RBZ2HtUq9Xkuq6azWY0kdp13Wjic5zhrkwmE60Qy+Vycl03OmtMOgtYi7CnEEdsAAAWkkmnuod7+oS9LJVKRaVSKVq2blmWPnz4oCdPnqhQKETDVgcHBwOrycJ9g+r1ukqlksrlshzHkeu6KhaLevToUfQs6ewID8uytLGxEQUcz/O0u7urarWqRqOhbDarRqOhQqEg27Z1cHCgdrutYrGoYrE4w1Yaz0q/3+/PuxJpFR7a1u12p3Lo6s7jN4O///brxJ8BAIBpbvL9zdAYAAAwFkEIAAAYiyAEAACMRRACAADGWppVY0EQqF6vS9LQSbrS2cSper0uy7IUBIEKhcJCzGYHAADTsxRByHVdOY6jdrsdbRp1nu/7Q7PHs9mser3eyOsBAIAZlmJoLJ/P6+Dg4NL3K5WK8vn8wBK6Wq02sPEUAAAwz1IEoasEQTCwW2bo/NbgAADATEsxNHaVw8NDST8dDhcKe4c6nc61w2PHx8f6/Pnz2HVYXV3V6urq2PcDAGCS09NTnZ6ejn3/8fFx7GuXPgiFh8mF56xc9v5VHjx4MFEdnj9/rh2T9oIHAGAC9XpdL168mMmzlj4IHR0dSZLW19dHvh/ndNy3b9/q/v37Y9eB3iAAAOJ79uyZnj59Ovb979+/j92JsfRBKJvNSrr8JN2LQ2ajrK2t6fbt24nWCwAAjDbplJK1tbXY1y79ZOkw6FzW8xMnCAEAgOW09D1C4eqwi3OBwt9zudy1ZWxuburWrVsj39ve3tb29vaEtQQAADext7envb29ke+dnJzELmfpg1Amk5Ft2+p0OqpWq9HrrutKkra2tq4t49WrVwN7EAEAgPm6qiPC87xYHR3SEg2NXTXp+eXLl3Jdd6BXqNFoqNFoXLqaDAAALL+l6BHyPE+O40iSWq2WCoWC8vl8FHJs21a321WtVpNlWfJ9X7VajeM1AAAw3Eq/3+/PuxJpFXatffnll1OZI7Tz+M3g77/9eqxyAAAwzXVzhL777ruBM0YvsxQ9QtPGHCEAANKFOUIAAAATIggBAABjEYQAAICxmCMUAxsqAgCQLmyoOENMlgYAIF2YLA0AADAhghAAADAWQQgAABiLOUIxMFkaAIB0YbL0DDFZGgCAdGGyNAAAwIQIQgAAwFgEIQAAYCyCEAAAMBZBCAAAGItVYzGwfB4AgHRh+fwMsXweAIB0Yfk8AADAhAhCAADAWAQhAABgLIIQAAAwFkEIAAAYi1VjMbB8HgCAdGH5/AyxfB4AgHRh+TwAAMCECEIAAMBYBCEAAGAsghAAADAWQQgAABiLIAQAAIxFEAIAAMYiCAEAAGOxoWIM7CwNAEC6sLP0DLGzNAAA6cLO0gAAABMiCAEAAGMRhAAAgLEIQgAAwFgEIQAAYCyCEAAAMBZBCAAAGIsgBAAAjEUQAgAAxiIIAQAAYxGEAACAsQhCAADAWAQhAABgLE6fj2Fzc1O3bt0a+d5Vp98CAIDp2Nvb097e3sj3Tk5OYpdDEIrh1atXsm173tUAAAB/dlVHhOd5yuVyscphaAwAABiLIAQAAIxFEAIAAMYiCAEAAGMRhAAAgLEIQgAAwFgEIQAAYCyCEAAAMBZBCAAAGIsgBAAAjEUQAgAAxiIIAQAAYxGEAACAsTh9HpimP+wMv/bLEa8BAOaCHiEAAGAsghAAADCWUUEoCALVajXVarV5VwUAAKSAMXOEXNeV4zhqt9sql8vzrg6WwM5OvNcAAOllTBDK5/PK5/NaWVmZd1UAAEBKGBOEgMR9fDPixa9nWwcAwESMmiMEAABwHj1CMRwfH+vz589j37+6uqrV1dUEawQAwPI6PT3V6enp2PcfHx/HvpYgFMODBw8muv/58+faYRatGUZtoJhUOWzECMAQ9XpdL168mMmzCEIxvH37Vvfv3x/7fnqDzLHz268Hf3/8Zh7VAICF9uzZMz19+nTs+9+/fx+7E4MgFMPa2ppu374972pgAV0MRpKk31+4ZmcWNQGAxTHplJK1tbXY1xKEgFn7+ObCC1/Pvg4AAEkEoVg2Nzd169atke9tb29re3t7xjUCAMBse3t72tvbG/neyclJ7HKMCkJBEIx136tXr2TbdrKVAf5s9Dyir4ev++WUKwIAC+SqjgjP85TL5WKVY8w+Qp7nRWeMtVottdvtsYMRAABYDsb0CNm2Lcdx5DjOvKsCjOXipOo4k6w5Dw0ArmZMEJoEc4SwKAg5AEzBHKEZYo4Q0ojQA8BkSc0RIggBAM5c3NGc3cxhAIIQsKg+vhl+7edfz7gSALDYCEKAaS78q3/n9ztDlzDsBsAUBKEYmCyNhfHxzeDv9BABWFJMlp4hJksjFT6+mWG5X19/n8nzSdL+Z79YPyl9dQQmxGRpAGMZeRDsdUZ9sS4DAgNgPIIQgHQhnACYIYIQgCFDk6U/fj18zeM3068IAEwZQSgGJktjYX18M7WiLw6xcSgsgFlisvQMMVkauN6oHqKhsLQz4r4Rr10rzpylWQ6nLcJw3jgTvBfhzwVjMVkaAM5ZyB6qOOEk7SvUkkLowpwQhABMDRszAkg7ghCA2fn4Zvi1P4x4LeWGep8ev5ndw+k5ARJFEAKQeheDxs7jGDcRGKaDuUZYMgShGFg1BkzPWBs8jvusnQsvjNoWYFpzi+JM8F7WjSuTQqDCOawamyFWjQHpEic8jbzm5zEKT2pyMqEmvQhUS4FVYwBwUx/fzLsG00HoWnymrA5MIYIQgGEf38y7BnOT1DL8pCZUj1POqN6wofumGZ6WIZjRa2QMghCA6fn4Zt41mBhbAOBShKWlQBACgDmZ6zJ83Nwy9HRhCEEIACY09uTthJ41rQA1y2cZhUCVKgQhADBArLD2+M2Ny1mIo0xmiUnPC4cgFAP7CAGYhXF7jWa5FxOQFuwjNEPsIwQAGAvDYFPDPkIAgLkbtapu5z8nVPg4u3GzASZuiCAEAJA03yE2JmZjXghCAACkDXsUzQxBCACu8vHNvGuw8Eb29rDaDClBEAIAJIpVbHPE8v0b+4t5VwAAAGBe6BECAIzv45t51+B6rAi7muHzkQhCAICFxU7XmBRBKAZ2lgaAZI3af+jae8Y8JmTn8c2fhfRjZ+kZYmdpAEjYxzfzrsGAoZ6lx2/mUQ3cQFI7SzNZGgAAGIseIQCAURZ2eT9L46eCIAQAwAUc+WEOghAAIJUWtucGC4UgBADAIoqzPxJ7KF2LydIAAMBY9AgBAJZaUkNsLLFfTvQIAQAAY9EjBADAlMTtjaJ3aX7oEQIAAMaiRwgAgDGw19ByoEcIAAAYix4hAAASwiaQi4cgFMPm5qZu3bo18r2rTr8FAADTsbe3p729vZHvnZycxC6HIBTDq1evZNv2vKsBAAD+7KqOCM/zlMvlYpVDEAIAAIMMOumeIAQAwJyxa/X8sGoMAAAYiyAEAACMxdAYAAALgOGz6aBHCAAAGIsgBAAAjMXQGAAAKZO6HaovLqeXlmZJPT1CAADAWAQhAABgLIbGAABYQKOGz1hJdnP0CAEAAGPRIwQAwJJgr6GbIwgBAICbW5KDWRkaAwAAxiIIAQAAYy3k0JjnearX67IsS0EQqFAoqFgsxro3CALV63VJUqPRmGY1AQBAyi1cEPJ9X7lcTt1uV7ZtS5Ky2ax6vZ7K5fKV97quK8dx1G63r70WAAAsv4UbGqtUKsrn81EIkqRaraZKpXLtvfl8XgcHB9OsHgAAWCALFYSCIJDruioUCgOvb2xsSJKazeY8qgUAABbUQgWhw8NDSZJlWQOvh71DnU5n5nUCAACLa6HmCPm+L0nKZDJXvp+04+Njff78eez7V1dXtbq6mmCNAABYXqenpzo9PR37/uPj49jXLlQQOjo6kiStr6+PfD8Igqk898GDBxPd//z5c+3s7CRTGQAAJrAIu0/X63W9ePFiJs9aqCCUzWYlSb1eb+T7F4fMkvL27Vvdv39/7PvpDQIAIL5nz57p6dOnY9///v372J0YCxWEwqBzWc/PtILQ2tqabt++PZWyAQDAoEmnlKytrcW+dqGCULg67OJcoPD3XC438zoBAJBWF4fBMGyhglAmk5Ft2+p0OqpWq9HrrutKkra2tqby3M3NTd26dWvke9vb29re3p7KcwEAwGh7e3va29sb+d7JyUnschYqCEnSy5cvlcvl5Pt+NBTWaDTUaDSi1WS+76tQKMhxHOXz+YH7x5lQ/erVq4ENHAEAwHxd1RHheV7sUaKFC0K2bavb7apWq8myLPm+r1qtNnBkRhAE6vV6Q6HH8zw5jiNJarVaKhQKyufzly7HBwAAy23hgpB0FoauOirDtm19+vRp5OuO40RhCAAAmG0hg9CsMUcIAIB0MXaO0DwwRwgAgHRJao7QQp01BgAAkCR6hAAAMNiovYbSeOzGtBCEYmCOEADAJItwHhlzhGaIOUIAAKQLc4QAAAAmRBACAADGIggBAABjEYQAAICxmCwdA6vGAABIF1aNzRCrxgAAuMYfdoZf++WI1xLCqjEAAIAJEYQAAICxCEIAAMBYBCEAAGAsJkvHwKoxAADShVVjM8SqMQAA0oVVYwAAABMiCAEAAGMRhAAAgLEIQgAAwFgEIQAAYCyCEAAAMBbL52NgHyEAgMl2fvv18GuP38y6GgPYR2iG2EcIAIB0YR8hAACACRGEAACAsQhCAADAWMwRAgAA0/GHncHff7kz6qq5okcIAAAYiyAEAACMRRACAADGIggBAABjMVk6BnaWBgAgXdhZeobYWRoAgHRhZ2kAAIAJEYQAAICxCEIAAMBYzBECAAA3tvPbrwd/f/xmHtWYGD1CAADAWAQhAABgLIIQAAAwFkEIAAAYiyAEAACMRRACAADGIggBAABjEYQAAICx2FAxBk6fBwAgXTh9foY4fR4AgHTh9HkAAIAJEYQAAICxCEIAAMBYBCEAAGAsghAAADAWq8YAAMDEdn779fBrj9/Muho3Ro8QAAAwFkEIAAAYiyAEAACMRRACAADGIggBAABjEYQAAICxCEIAAMBYBCEAAGAsghAAADAWQQgAABiLIAQAAIyVurPGPM9TvV6XZVkKgkCFQkHFYjGx+4IgUL1elyQ1Go3E6w8AABZHqoKQ7/vK5XLqdruybVuSlM1m1ev1VC6XJ77PdV05jqN2u31leQAAwAypGhqrVCrK5/NRmJGkWq2mSqWSyH35fF4HBwfJVhoAACys1AShIAjkuq4KhcLA6xsbG5KkZrOZ6H0AAACpCUKHh4eSJMuyBl4Pe3k6nU6i9wEAAKRmjpDv+5KkTCZz5ftJ3XcTx8fH+vz589j3r66uanV1deJ6AABggtPTU52eno59//HxcexrUxOEjo6OJEnr6+sj3w+CINH7buLBgwcT3f/8+XPt7OxMXA8AAExQr9f14sWLmTwrNUEom81Kknq93sj3Lw59TXrfTbx9+1b3798f+356gwAAiO/Zs2d6+vTp2Pe/f/8+didGaoJQGFgu68G5LNCMe99NrK2t6fbt2xOXAwAArjfplJK1tbXY16YmCIWrvC7O6Ql/z+Vyid53E5ubm7p169bI97a3t7W9vT3xMwAAQHx7e3va29sb+d7JyUnsclIThDKZjGzbVqfTUbVajV53XVeStLW1leh9N/Hq1auBPYoAAMB8XdUR4Xle7I6Q1Cyfl6SXL1/Kdd2B3p1Go6FGoxGtCvN9X9lsNgo6ce8LJTF5GgAALIfU9AhJZ3v/dLtd1Wo1WZYl3/dVq9UGjsMIgkC9Xm8g0MS5TzpLiI7jSJJarZYKhYLy+fylS+8BAMByS1UQks5CzVXHYNi2rU+fPt34vvAax3GiMAQAAMyWuiCURkyWBgAgXZZusnSaMVkaAIB0WcrJ0gAAALNEEAIAAMZiaCwG5ggBAJAuzBGaIeYIAQCQLswRAgAAmBBBCAAAGIsgBAAAjEUQAgAAxmKydAysGgMAIF1YNTZDrBoDACBdWDUGAAAwIYIQAAAwFkEIAAAYiyAEAACMxWTpGFg1BgBAurBqbIZYNQYAQLqwamzBnZ6e6o33X/Tvf/zXeVdlqZ2enmpnZ0enp6fzrspS+/c//it/n2eAdp4N2jk5O7/9euDnojR8RhOE5uT09FRv3/9X/fGP/zbvqiy109NTvXjxgiA0ZX/847/x93kGaOfZoJ1nJw2f0QQhAABgLIIQAAAwFkEIAAAYiyAEAACMxfL5GNhHCACAdGEfoRliHyEAANKFfYQAAAAmRBBaQpd1Faa57GnWeVr+x//8b5Q9I9OqM+08iHaejUVsj0Vs57gIQkuIIDQb7/7Xf6fsGZlWnWnnQbTzbCxieyxiO8dFEAIAAMYiCAEAAGMRhAAAgLEIQgAAwFgEIQAAYCw2VLxCuDPlX//1X2t1dXXkNY8ePdLW1taNyz4+PpYk/b8f/o/+038827Xa826PWdNBJycn8jwvkbJmVfa0yg3b+f3791pbW0u07H//91P93+//d6JlLmrZ//pvZ/9bOf/3OUnTag/aeRDtfGZR23maZSdV7sXvuUk+o1utlvb390e+d3p6KineDtMr/X6/f6MnG+Qf//Ef9atf/Wre1QAAAGP49ttv9Td/8zdXXkMQusL333+v3/3ud/ryyy8vPWsMAACky8nJib777jt98803+tnPfnbltQQhAABgLCZLAwAAYxGEAACAsVg1NgWe56ler8uyLAVBoEKhoGKxOLX7TDVue7XbbdXrdXmeJ9u21Wg0lM/nZ1DjxZTE30vXdVUqlfTp06cp1XLxJdHOvu+r3W5LksrlsjKZzBRquvgm+ezodDrKZDLyfV+WZanRaMygxosnCALV63VJit1Gc/sO7CNRR0dHfUn9brcbvWZZVt9xnKncZ6px26vRaPTz+XzfcZx+tVrtS+pL6nc6nWlXeSEl9ffSsqx+JpNJunpLY9J2Pjo66heLxX4+n+8fHR1Nq5pLYdy2Pjg46Nu2PfBaPp/vV6vVqdRzkXU6nX6xWOxL6pfL5Vj3zPM7kCCUsHw+38/n8wOvOY7Tvy5zjnufqcZtr2KxOPB7t9vtSxoqC2eS+HtZrVb7+XyeIHSFSdq52+32M5lM7C8c003yGX2xjRuNRt+yrMTruCxuEoTm+R3IHKEEBUEg13VVKBQGXt/Y2JAkNZvNRO8z1bjt5bruUBetbduybVu+70+nsgssib+Xruvq7t27sm17KnVcBpO0cxAEevjwoSzLkuM4U63nMpikrXu9nlzXHXjt6OhIlmUlX1HDzPs7kCCUoMPDQ0ka+h9G+CXQ6XQSvc9U47ZXPp+/9EOLD7NhSfy9dBxH1Wo1+cotkUnauVarKQgC5qnENElbVyoV+b6vUqkk6Ww+S6vVou0TMO/vQIJQgsJehcsmKF7W6zDufaZKur3Of7jhJ5O2c61W40sihknaOfyXcqfTUS6X0507d1QoFPjMuMQkbV0ul1Uul9Vut5XNZlWr1fThwwd6OxMw7+9AglCCjo6OJEnr6+sj3w+CINH7TJVke7XbbVmWpXK5nETVlsok7ex5nu7evUtPWwzjtnN4Np9t26pUKup2u+p2u/J9X9lsls+NESb97HAcJxpKd113aKgM45n3dyBBKEHZbFbS2VjyKJd9KYx7n6mSbK96va6Dg4NE6rVsJmnner3OkFhM47Zz+K/kSqUSXXN+rlC4dBk/mfSzo1AoqFKpREvoS6VStF0Bxjfv70D2EUpQ+P+sy9LrdfNTbnqfqZJqr1qtppcvX9K+lxi3nWu12tDwTPjf4f+lzX8ybjtfNowQ7onF8NiwST47KpWKJEW9xx8+fNC9e/f05MkT9nub0Ly/A+kRSlA4w/3iB1D4ey6XS/Q+UyXRXs1mU4VCgfH9K4zbzq7rqlKpKJvNRj/tdltBECibzTIf64JJPzfCYYWLLhtmMNkknx2tVmvg8yKTyajRaCgIgmiYEuOZ93cgQShBmUxGtm0PzXAPx5G3trYSvc9Uk7ZX2JV9cTdpPswGjdvO3W5X/bM9yqKfarWqTCajfr+vbrc79bovkkk+N/L5/NA8lfBf1fwDatgknx3r6+tDPRbhZwg7eE9m7t+BU9+pyDDhBn3nd3e1LKvfaDSi34+OjvqWZQ3sZhznPvxk3HbudDp927b7juMM/JTLZXbxHmHcdr6oWq2yoeIVJv3cOP9ao9EY2gEZPxm3rRuNRj+TyfQ/ffo08BptPdqnT58u3VAxbd+BzBFKmG3b6na7qtVqsixLvu+rVqsNrEoKgkC9Xm/gXxdx7sNPxmlnz/OiDbvC8f7zOAdr2Lh/n3EzSXxuHBwcKJPJKAgCet2uMG5bh72apVIpGiILgkCvX7+e9R8h9TzPiybtt1otFQoF5fP5qOcsbd+BK/1+vz/1pwAAAKQQc4QAAICxCEIAAMBYBCEAAGAsghAAADAWQQgAABiLIAQAAIxFEAIAAMYiCAEAgLmZ9wHBBCEAADA3pVJprjvTE4QAAMCQ3d1d3blzRysrK1pZWVGhUIh+stls9PokPM+TZVlDB9fO4tkhzhoDAABDqtWqjo6O1Gw2Va1W1Wg0Bt73fT86v3FcjuOMPPtxFs8O0SMEAABGOjw8lKSRocOyLOXz+YnKd1330jKm/ewQh64CAICRwuGny6JCEARDw1pxtdttdTqd6KT6WT77PHqEAADAENd1JWmo56Xdbkf/PUkQ2d/fHzksNotnn0cQAgAAQw4ODiQNDk0FQaD9/f2Jyw6CQL7vy7btmT/7IoIQAAAYEvbK7O/vK5fLKZvN6s6dO/rqq68mLrvVaunRo0dzefZFrBoDAAADwh6bTCajbrcbvfbw4cNEJik7jqPXr18n9uxKpaJsNqsffvhBX331lYrFYuy6EIQAAMCAVqslaXCOTiaTUT6fv3Q4Ky7f97W+vn7pHJ+bPrtUKsmyLFWrVUlSLpeLro+DoTEAADCg0+lIGl66/uzZs4nLvmzvoHGe7fu+2u32QHmPHj0a2nfoKgQhAAAwIJyjs7W1NfD6+V6c8BrpLJBks1nlcrnotSAIlMvlBlZ6SWcrv64aurrJsz3Pk3S2r1DItm25rhv72A6CEAAAiPi+ryAIRh59EWo2mwOHpdZqNTUaDQVBEIWUer2uIAgGQs9VGyiO8+x3794NXbe+vi5J6vV61/1RJTFHCAAAnBP24JzvZQkFQaBaraZms6lPnz5Frz969EjFYjEKMkEQaHd3NxrmCjmOc+Xw2k2fHQRBFHwu8n1/ZDkXEYQAAICks8NOa7WapLPem1wup/X1dfV6vWg1lyQVi8WBnpiw18e2bfm+r3q9rmKxONT743nepZOtx3l2NpuNJldfFCcESRyxAQAAEuJ5nvb399Vut9XtdgfCUrPZVBAE0equJLTbbZVKpYFjOFzXVaFQuPRojovoEQIAAInIZDLa3d3VwcHB0Nydq/YOGlfYu3R+GOyqXqdRmCwNAAASEQSB8vn80Kqw6/YOGpdlWSoWiwMr0/b392+0fJ6hMQAAkIharaa7d+8ODX/VarUb7/h8E+d3ls5msyqXy7HvJQgBAICJBUGgO3fuyHGcoSBSKpWig1TThqExAAAwsWazKWn0aq20hiCJIAQAABJwdHQky7ISOZR1lhgaAwAAiQiCIPEJ0dNGEAIAAMZiaAwAABiLIAQAAIxFEAIAAMYiCAEAAGMRhAAAgLEIQgAAwFgEIQAAYCyCEAAAMNb/B4vF72RvXs0TAAAAAElFTkSuQmCC",
"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.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": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"found: 15673 , lost: 4042\n",
"0.2578957442735915\n"
]
},
{
"data": {
"text/html": [
"<pre>[-3.61,\n",
" -33.8,\n",
" 65.2,\n",
" -26.6,\n",
" 31.6,\n",
" -52.1,\n",
" -44.7,\n",
" -103,\n",
" -10.2,\n",
" -47.1,\n",
" ...,\n",
" -25.5,\n",
" -90.3,\n",
" 55.2,\n",
" 152,\n",
" -144,\n",
" 330,\n",
" -13.1,\n",
" -4.27,\n",
" -17.8]\n",
"---------------------\n",
"type: 15673 * float64</pre>"
],
"text/plain": [
"<Array [-3.61, -33.8, 65.2, ..., -13.1, -4.27, -17.8] type='15673 * 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": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"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]\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",
" 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": 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: 41978\n",
"lost: 8523\n",
"50501\n",
"VELO energy emission, eff: 0.15952159363180926\n",
"RICH1+UT energy emission, eff: 0.10419595651571256\n",
"Neither, eff: 0.5675135145838697\n",
"total efficiency: 0.8312310647313915\n",
"efficiency: 0.8312310647313914\n",
"\n",
"found in velo/(found + lost in velo)\n",
"VELO energy emission, eff: 0.8187823965850188\n",
"RICH1+UT energy emission, eff: 0.7830357142857143\n",
"eff von e die nicht strahlen: 0.8443815921277473\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": 17,
"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": 18,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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W+Sn8dZbbw38mxXLy8t68OBB5t55xnEn8Li/+zB8+teGTJ9Aoo97jjhujjsLknL/Xur1er1Zb/TFixdaX1/X6uqqfvCDH8x68wHXdZXL5dTpdHitBhCHOSZBANIrKffvubQEvfPOO3IcR6ZpzmPzAAAA1za37rC7d+/qi1/84rw2DwAAcC1TD4y+yocffqidnZ15bR4AAOBartUS9J3vfEetVuvS299PTk7kuq5OTk5Uq9Wus4ux3LlzRzdu3AidR7FEAACiN6pY4qtXryKOJty16gRVKpWRy0T1HrAnT54wMBoAgAQZ1QjhD4yO29TdYY7jqNVq6fT0VH/1V38l27b12Wef6bPPPtPJyYnK5bL+5E/+ZJaxAgAAzMzUSVA+n9f777+vL37xi8rn83r27FkwzzAM5XI5xgQBAIDEmjoJ+uEPfzjw9d27d/XHf/zHA9Oazea0mwcAAJirqccEmaapN954Q6urq3r27Jnu3LmjjY0NtVotGYahZrMZ+nJVAACAJJg6Cfr93/99ff/739ff/d3faW1tTZL0+PFjFQoFvXjxQpJk2/ZsogQAAJixaz0ifzHJMU1TR0dHevHihdbW1iiWCGQVr9OANPz7IGn4vsysub02AwCArHBdVwcHB2q325KkTqcTc0QYx9xemxEliiUCAOLk16rb3d2da906z/O0tra2EGNuU10sMUkolggAiFsU96FSqaRGo7EQSVCqiyUCAIDolEolua4bdxipkoqWIAAAkqzb7aparcowjCCRqVaryufzoct0u121221Vq1WVy2U1m81gvUqlIsMwtLOzQy/INZEEAQAwR67r6v3339eHH34YJC31el2FQkG2bWt7e1uStLm5KdM0gyev6/V68ILyYrGojz76SLu7u3IcR6ZpxnIsaUN3GAAAc7S5uamNjY2BVptyuSzLslStVuV5niQFT5b1L4P5IgkCkC7ffRj+AWLgeZ5c1w3ttqpUKpJev5Bcel1rb3d3V7u7u8EyfisR5oMkCACAORk1kHljY0OSgpYg/6mvarWq9fV1BkFHgCQIAIA588f29PMfc/dfPWWapl68eKF8Pi/P85TL5VSv1yOMMntIggAAmBO/G+zieB/p88RofX1d0usWIcMw1Gq11Gg0JH3eZYb5SMXTYVSMBnAl3meGGJimKcuy5LquPM8beKrr2bNnMgwjGABt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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) & (\n",
" energy_emissions.quality == 1)][\"velo\"]) - ak.to_numpy(energy_emissions[\n",
" (~energy_emissions.lost) & (energy_emissions.quality == 1)][\"rich\"])\n",
"diff_lost = ak.to_numpy(energy_emissions[(energy_emissions.lost) & (\n",
" energy_emissions.quality == 1)][\"velo\"]) - ak.to_numpy(energy_emissions[\n",
" (energy_emissions.lost) & (energy_emissions.quality == 1)][\"rich\"])\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.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": 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(\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": 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
}