acts icon indicating copy to clipboard operation
acts copied to clipboard

refactor: SP builder update

Open toyamaza opened this issue 2 years ago • 9 comments

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.

toyamaza avatar Mar 30 '22 17:03 toyamaza

Codecov Report

Merging #1218 (145aef4) into main (a1569de) will decrease coverage by 0.01%. The diff coverage is 39.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

codecov[bot] avatar Mar 30 '22 21:03 codecov[bot]

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.

stale[bot] avatar May 01 '22 00:05 stale[bot]

@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.

toyamaza avatar May 03 '22 04:05 toyamaza

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)

asalzburger avatar May 17 '22 11:05 asalzburger

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)?

toyamaza avatar May 24 '22 06:05 toyamaza

@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.

toyamaza avatar Jul 05 '22 04:07 toyamaza

Thanks a lot @asalzburger for your comments. I implemented all of them.

toyamaza avatar Jul 22 '22 06:07 toyamaza

Thanks @asalzburger for your comments. Those comments have been implemented.

toyamaza avatar Aug 23 '22 04:08 toyamaza

@paulgessinger - how can I interpret "pipeline refused" for CI bridge?

asalzburger avatar Sep 01 '22 20:09 asalzburger

@toyamaza is not on the allowlist yet. I'll add him now.

paulgessinger avatar Sep 02 '22 07:09 paulgessinger

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.

acts-project-service avatar Sep 23 '22 08:09 acts-project-service