Source code for graphnet.datasets.test_dataset
"""A CuratedDataset for unit tests."""
from typing import Dict, Any, List, Tuple, Union
import os
from graphnet.data import ERDAHostedDataset
from graphnet.data.constants import FEATURES
[docs]
class TestDataset(ERDAHostedDataset):
"""A CuratedDataset class for unit tests of ERDAHosted Datasets.
This dataset should not be used outside the context of unit tests.
"""
# Static Member Variables:
_pulsemaps = ["photons"]
_truth_table = "mc_truth"
_event_truth = [
"interaction",
"initial_state_energy",
"initial_state_type",
"initial_state_zenith",
"initial_state_azimuth",
"initial_state_x",
"initial_state_y",
"initial_state_z",
]
_pulse_truth = None
_features = FEATURES.PROMETHEUS
_experiment = "ARCA Prometheus Simulation"
_creator = "Rasmus F. Ørsøe"
_comments = (
"This Dataset should be used for unit tests only."
" Simulation produced by Stephan Meighen-Berger, "
"U. Melbourne."
)
_available_backends = ["sqlite"]
_file_hashes = {"sqlite": "EK3hSNgYr5"}
_citation = None
def _prepare_args(
self, backend: str, features: List[str], truth: List[str]
) -> Tuple[Dict[str, Any], Union[List[int], None], Union[List[int], None]]:
"""Prepare arguments for dataset.
Args:
backend: backend of dataset. Either "parquet" or "sqlite"
features: List of features from user to use as input.
truth: List of event-level truth form user.
Returns: Dataset arguments and selections
"""
dataset_path = os.path.join(self.dataset_dir, "merged.db")
dataset_args = {
"truth_table": self._truth_table,
"pulsemaps": self._pulsemaps,
"path": dataset_path,
"graph_definition": self._graph_definition,
"features": features,
"truth": truth,
}
selection = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # event 5 is empty
return dataset_args, selection, None