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

fix: Properly sort candidates in NavigationStateUpdators #2483

Merged
merged 16 commits into from
Sep 27, 2023

Conversation

dimitra97
Copy link
Contributor

This PR introduces some changes in the surface candidates updators.
I moved some functions from the SurfaceCandidatesUpdator.hpp to the NavigationStateUpdators.hpp so they can be visible to the updators not defined in the SurfaceCandidatesUpdators.hpp
The flag sort indicates whether sorting is needed or not. A case where the individual updators should not do sorting is when they are passed as updators to the Chained Updator, where the sorting needs to be done in the end in the Chained Updator.
I think doing twice the sorting when using the Chained Updator takes a lot of time.

dimitra97 and others added 5 commits September 26, 2023 10:27
An indexed surfaces multilayer navigation

Remove unused variable

Remove unused variable

fix type conversions for the number of bins

changes on the mockupbuilder header file and on the unit test

Update Core/include/Acts/Navigation/MultiWireLayerUpdators.hpp

Co-authored-by: Andreas Stefl <stefl.andreas@gmail.com>

Change on test mockup builder script

Multi Wire structure with the interface

Changes on the multiwire structure builder

Place the files that create the mockup geometry in another folder

Change the location of the gdml file

An indexed surfaces multilayer navigation

Remove unused variable

fix type conversions for the number of bins

Multi Wire structure with the interface

Delete MultiWireLayerUpdators.hpp

Update CMakeLists.txt

revert some files

trying for Indexed Surfaces Generator

Indexed Surfaces generator update

fix

LayerStructure builder fix

fix

Delete MuonChamber.gdml

revert layer strucutre builder from upstream

reslove conflict

Multi Layer Builder

cmake file

Place the files that create the mockup geometry in another folder

Change the location of the gdml file

An indexed surfaces multilayer navigation

Remove unused variable

Remove unused variable

fix type conversions for the number of bins

Remove some actsvg includes not needed now

change the path for the gdml file

changes on the mockupbuilder header file and on the unit test

Update Core/include/Acts/Navigation/MultiWireLayerUpdators.hpp

Co-authored-by: Andreas Stefl <stefl.andreas@gmail.com>

Change on test mockup builder script

Multi Wire structure with the interface

Changes on the multiwire structure builder

Place the files that create the mockup geometry in another folder

Change the location of the gdml file

An indexed surfaces multilayer navigation

Remove unused variable

fix type conversions for the number of bins

Remove some actsvg includes not needed now

change the path for the gdml file

Multi Wire structure with the interface

Delete MultiWireLayerUpdators.hpp

Delete IndexedSurfacesNavigationTests.cpp

Update CMakeLists.txt

revert some files

trying for Indexed Surfaces Generator

Indexed Surfaces generator update

fix

LayerStructure builder fix

fix

Delete MuonChamber.gdml

revert layer strucutre builder from upstream

cmake file

Update MultiWireStructureBuilder.hpp

Update MultiWireStructureBuilder.hpp

Update MultiWireStructureBuilder.cpp

Place the files that create the mockup geometry in another folder

Change the location of the gdml file

An indexed surfaces multilayer navigation

Remove unused variable

Remove unused variable

fix type conversions for the number of bins

Remove some actsvg includes not needed now

change the path for the gdml file

changes on the mockupbuilder header file and on the unit test

Update Core/include/Acts/Navigation/MultiWireLayerUpdators.hpp

Co-authored-by: Andreas Stefl <stefl.andreas@gmail.com>

Change on test mockup builder script

Multi Wire structure with the interface

Changes on the multiwire structure builder

Place the files that create the mockup geometry in another folder

Change the location of the gdml file

An indexed surfaces multilayer navigation

Remove unused variable

fix type conversions for the number of bins

Remove some actsvg includes not needed now

change the path for the gdml file

Multi Wire structure with the interface

Delete MultiWireLayerUpdators.hpp

Delete IndexedSurfacesNavigationTests.cpp

Update CMakeLists.txt

revert some files

trying for Indexed Surfaces Generator

Indexed Surfaces generator update

LayerStructure builder fix

fix

Delete MuonChamber.gdml

revert gdml from upstream

revert layer strucutre builder from upstream

fix conflicts and some optimizations

conflicts and format

revert some files

revert some files

new updator

fix

license issue

 fix
@github-actions github-actions bot added the Component - Core Affects the Core module label Sep 26, 2023
@codecov
Copy link

codecov bot commented Sep 26, 2023

Codecov Report

Merging #2483 (672f3c2) into main (a23fe6d) will decrease coverage by 0.01%.
The diff coverage is 75.00%.

@@            Coverage Diff             @@
##             main    #2483      +/-   ##
==========================================
- Coverage   49.85%   49.84%   -0.01%     
==========================================
  Files         466      466              
  Lines       26253    26250       -3     
  Branches    12034    12034              
==========================================
- Hits        13089    13085       -4     
  Misses       4615     4615              
- Partials     8549     8550       +1     
Files Coverage Δ
Core/include/Acts/Navigation/DetectorNavigator.hpp 51.09% <100.00%> (+2.63%) ⬆️
...lude/Acts/Navigation/SurfaceCandidatesUpdators.hpp 57.89% <ø> (-10.96%) ⬇️
...lude/Acts/Navigation/MultiLayerSurfacesUpdator.hpp 50.00% <0.00%> (-1.12%) ⬇️
...nclude/Acts/Navigation/NavigationStateUpdators.hpp 66.66% <66.66%> (ø)

... and 1 file with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@andiwand andiwand changed the title refactor: Updators fix fix: Properly sort candidates in NavigationStateUpdators Sep 26, 2023
@andiwand
Copy link
Contributor

With #2316 I would move the sorting to the navigator so the job of the delegate is just to provide the candidates. But I haven't followed up on this effort in a while so happy to merge your fix in first.

@dimitra97
Copy link
Contributor Author

With #2316 I would move the sorting to the navigator so the job of the delegate is just to provide the candidates. But I haven't followed up on this effort in a while so happy to merge your fix in first.

I think then the sort flag is not needed?

@andiwand
Copy link
Contributor

yes exactly I think this would simplify things

@github-actions github-actions bot added the Component - Examples Affects the Examples module label Sep 26, 2023
@github-actions github-actions bot removed the Component - Examples Affects the Examples module label Sep 26, 2023
andiwand
andiwand previously approved these changes Sep 27, 2023
Copy link
Contributor

@andiwand andiwand left a comment

Choose a reason for hiding this comment

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

nicely done!

I left one suggestion

but happy to merge as is

Core/include/Acts/Navigation/DetectorNavigator.hpp Outdated Show resolved Hide resolved
Co-authored-by: Andreas Stefl <stefl.andreas@gmail.com>
Copy link
Contributor

@asalzburger asalzburger left a comment

Choose a reason for hiding this comment

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

Great!

@asalzburger
Copy link
Contributor

doc build timed out again, but this I will overrule if that's the only check that fails.

@asalzburger asalzburger merged commit ffc9e12 into acts-project:main Sep 27, 2023
56 of 58 checks passed
AJPfleger pushed a commit to AJPfleger/acts that referenced this pull request Sep 29, 2023
…ect#2483)

This PR introduces some changes in the surface candidates updators. 
I moved some functions from the `SurfaceCandidatesUpdator.hpp` to the
`NavigationStateUpdators.hpp` so they can be visible to the updators not
defined in the `SurfaceCandidatesUpdators.hpp`
The flag `sort` indicates whether sorting is needed or not. A case where
the individual updators should not do sorting is when they are passed as
updators to the `Chained Updator`, where the sorting needs to be done in
the end in the `Chained Updator`.
I think doing twice the sorting when using the` Chained Updator` takes a
lot of time.

---------

Co-authored-by: Dimitra Amperiadou <dimitra@dimitra-tosh.station>
Co-authored-by: Andreas Stefl <stefl.andreas@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
@paulgessinger paulgessinger modified the milestones: next, v30.1.0 Oct 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component - Core Affects the Core module
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants