Newer
Older
import toml
import orcasong.core
import orcasong.extractors as extractors
# built-in extractors. First argument has to be the input filename,
# other parameters can be set via 'extractor_config' dict in the toml
"nu_chain_neutrino": extractors.get_neutrino_mc_info_extr,
"nu_chain_muon": extractors.get_muon_mc_info_extr,
"nu_chain_noise": extractors.get_random_noise_mc_info_extr,
"nu_chain_data": extractors.get_real_data_info_extr,
"bundle_mc": extractors.bundles.BundleMCExtractor,
"bundle_data": extractors.bundles.BundleDataExtractor,
MODES = {
"graph": orcasong.core.FileGraph,
"image": orcasong.core.FileBinner,
}
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 generated name in cwd."))
parser.set_defaults(func=run_orcasong)
def run_orcasong(infile, toml_file, detx_file=None, outfile=None):
setup_processor(infile, toml_file, detx_file).run(
infile=infile, outfile=outfile)
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