From 8bc612c8870964fadd3da5cdb7f21c79efc4c92e Mon Sep 17 00:00:00 2001 From: zineb aly <aly.zineb.az@gmail.com> Date: Sun, 17 Nov 2019 16:17:24 +0100 Subject: [PATCH] worked on code consistency --- km3io/aanet.py | 37 +++-- notebooks/AanetReader_tutorial.ipynb | 235 ++++++++++++--------------- 2 files changed, 124 insertions(+), 148 deletions(-) diff --git a/km3io/aanet.py b/km3io/aanet.py index ad39271..157ed6b 100644 --- a/km3io/aanet.py +++ b/km3io/aanet.py @@ -2,15 +2,22 @@ import uproot class AanetReader: - def __init__(self, file_path: str): + def __init__(self, file_path): + """Summary + + Parameters + ---------- + file_path : path-like object + Description + """ self.file_path = file_path self.data = uproot.open(self.file_path)['E'] self.lazy_data = self.data.lazyarrays() - self._valid_keys = None + self._events_keys = None self._hits_keys = None self._tracks_keys = None - def read_event(self, key: str): + def read_event(self, key): """event_reader function reads data stored in a branch of interest in an event tree. Parameters @@ -32,13 +39,13 @@ class AanetReader: Some branches in an Aanet file structure are "fake branches" and do not contain data. Therefore, the keys corresponding to these fake branches are not read. """ - if key not in self.valid_keys: - raise KeyError(f"'{key}' could not be found or is a fake branch.") + if key not in self.events_keys: + raise KeyError(f"'{key}' is not a valid events key or is a fake branch.") evt_key_lazy = self.lazy_data[key] return evt_key_lazy - def read_hits(self, key: str): + def read_hits(self, key): """hits_reader function reads data stored in a branch of interest in hits tree from an Aanet event file. @@ -61,13 +68,13 @@ class AanetReader: the hits.key stored in an Aanet file must be used to access the branch of interest from hits tree data. """ - if key not in self.get_hits_keys: + if key not in self.hits_keys: raise KeyError(f"'{key}' is not a valid hits key.") hits_key_lazy = self.lazy_data[key] return hits_key_lazy - def read_tracks(self, key: str): + def read_tracks(self, key): """tracks_reader function reads data stored in a branch of interest in tracks tree from an Aanet event file. @@ -90,13 +97,13 @@ class AanetReader: the trks.key stored in an Aanet file must be used to access the branch of interest from tracks tree data. """ - if key not in self.get_tracks_keys: + if key not in self.tracks_keys: raise KeyError(f"'{key}' is not a valid tracks key.") tracks_key_lazy = self.lazy_data[key] return tracks_key_lazy @property - def valid_keys(self): + def events_keys(self): """_event_keys function returns a list of all the keys of interest for data analysis, and removes the keys of empty "fake branches" found in Aanet event files. @@ -110,21 +117,21 @@ class AanetReader: list of str list of all the event keys. """ - if self._valid_keys is None: + if self._events_keys is None: fake_branches = ['Evt', 'AAObject', 'TObject','t'] t_baskets = ['t.fSec', 't.fNanoSec'] - self._valid_keys = [key.decode('utf-8') for key in self.data['Evt'].keys() if key.decode('utf-8') not in fake_branches] + t_baskets - return self._valid_keys + self._events_keys = [key.decode('utf-8') for key in self.data['Evt'].keys() if key.decode('utf-8') not in fake_branches] + t_baskets + return self._events_keys @property - def get_hits_keys(self): + def hits_keys(self): if self._hits_keys is None: hits_tree = self.data['Evt']['hits'] self._hits_keys = [key.decode('utf8') for key in hits_tree.keys()] return self._hits_keys @property - def get_tracks_keys(self): + def tracks_keys(self): if self._tracks_keys is None: tracks_tree = self.data['Evt']['trks'] self._tracks_keys = [key.decode('utf8') for key in tracks_tree.keys()] diff --git a/notebooks/AanetReader_tutorial.ipynb b/notebooks/AanetReader_tutorial.ipynb index 25f1721..c8aa66a 100644 --- a/notebooks/AanetReader_tutorial.ipynb +++ b/notebooks/AanetReader_tutorial.ipynb @@ -28,8 +28,7 @@ "metadata": {}, "outputs": [], "source": [ - "from km3io.DataReader import DataReader\n", - "import uproot" + "from km3io import AanetReader" ] }, { @@ -38,8 +37,8 @@ "metadata": {}, "outputs": [], "source": [ - "file = 'datav6.0test.jchain.aanet.00005972.root'\n", - "data = uproot.open(file)['E']['Evt']['hits']" + "files_path = Path.cwd().parent / 'tests/samples' \n", + "aanet_file = files_path / 'aanet_v2.0.0.root'" ] }, { @@ -48,7 +47,7 @@ "metadata": {}, "outputs": [], "source": [ - "reader = DataReader(file)" + "reader = AanetReader(aanet_file)" ] }, { @@ -59,7 +58,7 @@ { "data": { "text/plain": [ - "<Table [<Row 0> <Row 1> <Row 2> ... <Row 145629> <Row 145630> <Row 145631>] at 0x7f91f0271e90>" + "<Table [<Row 0> <Row 1> <Row 2> ... <Row 7> <Row 8> <Row 9>] at 0x7f315b3f9fd0>" ] }, "execution_count": 5, @@ -81,7 +80,7 @@ { "data": { "text/plain": [ - "<ChunkedArray [5972 5972 5972 ... 5972 5972 5972] at 0x7f91f004f410>" + "<ChunkedArray [5971 5971 5971 ... 5971 5971 5971] at 0x7f315b3a50d0>" ] }, "execution_count": 6, @@ -92,7 +91,7 @@ "source": [ "# reading all data from a specific branch from events data (data is \n", "# ordered in the same order as in Aanet event file)\n", - "reader.event_reader('run_id')" + "reader.read_event('run_id')" ] }, { @@ -103,7 +102,7 @@ { "data": { "text/plain": [ - "5972" + "5971" ] }, "execution_count": 7, @@ -113,7 +112,7 @@ ], "source": [ "# getting the run_id for a specific event (event 5 for example)\n", - "reader.event_reader('run_id')[5]" + "reader.read_event('run_id')[5]" ] }, { @@ -122,22 +121,20 @@ "metadata": {}, "outputs": [ { - "ename": "NameError", - "evalue": "The event key must be one of the following: 'id', 'det_id', 'mc_id', 'run_id', 'mc_run_id', 'frame_index', 'trigger_mask', 'trigger_counter', 'overlays', 'hits', 'trks', 'w', 'w2list', 'w3list', 'mc_t', 'mc_hits', 'mc_trks', 'comment', 'index', 'flags', 't.fSec', 't.fNanoSec' ", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m<ipython-input-8-b734e6d9be61>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# the user is reminded to always specify the \"correct\" event key in the\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;31m# Aanet event file\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mreader\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mevent_reader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'whatever'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m~/km3net/km3net/km3io/km3io/DataReader.py\u001b[0m in \u001b[0;36mevent_reader\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 36\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mevt_key_lazy\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 37\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 38\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mNameError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"The event key must be one of the following: 'id', 'det_id', 'mc_id', 'run_id', 'mc_run_id', 'frame_index', 'trigger_mask', 'trigger_counter', 'overlays', 'hits', 'trks', 'w', 'w2list', 'w3list', 'mc_t', 'mc_hits', 'mc_trks', 'comment', 'index', 'flags', 't.fSec', 't.fNanoSec' \"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 39\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 40\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_event_keys\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mevt_tree\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mNameError\u001b[0m: The event key must be one of the following: 'id', 'det_id', 'mc_id', 'run_id', 'mc_run_id', 'frame_index', 'trigger_mask', 'trigger_counter', 'overlays', 'hits', 'trks', 'w', 'w2list', 'w3list', 'mc_t', 'mc_hits', 'mc_trks', 'comment', 'index', 'flags', 't.fSec', 't.fNanoSec' " + "name": "stdout", + "output_type": "stream", + "text": [ + "\"'whatever' could not be found or is a fake branch.\"\n" ] } ], "source": [ "# the user is reminded to always specify the \"correct\" event key in the\n", "# Aanet event file\n", - "reader.event_reader('whatever')" + "try:\n", + " reader.read_event('whatever')\n", + "except KeyError as e:\n", + " print(e)" ] }, { @@ -148,7 +145,7 @@ { "data": { "text/plain": [ - "218" + "60" ] }, "execution_count": 9, @@ -158,7 +155,7 @@ ], "source": [ "# one can check how many hits are in event 5\n", - "reader.event_reader('hits')[5]" + "reader.read_event('hits')[5]" ] }, { @@ -179,91 +176,59 @@ ], "source": [ "# one can also check how many tracks are in event 5\n", - "reader.event_reader('trks')[5]" + "reader.read_event('trks')[5]" ] }, { - "cell_type": "code", - "execution_count": 11, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "#########################################################################\n", - "#\n", - "# Now let's explore in more details the hits:\n", - "#\n", - "#########################################################################" + "# Now let's explore in more details the hits:" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "<ChunkedArray [[806455814 806487219 806487231 ... 809524432 809526097 809544058] [806451572 806451572 806455814 ... 809544058 809544058 809544058] [806451572 806487219 806487219 ... 809526097 809526097 809544058] ... [806451572 806451572 806451572 ... 809526097 809526097 809544058] [806451572 806483369 806483369 ... 809544058 809544058 809544058] [806451572 806451572 806455814 ... 809524432 809544061 809544061]] at 0x7f91f0015850>" + "<ChunkedArray [[806451572 806451572 806451572 ... 809544061 809544061 809544061] [806451572 806451572 806451572 ... 809524432 809526097 809544061] [806451572 806451572 806451572 ... 809544061 809544061 809544061] ... [806451572 806455814 806465101 ... 809526097 809544058 809544061] [806455814 806455814 806455814 ... 809544061 809544061 809544061] [806455814 806455814 806455814 ... 809544058 809544058 809544061]] at 0x7f315b3a5b10>" ] }, - "execution_count": 12, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# reading all data from a specific branch in hits data:\n", - "reader.hits_reader('hits.dom_id')" + "reader.read_hits('hits.dom_id')" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([806451572, 806451572, 806451572, 806455814, 806455814, 806455814,\n", - " 806455814, 806455814, 806465101, 806465101, 806465101, 806465101,\n", - " 806483369, 806483369, 806483369, 806483369, 806483369, 806487219,\n", - " 806487219, 806487219, 806487226, 806487226, 806487226, 806487226,\n", - " 806487226, 806487226, 806487226, 806487226, 806487226, 806487226,\n", - " 806487226, 806487226, 806487231, 808435278, 808435278, 808435278,\n", - " 808447180, 808447180, 808447180, 808447180, 808447180, 808447180,\n", - " 808447180, 808447180, 808447180, 808451904, 808451904, 808451904,\n", - " 808472260, 808472260, 808472260, 808472260, 808472260, 808472260,\n", - " 808472265, 808472265, 808472265, 808472265, 808488895, 808488895,\n", - " 808488895, 808489014, 808489014, 808489014, 808489014, 808489014,\n", - " 808489014, 808489117, 808489117, 808946818, 808946818, 808946818,\n", - " 808946818, 808949744, 808951460, 808951460, 808956908, 808956908,\n", - " 808959411, 808959411, 808959411, 808959411, 808961448, 808961480,\n", - " 808961504, 808961504, 808961504, 808961504, 808961504, 808961655,\n", - " 808961655, 808961655, 808964815, 808964815, 808964815, 808964815,\n", - " 808964815, 808964852, 808964852, 808964852, 808964883, 808964883,\n", - " 808969857, 808969857, 808969857, 808969857, 808969857, 808969857,\n", - " 808969857, 808972593, 808972593, 808972593, 808972593, 808972593,\n", - " 808972593, 808972593, 808972593, 808972593, 808972598, 808972598,\n", - " 808974758, 808974758, 808974758, 808974758, 808974811, 808974811,\n", - " 808974811, 808974811, 808974811, 808974811, 808974811, 808974811,\n", - " 808974811, 808974811, 808974972, 808974972, 808976377, 808976377,\n", - " 808979729, 808979729, 808979729, 808979729, 808979729, 808979729,\n", - " 808979729, 808979729, 808979729, 808981510, 808981523, 808981523,\n", - " 808981812, 808981812, 808981812, 808981864, 808982005, 808982041,\n", - " 808982041, 808982041, 808982041, 808982041, 808982041, 808982547,\n", - " 808982547, 808982547, 808982547, 808982547, 808982547, 808982547,\n", - " 808982547, 808984711, 808984711, 808984711, 808984711, 808984711,\n", - " 808984711, 808984711, 808984711, 808984711, 808984711, 808984711,\n", - " 808984711, 808984711, 808984711, 808984711, 808984711, 808984711,\n", - " 808984711, 808984711, 808984711, 808984711, 808984711, 809007627,\n", - " 809007627, 809007627, 809007627, 809007627, 809007627, 809007627,\n", - " 809007627, 809007627, 809521500, 809521500, 809521500, 809524432,\n", - " 809524432, 809524432, 809524432, 809524432, 809524432, 809524432,\n", - " 809524432, 809524432, 809524432, 809524432, 809524432, 809526097,\n", - " 809526097, 809544058], dtype=int32)" + "array([806455814, 806487219, 806487219, 806487219, 806487226, 808432835,\n", + " 808432835, 808432835, 808432835, 808432835, 808432835, 808432835,\n", + " 808451904, 808451904, 808451907, 808451907, 808469129, 808469129,\n", + " 808469129, 808493910, 808949744, 808949744, 808951460, 808951460,\n", + " 808956908, 808961655, 808964908, 808969848, 808969857, 808972593,\n", + " 808972593, 808972598, 808972598, 808972698, 808972698, 808974758,\n", + " 808974811, 808976377, 808981510, 808981523, 808981812, 808982005,\n", + " 808982005, 808982018, 808982077, 808982077, 808982547, 809007627,\n", + " 809521500, 809521500, 809521500, 809524432, 809526097, 809526097,\n", + " 809526097, 809526097, 809526097, 809526097, 809526097, 809544058],\n", + " dtype=int32)" ] }, - "execution_count": 13, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -271,7 +236,7 @@ "source": [ "# the user can access hits.dom_id data for a specific event (for example \n", "# event 5)\n", - "reader.hits_reader('hits.dom_id')[5]" + "reader.read_hits('hits.dom_id')[5]" ] }, { @@ -282,7 +247,7 @@ { "data": { "text/plain": [ - "218" + "60" ] }, "execution_count": 14, @@ -294,7 +259,7 @@ "# We previsouly checked (using reader.event_reader('hits')[5]) that event\n", "# 5 has 218 hits, now we can see that reader.hits_reader('hits.dom_id')[5]\n", "# has exaclty 218 dom ids as well! \n", - "len(reader.hits_reader('hits.dom_id')[5])" + "len(reader.read_hits('hits.dom_id')[5])" ] }, { @@ -305,7 +270,7 @@ { "data": { "text/plain": [ - "806451572" + "806455814" ] }, "execution_count": 15, @@ -315,44 +280,36 @@ ], "source": [ "# one can access a dom id of the first hit \n", - "reader.hits_reader('hits.dom_id')[5][0]" + "reader.read_hits('hits.dom_id')[5][0]" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "metadata": {}, "outputs": [ { - "ename": "NameError", - "evalue": "The hits key must be one of the following: 'hits.fUniqueID', 'hits.fBits', 'hits.usr', 'hits.usr_names', 'hits.id', 'hits.dom_id', 'hits.channel_id', 'hits.tdc', 'hits.tot', 'hits.trig', 'hits.pmt_id', 'hits.t', 'hits.a', 'hits.pos.x', 'hits.pos.y', 'hits.pos.z', 'hits.dir.x', 'hits.dir.y', 'hits.dir.z', 'hits.pure_t', 'hits.pure_a', 'hits.type', 'hits.origin', 'hits.pattern_flags'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m<ipython-input-16-53a843e61284>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# once again, the user is reminded to always use the hits keys stored i Aanet event\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;31m# file\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mreader\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhits_reader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'whatever'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m~/km3net/km3net/km3io/km3io/DataReader.py\u001b[0m in \u001b[0;36mhits_reader\u001b[0;34m(self, hits_key)\u001b[0m\n\u001b[1;32m 87\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mhits_key_lazy\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 88\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 89\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mNameError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"The hits key must be one of the following: 'hits.fUniqueID', 'hits.fBits', 'hits.usr', 'hits.usr_names', 'hits.id', 'hits.dom_id', 'hits.channel_id', 'hits.tdc', 'hits.tot', 'hits.trig', 'hits.pmt_id', 'hits.t', 'hits.a', 'hits.pos.x', 'hits.pos.y', 'hits.pos.z', 'hits.dir.x', 'hits.dir.y', 'hits.dir.z', 'hits.pure_t', 'hits.pure_a', 'hits.type', 'hits.origin', 'hits.pattern_flags'\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 90\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 91\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mtracks_reader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtracks_key\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mNameError\u001b[0m: The hits key must be one of the following: 'hits.fUniqueID', 'hits.fBits', 'hits.usr', 'hits.usr_names', 'hits.id', 'hits.dom_id', 'hits.channel_id', 'hits.tdc', 'hits.tot', 'hits.trig', 'hits.pmt_id', 'hits.t', 'hits.a', 'hits.pos.x', 'hits.pos.y', 'hits.pos.z', 'hits.dir.x', 'hits.dir.y', 'hits.dir.z', 'hits.pure_t', 'hits.pure_a', 'hits.type', 'hits.origin', 'hits.pattern_flags'" + "name": "stdout", + "output_type": "stream", + "text": [ + "\"'whatever' is not a valid hits key.\"\n" ] } ], "source": [ "# once again, the user is reminded to always use the hits keys stored i Aanet event\n", "# file\n", - "reader.hits_reader('whatever')" + "try:\n", + " reader.read_hits('whatever')\n", + "except KeyError as e:\n", + " print(e)" ] }, { - "cell_type": "code", - "execution_count": 17, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "#########################################################################\n", - "#\n", - "# Now let's explore in more details the tracks:\n", - "#\n", - "#########################################################################" + "# Now let's explore in more details the tracks:" ] }, { @@ -363,7 +320,7 @@ { "data": { "text/plain": [ - "<ChunkedArray [[-0.9048163793905828 -0.9048163793905828 -0.9048163793905828 ... -0.88545604390297 -0.9350162572437829 -0.7485107718446855] [-0.9254262257092779 -0.9254262257092779 -0.9254262257092779 ... -0.6631226836266504 -0.88545604390297 -0.8229838871876581] [-0.5887857820134094 -0.5887857820134094 -0.5887857820134094 ... -0.4647231989130516 -0.88545604390297 -0.88545604390297] ... [-0.6827714023340542 -0.6827714023340542 -0.6827714023340542 ... -0.9350162572437829 -0.4647231989130516 -0.8229838871876581] [-0.9414587076782783 -0.9414587076782783 -0.9414587076782783 ... -0.9709418276783801 -0.8229838871876581 -0.8229838871876581] [-0.8738359256162922 -0.8738359256162922 -0.8738359256162922 ... -0.8229838871876581 -0.7485107718446855 -0.6631226836266504]] at 0x7f9192b52d50>" + "<ChunkedArray [[-0.872885221293917 -0.872885221293917 -0.872885221293917 ... -0.6631226836266504 -0.5680647731737454 -0.5680647731737454] [-0.8351996698137462 -0.8351996698137462 -0.8351996698137462 ... -0.7485107718446855 -0.8229838871876581 -0.239315690284641] [-0.989148723802379 -0.989148723802379 -0.989148723802379 ... -0.9350162572437829 -0.88545604390297 -0.88545604390297] ... [-0.5704611045902105 -0.5704611045902105 -0.5704611045902105 ... -0.9350162572437829 -0.4647231989130516 -0.4647231989130516] [-0.9779941383490359 -0.9779941383490359 -0.9779941383490359 ... -0.88545604390297 -0.88545604390297 -0.8229838871876581] [-0.7396916780974963 -0.7396916780974963 -0.7396916780974963 ... -0.6631226836266504 -0.7485107718446855 -0.7485107718446855]] at 0x7f315b3b0f10>" ] }, "execution_count": 18, @@ -373,32 +330,32 @@ ], "source": [ "# reading all data from a specific branch in tracks data:\n", - "reader.tracks_reader('trks.dir.z')" + "reader.read_tracks('trks.dir.z')" ] }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([-0.95646862, -0.95646862, -0.95646862, -0.95676578, -0.95695685,\n", - " -0.95637026, -0.95768896, -0.95888618, -0.95691334, -0.95327743,\n", - " -0.95563316, -0.95785959, -0.95019627, -0.9588535 , -0.95330259,\n", - " -0.95474777, -0.95125599, -0.9489768 , -0.87580863, -0.92460301,\n", - " -0.93501626, -0.97094183, -0.93501626, -0.93501626, -0.93501626,\n", - " -0.88545604, -0.97094183, -0.88545604, -0.93501626, -0.88545604,\n", - " -0.93501626, -0.97094183, -0.88545604, -0.88545604, -0.88545604,\n", - " -0.88545604, -0.82298389, -0.88545604, -0.82298389, -0.88545604,\n", - " -0.82298389, -0.93501626, -0.74851077, -0.93501626, -0.82298389,\n", - " -0.82298389, -0.82298389, -0.56806477, -0.66312268, -0.93501626,\n", - " -0.93501626, -0.74851077, -0.56806477, -0.56806477, -0.88545604,\n", + "array([-0.60246049, -0.60246049, -0.60246049, -0.51420541, -0.5475772 ,\n", + " -0.5772408 , -0.56068238, -0.64907684, -0.67781799, -0.66565114,\n", + " -0.63014839, -0.64566464, -0.62691012, -0.58465493, -0.59287533,\n", + " -0.63655091, -0.63771247, -0.73446841, -0.7456636 , -0.70941246,\n", + " -0.66312268, -0.66312268, -0.56806477, -0.56806477, -0.66312268,\n", + " -0.66312268, -0.74851077, -0.74851077, -0.66312268, -0.74851077,\n", + " -0.56806477, -0.74851077, -0.66312268, -0.74851077, -0.56806477,\n", + " -0.66312268, -0.56806477, -0.66312268, -0.56806477, -0.56806477,\n", + " -0.66312268, -0.74851077, -0.66312268, -0.93501626, -0.56806477,\n", + " -0.74851077, -0.66312268, -0.56806477, -0.82298389, -0.74851077,\n", + " -0.66312268, -0.56806477, -0.82298389, -0.56806477, -0.66312268,\n", " -0.97094183])" ] }, - "execution_count": 20, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -406,7 +363,7 @@ "source": [ "# the user can access trks.dir.z data for a specific event (for example \n", "# event 5)\n", - "reader.tracks_reader('trks.dir.z')[5]" + "reader.read_tracks('trks.dir.z')[5]" ] }, { @@ -429,60 +386,72 @@ "# We previsouly checked (using reader.event_reader('trks')[5]) that event\n", "# 5 has 56 tracks, now we can see that reader.hits_reader('hits.dom_id')[5]\n", "# has exaclty 56 values of trks.dir.z as well! \n", - "len(reader.tracks_reader('trks.dir.z')[5])" + "len(reader.read_tracks('trks.dir.z')[5])" ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "-0.9564686180086494" + "-0.6024604933159441" ] }, - "execution_count": 23, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# one can access the first trks.dir.z from event 5 using \n", - "reader.tracks_reader('trks.dir.z')[5][0]" + "reader.read_tracks('trks.dir.z')[5][0]" ] }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 23, "metadata": {}, "outputs": [ { - "ename": "NameError", - "evalue": "The tracks key must be one the following: 'trks.fUniqueID', 'trks.fBits', 'trks.usr', 'trks.usr_names', 'trks.id', 'trks.pos.x', 'trks.pos.y', 'trks.pos.z', 'trks.dir.x', 'trks.dir.y', 'trks.dir.z', 'trks.t', 'trks.E', 'trks.len', 'trks.lik', 'trks.type', 'trks.rec_type', 'trks.rec_stages', 'trks.fitinf', 'trks.hit_ids', 'trks.error_matrix', 'trks.comment'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m<ipython-input-24-ba9dff8e27cb>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# once again, the user is reminded to always use the tracks keys stored in Aanet\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;31m# event file\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mreader\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtracks_reader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'whatever'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m~/km3net/km3net/km3io/km3io/DataReader.py\u001b[0m in \u001b[0;36mtracks_reader\u001b[0;34m(self, tracks_key)\u001b[0m\n\u001b[1;32m 118\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mtracks_key_lazy\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 119\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 120\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mNameError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"The tracks key must be one the following: 'trks.fUniqueID', 'trks.fBits', 'trks.usr', 'trks.usr_names', 'trks.id', 'trks.pos.x', 'trks.pos.y', 'trks.pos.z', 'trks.dir.x', 'trks.dir.y', 'trks.dir.z', 'trks.t', 'trks.E', 'trks.len', 'trks.lik', 'trks.type', 'trks.rec_type', 'trks.rec_stages', 'trks.fitinf', 'trks.hit_ids', 'trks.error_matrix', 'trks.comment'\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 121\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 122\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mNameError\u001b[0m: The tracks key must be one the following: 'trks.fUniqueID', 'trks.fBits', 'trks.usr', 'trks.usr_names', 'trks.id', 'trks.pos.x', 'trks.pos.y', 'trks.pos.z', 'trks.dir.x', 'trks.dir.y', 'trks.dir.z', 'trks.t', 'trks.E', 'trks.len', 'trks.lik', 'trks.type', 'trks.rec_type', 'trks.rec_stages', 'trks.fitinf', 'trks.hit_ids', 'trks.error_matrix', 'trks.comment'" + "name": "stdout", + "output_type": "stream", + "text": [ + "\"'whatever' is not a valid tracks key.\"\n" ] } ], "source": [ "# once again, the user is reminded to always use the tracks keys stored in Aanet\n", "# event file\n", - "reader.tracks_reader('whatever')" + "try:\n", + " reader.read_tracks('whatever')\n", + "except KeyError as e:\n", + " print(e)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "ename": "TypeError", + "evalue": "can only concatenate str (not \"int\") to str", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m<ipython-input-24-713f816108bc>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;34m'test'\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m: can only concatenate str (not \"int\") to str" + ] + } + ], + "source": [ + "'test' + 1\n" + ] } ], "metadata": { -- GitLab