reboost 0.5.0__tar.gz → 0.5.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {reboost-0.5.0 → reboost-0.5.2}/PKG-INFO +2 -2
- {reboost-0.5.0 → reboost-0.5.2}/pyproject.toml +1 -1
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/__init__.py +1 -9
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/_version.py +2 -2
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/build_evt.py +0 -3
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/build_glm.py +2 -4
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/build_hit.py +19 -8
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/core.py +1 -1
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/iterator.py +1 -1
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/optmap/convolve.py +16 -6
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/optmap/create.py +1 -1
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/optmap/evt.py +3 -4
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost.egg-info/PKG-INFO +2 -2
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost.egg-info/requires.txt +1 -1
- {reboost-0.5.0 → reboost-0.5.2}/tests/conftest.py +0 -2
- {reboost-0.5.0 → reboost-0.5.2}/tests/hit/test_build_hit.py +25 -4
- {reboost-0.5.0 → reboost-0.5.2}/LICENSE +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/README.md +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/setup.cfg +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/cli.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/hpge/__init__.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/hpge/psd.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/hpge/surface.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/hpge/utils.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/log_utils.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/math/__init__.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/math/functions.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/math/stats.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/optmap/__init__.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/optmap/cli.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/optmap/mapview.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/optmap/numba_pdg.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/optmap/optmap.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/profile.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/shape/__init__.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/shape/cluster.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/shape/group.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/shape/reduction.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/units.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost/utils.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost.egg-info/SOURCES.txt +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost.egg-info/dependency_links.txt +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost.egg-info/entry_points.txt +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost.egg-info/not-zip-safe +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/src/reboost.egg-info/top_level.txt +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/glm/test_build_glm.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/hit/configs/args.yaml +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/hit/configs/basic.yaml +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/hit/configs/geom.gdml +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/hit/configs/hit_config.yaml +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/hit/configs/pars.yaml +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/hit/configs/reshape.yaml +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/hpge/simulation/gammas.mac +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/hpge/simulation/geometry.gdml +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/hpge/simulation/make_dt_map.jl +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/hpge/simulation/make_geom.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/hpge/test_current.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/hpge/test_dt_heuristic.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/hpge/test_files/drift_time_maps.lh5 +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/hpge/test_files/internal_electron.lh5 +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/hpge/test_hpge_map.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/hpge/test_r90.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/hpge/test_surface.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/test_cli.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/test_core.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/test_math.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/test_optmap.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/test_profile.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/test_shape.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/test_units.py +0 -0
- {reboost-0.5.0 → reboost-0.5.2}/tests/test_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: reboost
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.2
|
|
4
4
|
Summary: New LEGEND Monte-Carlo simulation post-processing
|
|
5
5
|
Author-email: Manuel Huber <info@manuelhu.de>, Toby Dixon <toby.dixon.23@ucl.ac.uk>, Luigi Pertoldi <gipert@pm.me>
|
|
6
6
|
Maintainer: The LEGEND Collaboration
|
|
@@ -701,7 +701,7 @@ Requires-Dist: numpy
|
|
|
701
701
|
Requires-Dist: scipy
|
|
702
702
|
Requires-Dist: numba
|
|
703
703
|
Requires-Dist: legend-pydataobj>=1.12.0
|
|
704
|
-
Requires-Dist: legend-pygeom-optics>=0.
|
|
704
|
+
Requires-Dist: legend-pygeom-optics>=0.9.2
|
|
705
705
|
Requires-Dist: hist
|
|
706
706
|
Requires-Dist: dbetto
|
|
707
707
|
Requires-Dist: particle
|
|
@@ -2,20 +2,12 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from lgdo import lh5
|
|
4
4
|
|
|
5
|
-
from . import build_hit, core, iterator, math, shape
|
|
6
5
|
from ._version import version as __version__
|
|
6
|
+
from .build_hit import build_hit
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
9
9
|
"__version__",
|
|
10
|
-
"build_glm",
|
|
11
10
|
"build_hit",
|
|
12
|
-
"build_hit",
|
|
13
|
-
"build_tcm",
|
|
14
|
-
"core",
|
|
15
|
-
"iterator",
|
|
16
|
-
"math",
|
|
17
|
-
"optmap",
|
|
18
|
-
"shape",
|
|
19
11
|
]
|
|
20
12
|
|
|
21
13
|
lh5.settings.DEFAULT_HDF5_SETTINGS = {"shuffle": True, "compression": "lzf"}
|
|
@@ -224,8 +224,8 @@ def build_glm(
|
|
|
224
224
|
glm_sum = {}
|
|
225
225
|
|
|
226
226
|
for file_idx, stp_file in enumerate(files.stp):
|
|
227
|
-
msg = f"
|
|
228
|
-
log.
|
|
227
|
+
msg = f"start generating glm for {stp_file} "
|
|
228
|
+
log.debug(msg)
|
|
229
229
|
|
|
230
230
|
# loop over the lh5_tables
|
|
231
231
|
lh5_table_list = [
|
|
@@ -298,8 +298,6 @@ def build_glm(
|
|
|
298
298
|
if glm_sum[lh5_subgroup] is None
|
|
299
299
|
else ak.concatenate((glm_sum[lh5_subgroup], glm))
|
|
300
300
|
)
|
|
301
|
-
msg = f"Finished generating glm for {stp_file} "
|
|
302
|
-
log.info(msg)
|
|
303
301
|
|
|
304
302
|
# return if it was requested to keep glm in memory
|
|
305
303
|
if glm_sum is not None:
|
|
@@ -239,17 +239,17 @@ def build_hit(
|
|
|
239
239
|
# iterate over files
|
|
240
240
|
for file_idx, (stp_file, glm_file) in enumerate(zip(files.stp, files.glm)):
|
|
241
241
|
msg = (
|
|
242
|
-
f"
|
|
242
|
+
f"starting processing of {stp_file} to {files.hit[file_idx]} "
|
|
243
243
|
if files.hit[file_idx] is not None
|
|
244
|
-
else f"
|
|
244
|
+
else f"starting processing of {stp_file}"
|
|
245
245
|
)
|
|
246
246
|
log.info(msg)
|
|
247
247
|
|
|
248
248
|
# loop over processing groups
|
|
249
249
|
for group_idx, proc_group in enumerate(config["processing_groups"]):
|
|
250
250
|
proc_name = proc_group.get("name", "default")
|
|
251
|
-
msg = f"
|
|
252
|
-
log.
|
|
251
|
+
msg = f"starting group {proc_name}"
|
|
252
|
+
log.debug(msg)
|
|
253
253
|
|
|
254
254
|
if proc_name not in time_dict:
|
|
255
255
|
time_dict[proc_name] = ProfileDict()
|
|
@@ -261,7 +261,7 @@ def build_hit(
|
|
|
261
261
|
|
|
262
262
|
# loop over detectors
|
|
263
263
|
for in_det_idx, (in_detector, out_detectors) in enumerate(detectors_mapping.items()):
|
|
264
|
-
msg = f"
|
|
264
|
+
msg = f"processing {in_detector} (to {out_detectors})"
|
|
265
265
|
log.debug(msg)
|
|
266
266
|
|
|
267
267
|
# get detector objects
|
|
@@ -328,7 +328,14 @@ def build_hit(
|
|
|
328
328
|
"DETECTOR": out_detector,
|
|
329
329
|
}
|
|
330
330
|
# add fields
|
|
331
|
-
for field,
|
|
331
|
+
for field, info in proc_group.get("operations", {}).items():
|
|
332
|
+
if isinstance(info, str):
|
|
333
|
+
expression = info
|
|
334
|
+
units = None
|
|
335
|
+
else:
|
|
336
|
+
expression = info["expression"]
|
|
337
|
+
units = info.get("units", None)
|
|
338
|
+
|
|
332
339
|
# evaluate the expression
|
|
333
340
|
col = core.evaluate_output_column(
|
|
334
341
|
hit_table,
|
|
@@ -338,6 +345,10 @@ def build_hit(
|
|
|
338
345
|
time_dict=time_dict[proc_name],
|
|
339
346
|
name=field,
|
|
340
347
|
)
|
|
348
|
+
|
|
349
|
+
if units is not None:
|
|
350
|
+
col.attrs["units"] = units
|
|
351
|
+
|
|
341
352
|
core.add_field_with_nesting(hit_table, field, col)
|
|
342
353
|
|
|
343
354
|
# remove unwanted fields
|
|
@@ -393,14 +404,14 @@ def build_hit(
|
|
|
393
404
|
lh5.read(obj, stp_file),
|
|
394
405
|
obj,
|
|
395
406
|
files.hit[file_idx],
|
|
396
|
-
wo_mode="write_safe",
|
|
407
|
+
wo_mode="write_safe" if file_idx == 0 else "append",
|
|
397
408
|
)
|
|
398
409
|
except LH5EncodeError as e:
|
|
399
410
|
msg = f"cannot forward object {obj} as it has been already processed by reboost"
|
|
400
411
|
raise RuntimeError(msg) from e
|
|
401
412
|
|
|
402
413
|
# return output table or nothing
|
|
403
|
-
log.
|
|
414
|
+
log.debug(time_dict)
|
|
404
415
|
|
|
405
416
|
if output_tables == {}:
|
|
406
417
|
output_tables = None
|
|
@@ -113,7 +113,7 @@ class GLMIterator:
|
|
|
113
113
|
if self.use_glm:
|
|
114
114
|
self.buffer = int(buffer * glm_n_rows / stp_n_rows)
|
|
115
115
|
msg = f"Number of stp rows {stp_n_rows}, number of glm rows {glm_n_rows} changing buffer from {buffer} to {self.buffer}"
|
|
116
|
-
log.
|
|
116
|
+
log.debug(msg)
|
|
117
117
|
|
|
118
118
|
def __iter__(self) -> typing.Iterator:
|
|
119
119
|
self.current_i_entry = 0
|
|
@@ -75,8 +75,14 @@ def iterate_stepwise_depositions(
|
|
|
75
75
|
mode: str = "no-fano",
|
|
76
76
|
):
|
|
77
77
|
# those np functions are not supported by numba, but needed for efficient array access below.
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
if "xloc_pre" in edep_df.dtype.names:
|
|
79
|
+
x0 = structured_to_unstructured(edep_df[["xloc_pre", "yloc_pre", "zloc_pre"]], np.float64)
|
|
80
|
+
x1 = structured_to_unstructured(
|
|
81
|
+
edep_df[["xloc_post", "yloc_post", "zloc_post"]], np.float64
|
|
82
|
+
)
|
|
83
|
+
else:
|
|
84
|
+
x0 = structured_to_unstructured(edep_df[["xloc", "yloc", "zloc"]], np.float64)
|
|
85
|
+
x1 = None
|
|
80
86
|
|
|
81
87
|
rng = np.random.default_rng() if rng is None else rng
|
|
82
88
|
output_map, res = _iterate_stepwise_depositions(
|
|
@@ -157,12 +163,16 @@ def _iterate_stepwise_depositions(
|
|
|
157
163
|
|
|
158
164
|
# do the scintillation.
|
|
159
165
|
part, charge = pdgid_map[t.particle]
|
|
166
|
+
|
|
167
|
+
# if we have both pre and post step points use them
|
|
168
|
+
# else pass as None
|
|
169
|
+
|
|
160
170
|
scint_times = sc.scintillate(
|
|
161
171
|
scint_mat_params,
|
|
162
172
|
x0[rowid],
|
|
163
|
-
x1[rowid],
|
|
164
|
-
t.v_pre,
|
|
165
|
-
t.v_post,
|
|
173
|
+
x1[rowid] if x1 is not None else None,
|
|
174
|
+
t.v_pre if x1 is not None else None,
|
|
175
|
+
t.v_post if x1 is not None else None,
|
|
166
176
|
t.time,
|
|
167
177
|
part,
|
|
168
178
|
charge,
|
|
@@ -358,7 +368,7 @@ def convolve(
|
|
|
358
368
|
it = LH5Iterator(edep_file, edep_path, buffer_len=buffer_len)
|
|
359
369
|
|
|
360
370
|
for it_count, edep_lgdo in enumerate(it):
|
|
361
|
-
edep_df = edep_lgdo.view_as("pd").
|
|
371
|
+
edep_df = edep_lgdo.view_as("pd").to_records()
|
|
362
372
|
|
|
363
373
|
log.info("start event processing (%d)", it_count)
|
|
364
374
|
output_map = iterate_stepwise_depositions(
|
|
@@ -131,7 +131,7 @@ def _create_optical_maps_chunk(
|
|
|
131
131
|
hits_per_primary = np.zeros(10, dtype=np.int64)
|
|
132
132
|
hits_per_primary_len = 0
|
|
133
133
|
for it_count, events_lgdo in enumerate(optmap_events_it):
|
|
134
|
-
optmap_events = events_lgdo.view_as("pd")
|
|
134
|
+
optmap_events = events_lgdo.view_as("pd")
|
|
135
135
|
hitcounts = optmap_events[all_det_ids].to_numpy()
|
|
136
136
|
loc = optmap_events[["xloc", "yloc", "zloc"]].to_numpy()
|
|
137
137
|
|
|
@@ -25,7 +25,6 @@ def build_optmap_evt(
|
|
|
25
25
|
if lh5_out_file_tmp.exists():
|
|
26
26
|
msg = f"temporary output file {lh5_out_file_tmp} already exists"
|
|
27
27
|
raise RuntimeError(msg)
|
|
28
|
-
|
|
29
28
|
vert_it = LH5Iterator(lh5_in_file, "vtx", buffer_len=buffer_len)
|
|
30
29
|
opti_it = LH5Iterator(lh5_in_file, "stp/optical", buffer_len=buffer_len)
|
|
31
30
|
|
|
@@ -80,8 +79,7 @@ def build_optmap_evt(
|
|
|
80
79
|
_store_vert_df()
|
|
81
80
|
|
|
82
81
|
# read the next vertex chunk into memory.
|
|
83
|
-
|
|
84
|
-
vert_df = vert_lgdo.view_as("pd").iloc
|
|
82
|
+
vert_df = next(vert_it).view_as("pd")
|
|
85
83
|
|
|
86
84
|
# prepare vertex coordinates.
|
|
87
85
|
vert_df = vert_df.set_index("evtid", drop=True).drop(["n_part", "time"], axis=1)
|
|
@@ -95,9 +93,10 @@ def build_optmap_evt(
|
|
|
95
93
|
# use smaller integer type uint8 to spare RAM when storing types.
|
|
96
94
|
hit_count_type = np.uint8
|
|
97
95
|
for opti_it_count, opti_lgdo in enumerate(opti_it):
|
|
98
|
-
opti_df = opti_lgdo.view_as("pd")
|
|
96
|
+
opti_df = opti_lgdo.view_as("pd")
|
|
99
97
|
|
|
100
98
|
log.info("build evt table (%d)", opti_it_count)
|
|
99
|
+
|
|
101
100
|
for t in opti_df[["evtid", "det_uid"]].itertuples(name=None, index=False):
|
|
102
101
|
_ensure_vert_df(vert_it, t[0])
|
|
103
102
|
vert_df.loc[t[0], str(t[1])] += 1
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: reboost
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.2
|
|
4
4
|
Summary: New LEGEND Monte-Carlo simulation post-processing
|
|
5
5
|
Author-email: Manuel Huber <info@manuelhu.de>, Toby Dixon <toby.dixon.23@ucl.ac.uk>, Luigi Pertoldi <gipert@pm.me>
|
|
6
6
|
Maintainer: The LEGEND Collaboration
|
|
@@ -701,7 +701,7 @@ Requires-Dist: numpy
|
|
|
701
701
|
Requires-Dist: scipy
|
|
702
702
|
Requires-Dist: numba
|
|
703
703
|
Requires-Dist: legend-pydataobj>=1.12.0
|
|
704
|
-
Requires-Dist: legend-pygeom-optics>=0.
|
|
704
|
+
Requires-Dist: legend-pygeom-optics>=0.9.2
|
|
705
705
|
Requires-Dist: hist
|
|
706
706
|
Requires-Dist: dbetto
|
|
707
707
|
Requires-Dist: particle
|
|
@@ -79,7 +79,7 @@ def test_gen_lh5_flat(tmptestdir):
|
|
|
79
79
|
def test_reshape(test_gen_lh5_flat, tmptestdir):
|
|
80
80
|
outfile = f"{tmptestdir}/basic_hit_reshaped.lh5"
|
|
81
81
|
|
|
82
|
-
reboost.build_hit
|
|
82
|
+
reboost.build_hit(
|
|
83
83
|
f"{Path(__file__).parent}/configs/reshape.yaml",
|
|
84
84
|
args={},
|
|
85
85
|
stp_files=test_gen_lh5_flat,
|
|
@@ -110,7 +110,7 @@ def test_reshape(test_gen_lh5_flat, tmptestdir):
|
|
|
110
110
|
def test_basic(test_gen_lh5, tmptestdir):
|
|
111
111
|
outfile = f"{tmptestdir}/basic_hit.lh5"
|
|
112
112
|
|
|
113
|
-
reboost.build_hit
|
|
113
|
+
reboost.build_hit(
|
|
114
114
|
f"{Path(__file__).parent}/configs/basic.yaml",
|
|
115
115
|
args={},
|
|
116
116
|
stp_files=test_gen_lh5,
|
|
@@ -132,9 +132,11 @@ def test_basic(test_gen_lh5, tmptestdir):
|
|
|
132
132
|
assert ak.all(hits.evtid[0] == [0, 0])
|
|
133
133
|
assert ak.all(hits.evtid[1] == [1, 1, 1])
|
|
134
134
|
|
|
135
|
+
assert len(hits) == 2
|
|
136
|
+
|
|
135
137
|
# test in memory
|
|
136
138
|
|
|
137
|
-
hits, time_dict = reboost.build_hit
|
|
139
|
+
hits, time_dict = reboost.build_hit(
|
|
138
140
|
f"{Path(__file__).parent}/configs/basic.yaml",
|
|
139
141
|
args={},
|
|
140
142
|
stp_files=test_gen_lh5,
|
|
@@ -158,6 +160,25 @@ def test_basic(test_gen_lh5, tmptestdir):
|
|
|
158
160
|
assert set(time_dict["geds"]["expressions"].keys()) == {"t0", "first_evtid", "energy"}
|
|
159
161
|
|
|
160
162
|
|
|
163
|
+
def test_file_merging(test_gen_lh5, tmptestdir):
|
|
164
|
+
outfile = f"{tmptestdir}/basic_hit_merged.lh5"
|
|
165
|
+
|
|
166
|
+
reboost.build_hit(
|
|
167
|
+
f"{Path(__file__).parent}/configs/basic.yaml",
|
|
168
|
+
args={},
|
|
169
|
+
stp_files=[test_gen_lh5, test_gen_lh5],
|
|
170
|
+
glm_files=None,
|
|
171
|
+
hit_files=outfile,
|
|
172
|
+
overwrite=True,
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
assert lh5.ls(outfile) == ["hit", "vtx"]
|
|
176
|
+
|
|
177
|
+
hits = lh5.read("hit/det1", outfile).view_as("ak")
|
|
178
|
+
|
|
179
|
+
assert len(hits) == 4
|
|
180
|
+
|
|
181
|
+
|
|
161
182
|
def test_full_chain(test_gen_lh5, tmptestdir):
|
|
162
183
|
args = dbetto.AttrsDict(
|
|
163
184
|
{
|
|
@@ -166,7 +187,7 @@ def test_full_chain(test_gen_lh5, tmptestdir):
|
|
|
166
187
|
}
|
|
167
188
|
)
|
|
168
189
|
|
|
169
|
-
_, time_dict = reboost.build_hit
|
|
190
|
+
_, time_dict = reboost.build_hit(
|
|
170
191
|
f"{Path(__file__).parent}/configs/hit_config.yaml",
|
|
171
192
|
args=args,
|
|
172
193
|
stp_files=test_gen_lh5,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|