Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor Seeding to avoid repeated Finders instantiations #1690

Closed
tboldagh opened this issue Nov 23, 2022 · 1 comment · Fixed by #1757
Closed

Refactor Seeding to avoid repeated Finders instantiations #1690

tboldagh opened this issue Nov 23, 2022 · 1 comment · Fixed by #1757
Labels
Impact - Minor Nuissance bug and/or affects only a single module Improvement Changes to an existing feature Long Term Tracking issues for longer-term projects and developments Needs Decision Needs decision or further information Stale
Milestone

Comments

@tboldagh
Copy link
Contributor

At ACTS dev. weekly 22.11.22 we discussed and agreed that SeedFinder(s) should be refactored so that clients (example algorithm in ACTS or ATLAS Athena or ... ) do not need to reinstantiate it for every event.

In practice this means that seed finding method should get part Options object that changes from event to event in the methods that process the data rather than at construction.
Suitable Option objects were introduced in PR #1630.

The changes can happen in steps, one for each specific Seeding algorithm.
FI @LuisFelipeCoelho @stephenswat

@tboldagh tboldagh added Improvement Changes to an existing feature Needs Decision Needs decision or further information Impact - Minor Nuissance bug and/or affects only a single module Long Term Tracking issues for longer-term projects and developments labels Nov 23, 2022
@tboldagh tboldagh added this to the next milestone Nov 23, 2022
kodiakhq bot pushed a commit that referenced this issue Dec 14, 2022
… every event (#1693)

This PR is a technical refactor of the SeedFinder so that it does not need to be reinstantiated in every event. 
Instead it would be made only once, properly configured and then only its 
`createSeedsForGroup` called for events. 

BREAKING CHANGE
The arguments to SeedFinder constructor have changed and the arguments needed when calling it's main method. 

On the way, the SeedFinderConfig object was slimmed from those quantities that can't be filled w/o knowledge about the event (i.e. B field). Python binding for those properties that are overwritten anayways: `highland` and `maxScatteringAngle2`, `pTPerHelixRadius`, `minHelixDiameter2` and  `pT2perRadius` are removed.  @LuisFelipeCoelho - please check me on this.

Tested on standalone ODD full chain. It is marginally faster now. 

The OrthogonalSeedFinder should be likely refactored in the same way? For later PR. 
It addresses issue #1690 (not closing it)
CarloVarni pushed a commit to CarloVarni/acts that referenced this issue Dec 22, 2022
… every event (acts-project#1693)

This PR is a technical refactor of the SeedFinder so that it does not need to be reinstantiated in every event. 
Instead it would be made only once, properly configured and then only its 
`createSeedsForGroup` called for events. 

BREAKING CHANGE
The arguments to SeedFinder constructor have changed and the arguments needed when calling it's main method. 

On the way, the SeedFinderConfig object was slimmed from those quantities that can't be filled w/o knowledge about the event (i.e. B field). Python binding for those properties that are overwritten anayways: `highland` and `maxScatteringAngle2`, `pTPerHelixRadius`, `minHelixDiameter2` and  `pT2perRadius` are removed.  @LuisFelipeCoelho - please check me on this.

Tested on standalone ODD full chain. It is marginally faster now. 

The OrthogonalSeedFinder should be likely refactored in the same way? For later PR. 
It addresses issue acts-project#1690 (not closing it)
@stale
Copy link

stale bot commented Dec 24, 2022

This issue/PR has been automatically marked as stale because it has not had recent activity. The stale label will be removed if any interaction occurs.

@stale stale bot added the Stale label Dec 24, 2022
@kodiakhq kodiakhq bot closed this as completed in #1757 Jan 18, 2023
@kodiakhq kodiakhq bot closed this as completed in 77b55d0 Jan 18, 2023
@paulgessinger paulgessinger modified the milestones: next, v23.0.0 Jan 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Impact - Minor Nuissance bug and/or affects only a single module Improvement Changes to an existing feature Long Term Tracking issues for longer-term projects and developments Needs Decision Needs decision or further information Stale
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants