Skip to content

Add a steering file for using the native EDM4hep algorithms#70

Open
jmcarcell wants to merge 89 commits into
mainfrom
add-native
Open

Add a steering file for using the native EDM4hep algorithms#70
jmcarcell wants to merge 89 commits into
mainfrom
add-native

Conversation

@jmcarcell

@jmcarcell jmcarcell commented Mar 28, 2025

Copy link
Copy Markdown
Member

BEGINRELEASENOTES

  • Modify the parameters in the tracking algorithms so that they can be used both in the original marlin reconstruction and using native EDM4hep algorithms
  • Add CLDReconstruction_iosvc.py, a steering file that uses IOSvc and the native algorithms when possible
  • Add a test to compare the collections that are obtained with the wrapper and with the native algorithms, to check that they are similar

ENDRELEASENOTES

Tested that the original marlin reconstruction gives the same results before and after since nothing should have changed for it, both with --truthTracking and without (up to some ID changes because I think there is non-deterministic ordering in Refit, but the tracks are the same).

Comment thread CLDConfig/py_utils.py Outdated
@jmcarcell jmcarcell marked this pull request as ready for review June 5, 2026 06:08
@jmcarcell

Copy link
Copy Markdown
Member Author

Planning on merging this soon @Zehvogel when CI passes and a few minor things are fixed

@Zehvogel Zehvogel left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Hi, thanks for this effort!

I am mostly very happy with the results. However, in some cases, like the conformal tracking, I think there is a bit too much chaos in the file. I have left some comments inline.

Comment thread CLDConfig/Tracking/TrackingDigi.py Outdated
ConformalTrackingSequence = [
MyConformalTracking,
ClonesAndSplitTracksFinder,
clones_and_split_tracks_finder,

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

any reason to rename this one in particular?

@jmcarcell jmcarcell Jun 6, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Not really, there is a mix of both. PEP8 says lower case and underscore are preferred so we could have them all be that. The names of the algorithms are CamelCames though. https://peps.python.org/pep-0008/#function-and-variable-names

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I know that Python prefers snake_case, but I just find it odd to rename only one. I would say we keep it in CamelCase for now so that it matches the algorithm names better. :)

Comment thread CLDConfig/Tracking/ConformalTracking.py Outdated
Comment thread CLDConfig/Tracking/ConformalTracking.py
Comment thread CLDConfig/Tracking/ConformalTracking.py Outdated
Comment thread CLDConfig/Tracking/ConformalTracking.py
Comment thread test/CMakeLists.txt
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.

Migrate to 'Key4hep native' algorithms

3 participants