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!: Fix vertex finding for seeds with z=0 #2917

Merged
merged 7 commits into from
Feb 21, 2024

Conversation

andiwand
Copy link
Contributor

@andiwand andiwand commented Jan 31, 2024

While working on the 4D vertexing performance I realized that our vertex finders will abort if a seed with z=0 is found. This can happen using a grid based seeder as it can round to exactly 0.

As far as I could see the vertex constraint was only used to signal the finish line for the vertex finding. I exchanged that with an optional and also removed the vector which had no use as far as I could tell

@andiwand andiwand added this to the next milestone Jan 31, 2024
@github-actions github-actions bot added Component - Core Affects the Core module Vertexing labels Jan 31, 2024
Copy link
Contributor

@pbutti pbutti left a comment

Choose a reason for hiding this comment

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

Looks reasonable to me

pbutti
pbutti previously approved these changes Jan 31, 2024
@acts-policybot acts-policybot bot dismissed pbutti’s stale review February 1, 2024 09:34

Invalidated by push of 9d85a36

Copy link
Contributor

@felix-russo felix-russo left a comment

Choose a reason for hiding this comment

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

Very good idea; I don't know why we did this but I am guessing that it is a relict from athena.

  • Do you know why the physmon changes for the IVF? I don't see why it should
  • Is this breaking because of the (very sensible) renaming?

@andiwand
Copy link
Contributor Author

andiwand commented Feb 3, 2024

Very good idea; I don't know why we did this but I am guessing that it is a relict from athena.

  • Do you know why the physmon changes for the IVF? I don't see why it should
  • Is this breaking because of the (very sensible) renaming?

I am also a bit puzzled about the performance changes in the IVF. I can try to track it down

Yeah I think flagging as breaking makes a lot of sense here

@andiwand andiwand changed the title fix: Fix vertex finding for seeds with z=0 fix!: Fix vertex finding for seeds with z=0 Feb 3, 2024
Copy link

codecov bot commented Feb 5, 2024

Codecov Report

Attention: 18 lines in your changes are missing coverage. Please review.

Comparison is base (8ccefe1) 48.78% compared to head (bf674c6) 48.78%.

Files Patch % Lines
...clude/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp 43.75% 1 Missing and 8 partials ⚠️
...e/include/Acts/Vertexing/IterativeVertexFinder.ipp 50.00% 1 Missing and 3 partials ⚠️
...Acts/Vertexing/AdaptiveGridDensityVertexFinder.ipp 0.00% 1 Missing and 1 partial ⚠️
...include/Acts/Vertexing/GridDensityVertexFinder.ipp 50.00% 0 Missing and 1 partial ⚠️
...nclude/Acts/Vertexing/TrackDensityVertexFinder.ipp 0.00% 0 Missing and 1 partial ⚠️
Core/include/Acts/Vertexing/ZScanVertexFinder.ipp 0.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2917   +/-   ##
=======================================
  Coverage   48.78%   48.78%           
=======================================
  Files         493      493           
  Lines       28911    28905    -6     
  Branches    13749    13747    -2     
=======================================
- Hits        14104    14102    -2     
+ Misses       4913     4911    -2     
+ Partials     9894     9892    -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@andiwand
Copy link
Contributor Author

andiwand commented Feb 5, 2024

the physmon regression is actually coming from an existing problem. if a single propagation during vertex fitting fails the whole event will have 0 vertices. the propagation to the perigee is not stable as the distance estimate can be quite a bit off and our overstepping tolerance will ruin the propagation. this happens more frequently than before because more vertices are reconstructed

I added a fix here #2930

kodiakhq bot pushed a commit that referenced this pull request Feb 7, 2024
The AMVF config `addSingleTrackVertices` was not correctly applied in the finding process and endet up always being `true`. This PR fixes the behavior.

discovered in #2917
LaraCalic pushed a commit to LaraCalic/acts that referenced this pull request Feb 10, 2024
The AMVF config `addSingleTrackVertices` was not correctly applied in the finding process and endet up always being `true`. This PR fixes the behavior.

discovered in acts-project#2917
@andiwand andiwand added the 🛑 blocked This item is blocked by another item label Feb 13, 2024
@andiwand
Copy link
Contributor Author

blocked by the vertexing refactor atm

@andiwand andiwand removed the 🛑 blocked This item is blocked by another item label Feb 19, 2024
@andiwand andiwand force-pushed the fix-vertex-finding-z-0 branch from cddd364 to afc6698 Compare February 19, 2024 16:15
@github-actions github-actions bot added Infrastructure Changes to build tools, continous integration, ... Changes Performance labels Feb 20, 2024
@andiwand
Copy link
Contributor Author

I decoupled this one now from #2930 and pulled the vertex refactor changes in. Ready to go from my side

paulgessinger
paulgessinger previously approved these changes Feb 20, 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.

Seems reasonable, I only have nitpicks.

Output change is likely due to extra vertices being found?

Co-authored-by: Paul Gessinger <hello@paulgessinger.com>
@acts-project-service
Copy link
Collaborator

🔴 Athena integration test results [123746c]

Build job with this PR failed!

Please investigate the build job for the pipeline!

@acts-project-service acts-project-service added the Breaks Athena build This PR breaks the Athena build label Feb 21, 2024
andiwand added a commit to andiwand/acts that referenced this pull request Feb 21, 2024
paulgessinger pushed a commit to andiwand/acts that referenced this pull request Feb 21, 2024
@paulgessinger paulgessinger added Fails Athena tests This PR causes a failure in the Athena tests and removed Breaks Athena build This PR breaks the Athena build labels Feb 21, 2024
@paulgessinger
Copy link
Member

This PR changes Athena outputs

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The code shuffle here might have unexpected effects. I will revert and see if that is it.

Otherwise I can only suspect that the number of vertices is changing. If so I would think it is a bug fix but we have to check the plots.

andiwand added a commit to andiwand/acts that referenced this pull request Feb 22, 2024
andiwand added a commit to andiwand/acts that referenced this pull request Feb 22, 2024
@andiwand
Copy link
Contributor Author

#3002 will hopefully resolve this

kodiakhq bot pushed a commit that referenced this pull request Mar 1, 2024
 (#3002)

In #2917 I changed the way how "no more seeds" is communicated in our vertexing code but forgot to wire this for the `TrackDensityVertexFinder` correctly.
@paulgessinger paulgessinger modified the milestones: next, v33.0.0 Mar 6, 2024
@paulgessinger paulgessinger added Fails Athena tests This PR causes a failure in the Athena tests and removed Fails Athena tests This PR causes a failure in the Athena tests labels Mar 6, 2024
Ragansu pushed a commit to Ragansu/acts that referenced this pull request Mar 7, 2024
…ts-project#2917 (acts-project#3002)

In acts-project#2917 I changed the way how "no more seeds" is communicated in our vertexing code but forgot to wire this for the `TrackDensityVertexFinder` correctly.
kodiakhq bot pushed a commit that referenced this pull request Mar 8, 2024
This fixes another case where the overstepping tolerance bites us from behind. Perigee surfaces are prone to the issue of bad path length estimation so we need a special treatment.

discovered in #2917
dimitra97 pushed a commit to dimitra97/acts that referenced this pull request Mar 19, 2024
…ject#2930)

This fixes another case where the overstepping tolerance bites us from behind. Perigee surfaces are prone to the issue of bad path length estimation so we need a special treatment.

discovered in acts-project#2917
EleniXoch pushed a commit to EleniXoch/acts that referenced this pull request May 6, 2024
The AMVF config `addSingleTrackVertices` was not correctly applied in the finding process and endet up always being `true`. This PR fixes the behavior.

discovered in acts-project#2917
EleniXoch pushed a commit to EleniXoch/acts that referenced this pull request May 6, 2024
While working on the 4D vertexing performance I realized that our vertex finders will abort if a seed with `z=0` is found. This can happen using a grid based seeder as it can round to exactly 0.

As far as I could see the vertex constraint was only used to signal the finish line for the vertex finding. I exchanged that with an optional and also removed the vector which had no use as far as I could tell
EleniXoch pushed a commit to EleniXoch/acts that referenced this pull request May 6, 2024
…ts-project#2917 (acts-project#3002)

In acts-project#2917 I changed the way how "no more seeds" is communicated in our vertexing code but forgot to wire this for the `TrackDensityVertexFinder` correctly.
EleniXoch pushed a commit to EleniXoch/acts that referenced this pull request May 6, 2024
…ject#2930)

This fixes another case where the overstepping tolerance bites us from behind. Perigee surfaces are prone to the issue of bad path length estimation so we need a special treatment.

discovered in acts-project#2917
asalzburger pushed a commit to asalzburger/acts that referenced this pull request May 21, 2024
The AMVF config `addSingleTrackVertices` was not correctly applied in the finding process and endet up always being `true`. This PR fixes the behavior.

discovered in acts-project#2917
asalzburger pushed a commit to asalzburger/acts that referenced this pull request May 21, 2024
While working on the 4D vertexing performance I realized that our vertex finders will abort if a seed with `z=0` is found. This can happen using a grid based seeder as it can round to exactly 0.

As far as I could see the vertex constraint was only used to signal the finish line for the vertex finding. I exchanged that with an optional and also removed the vector which had no use as far as I could tell
asalzburger pushed a commit to asalzburger/acts that referenced this pull request May 21, 2024
…ts-project#2917 (acts-project#3002)

In acts-project#2917 I changed the way how "no more seeds" is communicated in our vertexing code but forgot to wire this for the `TrackDensityVertexFinder` correctly.
asalzburger pushed a commit to asalzburger/acts that referenced this pull request May 21, 2024
…ject#2930)

This fixes another case where the overstepping tolerance bites us from behind. Perigee surfaces are prone to the issue of bad path length estimation so we need a special treatment.

discovered in acts-project#2917
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes Performance Component - Core Affects the Core module Fails Athena tests This PR causes a failure in the Athena tests Infrastructure Changes to build tools, continous integration, ... Vertexing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants