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": []