diff --git a/.DS_Store b/.DS_Store index bdf12f3b35fb346974f75dd5f695f9c866673b3b..c7654bcb7368828de1be55d790b8e438eea76aae 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.ipynb_checkpoints/test1-checkpoint.ipynb b/.ipynb_checkpoints/test1-checkpoint.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..5410125de7c695ecccb52ed3ebb1fce2ee5f56d8 --- /dev/null +++ b/.ipynb_checkpoints/test1-checkpoint.ipynb @@ -0,0 +1,319 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "01b5362f", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import uproot\n", + "def getData(fname=\"\", procName=\"Events\"):\n", + " file = uproot.open(fname)\n", + " dq_dict = file[procName].arrays(library=\"np\")\n", + " dq_events = {\n", + " \"Hits\":{\n", + " \"edep\": dq_dict[\"hit_edep\"],\n", + " \"elmID\": dq_dict[\"hit_elmID\"],\n", + " }\n", + " }\n", + "\n", + " return dq_events\n", + "#--------------------------------------------------------------------------------------------------------------------------------------------\n", + "\n", + "ntowersx=72\n", + "ntowersy=36\n", + "sizex=5.53 # in cm\n", + "sizey=5.53 # in cm\n", + "ecalx=[-200,200] #size in cm\n", + "ecaly=[-100,100]\n", + "binsx=ecalx[1]- ecalx[0]\n", + "binsy=ecaly[1]- ecaly[0]\n", + "sfc = 0.1146337964120158 #sampling fraction of emcal\n", + "emin=0.0005\n", + "seed_threshold=0.2\n", + "\n", + "#--------------------------------------------------------------------------------------------------------------------------------------------\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "53305f35", + "metadata": {}, + "outputs": [], + "source": [ + "electron = \"Aprime_dielectron.root\"" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "dfabad39", + "metadata": {}, + "outputs": [ + { + "ename": "ValueError", + "evalue": "The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[7], line 6\u001b[0m\n\u001b[1;32m 3\u001b[0m raw_elmID \u001b[38;5;241m=\u001b[39m dq_hits[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124melmID\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 4\u001b[0m raw_edep \u001b[38;5;241m=\u001b[39m dq_hits[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124medep\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[0;32m----> 6\u001b[0m eng_mask \u001b[38;5;241m=\u001b[39m \u001b[43mraw_edep\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m>\u001b[39;49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[43memin\u001b[49m\n\u001b[1;32m 8\u001b[0m elmID \u001b[38;5;241m=\u001b[39m raw_elmID[eng_mask]\n\u001b[1;32m 9\u001b[0m edep \u001b[38;5;241m=\u001b[39m raw_edep[eng_mask]\n", + "\u001b[0;31mValueError\u001b[0m: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()" + ] + } + ], + "source": [ + "dq_events = getData(electron, \"Events\")\n", + "dq_hits = dq_hits = dq_events[\"Hits\"]\n", + "raw_elmID = dq_hits[\"elmID\"]\n", + "raw_edep = dq_hits[\"edep\"]\n", + "\n", + "eng_mask = raw_edep >= emin\n", + "\n", + "elmID = raw_elmID[eng_mask]\n", + "edep = raw_edep[eng_mask]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "a9103b59", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "53" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(elmID)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "c9d44ea8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "53" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(edep)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "314af790", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Enter sample type (electron or dielectron)= electron\n", + "Enter event number (0-9)= 8\n", + "Filtered event data: {'elmID': array([1207, 1208, 1243, 1244, 1245, 1246, 1279, 1280, 1281, 1282, 1283,\n", + " 1314, 1315, 1316, 1317, 1318, 1352, 1387, 1388, 1389, 1390],\n", + " dtype=int32), 'edep': array([2.1672759e-03, 2.3865167e-03, 6.9637364e-03, 6.5519638e-02,\n", + " 5.9960117e-03, 1.5223619e-03, 1.5519783e-02, 1.3763729e+00,\n", + " 1.7959915e-02, 1.1316873e-03, 2.6412117e-03, 1.1183993e-03,\n", + " 3.0373151e-03, 1.8506199e-02, 5.9680296e-03, 1.2358509e-03,\n", + " 1.5430434e-03, 1.2675102e-03, 8.8297541e-04, 8.7783835e-04,\n", + " 1.5175857e-03], dtype=float32)}\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "import uproot\n", + "\n", + "def getData(fname=\"\", procName=\"Events\"):\n", + " \"\"\"Load data from a ROOT file.\"\"\"\n", + " file = uproot.open(fname)\n", + " dq_dict = file[procName].arrays(library=\"np\")\n", + " dq_events = {\n", + " \"Hits\": {\n", + " \"edep\": dq_dict[\"hit_edep\"],\n", + " \"elmID\": dq_dict[\"hit_elmID\"],\n", + " }\n", + " }\n", + " return dq_events\n", + "\n", + "def process_event(sample_type=\"electron\", event_number=0):\n", + " \"\"\"\n", + " Process a specific event from the ROOT file.\n", + "\n", + " Parameters:\n", + " - sample_type (str): Type of sample (\"electron\" or \"dielectron\")\n", + " - event_number (int): Event number (0–10)\n", + "\n", + " Returns:\n", + " - dict: Processed data for the event, including elmID and edep\n", + " \"\"\"\n", + " # Validate event number\n", + " if event_number < 0 or event_number > 9:\n", + " raise ValueError(\"Event number must be between 0 and 10\")\n", + "\n", + " # Select ROOT file based on sample type\n", + " file_name = f\"{sample_type}.root\"\n", + " proc_name = f\"Events{event_number}\"\n", + " \n", + " # Load event data\n", + " dq_events = getData(file_name, proc_name)\n", + " dq_hits = dq_events[\"Hits\"]\n", + " \n", + " # Retrieve and filter data\n", + " raw_elmID = dq_hits[\"elmID\"]\n", + " raw_edep = dq_hits[\"edep\"]\n", + " \n", + " # Apply energy mask\n", + " eng_mask = raw_edep >= emin\n", + " elmID = raw_elmID[eng_mask]\n", + " edep = raw_edep[eng_mask]\n", + "\n", + " # Return the filtered data\n", + " return {\n", + " \"elmID\": elmID,\n", + " \"edep\": edep\n", + " }\n", + "\n", + "# Example usage\n", + "sample_type = input(\"Enter sample type (electron or dielectron): \")\n", + "event_number = int(input(\"Enter event number (0-9): \"))\n", + "result = process_event(sample_type, event_number)\n", + "\n", + "# Print the result for debugging\n", + "print(\"Filtered event data:\", result)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "ed5f8593", + "metadata": {}, + "outputs": [], + "source": [ + "elmID = np.array([1207, 1208, 1243, 1244, 1245, 1246, 1279, 1280, 1281, 1282, 1283,\n", + " 1314, 1315, 1316, 1317, 1318, 1352, 1387, 1388, 1389, 1390])\n", + "edep = np.array([2.1672759e-03, 2.3865167e-03, 6.9637364e-03, 6.5519638e-02,\n", + " 5.9960117e-03, 1.5223619e-03, 1.5519783e-02, 1.3763729e+00,\n", + " 1.7959915e-02, 1.1316873e-03, 2.6412117e-03, 1.1183993e-03,\n", + " 3.0373151e-03, 1.8506199e-02, 5.9680296e-03, 1.2358509e-03,\n", + " 1.5430434e-03, 1.2675102e-03, 8.8297541e-04, 8.7783835e-04,\n", + " 1.5175857e-03])\n", + "emcal_towerx = elmID // ntowersy\n", + "emcal_towery = elmID % ntowersy\n", + "\n", + "# Converting to physical coordinates\n", + "emcal_x = ecalx[0] + emcal_towerx * sizex\n", + "emcal_y = ecaly[0] + emcal_towery * sizey\n", + "\n", + "# Scaling energy deposition\n", + "emcal_edep = edep / sfc\n", + "\n", + "# Combining results into parallel arrays\n", + "EMCal_readout = np.column_stack((emcal_x, emcal_y, emcal_edep))" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "3dcb48e2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-1.75100000e+01, 5.07000000e+00, 1.89060815e-02],\n", + " [-1.75100000e+01, 1.06000000e+01, 2.08186135e-02],\n", + " [-1.19800000e+01, 5.07000000e+00, 6.07476732e-02],\n", + " [-1.19800000e+01, 1.06000000e+01, 5.71556034e-01],\n", + " [-1.19800000e+01, 1.61300000e+01, 5.23057936e-02],\n", + " [-1.19800000e+01, 2.16600000e+01, 1.32802188e-02],\n", + " [-6.45000000e+00, 5.07000000e+00, 1.35385754e-01],\n", + " [-6.45000000e+00, 1.06000000e+01, 1.20066939e+01],\n", + " [-6.45000000e+00, 1.61300000e+01, 1.56672077e-01],\n", + " [-6.45000000e+00, 2.16600000e+01, 9.87219594e-03],\n", + " [-6.45000000e+00, 2.71900000e+01, 2.30404277e-02],\n", + " [-9.20000000e-01, -4.60000000e-01, 9.75627899e-03],\n", + " [-9.20000000e-01, 5.07000000e+00, 2.64958083e-02],\n", + " [-9.20000000e-01, 1.06000000e+01, 1.61437548e-01],\n", + " [-9.20000000e-01, 1.61300000e+01, 5.20616937e-02],\n", + " [-9.20000000e-01, 2.16600000e+01, 1.07808599e-02],\n", + " [ 4.61000000e+00, 1.06000000e+01, 1.34606325e-02],\n", + " [ 1.01400000e+01, 5.07000000e+00, 1.10570376e-02],\n", + " [ 1.01400000e+01, 1.06000000e+01, 7.70257496e-03],\n", + " [ 1.01400000e+01, 1.61300000e+01, 7.65776217e-03],\n", + " [ 1.01400000e+01, 2.16600000e+01, 1.32385540e-02]])" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "EMCal_readout" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f5b80055", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "03c95c98", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.15" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Aprime_dielectron.root b/Aprime_dielectron.root new file mode 100644 index 0000000000000000000000000000000000000000..97b1839f5e64095de056b43a40322332b3b12206 Binary files /dev/null and b/Aprime_dielectron.root differ diff --git a/exercise_3/.DS_Store b/exercise_3/.DS_Store index 567a281f43b00f82465dd581feae245c266c8115..0b3c9ddbdc9e73a398c639a10a51c748037959a9 100644 Binary files a/exercise_3/.DS_Store and b/exercise_3/.DS_Store differ diff --git a/exercise_3/.ipynb_checkpoints/Untitled-checkpoint.ipynb b/exercise_3/.ipynb_checkpoints/Untitled-checkpoint.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..e0ea14c30d8aff296257ee63bf7e464173c84834 --- /dev/null +++ b/exercise_3/.ipynb_checkpoints/Untitled-checkpoint.ipynb @@ -0,0 +1,65 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "id": "f3b25db1", + "metadata": {}, + "outputs": [], + "source": [ + "import ex3" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "6e425e38", + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "module 'ex3' has no attribute 'get_testing_clustering'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[4], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m elmID, edep \u001b[38;5;241m=\u001b[39m \u001b[43mex3\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_testing_clustering\u001b[49m()\n", + "\u001b[0;31mAttributeError\u001b[0m: module 'ex3' has no attribute 'get_testing_clustering'" + ] + } + ], + "source": [ + "elmID, edep = ex3.get_testing_clustering()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7c929313", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.15" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/exercise_3/Aprime_dielectron.root b/exercise_3/Aprime_dielectron.root new file mode 100644 index 0000000000000000000000000000000000000000..97b1839f5e64095de056b43a40322332b3b12206 Binary files /dev/null and b/exercise_3/Aprime_dielectron.root differ diff --git a/exercise_3/Untitled.ipynb b/exercise_3/Untitled.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..f3bea6d9f8c74e13ba73658290b85e320c3e21ac --- /dev/null +++ b/exercise_3/Untitled.ipynb @@ -0,0 +1,74 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "f3b25db1", + "metadata": {}, + "outputs": [], + "source": [ + "import ex3" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "6e425e38", + "metadata": {}, + "outputs": [], + "source": [ + "elmID, edep = ex3.get_testing_clustering()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "7c929313", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "220" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(elmID[0])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "89c0dd94", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.15" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/exercise_3/__pycache__/ex3.cpython-39.pyc b/exercise_3/__pycache__/ex3.cpython-39.pyc index f5760c138104970516fe8b752d4b3a186fa3318d..a8d7bbb5885f2f7e39db1e8de2359a72eeb1a2ba 100644 Binary files a/exercise_3/__pycache__/ex3.cpython-39.pyc and b/exercise_3/__pycache__/ex3.cpython-39.pyc differ diff --git a/exercise_3/ex3.py b/exercise_3/ex3.py index e152463a4704edeee12fb8297228c4696c69cd62..8524d2d3dd320a4c1f9cc898e6c15cb59eaf5de6 100644 --- a/exercise_3/ex3.py +++ b/exercise_3/ex3.py @@ -52,14 +52,12 @@ def get_hit_data(): return elmID, edep -def generate_2d_points(num_clusters=3, points_per_cluster=50, spread=1.0, random_seed=42): - np.random.seed(random_seed) - data = [] +def get_testing_clustering(): + Aprime = "Aprime_dielectron.root" + dq_events = getData(Aprime, "Events") + dq_hits = dq_hits = dq_events["Hits"] + elmID = dq_hits["elmID"] + edep = dq_hits["edep"] + return elmID, edep - for i in range(num_clusters): - center = np.random.rand(2) * 10 - cluster_points = center + np.random.randn(points_per_cluster, 2) * spread - data.append(cluster_points) - - data = np.vstack(data) - return data + \ No newline at end of file diff --git a/test1.ipynb b/test1.ipynb index 43a868d21c013f95593c43719a0f1f46e513d957..6bf51b3d71dde5d3347d9fc5f181fc4c4bf33c6e 100644 --- a/test1.ipynb +++ b/test1.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 13, + "execution_count": 1, "id": "01b5362f", "metadata": {}, "outputs": [], @@ -40,244 +40,73 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 4, "id": "53305f35", "metadata": {}, "outputs": [], "source": [ - "electron = \"dielectron.root\"" + "electron = \"Aprime_dielectron.root\"" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 10, "id": "dfabad39", "metadata": {}, "outputs": [], "source": [ - "dq_events = getData(electron, \"Events0\")\n", + "dq_events = getData(electron, \"Events\")\n", "dq_hits = dq_hits = dq_events[\"Hits\"]\n", - "raw_elmID = dq_hits[\"elmID\"]\n", - "raw_edep = dq_hits[\"edep\"]\n", - "\n", - "eng_mask = raw_edep >= emin\n", - "\n", - "elmID = raw_elmID[eng_mask]\n", - "edep = raw_edep[eng_mask]\n" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "a9103b59", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "53" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "len(elmID)" + "elmID = dq_hits[\"elmID\"]\n", + "edep = dq_hits[\"edep\"]\n" ] }, { "cell_type": "code", - "execution_count": 17, - "id": "c9d44ea8", + "execution_count": 12, + "id": "f5b80055", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "53" + "220" ] }, - "execution_count": 17, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "len(edep)" + "len(elmID[0])" ] }, { "cell_type": "code", - "execution_count": 20, - "id": "314af790", - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Enter sample type (electron or dielectron)= electron\n", - "Enter event number (0-9)= 8\n", - "Filtered event data: {'elmID': array([1207, 1208, 1243, 1244, 1245, 1246, 1279, 1280, 1281, 1282, 1283,\n", - " 1314, 1315, 1316, 1317, 1318, 1352, 1387, 1388, 1389, 1390],\n", - " dtype=int32), 'edep': array([2.1672759e-03, 2.3865167e-03, 6.9637364e-03, 6.5519638e-02,\n", - " 5.9960117e-03, 1.5223619e-03, 1.5519783e-02, 1.3763729e+00,\n", - " 1.7959915e-02, 1.1316873e-03, 2.6412117e-03, 1.1183993e-03,\n", - " 3.0373151e-03, 1.8506199e-02, 5.9680296e-03, 1.2358509e-03,\n", - " 1.5430434e-03, 1.2675102e-03, 8.8297541e-04, 8.7783835e-04,\n", - " 1.5175857e-03], dtype=float32)}\n" - ] - } - ], - "source": [ - "import numpy as np\n", - "import uproot\n", - "\n", - "def getData(fname=\"\", procName=\"Events\"):\n", - " \"\"\"Load data from a ROOT file.\"\"\"\n", - " file = uproot.open(fname)\n", - " dq_dict = file[procName].arrays(library=\"np\")\n", - " dq_events = {\n", - " \"Hits\": {\n", - " \"edep\": dq_dict[\"hit_edep\"],\n", - " \"elmID\": dq_dict[\"hit_elmID\"],\n", - " }\n", - " }\n", - " return dq_events\n", - "\n", - "def process_event(sample_type=\"electron\", event_number=0):\n", - " \"\"\"\n", - " Process a specific event from the ROOT file.\n", - "\n", - " Parameters:\n", - " - sample_type (str): Type of sample (\"electron\" or \"dielectron\")\n", - " - event_number (int): Event number (0–10)\n", - "\n", - " Returns:\n", - " - dict: Processed data for the event, including elmID and edep\n", - " \"\"\"\n", - " # Validate event number\n", - " if event_number < 0 or event_number > 9:\n", - " raise ValueError(\"Event number must be between 0 and 10\")\n", - "\n", - " # Select ROOT file based on sample type\n", - " file_name = f\"{sample_type}.root\"\n", - " proc_name = f\"Events{event_number}\"\n", - " \n", - " # Load event data\n", - " dq_events = getData(file_name, proc_name)\n", - " dq_hits = dq_events[\"Hits\"]\n", - " \n", - " # Retrieve and filter data\n", - " raw_elmID = dq_hits[\"elmID\"]\n", - " raw_edep = dq_hits[\"edep\"]\n", - " \n", - " # Apply energy mask\n", - " eng_mask = raw_edep >= emin\n", - " elmID = raw_elmID[eng_mask]\n", - " edep = raw_edep[eng_mask]\n", - "\n", - " # Return the filtered data\n", - " return {\n", - " \"elmID\": elmID,\n", - " \"edep\": edep\n", - " }\n", - "\n", - "# Example usage\n", - "sample_type = input(\"Enter sample type (electron or dielectron): \")\n", - "event_number = int(input(\"Enter event number (0-9): \"))\n", - "result = process_event(sample_type, event_number)\n", - "\n", - "# Print the result for debugging\n", - "print(\"Filtered event data:\", result)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "ed5f8593", - "metadata": {}, - "outputs": [], - "source": [ - "elmID = np.array([1207, 1208, 1243, 1244, 1245, 1246, 1279, 1280, 1281, 1282, 1283,\n", - " 1314, 1315, 1316, 1317, 1318, 1352, 1387, 1388, 1389, 1390])\n", - "edep = np.array([2.1672759e-03, 2.3865167e-03, 6.9637364e-03, 6.5519638e-02,\n", - " 5.9960117e-03, 1.5223619e-03, 1.5519783e-02, 1.3763729e+00,\n", - " 1.7959915e-02, 1.1316873e-03, 2.6412117e-03, 1.1183993e-03,\n", - " 3.0373151e-03, 1.8506199e-02, 5.9680296e-03, 1.2358509e-03,\n", - " 1.5430434e-03, 1.2675102e-03, 8.8297541e-04, 8.7783835e-04,\n", - " 1.5175857e-03])\n", - "emcal_towerx = elmID // ntowersy\n", - "emcal_towery = elmID % ntowersy\n", - "\n", - "# Converting to physical coordinates\n", - "emcal_x = ecalx[0] + emcal_towerx * sizex\n", - "emcal_y = ecaly[0] + emcal_towery * sizey\n", - "\n", - "# Scaling energy deposition\n", - "emcal_edep = edep / sfc\n", - "\n", - "# Combining results into parallel arrays\n", - "EMCal_readout = np.column_stack((emcal_x, emcal_y, emcal_edep))" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "3dcb48e2", + "execution_count": 13, + "id": "03c95c98", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[-1.75100000e+01, 5.07000000e+00, 1.89060815e-02],\n", - " [-1.75100000e+01, 1.06000000e+01, 2.08186135e-02],\n", - " [-1.19800000e+01, 5.07000000e+00, 6.07476732e-02],\n", - " [-1.19800000e+01, 1.06000000e+01, 5.71556034e-01],\n", - " [-1.19800000e+01, 1.61300000e+01, 5.23057936e-02],\n", - " [-1.19800000e+01, 2.16600000e+01, 1.32802188e-02],\n", - " [-6.45000000e+00, 5.07000000e+00, 1.35385754e-01],\n", - " [-6.45000000e+00, 1.06000000e+01, 1.20066939e+01],\n", - " [-6.45000000e+00, 1.61300000e+01, 1.56672077e-01],\n", - " [-6.45000000e+00, 2.16600000e+01, 9.87219594e-03],\n", - " [-6.45000000e+00, 2.71900000e+01, 2.30404277e-02],\n", - " [-9.20000000e-01, -4.60000000e-01, 9.75627899e-03],\n", - " [-9.20000000e-01, 5.07000000e+00, 2.64958083e-02],\n", - " [-9.20000000e-01, 1.06000000e+01, 1.61437548e-01],\n", - " [-9.20000000e-01, 1.61300000e+01, 5.20616937e-02],\n", - " [-9.20000000e-01, 2.16600000e+01, 1.07808599e-02],\n", - " [ 4.61000000e+00, 1.06000000e+01, 1.34606325e-02],\n", - " [ 1.01400000e+01, 5.07000000e+00, 1.10570376e-02],\n", - " [ 1.01400000e+01, 1.06000000e+01, 7.70257496e-03],\n", - " [ 1.01400000e+01, 1.61300000e+01, 7.65776217e-03],\n", - " [ 1.01400000e+01, 2.16600000e+01, 1.32385540e-02]])" + "220" ] }, - "execution_count": 26, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "EMCal_readout" + "len(edep[0])" ] }, { "cell_type": "code", "execution_count": null, - "id": "f5b80055", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "03c95c98", + "id": "ab258ea0", "metadata": {}, "outputs": [], "source": []