acts
acts copied to clipboard
refactor: SP builder update
This PR updates the SP builder in Core, which was recently moved from Plugins(#1138).
SingleHitSpacePointBuilder and DoubleHitSpacePointBuilder, for pixels and strips respectively, are now merged into SpacePointBuilder. The new SP builder is used in the SpacePointMaker in Examples for pixels. The strip digitization is still missing. The physmon root files and hashes are updated as they are affected by the change of the SP coordinates from float to ActsScalar.
Codecov Report
Merging #1218 (145aef4) into main (a1569de) will decrease coverage by
0.01%
. The diff coverage is39.90%
.
@@ Coverage Diff @@
## main #1218 +/- ##
==========================================
- Coverage 48.59% 48.58% -0.02%
==========================================
Files 380 381 +1
Lines 20597 20629 +32
Branches 9435 9464 +29
==========================================
+ Hits 10010 10023 +13
+ Misses 4099 4066 -33
- Partials 6488 6540 +52
Impacted Files | Coverage Δ | |
---|---|---|
...e/include/Acts/Digitization/DigitizationModule.hpp | 66.66% <ø> (-8.34%) |
:arrow_down: |
Core/src/Utilities/SpacePointUtility.cpp | 36.98% <36.98%> (ø) |
|
...s/SpacePointFormation/detail/SpacePointBuilder.ipp | 44.77% <44.77%> (ø) |
|
...ude/Acts/SpacePointFormation/SpacePointBuilder.hpp | 50.00% <50.00%> (ø) |
|
...ts/SpacePointFormation/SpacePointBuilderConfig.hpp | 50.00% <50.00%> (ø) |
|
Core/include/Acts/Utilities/SpacePointUtility.hpp | 100.00% <100.00%> (ø) |
|
...nclude/Acts/Digitization/CartesianSegmentation.hpp | 66.66% <0.00%> (-16.67%) |
:arrow_down: |
Core/include/Acts/EventData/Measurement.hpp | 86.36% <0.00%> (-3.64%) |
:arrow_down: |
Core/src/Digitization/CartesianSegmentation.cpp | 35.92% <0.00%> (-3.51%) |
:arrow_down: |
... and 4 more |
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more
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.
@asalzburger, @paulgessinger
I updated the strip SP builder to get the ends of strips from users, instead of retrieving them in ACTS.
The pixel SP builder creates space points from a vector of measurements and stores them in the SP container.
The strip SP builder has 2 steps:
makeMeasurementPairs
finds pairs of measurements.
For each measurement pair, calculateDoubleHitSpacePoint
creates the SP with the given ends of strips corresponding to the measurement pair.
I'm still updating the unit test now, but please let me know if you have any opinions about this.
This PR goes into the right direction, I would even split it more:
(1)
- A SpacePointBuilder with
a)
buildSpacePoint(const GeometryContext& gctx, const std::vector<const Measurements*>& ms, Options& options)
which delegates to some utility tool that does:
- 1D
- 2D
- eventually clustered to ND later?
The Options could be a new struct that has call-wise options, e.g. asumption of IP.
b) a buildSpacePoints
(plural) which should run some grouping (to be configured?)
(2)
- A utility tool that does 2D by strip ends (and calculates uncertainties)
This PR goes into the right direction, I would even split it more:
(1)
A SpacePointBuilder with a)
buildSpacePoint(const GeometryContext& gctx, const std::vector<const Measurements*>& ms, Options& options)
which delegates to some utility tool that does:1D
2D
eventually clustered to ND later?
The Options could be a new struct that has call-wise options, e.g. asumption of IP.
b) a
buildSpacePoints
(plural) which should run some grouping (to be configured?)
Can you please clarify what you want to do with b) buildSpacePoints
? Is this used to make pairs of strips before a)?
@asalzburger , I implemented most of your comments, but b) a buildSpacePoints (plural) which should run some grouping (to be configured?) is not clear to me. Can you please elaborate on this? Thanks.
Thanks a lot @asalzburger for your comments. I implemented all of them.
Thanks @asalzburger for your comments. Those comments have been implemented.
@paulgessinger - how can I interpret "pipeline refused" for CI bridge?
@toyamaza is not on the allowlist yet. I'll add him now.
The backport to develop/v19.x
failed:
The process '/usr/bin/git' failed with exit code 1
To backport manually, run these commands in your terminal:
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-develop/v19.x develop/v19.x
# Navigate to the new working tree
cd .worktrees/backport-develop/v19.x
# Create a new branch
git switch --create backport-1218-to-develop/v19.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 2b34aa17194b6b0414b0affa5a889fa62ceafeba
# Push it to GitHub
git push --set-upstream origin backport-1218-to-develop/v19.x
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-develop/v19.x
Then, create a pull request where the base
branch is develop/v19.x
and the compare
/head
branch is backport-1218-to-develop/v19.x
.