Version of Awkward Array
2.6.2
Description and code to reproduce
I'm writing this on behalf of a team within the ATLAS Collaboration who tries to read ATLAS-specific data (PHYSLITE) with uproot and awkward. The problem is related to ElementLinks.
We use coffea and the PHYSLITESchema to load and structure our data in awkward arrays. ElementLinks are also treated within the PHYSLITESchema. This is something that it used to work fine in the past with:
coffea version: 2023.7.0rc1.dev83+g52950d1
uproot version: 5.0.13
awkward version: 2.4.4
but it is not working anymore with:
coffea version: 2024.3.0
uproot version: 5.3.2
awkward version: 2.6.2
When we try to retrieve the linked collection from the parent one we get the following error:
Traceback (most recent call last):
File "/venv/lib/python3.9/site-packages/awkward/_dispatch.py", line 56, in dispatch
raise NotImplementedError
NotImplementedError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/ekourlit/failing_example.py", line 67, in <module>
clusters = events.Electrons.caloClusters
File "/venv/lib/python3.9/site-packages/dask_awkward/lib/core.py", line 1535, in __getattr__
return self.map_partitions(
File "/venv/lib/python3.9/site-packages/dask_awkward/lib/core.py", line 1588, in map_partitions
return map_partitions(func, self, *args, traverse=traverse, **kwargs)
File "/venv/lib/python3.9/site-packages/dask_awkward/lib/core.py", line 2107, in map_partitions
return _map_partitions(
File "/venv/lib/python3.9/site-packages/dask_awkward/lib/core.py", line 1943, in _map_partitions
meta = map_meta(fn, *args, **kwargs)
File "/venv/lib/python3.9/site-packages/dask_awkward/lib/core.py", line 2467, in map_meta
meta = fn(*to_meta(deps))
File "/venv/lib/python3.9/site-packages/dask_awkward/lib/core.py", line 1903, in __call__
return self.fn(*args, **kwargs)
File "/venv/lib/python3.9/site-packages/dask_awkward/lib/core.py", line 2575, in __call__
return getattr(coll, self.attr)
File "/home/ekourlit/failing_example.py", line 29, in caloClusters
return _element_link_method(
File "/venv/lib/python3.9/site-packages/coffea/nanoevents/methods/physlite.py", line 55, in _element_link_method
return _element_link(
File "/venv/lib/python3.9/site-packages/coffea/nanoevents/methods/physlite.py", line 39, in _element_link
global_index = _get_global_index(target_collection, eventindex, index)
File "/venv/lib/python3.9/site-packages/coffea/nanoevents/methods/physlite.py", line 132, in _get_global_index
target_offsets = _get_target_offsets(load_column, eventindex)
File "/venv/lib/python3.9/site-packages/coffea/nanoevents/methods/physlite.py", line 109, in _get_target_offsets
if awkward.backend(load_column) == "typetracer":
File "/venv/lib/python3.9/site-packages/awkward/_dispatch.py", line 70, in dispatch
return gen_or_result
File "/venv/lib/python3.9/site-packages/awkward/_errors.py", line 85, in __exit__
self.handle_exception(exception_type, exception_value)
File "/venv/lib/python3.9/site-packages/awkward/_errors.py", line 95, in handle_exception
raise self.decorate_exception(cls, exception)
NotImplementedError:
See if this has been reported at https://github.com/scikit-hep/awkward/issues
We put together a reproducer script, which downloads one of our public files for testing: failing_example.py.zip
I also tried to factorise out coffea by linking collections without using the PHYSLITESchema, just by using awkward. This is working with pure awkward (2.6.2), although I was not able to make it work using dask_awkward (2024.3.0). Please see the reproducer script: ElementLinks_awkward.py.zip.
We would appreciate your insights. Please let us know if you need further information from our side.
Tagging @alexander-held and @matthewfeickert.
Thank you in advance!
Version of Awkward Array
2.6.2
Description and code to reproduce
I'm writing this on behalf of a team within the ATLAS Collaboration who tries to read ATLAS-specific data (PHYSLITE) with
uprootandawkward. The problem is related toElementLinks.We use
coffeaand thePHYSLITESchemato load and structure our data in awkward arrays.ElementLinksare also treated within thePHYSLITESchema. This is something that it used to work fine in the past with:but it is not working anymore with:
When we try to retrieve the linked collection from the parent one we get the following error:
We put together a reproducer script, which downloads one of our public files for testing: failing_example.py.zip
I also tried to factorise out
coffeaby linking collections without using thePHYSLITESchema, just by usingawkward. This is working with pureawkward(2.6.2), although I was not able to make it work usingdask_awkward(2024.3.0). Please see the reproducer script: ElementLinks_awkward.py.zip.We would appreciate your insights. Please let us know if you need further information from our side.
Tagging @alexander-held and @matthewfeickert.
Thank you in advance!