Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
K
km3io
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
km3py
km3io
Commits
8bc612c8
Commit
8bc612c8
authored
5 years ago
by
Zineb Aly
Browse files
Options
Downloads
Patches
Plain Diff
worked on code consistency
parent
bf26ba76
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Pipeline
#6935
failed
5 years ago
Stage: test
Stage: coverage
Stage: doc
Changes
2
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
km3io/aanet.py
+22
-15
22 additions, 15 deletions
km3io/aanet.py
notebooks/AanetReader_tutorial.ipynb
+102
-133
102 additions, 133 deletions
notebooks/AanetReader_tutorial.ipynb
with
124 additions
and
148 deletions
km3io/aanet.py
+
22
−
15
View file @
8bc612c8
...
...
@@ -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
()]
...
...
This diff is collapsed.
Click to expand it.
notebooks/AanetReader_tutorial.ipynb
+
102
−
133
View file @
8bc612c8
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment