-
Notifications
You must be signed in to change notification settings - Fork 157
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
feat: Curvature sorting in SeedFilter #1168
feat: Curvature sorting in SeedFilter #1168
Conversation
Codecov Report
@@ Coverage Diff @@
## main #1168 +/- ##
==========================================
- Coverage 47.77% 47.75% -0.03%
==========================================
Files 360 360
Lines 18608 18616 +8
Branches 8770 8774 +4
==========================================
Hits 8890 8890
- Misses 3666 3674 +8
Partials 6052 6052
📣 Codecov can now indicate which changes are the most critical in Pull Requests. Learn more |
delete comments in SeedFilter.ipp line 70 & 71 as this PR addresses this :) Did you test if this is faster respectively not significantly slower for small topSP vectors? If so, no need to make it conditional on |
This PR tries to fix usage of mutable properties in #1168 and #1143. Tagging: @paulgessinger @robertlangenberg @LuisFelipeCoelho BREAKING CHANGE: Remove assumption on constness of InternalSpacePoint. The need of this major change is to allow seed finding and filtering to evaluate and set properties of InternalSpacePoints as soon as they are candidates for triplet formation and seed quality evaluation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey, looks good! Did you do tests if this speeds up performance? If not or if tests weren't showing it's speeding up or maintaining performance in +- all cases, we should probably just push this in. If you have tests that DO say it's always beneficial, we can also get rid of the switch curvatureSortingInFilter.
@robertlangenberg these plots compare the time per event with and without the curvature sorting. In the first one, I ran the seeding 100 times for 500 single muon events (100 GeV) and the second one 100 times for 20 ttbar events (14 TeV). The performance seems to be the same. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only a clang format change after @robertlangenberg's approval, so let's merge.
This PR introduces an option to sort the Seed by curvature in the
SeedFilter
.If the boolean
curvatureSortingInFilter
is true, the seeds will be sorted by curvature and if a seed has a curvature greater that the maximum (upperLimitCurv
) it will break out of loop.curvatureSortingInFilter
is set to false by default.@noemina @robertlangenberg @paulgessinger