Skip to content

Commit 7ce5da1

Browse files
committed
performance optimization for lumimask taskgraphs
1 parent f3cce1c commit 7ce5da1

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

Diff for: src/coffea/lumi_tools/lumi_tools.py

+7-4
Original file line numberDiff line numberDiff line change
@@ -169,10 +169,12 @@ def __call__(self, runs, lumis):
169169
"""
170170

171171
def apply(runs, lumis):
172+
backend = awkward.backend(runs)
172173
# fill numba typed dict
173174
_masks = Dict.empty(key_type=types.uint32, value_type=types.uint32[:])
174-
for k, v in self._masks.items():
175-
_masks[k] = v
175+
if backend != "typetracer":
176+
for k, v in self._masks.items():
177+
_masks[k] = v
176178

177179
runs_orig = runs
178180
if isinstance(runs, awkward.highlevel.Array):
@@ -184,10 +186,11 @@ def apply(runs, lumis):
184186
awkward.typetracer.length_zero_if_typetracer(lumis)
185187
)
186188
mask_out = numpy.zeros(dtype="bool", shape=runs.shape)
187-
LumiMask._apply_run_lumi_mask_kernel(_masks, runs, lumis, mask_out)
189+
if backend != "typetracer":
190+
LumiMask._apply_run_lumi_mask_kernel(_masks, runs, lumis, mask_out)
188191
if isinstance(runs_orig, awkward.Array):
189192
mask_out = awkward.Array(mask_out)
190-
if awkward.backend(runs_orig) == "typetracer":
193+
if backend == "typetracer":
191194
mask_out = awkward.Array(
192195
mask_out.layout.to_typetracer(forget_length=True)
193196
)

0 commit comments

Comments
 (0)