Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
OrcaSong
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor 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
Machine Learning
OrcaSong
Commits
eba0a084
Commit
eba0a084
authored
3 years ago
by
Stefan Reck
Browse files
Options
Downloads
Patches
Plain Diff
use only one command
parent
7452033a
No related branches found
No related tags found
1 merge request
!20
Parser
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
examples/orcasong_neturino_mc.toml
+10
-0
10 additions, 0 deletions
examples/orcasong_neturino_mc.toml
orcasong/from_toml.py
+40
-41
40 additions, 41 deletions
orcasong/from_toml.py
orcasong/parser.py
+1
-2
1 addition, 2 deletions
orcasong/parser.py
with
51 additions
and
43 deletions
examples/orcasong_neturino_mc.toml
0 → 100644
+
10
−
0
View file @
eba0a084
# the mode to run orcasong in; either 'graph' or 'image'
mode
=
"graph"
# arguments for running orcasong (see FileGraph or FileBinner in orcasong.core).
max_n_hits
=
2000
time_window
=
[
-100
,
5000
]
# built-in extractor function to use
extractor
=
"neutrino_mc"
[extractor_config]
# optional arguments for the extractor function can go here. None in this case.
This diff is collapsed.
Click to expand it.
orcasong/from_toml.py
+
40
−
41
View file @
eba0a084
...
...
@@ -3,60 +3,59 @@ import toml
import
orcasong.core
import
orcasong.extractors
as
extractors
# available extractors. First argument has to be the input filename
# built-in extractors. First argument has to be the input filename,
# other parameters can be set via 'extractor_config' dict in the toml
EXTRACTORS
=
{
"
neutrino_mc
"
:
extractors
.
get_neutrino_mc_info_extr
,
"
neutrino_data
"
:
extractors
.
get_real_data_info_extr
,
}
MODES
=
{
"
graph
"
:
orcasong
.
core
.
FileGraph
,
"
image
"
:
orcasong
.
core
.
FileBinner
,
}
def
_add_args
(
parser
):
def
add_parser_run
(
subparsers
):
parser
=
subparsers
.
add_parser
(
"
run
"
,
description
=
'
Produce a dl file from an aanet file.
'
)
parser
.
add_argument
(
'
infile
'
,
type
=
str
,
help
=
"
Aanet file in h5 format.
"
)
parser
.
add_argument
(
'
toml_file
'
,
type
=
str
,
help
=
"
Orcasong configuration in toml format.
"
)
parser
.
add_argument
(
'
--detx_file
'
,
type
=
str
,
default
=
None
,
help
=
(
"
Optional detx file to calibrate on the fly. Can not be used if a
"
"
detx_file has also been given in the toml file.
"
))
parser
.
add_argument
(
'
--outfile
'
,
type
=
str
,
default
=
None
,
help
=
(
"
Path to output file. Default: Save with auto ogenerated name in cwd.
"
))
"
Path to output file. Default: Save with auto generated name in cwd.
"
))
parser
.
set_defaults
(
func
=
run_orcasong
)
def
add_parser_filegraph
(
subparsers
):
parser
=
subparsers
.
add_parser
(
"
graph
"
,
description
=
'
Produce a graph dl file from an aanet file.
'
)
_add_args
(
parser
)
parser
.
set_defaults
(
func
=
get_run_orcasong
(
orcasong
.
core
.
FileGraph
))
def
run_orcasong
(
infile
,
toml_file
,
detx_file
=
None
,
outfile
=
None
):
if
outfile
is
None
:
outfile
=
f
"
{
os
.
path
.
splitext
(
os
.
path
.
basename
(
infile
))[
0
]
}
_dl.h5
"
cfg
=
toml
.
load
(
toml_file
)
processor
=
_get_verbose
(
cfg
[
"
mode
"
],
MODES
)
def
add_parser_filebinner
(
subparsers
):
parser
=
subparsers
.
add_parser
(
"
image
"
,
description
=
'
Produce an image dl file from an aanet file.
'
)
_add_args
(
parser
)
parser
.
set_defaults
(
func
=
get_run_orcasong
(
orcasong
.
core
.
FileBinner
))
def
get_run_orcasong
(
processor
):
def
run_orcasong
(
infile
,
toml_file
,
detx_file
=
None
,
outfile
=
None
):
if
outfile
is
None
:
outfile
=
f
"
{
os
.
path
.
splitext
(
os
.
path
.
basename
(
infile
))[
0
]
}
_dl.h5
"
cfg
=
toml
.
load
(
toml_file
)
if
"
detx_file
"
in
cfg
:
if
detx_file
is
not
None
:
raise
ValueError
(
"
detx_file passed to function AND defined in toml
"
)
detx_file
=
cfg
.
pop
(
"
detx_file
"
)
if
"
extractor
"
in
cfg
:
extractor_name
=
cfg
.
pop
(
"
extractor
"
)
extractor_cfg
=
cfg
.
pop
(
"
extractor_config
"
,
{})
extractor
=
EXTRACTORS
[
extractor_name
](
infile
,
**
extractor_cfg
)
else
:
extractor
=
None
processor
(
det_file
=
detx_file
,
extractor
=
extractor
,
**
cfg
,
).
run
(
infile
=
infile
,
outfile
=
outfile
)
return
run_orcasong
if
"
detx_file
"
in
cfg
:
if
detx_file
is
not
None
:
raise
ValueError
(
"
detx_file passed to function AND defined in toml
"
)
detx_file
=
cfg
.
pop
(
"
detx_file
"
)
if
"
extractor
"
in
cfg
:
extractor_cfg
=
cfg
.
pop
(
"
extractor_config
"
,
{})
extractor
=
_get_verbose
(
cfg
.
pop
(
"
extractor
"
),
EXTRACTORS
)(
infile
,
**
extractor_cfg
)
else
:
extractor
=
None
processor
(
det_file
=
detx_file
,
extractor
=
extractor
,
**
cfg
,
).
run
(
infile
=
infile
,
outfile
=
outfile
)
def
_get_verbose
(
key
,
d
):
if
key
not
in
d
:
raise
KeyError
(
f
"
Unknown key
{
key
}
(available:
{
list
(
d
.
keys
())
}
"
)
return
d
[
key
]
This diff is collapsed.
Click to expand it.
orcasong/parser.py
+
1
−
2
View file @
eba0a084
...
...
@@ -120,8 +120,7 @@ def main():
)
subparsers
=
parser
.
add_subparsers
()
from_toml
.
add_parser_filegraph
(
subparsers
)
from_toml
.
add_parser_filebinner
(
subparsers
)
from_toml
.
add_parser_run
(
subparsers
)
_add_parser_concatenate
(
subparsers
)
_add_parser_h5shuffle
(
subparsers
)
_add_parser_h5shuffle2
(
subparsers
)
...
...
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