Skip to content

ATLAS ElementLinks used to work, NOT anymore #3077

Description

@ekourlit

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug (unverified)The problem described would be a bug, but needs to be triaged

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions