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.
 
 

1103 lines
155 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": [
"40402 10099\n",
"50501\n"
]
}
],
"source": [
"#file = uproot.open(\"tracking_losses_ntuple_Bd2KstEE.root:PrDebugTrackingLosses.PrDebugTrackingTool/Tuple;1\")\n",
"file = uproot.open(\n",
" \"tracking_losses_ntuple_B_default.root:PrDebugTrackingLosses.PrDebugTrackingTool/Tuple;1\"\n",
")\n",
"\n",
"# selektiere nur elektronen von B->K*ee\n",
"allcolumns = file.arrays()\n",
"found = allcolumns[\n",
" (allcolumns.isElectron) & (~allcolumns.lost) & (allcolumns.fromB)\n",
"] # B: 9056\n",
"lost = allcolumns[\n",
" (allcolumns.isElectron) & (allcolumns.lost) & (allcolumns.fromB)\n",
"] # B: 1466\n",
"\n",
"electrons = allcolumns[(allcolumns.isElectron) & (allcolumns.fromB)]\n",
"\n",
"print(ak.num(found, axis=0), ak.num(lost, axis=0))\n",
"print(ak.num(electrons,axis=0))\n",
"# ak.count(found, axis=None)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre>{all_endvtx_types_length: 7,\n",
" all_endvtx_types: [101, 101, 101, 101, 101, 101, 0],\n",
" all_endvtx_x_length: 7,\n",
" all_endvtx_x: [-6.97, -52.9, -52.9, ..., -1.71e+03, -2.14e+03, -3.57e+03],\n",
" all_endvtx_y_length: 7,\n",
" all_endvtx_y: [-0.89, -6.75, -6.75, -7.08, -66.1, -72.6, -39.5],\n",
" all_endvtx_z_length: 7,\n",
" all_endvtx_z: [112, 859, 859, 895, 8.7e+03, 9.68e+03, 1.26e+04],\n",
" brem_photons_pe_length: 6,\n",
" brem_photons_pe: [2.62e+03, 812, 2.54e+03, 1.86e+03, 3.12e+03, 241],\n",
" brem_photons_px_length: 6,\n",
" brem_photons_px: [-161, -49.7, -156, -114, -1.18e+03, -101],\n",
" brem_photons_py_length: 6,\n",
" brem_photons_py: [-18.9, -6.92, -21.6, -16.8, -20.9, -0.26],\n",
" brem_photons_pz_length: 6,\n",
" brem_photons_pz: [2.61e+03, 810, 2.54e+03, 1.86e+03, 2.89e+03, 219],\n",
" brem_vtx_x_length: 6,\n",
" brem_vtx_x: [-6.97, -52.9, -52.9, -55.2, -1.71e+03, -2.14e+03],\n",
" brem_vtx_y_length: 6,\n",
" ...}\n",
"---------------------------------------------------------------------------\n",
"type: {\n",
" all_endvtx_types_length: int32,\n",
" all_endvtx_types: var * float32,\n",
" all_endvtx_x_length: int32,\n",
" all_endvtx_x: var * float32,\n",
" all_endvtx_y_length: int32,\n",
" all_endvtx_y: var * float32,\n",
" all_endvtx_z_length: int32,\n",
" all_endvtx_z: var * float32,\n",
" brem_photons_pe_length: int32,\n",
" brem_photons_pe: var * float32,\n",
" brem_photons_px_length: int32,\n",
" brem_photons_px: var * float32,\n",
" brem_photons_py_length: int32,\n",
" brem_photons_py: var * float32,\n",
" brem_photons_pz_length: int32,\n",
" brem_photons_pz: var * float32,\n",
" brem_vtx_x_length: int32,\n",
" brem_vtx_x: var * float32,\n",
" brem_vtx_y_length: int32,\n",
" brem_vtx_y: var * float32,\n",
" brem_vtx_z_length: int32,\n",
" brem_vtx_z: var * float32,\n",
" endvtx_type: int32,\n",
" endvtx_x: float64,\n",
" endvtx_y: float64,\n",
" endvtx_z: float64,\n",
" energy: float64,\n",
" eta: float64,\n",
" event_count: int32,\n",
" fromB: bool,\n",
" fromD: bool,\n",
" fromDecay: bool,\n",
" fromHadInt: bool,\n",
" fromPV: bool,\n",
" fromPairProd: bool,\n",
" fromSignal: bool,\n",
" fromStrange: bool,\n",
" ideal_state_770_qop: float64,\n",
" ideal_state_770_tx: float64,\n",
" ideal_state_770_ty: float64,\n",
" ideal_state_770_x: float64,\n",
" ideal_state_770_y: float64,\n",
" ideal_state_770_z: float64,\n",
" ideal_state_9410_qop: float64,\n",
" ideal_state_9410_tx: float64,\n",
" ideal_state_9410_ty: float64,\n",
" ideal_state_9410_x: float64,\n",
" ideal_state_9410_y: float64,\n",
" ideal_state_9410_z: float64,\n",
" isElectron: bool,\n",
" isKaon: bool,\n",
" isMuon: bool,\n",
" isPion: bool,\n",
" isProton: bool,\n",
" lost: bool,\n",
" lost_in_track_fit: bool,\n",
" match_fraction: float32,\n",
" mc_chi2: float32,\n",
" mc_dSlope: float32,\n",
" mc_dSlopeY: float32,\n",
" mc_distX: float32,\n",
" mc_distY: float32,\n",
" mc_teta2: float32,\n",
" mc_zMag: float32,\n",
" mcp_idx: int32,\n",
" mother_id: int32,\n",
" mother_key: int32,\n",
" originvtx_type: int32,\n",
" originvtx_x: float64,\n",
" originvtx_y: float64,\n",
" originvtx_z: float64,\n",
" p: float64,\n",
" phi: float64,\n",
" pid: int32,\n",
" pt: float64,\n",
" px: float64,\n",
" py: float64,\n",
" pz: float64,\n",
" quality: int32,\n",
" rad_length_frac: float64,\n",
" scifi_hit_pos_x_length: int32,\n",
" scifi_hit_pos_x: var * float32,\n",
" scifi_hit_pos_y_length: int32,\n",
" scifi_hit_pos_y: var * float32,\n",
" scifi_hit_pos_z_length: int32,\n",
" scifi_hit_pos_z: var * float32,\n",
" track_p: float64,\n",
" track_pt: float64,\n",
" tx: float64,\n",
" ty: float64,\n",
" ut_hit_pos_x_length: int32,\n",
" ut_hit_pos_x: var * float32,\n",
" ut_hit_pos_y_length: int32,\n",
" ut_hit_pos_y: var * float32,\n",
" ut_hit_pos_z_length: int32,\n",
" ut_hit_pos_z: var * float32,\n",
" velo_hit_pos_x_length: int32,\n",
" velo_hit_pos_x: var * float32,\n",
" velo_hit_pos_y_length: int32,\n",
" velo_hit_pos_y: var * float32,\n",
" velo_hit_pos_z_length: int32,\n",
" velo_hit_pos_z: var * float32,\n",
" velo_track_idx: int32,\n",
" velo_track_tx: float64,\n",
" velo_track_ty: float64,\n",
" velo_track_x: float64,\n",
" velo_track_y: float64,\n",
" velo_track_z: float64\n",
"}</pre>"
],
"text/plain": [
"<Record {all_endvtx_types_length: 7, ...} type='{all_endvtx_types_length: i...'>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"electrons[0]"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre>{lost: True,\n",
" rad_length_frac: 0.129,\n",
" energy: 1.17e+04,\n",
" photon_length: 6,\n",
" brem_photons_pe: [2.62e+03, 812, 2.54e+03, 1.86e+03, 3.12e+03, 241],\n",
" brem_vtx_x: [-6.97, -52.9, -52.9, -55.2, -1.71e+03, -2.14e+03],\n",
" brem_vtx_z: [112, 859, 859, 895, 8.7e+03, 9.68e+03]}\n",
"---------------------------------------------------------------------\n",
"type: {\n",
" lost: bool,\n",
" rad_length_frac: float64,\n",
" energy: float64,\n",
" photon_length: int64,\n",
" brem_photons_pe: var * float64,\n",
" brem_vtx_x: var * float64,\n",
" brem_vtx_z: var * float64\n",
"}</pre>"
],
"text/plain": [
"<Record {lost: True, rad_length_frac: ..., ...} type='{lost: bool, rad_leng...'>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lost_e = electrons[\"lost\"]\n",
"e = electrons[\"energy\"]\n",
"brem_pe = electrons[\"brem_photons_pe\"]\n",
"brem_z = electrons[\"brem_vtx_z\"]\n",
"brem_x = electrons[\"brem_vtx_x\"]\n",
"length = electrons[\"brem_vtx_z_length\"]\n",
"rad_length = electrons[\"rad_length_frac\"]\n",
"\n",
"\n",
"brem = ak.ArrayBuilder()\n",
"\n",
"for itr in range(ak.num(electrons, axis=0)):\n",
" brem.begin_record()\n",
" brem.field(\"lost\").boolean(lost_e[itr])\n",
" brem.field(\"rad_length_frac\").append(rad_length[itr])\n",
" # [:,\"energy\"] energy\n",
" brem.field(\"energy\").append(e[itr])\n",
" # [:,\"photon_length\"] number of vertices\n",
" brem.field(\"photon_length\").integer(length[itr])\n",
" # [:,\"brem_photons_pe\",:] photon energy\n",
" brem.field(\"brem_photons_pe\").append(brem_pe[itr])\n",
" # [:,\"brem_vtx_z\",:] brem vtx z\n",
" brem.field(\"brem_vtx_x\").append(brem_x[itr])\n",
" brem.field(\"brem_vtx_z\").append(brem_z[itr])\n",
" brem.end_record()\n",
"\n",
"brem = ak.Array(brem)\n",
"brem[0]"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"photon_cut = 0\n",
"photon_cut_ratio = 0.1\n",
"\n",
"cut_brem = ak.ArrayBuilder()\n",
"\n",
"for itr in range(ak.num(brem, axis=0)):\n",
" cut_brem.begin_record()\n",
" cut_brem.field(\"event_id\").integer(itr)\n",
" cut_brem.field(\"lost\").boolean(brem[itr, \"lost\"])\n",
" cut_brem.field(\"rad_length_frac\").real(brem[itr, \"rad_length_frac\"])\n",
" cut_brem.field(\"energy\").real(brem[itr, \"energy\"])\n",
"\n",
" ph_length = brem[itr, \"photon_length\"]\n",
" \n",
" tmp_energy = brem[itr, \"energy\"]\n",
"\n",
" cut_brem.field(\"brem_photons_pe\")\n",
" cut_brem.begin_list()\n",
" for jentry in range(brem[itr, \"photon_length\"]):\n",
" if (\n",
" brem[itr, \"brem_vtx_z\", jentry] > 3000\n",
" or brem[itr, \"brem_photons_pe\", jentry] < photon_cut\n",
" or brem[itr, \"brem_photons_pe\", jentry] < photon_cut_ratio * tmp_energy\n",
" ):\n",
" ph_length -= 1\n",
" continue\n",
" else:\n",
" cut_brem.real(brem[itr, \"brem_photons_pe\", jentry])\n",
" tmp_energy -= brem[itr, \"brem_photons_pe\", jentry]\n",
" cut_brem.end_list()\n",
"\n",
" tmp_energy = brem[itr, \"energy\"]\n",
"\n",
" cut_brem.field(\"brem_vtx_x\")\n",
" cut_brem.begin_list()\n",
" for jentry in range(brem[itr, \"photon_length\"]):\n",
" if (\n",
" brem[itr, \"brem_vtx_z\", jentry] > 3000\n",
" or brem[itr, \"brem_photons_pe\", jentry] < photon_cut\n",
" or brem[itr, \"brem_photons_pe\", jentry] < photon_cut_ratio * tmp_energy\n",
" ):\n",
" continue\n",
" else:\n",
" cut_brem.real(brem[itr, \"brem_vtx_x\", jentry])\n",
" tmp_energy -= brem[itr, \"brem_photons_pe\", jentry]\n",
" cut_brem.end_list()\n",
"\n",
" tmp_energy = brem[itr, \"energy\"]\n",
"\n",
" cut_brem.field(\"brem_vtx_z\")\n",
" cut_brem.begin_list()\n",
" for jentry in range(brem[itr, \"photon_length\"]):\n",
" if (\n",
" brem[itr, \"brem_vtx_z\", jentry] > 3000\n",
" or brem[itr, \"brem_photons_pe\", jentry] < photon_cut\n",
" or brem[itr, \"brem_photons_pe\", jentry] < photon_cut_ratio * tmp_energy\n",
" ):\n",
" continue\n",
" else:\n",
" cut_brem.real(brem[itr, \"brem_vtx_z\", jentry])\n",
" tmp_energy -= brem[itr, \"brem_photons_pe\", jentry]\n",
" cut_brem.end_list()\n",
" \n",
" cut_brem.field(\"photon_length\").integer(ph_length)\n",
"\n",
" cut_brem.end_record()\n",
"\n",
"ntuple = ak.Array(cut_brem)\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"44163\n",
"50501\n"
]
},
{
"data": {
"text/html": [
"<pre>{event_id: 0,\n",
" lost: True,\n",
" rad_length_frac: 0.129,\n",
" energy: 1.17e+04,\n",
" brem_photons_pe: [2.62e+03, 2.54e+03, 1.86e+03],\n",
" brem_vtx_x: [-6.97, -52.9, -55.2],\n",
" brem_vtx_z: [112, 859, 895],\n",
" photon_length: 3}\n",
"-------------------------------------------------\n",
"type: {\n",
" event_id: int64,\n",
" lost: bool,\n",
" rad_length_frac: float64,\n",
" energy: float64,\n",
" brem_photons_pe: var * float64,\n",
" brem_vtx_x: var * float64,\n",
" brem_vtx_z: var * float64,\n",
" photon_length: int64\n",
"}</pre>"
],
"text/plain": [
"<Record {event_id: 0, lost: True, ...} type='{event_id: int64, lost: bool, ...'>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print(ak.sum(ak.num(ntuple[\"brem_photons_pe\"], axis=1)))\n",
"print(ak.num(ntuple,axis=0))\n",
"ntuple[0]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"# nulltuple = ntuple[:7000]\n",
"# onetuple = ntuple[7000:14000]\n",
"# twotuple = ntuple[14000:21000]\n",
"# threetuple = ntuple[21000:28000]\n",
"# fourtuple = ntuple[28000:35000]\n",
"# fivetuple = ntuple[35000:42000]\n",
"# sixtuple = ntuple[42000:49000]\n",
"# seventuple = ntuple[49000:]\n",
"\n",
"# ntuple.nbytes"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"# cut = \"tenCut\"\n",
"# tree = \"Tree10\"\n",
"# with uproot.update(\"trackinglosses_B_photon_cuts.root\") as outFile:\n",
"# #outFile[\"README\"] = \"The Cuts are placed on the photons. noCut: 0*E, first: 0.05*E, second: 0.1*E, etc.\"\n",
"# outFile.mktree(tree, {cut + \"_event_id\": ntuple[\"event_id\"].type, cut + \"_lost\": ntuple[\"lost\"].type, cut + \"_rad_length_frac\": ntuple[\"rad_length_frac\"].type, cut + \"_energy\": ntuple[\"energy\"].type, cut + \"_brem_photons_pe\": ntuple[\"brem_photons_pe\"].type, cut + \"_brem_vtx_x\": ntuple[\"brem_vtx_x\"].type, cut + \"_brem_vtx_z\": ntuple[\"brem_vtx_z\"].type, cut + \"_photon_length\": ntuple[\"photon_length\"].type} )\n",
"# outFile[tree].extend( {cut + \"_event_id\": nulltuple[\"event_id\"], cut + \"_lost\": nulltuple[\"lost\"], cut + \"_rad_length_frac\": nulltuple[\"rad_length_frac\"], cut + \"_energy\": nulltuple[\"energy\"], cut + \"_brem_photons_pe\": nulltuple[\"brem_photons_pe\"], cut + \"_brem_vtx_x\": nulltuple[\"brem_vtx_x\"], cut + \"_brem_vtx_z\": nulltuple[\"brem_vtx_z\"], cut + \"_photon_length\": nulltuple[\"photon_length\"]} )\n",
"# outFile[tree].extend( {cut + \"_event_id\": onetuple[\"event_id\"], cut + \"_lost\": onetuple[\"lost\"], cut + \"_rad_length_frac\": onetuple[\"rad_length_frac\"], cut + \"_energy\": onetuple[\"energy\"], cut + \"_brem_photons_pe\": onetuple[\"brem_photons_pe\"], cut + \"_brem_vtx_x\": onetuple[\"brem_vtx_x\"], cut + \"_brem_vtx_z\": onetuple[\"brem_vtx_z\"], cut + \"_photon_length\": onetuple[\"photon_length\"]} )\n",
"# outFile[tree].extend( {cut + \"_event_id\": twotuple[\"event_id\"], cut + \"_lost\": twotuple[\"lost\"], cut + \"_rad_length_frac\": twotuple[\"rad_length_frac\"], cut + \"_energy\": twotuple[\"energy\"], cut + \"_brem_photons_pe\": twotuple[\"brem_photons_pe\"], cut + \"_brem_vtx_x\": twotuple[\"brem_vtx_x\"], cut + \"_brem_vtx_z\": twotuple[\"brem_vtx_z\"], cut + \"_photon_length\": twotuple[\"photon_length\"]} )\n",
"# outFile[tree].extend( {cut + \"_event_id\": threetuple[\"event_id\"], cut + \"_lost\": threetuple[\"lost\"], cut + \"_rad_length_frac\": threetuple[\"rad_length_frac\"], cut + \"_energy\": threetuple[\"energy\"], cut + \"_brem_photons_pe\": threetuple[\"brem_photons_pe\"], cut + \"_brem_vtx_x\": threetuple[\"brem_vtx_x\"], cut + \"_brem_vtx_z\": threetuple[\"brem_vtx_z\"], cut + \"_photon_length\": threetuple[\"photon_length\"]} )\n",
"# outFile[tree].extend( {cut + \"_event_id\": fourtuple[\"event_id\"], cut + \"_lost\": fourtuple[\"lost\"], cut + \"_rad_length_frac\": fourtuple[\"rad_length_frac\"], cut + \"_energy\": fourtuple[\"energy\"], cut + \"_brem_photons_pe\": fourtuple[\"brem_photons_pe\"], cut + \"_brem_vtx_x\": fourtuple[\"brem_vtx_x\"], cut + \"_brem_vtx_z\": fourtuple[\"brem_vtx_z\"], cut + \"_photon_length\": fourtuple[\"photon_length\"]} )\n",
"# outFile[tree].extend( {cut + \"_event_id\": fivetuple[\"event_id\"], cut + \"_lost\": fivetuple[\"lost\"], cut + \"_rad_length_frac\": fivetuple[\"rad_length_frac\"], cut + \"_energy\": fivetuple[\"energy\"], cut + \"_brem_photons_pe\": fivetuple[\"brem_photons_pe\"], cut + \"_brem_vtx_x\": fivetuple[\"brem_vtx_x\"], cut + \"_brem_vtx_z\": fivetuple[\"brem_vtx_z\"], cut + \"_photon_length\": fivetuple[\"photon_length\"]} )\n",
"# outFile[tree].extend( {cut + \"_event_id\": sixtuple[\"event_id\"], cut + \"_lost\": sixtuple[\"lost\"], cut + \"_rad_length_frac\": sixtuple[\"rad_length_frac\"], cut + \"_energy\": sixtuple[\"energy\"], cut + \"_brem_photons_pe\": sixtuple[\"brem_photons_pe\"], cut + \"_brem_vtx_x\": sixtuple[\"brem_vtx_x\"], cut + \"_brem_vtx_z\": sixtuple[\"brem_vtx_z\"], cut + \"_photon_length\": sixtuple[\"photon_length\"]} )\n",
"# outFile[tree].extend( {cut + \"_event_id\": seventuple[\"event_id\"], cut + \"_lost\": seventuple[\"lost\"], cut + \"_rad_length_frac\": seventuple[\"rad_length_frac\"], cut + \"_energy\": seventuple[\"energy\"], cut + \"_brem_photons_pe\": seventuple[\"brem_photons_pe\"], cut + \"_brem_vtx_x\": seventuple[\"brem_vtx_x\"], cut + \"_brem_vtx_z\": seventuple[\"brem_vtx_z\"], cut + \"_photon_length\": seventuple[\"photon_length\"]} )"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"50501\n"
]
},
{
"data": {
"text/html": [
"<pre>{event_id: 1,\n",
" lost: False,\n",
" rad_length_frac: 0.148,\n",
" energy: 1.28e+04,\n",
" brem_photons_pe: [7.42e+03],\n",
" brem_vtx_x: [-3.61],\n",
" brem_vtx_z: [35.6],\n",
" photon_length: 1}\n",
"-----------------------------------\n",
"type: {\n",
" event_id: int64,\n",
" lost: bool,\n",
" rad_length_frac: float64,\n",
" energy: float64,\n",
" brem_photons_pe: var * float64,\n",
" brem_vtx_x: var * float64,\n",
" brem_vtx_z: var * float64,\n",
" photon_length: int64\n",
"}</pre>"
],
"text/plain": [
"<Record {event_id: 1, lost: False, ...} type='{event_id: int64, lost: bool,...'>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# data in cut_brem_found and cut_brem_lost\n",
"\n",
"length_found = ak.num(ntuple[~ntuple.lost][\"brem_photons_pe\"], axis=0)\n",
"length_lost = ak.num(ntuple[ntuple.lost][\"brem_photons_pe\"], axis=0)\n",
"print(length_found+length_lost)\n",
"ntuple[1]"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"Z_found = ak.to_numpy(\n",
" ak.sum(ntuple[~ntuple.lost][\"brem_photons_pe\"], axis=-1, keepdims=False)\n",
") / ak.to_numpy(ntuple[~ntuple.lost][\"energy\"])\n",
"Z_lost = ak.to_numpy(\n",
" ak.sum(ntuple[ntuple.lost][\"brem_photons_pe\"], axis=-1, keepdims=False)\n",
") / ak.to_numpy(ntuple[ntuple.lost][\"energy\"])"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"xlim=0\n",
"\n",
"plt.hist(\n",
" Z_lost,\n",
" bins=100,\n",
" density=True,\n",
" alpha=0.5,\n",
" histtype=\"bar\",\n",
" color=\"darkorange\",\n",
" label=\"lost\",\n",
" range=[xlim,1]\n",
")\n",
"plt.hist(\n",
" Z_found,\n",
" bins=100,\n",
" density=True,\n",
" alpha=0.5,\n",
" histtype=\"bar\",\n",
" color=\"blue\",\n",
" label=\"found\",\n",
" range=[xlim,1]\n",
")\n",
"plt.xlabel(r\"$E_\\gamma/E_0$\")\n",
"plt.ylabel(\"a.u.\")\n",
"plt.title(r\"$E_{ph}/E_0$\")\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"found: 32898 , lost: 11265\n",
"0.34242203173445196\n"
]
},
{
"data": {
"text/html": [
"<pre>[-3.61,\n",
" -33.8,\n",
" -133,\n",
" 65.2,\n",
" -5.73,\n",
" -26.6,\n",
" -4.26,\n",
" 6.83,\n",
" 10.7,\n",
" 26.2,\n",
" ...,\n",
" -11.6,\n",
" -13.1,\n",
" -25.6,\n",
" -4.27,\n",
" -4.27,\n",
" -103,\n",
" 8.82,\n",
" 12.8,\n",
" -17.8]\n",
"---------------------\n",
"type: 32898 * float64</pre>"
],
"text/plain": [
"<Array [-3.61, -33.8, -133, ..., 8.82, 12.8, -17.8] type='32898 * float64'>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tuple_found = ntuple[~ntuple.lost]\n",
"tuple_lost = ntuple[ntuple.lost]\n",
"\n",
"brem_x_found = ak.to_numpy(ak.flatten(tuple_found[\"brem_vtx_x\"]))\n",
"brem_z_found = ak.to_numpy(ak.flatten(tuple_found[\"brem_vtx_z\"]))\n",
"\n",
"brem_x_lost = ak.to_numpy(ak.flatten(tuple_lost[\"brem_vtx_x\"]))\n",
"brem_z_lost = ak.to_numpy(ak.flatten(tuple_lost[\"brem_vtx_z\"]))\n",
"\n",
"n_found = len(brem_x_found)\n",
"n_lost = len(brem_x_lost)\n",
"print(\"found: \", n_found, \", lost: \", n_lost)\n",
"stretch_factor = n_lost / n_found\n",
"print(stretch_factor)\n",
"ak.flatten(tuple_found[\"brem_vtx_x\"])"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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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] > 770) and (\n",
" ntuple[jelec, \"brem_vtx_z\", jphoton] <= 2700\n",
" ):\n",
" tmp_richut += ntuple[jelec, \"brem_photons_pe\", jphoton]\n",
" tmp_richut_length += 1\n",
" else:\n",
" tmp_neither += ntuple[jelec, \"brem_photons_pe\", jphoton]\n",
" tmp_neither_length += 1\n",
"\n",
" energy_emissions.field(\"velo_length\").integer(tmp_velo_length)\n",
" energy_emissions.field(\"velo\").real(tmp_velo)\n",
"\n",
" energy_emissions.field(\"rich_length\").integer(tmp_richut_length)\n",
" energy_emissions.field(\"rich\").real(tmp_richut)\n",
" \n",
" energy_emissions.field(\"neither_length\").integer(tmp_neither_length)\n",
" energy_emissions.field(\"downstream\").real(tmp_neither)\n",
" \n",
" energy_emissions.field(\"photon_length\").integer(tmp_neither_length+tmp_richut_length+tmp_velo_length)\n",
" \n",
" if (tmp_velo==0) and (tmp_richut==0):\n",
" energy_emissions.field(\"quality\").integer(0)\n",
" else:\n",
" energy_emissions.field(\"quality\").integer(1)\n",
"\n",
" energy_emissions.end_record()\n",
"\n",
"energy_emissions = ak.Array(energy_emissions)\n",
"\n",
"print(ak.num(energy_emissions,axis=0))\n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre>{lost: False,\n",
" energy: 5.09e+04,\n",
" velo_length: 0,\n",
" velo: 0,\n",
" rich_length: 0,\n",
" rich: 0,\n",
" neither_length: 0,\n",
" downstream: 0,\n",
" photon_length: 0,\n",
" quality: 0}\n",
"--------------------------\n",
"type: {\n",
" lost: bool,\n",
" energy: float64,\n",
" velo_length: int64,\n",
" velo: float64,\n",
" rich_length: int64,\n",
" rich: float64,\n",
" neither_length: int64,\n",
" downstream: float64,\n",
" photon_length: int64,\n",
" quality: int64\n",
"}</pre>"
],
"text/plain": [
"<Record {lost: False, energy: 5.09e+04, ...} type='{lost: bool, energy: flo...'>"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"energy_emissions[3]"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"found: 40402\n",
"lost: 10099\n",
"50501\n",
"VELO energy emission, eff: 0.2624700500980179\n",
"RICH1+UT energy emission, eff: 0.17696679273677748\n",
"Neither, eff: 0.3605869190709095\n",
"total efficiency: 0.8000237619057049\n",
"efficiency: 0.8000237619057048\n",
"\n",
"found in velo/(found + lost in velo)\n",
"VELO energy emission, eff: 0.807739183424741\n",
"RICH1+UT energy emission, eff: 0.7549417131272175\n",
"eff von e die nicht strahlen: 0.8183166314654204\n"
]
}
],
"source": [
"# efficiency berechnen als found in velo oder rich über alle elektronen\n",
"# dann kann man zusammenrechnen mit velo, rich, und allen anderen elektronen\n",
"# expected eff = 81.19%\n",
"\n",
"electrons_found = energy_emissions[~energy_emissions.lost]\n",
"electrons_lost = energy_emissions[energy_emissions.lost]\n",
"\n",
"anz_found = ak.num(electrons[~electrons.lost],axis=0)\n",
"anz_lost = ak.num(electrons[electrons.lost],axis=0)\n",
"print(\"found: \",anz_found)\n",
"print(\"lost: \", anz_lost)\n",
"\n",
"num_velo_found = 0\n",
"num_rich_found = 0\n",
"num_no_up_rad_found = 0\n",
"for itr in range(ak.num(electrons_found, axis=0)):\n",
" if (electrons_found[itr, \"quality\"]==1):\n",
" if (electrons_found[itr, \"velo\"] >= electrons_found[itr, \"rich\"]):\n",
" num_velo_found += 1\n",
" else:\n",
" num_rich_found += 1\n",
" else:\n",
" num_no_up_rad_found += 1\n",
"\n",
"num_velo_lost = 0\n",
"num_rich_lost = 0\n",
"num_no_up_rad_lost = 0\n",
"for itr in range(ak.num(electrons_lost, axis=0)):\n",
" if (electrons_lost[itr, \"quality\"]==1):\n",
" if (electrons_lost[itr, \"velo\"] >= electrons_lost[itr, \"rich\"]):\n",
" num_velo_lost += 1\n",
" else:\n",
" num_rich_lost += 1\n",
" else:\n",
" num_no_up_rad_lost += 1\n",
"\n",
"\n",
"\n",
"denom = ak.num(electrons,axis=0)\n",
"print(denom)\n",
"\n",
"\n",
"eff_velo = num_velo_found/denom\n",
"\n",
"eff_rich = num_rich_found/denom\n",
"\n",
"eff_other = ak.num(electrons_found[electrons_found.quality==0],axis=0)/denom\n",
"\n",
"print(\"VELO energy emission, eff: \", eff_velo)\n",
"\n",
"print(\"RICH1+UT energy emission, eff: \", eff_rich)\n",
"\n",
"print(\"Neither, eff: \", eff_other)\n",
"\n",
"print(\"total efficiency: \", eff_velo + eff_rich + eff_other)\n",
"\n",
"print(\"efficiency: \", anz_found/(anz_found+anz_lost))\n",
"\n",
"print(\"\\nfound in velo/(found + lost in velo)\")\n",
"\n",
"eff_velo = num_velo_found/(num_velo_found+num_velo_lost)\n",
"eff_rich = num_rich_found/(num_rich_found+num_rich_lost)\n",
"\n",
"eff_no_rad = num_no_up_rad_found/(num_no_up_rad_found+num_no_up_rad_lost)\n",
"\n",
"print(\"VELO energy emission, eff: \", eff_velo)\n",
"\n",
"print(\"RICH1+UT energy emission, eff: \", eff_rich)\n",
"\n",
"print(\"eff von e die nicht strahlen: \", eff_no_rad )"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"40402\n",
"10099\n",
"50501\n"
]
}
],
"source": [
"print(ak.num(electrons[~electrons.lost],axis=0))\n",
"print(ak.num(electrons[electrons.lost],axis=0))\n",
"print(ak.num(electrons,axis=0))\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# energyspektren angucken von velo und rich\n",
"diff_found = ak.to_numpy(energy_emissions[(~energy_emissions.lost) & (energy_emissions.quality==1)][\"velo\"]) - ak.to_numpy(energy_emissions[(~energy_emissions.lost) & (energy_emissions.quality==1)][\"rich\"])\n",
"diff_lost = ak.to_numpy(energy_emissions[(energy_emissions.lost) & (energy_emissions.quality==1)][\"velo\"]) - ak.to_numpy(energy_emissions[(energy_emissions.lost) & (energy_emissions.quality==1)][\"rich\"])\n",
"\n",
"xlim = 20000\n",
"\n",
"plt.hist(diff_lost,bins=100,density=True,alpha=0.5,histtype=\"bar\",color=\"darkorange\",label=\"lost\",range=[-xlim,xlim])\n",
"plt.hist(diff_found,bins=100,density=True,alpha=0.5,histtype=\"bar\",color=\"blue\",label=\"found\", range=[-xlim,xlim])\n",
"plt.xlim(-20000,20000)\n",
"plt.title(\"emitted energy difference\")\n",
"plt.xlabel(r\"$E_{velo} - E_{rich}$ [MeV]\")\n",
"plt.ylabel(\"a.u.\")\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# number of brem vtx with E>x*E_0\n",
"\n",
"number_velo = ak.to_numpy(energy_emissions[energy_emissions.quality==1][\"velo_length\"])\n",
"number_rich = ak.to_numpy(energy_emissions[energy_emissions.quality==1][\"rich_length\"])\n",
"\n",
"\n",
"plt.hist(number_velo,bins=10,density=True,alpha=0.5,histtype=\"bar\",color=\"darkorange\",label=\"velo\",range=[0,10])\n",
"plt.hist(number_rich,bins=10,density=True,alpha=0.5,histtype=\"bar\",color=\"blue\",label=\"rich\",range=[0,10])\n",
"plt.xlim(0,10)\n",
"plt.title(\"number of photons emitted\")\n",
"plt.xlabel(\"number of photons\")\n",
"plt.ylabel(\"a.u.\")\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"' \\nphoton cut = x*E_0\\neffs, all photons included: x=0\\nfound in velo/(found + lost in velo)\\nVELO energy emission, eff: 0.8446167611094543\\nRICH1+UT energy emission, eff: 0.7961586121437423\\neff von e die nicht strahlen: 0.7954674220963173\\n'"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"\"\" \n",
"photon cut = x*E_0\n",
"effs, all photons included: x=0\n",
"found in velo/(found + lost in velo)\n",
"VELO energy emission, eff: 0.8446167611094543\n",
"RICH1+UT energy emission, eff: 0.7961586121437423\n",
"eff von e die nicht strahlen: 0.7954674220963173\n",
"\"\"\""
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "tuner",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.12"
}
},
"nbformat": 4,
"nbformat_minor": 2
}