Skip to content

backwards ecal: add position resolution - #321

Merged
veprbl merged 2 commits into
masterfrom
eeemcal-position-resolution
Aug 10, 2026
Merged

backwards ecal: add position resolution#321
veprbl merged 2 commits into
masterfrom
eeemcal-position-resolution

Conversation

@mandrenguyen

@mandrenguyen mandrenguyen commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

This PR adds an additional benchmark for the backwards ECAL which is the position residual compared to the electron endpoint. An improved version would be to instead use the truth cluster, but that would require a resolution of eic/EICrecon#2612

This quantity is the same one presented at the TIC meeting.

It occurs to me that running this benchmark on a photon gun, rather than electron gun might be preferable to avoid an effect of the magnetic field bending.

Codex was used to adapt the code format to the one expected for benchmarking.

What is the urgency of this PR?

  • High (please describe reason below)
  • Medium
  • Low

What kind of change does this PR introduce?

  • Bug fix (issue #__)
  • New feature (issue #__)
  • Optimization (issue #__)
  • Updated documentation
  • other: __

Please check if any of the following apply

  • This PR introduces breaking changes. Please describe changes users need to make below.
  • This PR changes default behavior. Please describe changes below.
  • AI was used in preparing this PR. Please describe usage below.

@veprbl

veprbl commented Aug 5, 2026

Copy link
Copy Markdown
Member

This ran into a problem:

Traceback (most recent call last):
  File "/builds/EIC/benchmarks/detector_benchmarks/benchmarks/backwards_ecal/backwards_ecal.org2py.py", line 281, in <module>
    cluster_position_residual(e_eval[energy], coordinate),
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builds/EIC/benchmarks/detector_benchmarks/benchmarks/backwards_ecal/backwards_ecal.org2py.py", line 265, in cluster_position_residual
    reco_coordinate = ak.firsts(
        events[f"EcalEndcapNClusters.position.{coordinate}"][highest_reco_energy],
        axis=-1,
    )
  File "/opt/local/lib/python3.13/site-packages/awkward/_dispatch.py", line 38, in dispatch
    with OperationErrorContext(name, args, kwargs):
         ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/opt/local/lib/python3.13/site-packages/awkward/_errors.py", line 80, in __exit__
    raise self.decorate_exception(exception_type, exception_value)
  File "/opt/local/lib/python3.13/site-packages/awkward/_dispatch.py", line 51, in dispatch
    result = custom_impl(dispatch, array_likes, args, kwargs)
  File "/opt/local/lib/python3.13/site-packages/dask_awkward/lib/core.py", line 1700, in __awkward_function__
    return fn(*args, **kwargs)
  File "/opt/local/lib/python3.13/site-packages/dask_awkward/lib/structure.py", line 424, in firsts
    raise DaskAwkwardNotImplemented("TODO")
dask_awkward.utils.DaskAwkwardNotImplemented: TODO
If you would like this unsupported call to be supported by
dask-awkward please open an issue at:
https://github.com/dask-contrib/dask-awkward.
See if this has been reported at https://github.com/scikit-hep/awkward/issues

which might be related to the pinned versions https://github.com/eic/detector_benchmarks/blob/55968d426d6e036affb246fabf619365e5d35ab5/benchmarks/backwards_ecal/requirements.txt

Which version have you used?

@mandrenguyen

Copy link
Copy Markdown
Contributor Author

531bfcec0f7e20e5c5dc3809c3315c1f45f9b70b should address the initial failures.
This new round of failures seems unrelated to this PR.

@veprbl veprbl left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image Image

@veprbl
veprbl merged commit 3e6bdf5 into master Aug 10, 2026
5 checks passed
@veprbl
veprbl deleted the eeemcal-position-resolution branch August 10, 2026 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants