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!: Use ActsScalar in binning tools #3482

Closed

Conversation

stephenswat
Copy link
Member

The current binning tools use floats everywhere, which is prone to conversion warnings. This commit converts that code to use the ActsScalar type alias instead.

@github-actions github-actions bot added Component - Core Affects the Core module Component - Plugins Affects one or more Plugins labels Aug 6, 2024
@github-actions github-actions bot added the Infrastructure Changes to build tools, continous integration, ... label Aug 7, 2024
@paulgessinger paulgessinger modified the milestones: v36.1.0, v37.0.0 Aug 7, 2024
Copy link
Member

@paulgessinger paulgessinger left a comment

Choose a reason for hiding this comment

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

Looks good overall, waiting for v37 to merge this.

cmake/ActsCompilerOptions.cmake Outdated Show resolved Hide resolved
@github-actions github-actions bot removed the Infrastructure Changes to build tools, continous integration, ... label Aug 8, 2024
@stephenswat stephenswat force-pushed the fix/binning_scalar_type branch 2 times, most recently from fe2827d to 05f8805 Compare August 8, 2024 19:02
The current binning tools use floats everywhere, which is prone to
conversion warnings. This commit converts that code to use the
`ActsScalar` type alias instead.
Copy link

github-actions bot commented Aug 8, 2024

📊: Physics performance monitoring for 05f8805

Full contents

physmon summary

Copy link

sonarcloud bot commented Aug 8, 2024

@andiwand
Copy link
Contributor

andiwand commented Aug 9, 2024

always interesting to see what triggers the 3 ttbar events to change

@andiwand andiwand mentioned this pull request Aug 29, 2024
@github-actions github-actions bot added the Stale label Sep 8, 2024
@AJPfleger
Copy link
Contributor

I was looking at the physmon output. Some of the plots have random spikes. The outliers in CKF | trackfinding | ttbar with 200 pileup | default seeding change a lot.
image

The use of double instead of float seems correct, but I think we should investigate the underlying cause first before getting this in. What do you think?

@github-actions github-actions bot removed the Stale label Sep 9, 2024
@stephenswat
Copy link
Member Author

Huh, that's peculiar. 🤔

@andiwand
Copy link
Contributor

andiwand commented Oct 2, 2024

Ultimately I think this changed the seeding a bit which then changes the track finding a bit. The plots don't scare me too much since we have very low stats there.

What I am not sure about is IF we actually want to change the seeding here? @stephenswat @paulgessinger @asalzburger

If that is clear I am happy to approve and bring this in.

@AJPfleger
Copy link
Contributor

Regarding the IF, I have no strong opinion.

It's annoying for the low stats, but maybe we should re-run with better stats. I will check the logs, how expensive the individual tests are, but if we are lucky we could upscale them at a cost of an extra minute or so :3

@paulgessinger
Copy link
Member

Why this affects the seeding is not entirely clear to me.

I guess it could affect Fatras and then subsequently reconstruction.

@AJPfleger
Copy link
Contributor

The current physmon tests take around 11-18 minutes. In the trackfinding_ttbar_pu200 we spend around 75-135 seconds. I think, we could double the number of events from 3 to 6, but everything else would take too much time. I tried it with 30 events and it takes 850s on github. As expected, we scale here linearly.

@andiwand
Copy link
Contributor

andiwand commented Oct 3, 2024

Why this affects the seeding is not entirely clear to me.

I guess it could affect Fatras and then subsequently reconstruction.

Isn't

  • Core/include/Acts/Utilities/BinUtility.hpp
  • Core/include/Acts/Utilities/BinningData.hpp
    something that is used in seeding?

The current physmon tests take around 11-18 minutes. In the trackfinding_ttbar_pu200 we spend around 75-135 seconds. I think, we could double the number of events from 3 to 6, but everything else would take too much time. I tried it with 30 events and it takes 850s on github. As expected, we scale here linearly.

I think we would need 100-1000 events so I would rather keep it as it is for now if we cannot reach that

@paulgessinger
Copy link
Member

I was under the impression it uses the Grid for the internal binning, but I could be wrong.

@CarloVarni
Copy link
Collaborator

In the seeding we use the Acts::Grid, but I'm not familiar with neither of Core/include/Acts/Utilities/BinUtility.hpp or Core/include/Acts/Utilities/BinningData.hpp and I don't know if they may be use internally somewhere

@paulgessinger paulgessinger removed this from the v37.0.0 milestone Oct 4, 2024
@paulgessinger paulgessinger added this to the v38.0.0 milestone Oct 4, 2024
@stephenswat
Copy link
Member Author

Invalidated by #3873.

@AJPfleger
Copy link
Contributor

we could still have this with double instead of the floats, no?

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 Component - Plugins Affects one or more Plugins
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants