Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
226 commits
Select commit Hold shift + click to select a range
a4cedab
Bump version number to 0.32.0
github-actions[bot] Aug 26, 2020
f570c65
Merge remote-tracking branch 'origin/master' into releases
paulgessinger Sep 16, 2020
ec9ce0b
Bump to version v1.0.0
paulgessinger Sep 16, 2020
4d81aa4
Merge branch 'master' into releases
paulgessinger Sep 28, 2020
836fddd
Bump to version v1.1.0
paulgessinger Sep 28, 2020
c6f9c5c
Merge branch 'master' into releases
paulgessinger Oct 12, 2020
e69b95a
Bump to version v1.2.0
paulgessinger Oct 12, 2020
8ffbedb
Merge branch 'master' into releases
paulgessinger Nov 2, 2020
8708eae
Bump to version v2.0.0
paulgessinger Nov 2, 2020
a1d44f7
Merge branch 'master' into releases
paulgessinger Nov 19, 2020
e20260f
Bump to version v3.0.0
paulgessinger Nov 19, 2020
be97ef3
Merge branch 'master' into releases
paulgessinger Dec 15, 2020
ed64b4b
Bump to version v4.0.0
paulgessinger Dec 15, 2020
3882537
Merge branch 'master' into releases
paulgessinger Jan 13, 2021
c383bf4
Bump to version v4.1.0
paulgessinger Jan 13, 2021
cb217c4
Merge branch 'master' into releases
paulgessinger Jan 29, 2021
df77b91
Bump to version v5.0.0
paulgessinger Jan 29, 2021
2764ba6
Merge branch 'master' into releases
paulgessinger Mar 2, 2021
a5cf04a
Bump to version v6.0.0
paulgessinger Mar 2, 2021
bad38ba
Merge branch 'master' into releases
paulgessinger Apr 8, 2021
e663df7
Bump to version v7.0.0
paulgessinger Apr 8, 2021
a7ab2d0
Merge branch 'master' into releases
paulgessinger Apr 27, 2021
50c9728
Bump to version v8.0.0
paulgessinger Apr 27, 2021
28ac16e
Merge branch 'master' into releases
paulgessinger Apr 28, 2021
ccc8c77
Bump to version v8.1.0
paulgessinger Apr 28, 2021
4c00d4b
Merge branch 'main' into releases
paulgessinger May 10, 2021
f25cf63
Bump to version v8.2.0
paulgessinger May 10, 2021
871c07c
Merge branch 'main' into releases
paulgessinger May 27, 2021
601c0a1
Bump to version v8.3.0
paulgessinger May 27, 2021
f4c67d8
Merge branch 'main' into releases
paulgessinger Jun 10, 2021
e6e3092
Bump to version v9.0.0
paulgessinger Jun 10, 2021
abf6696
Merge remote-tracking branch 'origin' into releases
paulgessinger Jun 14, 2021
7d59bc5
Bump to version v9.0.1
paulgessinger Jun 14, 2021
9eb5dcb
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Jun 24, 2021
bf8fd4c
Bump to version v9.1.0
paulgessinger Jun 24, 2021
7e952c2
Merge branch 'main' into releases
paulgessinger Jul 8, 2021
c438ee4
Bump to version v9.2.0
paulgessinger Jul 8, 2021
405adfd
Merge branch 'main' into releases
paulgessinger Jul 28, 2021
9bfe0b8
Bump to version v10.0.0
paulgessinger Jul 28, 2021
11ec848
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Aug 10, 2021
9cc6982
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Aug 10, 2021
eac3def
Bump to version v11.0.0
paulgessinger Aug 10, 2021
b834aae
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Aug 26, 2021
f64c38a
chore: Update .zenodo.json file to try to fix automatic upload
paulgessinger Aug 26, 2021
e0aa4e7
Bump to version v12.0.0
paulgessinger Aug 26, 2021
10883ef
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Aug 30, 2021
a80d1ef
Bump to version v12.0.1
paulgessinger Aug 30, 2021
7d0c3a3
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Sep 21, 2021
ad05672
Bump to version v13.0.0
paulgessinger Sep 21, 2021
2568766
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Oct 11, 2021
f902bef
Bump to version v14.0.0
github-actions[bot] Oct 11, 2021
c245e0d
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Oct 18, 2021
e883ab6
Bump to version v14.1.0
github-actions[bot] Oct 18, 2021
b647537
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Nov 17, 2021
0fef9e0
Bump to version v15.0.0
paulgessinger Nov 17, 2021
037e000
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Dec 10, 2021
a96e6db
Bump to version v15.1.0
github-actions[bot] Dec 10, 2021
cd16f27
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Jan 13, 2022
9bd8692
Bump to version v16.0.0
github-actions[bot] Jan 13, 2022
fb2a0a7
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Feb 2, 2022
ccbf4c7
Bump to version v17.0.0
github-actions[bot] Feb 2, 2022
7019b55
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Feb 22, 2022
0d9c3a6
Bump to version v17.1.0
github-actions[bot] Feb 22, 2022
7cb69fb
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Apr 4, 2022
fe03b5a
Bump to version v18.0.0
github-actions[bot] Apr 4, 2022
ebdb8ac
Merge branch 'main' into releases
paulgessinger May 9, 2022
1ce9c58
Bump to version v19.0.0
github-actions[bot] May 9, 2022
7c59e12
Merge remote-tracking branch 'origin/main' into releases
paulgessinger May 25, 2022
82f42a2
Bump to version v19.1.0
github-actions[bot] May 25, 2022
4ee53fd
Merge branch main into releases
paulgessinger Jun 8, 2022
adf079e
Bump to version v19.2.0
github-actions[bot] Jun 8, 2022
de4bffa
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Jun 23, 2022
747053f
Bump to version v19.3.0
github-actions[bot] Jun 23, 2022
5674bd3
Merge remote-tracking branch 'upstream/main' into releases
andiwand Jul 7, 2022
498af24
Bump to version v19.4.0
github-actions[bot] Jul 7, 2022
3af98ae
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Jul 25, 2022
bf9f027
Bump to version v19.5.0
github-actions[bot] Jul 25, 2022
91cc175
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Aug 3, 2022
3330829
Bump to version v19.6.0
github-actions[bot] Aug 3, 2022
9275200
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Aug 15, 2022
3740e6c
Bump to version v20.0.0
github-actions[bot] Aug 15, 2022
1a6bc29
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Sep 2, 2022
be36226
Bump to version v20.1.0
github-actions[bot] Sep 2, 2022
48f9dbb
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Sep 23, 2022
7750c1d
Bump to version v20.2.0
github-actions[bot] Sep 23, 2022
6b27f60
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Oct 11, 2022
b1859b3
Bump to version v20.3.0
github-actions[bot] Oct 11, 2022
ab27315
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Nov 3, 2022
d8cb0fa
Bump to version v21.0.0
github-actions[bot] Nov 3, 2022
6dccf49
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Nov 11, 2022
3b4b5c7
Bump to version v21.1.0
github-actions[bot] Nov 11, 2022
6e49780
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Dec 21, 2022
0fb6f8d
Bump to version v22.0.0
github-actions[bot] Dec 21, 2022
dfa2da1
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Jan 18, 2023
5af1b1b
Bump to version v23.0.0
github-actions[bot] Jan 18, 2023
9227a89
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Feb 2, 2023
4479f18
Bump to version v23.1.0
github-actions[bot] Feb 2, 2023
78bea65
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Feb 6, 2023
bc3120d
Bump to version v23.2.0
github-actions[bot] Feb 6, 2023
c4065ad
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Feb 7, 2023
a9fe516
Bump to version v23.2.1
github-actions[bot] Feb 7, 2023
5f8dfc2
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Feb 20, 2023
ec3e69d
Bump to version v23.3.0
github-actions[bot] Feb 20, 2023
1bef8b6
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Feb 22, 2023
52723f7
Bump to version v23.4.0
github-actions[bot] Feb 22, 2023
f8d7740
Merge commit '5cf1328' into releases
paulgessinger Mar 10, 2023
8fad985
Bump to version v23.5.0
github-actions[bot] Mar 10, 2023
a4c4d67
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Mar 27, 2023
4da149c
Bump to version v24.0.0
github-actions[bot] Mar 27, 2023
c742f31
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Apr 21, 2023
c7b538d
Bump to version v25.0.0
github-actions[bot] Apr 21, 2023
bf48179
Merge remote-tracking branch 'origin/main' into releases
paulgessinger May 22, 2023
d43af5c
Bump to version v26.0.0
github-actions[bot] May 22, 2023
a0a2ae3
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Jun 19, 2023
4d7029b
Bump to version v27.0.0
github-actions[bot] Jun 19, 2023
f19f49a
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Jul 4, 2023
2194802
Bump to version v27.1.0
github-actions[bot] Jul 4, 2023
6a4ce50
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Jul 24, 2023
296c597
Bump to version v27.2.0
github-actions[bot] Jul 24, 2023
7bfddf1
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Jul 28, 2023
0d8aa41
Bump to version v28.0.0
github-actions[bot] Jul 28, 2023
758b064
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Aug 7, 2023
08e51b5
Bump to version v28.1.0
github-actions[bot] Aug 7, 2023
1b7f1c0
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Aug 17, 2023
c612e7c
Bump to version v28.2.0
github-actions[bot] Aug 17, 2023
ad55d4a
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Aug 29, 2023
9c6e459
Bump to version v29.0.0
github-actions[bot] Aug 29, 2023
fa9da70
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Sep 7, 2023
4681c3b
Bump to version v29.1.0
github-actions[bot] Sep 7, 2023
88f90a3
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Sep 15, 2023
b2d6530
Bump to version v29.2.0
github-actions[bot] Sep 15, 2023
633eb91
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Sep 26, 2023
00fa3fa
Bump to version v30.0.0
github-actions[bot] Sep 26, 2023
da92ebe
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Oct 5, 2023
60d9eec
Bump to version v30.1.0
github-actions[bot] Oct 5, 2023
a0cfe4b
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Oct 13, 2023
264b0a3
Bump to version v30.2.0
github-actions[bot] Oct 13, 2023
86bb055
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Oct 25, 2023
311acb9
Bump to version v30.3.0
github-actions[bot] Oct 25, 2023
22e0555
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Nov 17, 2023
2cf3fe0
Bump to version v31.0.0
github-actions[bot] Nov 17, 2023
3609bdf
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Nov 28, 2023
57f4330
small fix to the zenodo json file
paulgessinger Nov 28, 2023
95c3cee
Bump to version v31.1.0
github-actions[bot] Nov 28, 2023
384f805
Merge remote-tracking branch 'origin/main' into releases [skip ci]
paulgessinger Dec 7, 2023
1d2e90f
Bump to version v31.2.0
paulgessinger Dec 7, 2023
f766705
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Jan 19, 2024
9385e36
Bump to version v32.0.0
github-actions[bot] Jan 19, 2024
b029890
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Feb 2, 2024
5333c67
Bump to version v32.1.0
github-actions[bot] Feb 2, 2024
2f6c057
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Mar 6, 2024
f6ed901
Bump to version v33.0.0
github-actions[bot] Mar 6, 2024
6b36bcb
Merge commit '3eb0b4f' into releases
paulgessinger Mar 26, 2024
00591a5
Bump to version v33.1.0
github-actions[bot] Mar 26, 2024
8068327
Merge remote-tracking branch 'upstream/main' into releases
andiwand Apr 15, 2024
daafd83
Bump to version v34.0.0
github-actions[bot] Apr 15, 2024
094c9f8
Merge remote-tracking branch 'upstream/main' into releases
andiwand Apr 25, 2024
8e1b7a6
Bump to version v34.1.0
github-actions[bot] Apr 25, 2024
11e8d2e
Merge remote-tracking branch 'upstream/main' into releases
andiwand May 17, 2024
352b423
Bump to version v35.0.0
github-actions[bot] May 17, 2024
401f287
Merge remote-tracking branch 'upstream/main' into releases
andiwand Jun 1, 2024
9dfb47b
Bump to version v35.1.0
github-actions[bot] Jun 1, 2024
c37ee95
Merge remote-tracking branch 'upstream/main' into releases
andiwand Jun 16, 2024
d7a3efe
Bump to version v36.0.0
github-actions[bot] Jun 16, 2024
b3b09f4
Manually set version numbers to v35.2.0 [skip ci]
paulgessinger Jun 16, 2024
89cb4e8
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Jul 18, 2024
6eca77c
Bump version to v36.0.0
github-actions[bot] Jul 18, 2024
3b829b0
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Aug 19, 2024
3f19d1a
Bump version to v36.1.0
github-actions[bot] Aug 19, 2024
7aade29
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Aug 26, 2024
e2fb53d
Bump version to v36.2.0
github-actions[bot] Aug 26, 2024
1b32be2
Merge remote-tracking branch 'upstream/main' into releases
andiwand Sep 2, 2024
3b875ce
Bump version to v36.3.0
github-actions[bot] Sep 2, 2024
ee949b8
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Oct 7, 2024
117feaa
Bump version to v37.0.0
github-actions[bot] Oct 7, 2024
3eaeed7
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Oct 17, 2024
fa6ad4d
Bump version to v37.1.0
github-actions[bot] Oct 17, 2024
97e8d82
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Oct 24, 2024
821144d
Bump version to v37.2.0
github-actions[bot] Oct 24, 2024
65ce046
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Nov 1, 2024
b3e856d
Bump version to v37.3.0
github-actions[bot] Nov 1, 2024
fc2a018
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Nov 8, 2024
4ae9a44
Bump version to v37.4.0
github-actions[bot] Nov 8, 2024
abb4cc8
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Nov 29, 2024
0a6b515
Bump version to v38.0.0
github-actions[bot] Nov 29, 2024
18f336a
Merge branch 'main' into releases
paulgessinger Dec 6, 2024
8a20c88
Bump version to v38.1.0
github-actions[bot] Dec 6, 2024
e0f0e1b
Merge remote-tracking branch 'origin/main' into releases
paulgessinger Dec 16, 2024
9cb8f44
Bump version to v38.2.0
github-actions[bot] Dec 16, 2024
b2ff129
Merge branch 'main' into releases
paulgessinger Jan 31, 2025
b055202
Bump version to v39.0.0
github-actions[bot] Jan 31, 2025
9b44352
Merge branch 'main' into releases
paulgessinger Feb 14, 2025
09225b0
Bump version to v39.1.0
github-actions[bot] Feb 14, 2025
5148034
Merge branch 'main' into releases
paulgessinger Feb 24, 2025
94cf487
Bump version to v39.2.0
github-actions[bot] Feb 24, 2025
7de6d15
Merge remote-tracking branch 'upstream/main' into releases
andiwand Mar 14, 2025
5dfb063
Bump version to v40.0.0
github-actions[bot] Mar 14, 2025
a565c7a
Merge branch 'main' into releases
paulgessinger Apr 1, 2025
7b33e0a
Bump version to v40.1.0
github-actions[bot] Apr 1, 2025
90f14d3
Merge branch 'main' into releases
paulgessinger Apr 22, 2025
ea9c248
Bump version to v41.0.0
github-actions[bot] Apr 22, 2025
486573b
Merge branch 'main' into releases
paulgessinger May 28, 2025
b36c4cf
Bump version to v41.1.0
github-actions[bot] May 28, 2025
a62377b
Merge branch 'main' into releases
paulgessinger Jul 3, 2025
17ae496
Bump version to v42.0.0
github-actions[bot] Jul 3, 2025
0bdb83c
Merge branch 'main' into releases
paulgessinger Jul 21, 2025
dd18c64
Bump version to v42.1.0
github-actions[bot] Jul 21, 2025
25b3b3e
Merge branch 'main' into releases
paulgessinger Aug 5, 2025
8fd1145
Bump version to v43.0.0
github-actions[bot] Aug 5, 2025
f916e5c
Merge branch 'main' into releases
paulgessinger Aug 20, 2025
9925626
Bump version to v43.1.0
github-actions[bot] Aug 20, 2025
1a56550
Merge branch 'main' into releases
paulgessinger Aug 28, 2025
929ef5c
Bump version to v43.2.0
github-actions[bot] Aug 28, 2025
03542b8
Merge remote-tracking branch 'upstream/main' into releases
andiwand Sep 19, 2025
b39380d
Bump version to v43.3.0
github-actions[bot] Sep 19, 2025
55ffd43
Merge remote-tracking branch 'upstream/main' into releases
andiwand Oct 9, 2025
d5d65c7
Bump version to v44.0.0
github-actions[bot] Oct 9, 2025
c0639e6
fix: overwrite `autorange` flag when `+pi/-pi` is set (#4703)
asalzburger Oct 9, 2025
404f40a
Bump version to v44.0.1
github-actions[bot] Oct 9, 2025
252b01f
feat: alignment improvements and bug fixes
Zequn-SUN Dec 11, 2025
4631a06
Fixed the non-standard code
Zequn-SUN Dec 15, 2025
e793e6f
Fixed the non-standard code
Zequn-SUN Dec 15, 2025
dd66d92
Fixed the non-standard code
Zequn-SUN Dec 15, 2025
57e014d
Fixed the non-standard code
Zequn-SUN Dec 15, 2025
0940e17
Fixed the non-standard code
Zequn-SUN Dec 15, 2025
37f21fe
Fixed the non-standard code
Zequn-SUN Dec 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 2 additions & 13 deletions .zenodo.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"description": "Experiment-independent toolkit for (charged) particle track reconstruction in (high energy) physics experiments implemented in modern C++ ",
"license": "MPL-2.0",
"title": "acts-project/acts: v11.0.0",
"version": "v11.0.0",
"title": "acts-project/acts: v44.0.1",
"version": "v44.0.1",
"upload_type": "software",
"creators": [
{
Expand Down Expand Up @@ -130,17 +130,6 @@
"scheme": "url",
"identifier": "https://github.com/acts-project/acts/tree/v10.0.0",
"relation": "isSupplementTo"
},
{
"scheme": "doi",
"identifier": "10.5281/zenodo.4818137",
"relation": "obsoletes",
"resource_type": "software"
},
{
"scheme": "doi",
"identifier": "10.5281/zenodo.5141418",
"relation": "isVersionOf"
}
]
}
64 changes: 58 additions & 6 deletions Alignment/include/ActsAlignment/Kernel/Alignment.ipp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,13 @@
#include "Acts/EventData/VectorMultiTrajectory.hpp"
#include "Acts/EventData/VectorTrackContainer.hpp"

#include <algorithm>
#include <iomanip>
#include <stdexcept>
#include <type_traits>
#include <typeinfo>
#include <unordered_map>

template <typename fitter_t>
template <typename source_link_t, typename start_parameters_t,
typename fit_options_t>
Expand All @@ -31,23 +38,48 @@ ActsAlignment::Alignment<fitter_t>::evaluateTrackAlignmentState(
Acts::SourceLinkAdapterIterator begin{sourceLinks.begin()};
Acts::SourceLinkAdapterIterator end{sourceLinks.end()};

// Validate input data before fitting
if (sourceLinks.empty()) {
ACTS_WARNING("Empty source links for track");
return ActsAlignment::AlignmentError::NoAlignmentDofOnTrack;
}

// Perform the fit
ACTS_DEBUG("Fitting track with " << sourceLinks.size() << " measurements");
auto fitRes = m_fitter.fit(begin, end, sParameters, fitOptions, tracks);

if (!fitRes.ok()) {
ACTS_WARNING("Fit failure");
ACTS_WARNING("Fit failure for track: " << fitRes.error());
return fitRes.error();
}

// The fit results
const auto& track = fitRes.value();

// Check if track has valid tip index
if (track.tipIndex() == Acts::MultiTrajectoryTraits::kInvalid) {
ACTS_WARNING("Invalid tip index for fitted track");
return ActsAlignment::AlignmentError::NoAlignmentDofOnTrack;
}

// Calculate the global track parameters covariance with the fitted track
const auto& globalTrackParamsCov =
const auto globalTrackParamsCov =
Acts::detail::globalTrackParametersCovariance(
tracks.trackStateContainer(), track.tipIndex());

// Check if the result is valid
if (globalTrackParamsCov.first.rows() == 0 ||
globalTrackParamsCov.first.cols() == 0) {
ACTS_WARNING("Empty global track parameters covariance for track "
<< track.index());
return ActsAlignment::AlignmentError::NoAlignmentDofOnTrack;
}

// Calculate the alignment state
const auto alignState = detail::trackAlignmentState(
gctx, tracks.trackStateContainer(), track.tipIndex(),
globalTrackParamsCov, idxedAlignSurfaces, alignMask);

if (alignState.alignmentDof == 0) {
ACTS_VERBOSE("No alignment dof on track!");
return AlignmentError::NoAlignmentDofOnTrack;
Expand Down Expand Up @@ -77,6 +109,7 @@ void ActsAlignment::Alignment<fitter_t>::calculateAlignmentParameters(
Acts::ActsDynamicMatrix sumChi2SecondDerivative =
Acts::ActsDynamicMatrix::Zero(alignResult.alignmentDof,
alignResult.alignmentDof);

// Copy the fit options
fit_options_t fitOptionsWithRefSurface = fitOptions;
// Calculate contribution to chi2 derivatives from all input trajectories
Expand All @@ -85,6 +118,7 @@ void ActsAlignment::Alignment<fitter_t>::calculateAlignmentParameters(
alignResult.measurementDim = 0;
alignResult.numTracks = trajectoryCollection.size();
double sumChi2ONdf = 0;

for (unsigned int iTraj = 0; iTraj < trajectoryCollection.size(); iTraj++) {
const auto& sourceLinks = trajectoryCollection.at(iTraj);
const auto& sParameters = startParametersCollection.at(iTraj);
Expand Down Expand Up @@ -146,7 +180,8 @@ void ActsAlignment::Alignment<fitter_t>::calculateAlignmentParameters(
-sumChi2SecondDerivative.fullPivLu().solve(sumChi2Derivative);
ACTS_VERBOSE("sumChi2SecondDerivative = \n" << sumChi2SecondDerivative);
ACTS_VERBOSE("sumChi2Derivative = \n" << sumChi2Derivative);
ACTS_VERBOSE("alignResult.deltaAlignmentParameters \n");
ACTS_VERBOSE("deltaAlignmentParameters = \n"
<< alignResult.deltaAlignmentParameters);

// Alignment parameters covariance
alignResult.alignmentCovariance = 2 * sumChi2SecondDerivativeInverse;
Expand Down Expand Up @@ -180,7 +215,11 @@ ActsAlignment::Alignment<fitter_t>::updateAlignmentParameters(
deltaAlignmentParam.segment<3>(Acts::eAlignmentRotation0);

// 3. The new transform
const Acts::Vector3 newCenter = oldCenter + deltaCenter;
const auto& rotation = oldTransform.rotation();
const Acts::Vector3 newCenter =
oldCenter + deltaCenter(0) * rotation.col(0) +
deltaCenter(1) * rotation.col(1) + deltaCenter(2) * rotation.col(2);

Acts::Transform3 newTransform = oldTransform;
newTransform.translation() = newCenter;
// Rotation first around fixed local x, then around fixed local y, and last
Expand All @@ -192,7 +231,6 @@ ActsAlignment::Alignment<fitter_t>::updateAlignmentParameters(
Acts::AngleAxis3(deltaEulerAngles(1), Acts::Vector3::UnitY());
newTransform *=
Acts::AngleAxis3(deltaEulerAngles(0), Acts::Vector3::UnitX());

// 4. Update the aligned transform
//@Todo: use a better way to handle this (need dynamic cast to inherited
// detector element type)
Expand Down Expand Up @@ -245,10 +283,18 @@ ActsAlignment::Alignment<fitter_t>::align(
if (iter_it != alignOptions.iterationState.end()) {
alignMask = iter_it->second;
}

// Calculate the alignment parameters delta etc.
calculateAlignmentParameters(
trajectoryCollection, startParametersCollection,
alignOptions.fitOptions, alignResult, alignMask);

// Check if calculation failed (e.g., no successful tracks)
if (!alignResult.result.ok()) {
ACTS_ERROR("Alignment calculation failed in iteration " << iIter);
return alignResult.result.error();
}

// Screen out the information
ACTS_INFO("iIter = " << iIter << ", total chi2 = " << alignResult.chi2
<< ", total measurementDim = "
Expand Down Expand Up @@ -286,7 +332,10 @@ ActsAlignment::Alignment<fitter_t>::align(

ACTS_INFO("The solved delta of alignmentParameters = \n "
<< alignResult.deltaAlignmentParameters);
// Not coveraged yet, update the detector element alignment parameters

// ========================================================================
// UPDATE: Apply the alignment corrections to the detector elements
// ========================================================================
auto updateRes = updateAlignmentParameters(
alignOptions.fitOptions.geoContext, alignOptions.alignedDetElements,
alignOptions.alignedTransformUpdater, alignResult);
Expand All @@ -295,6 +344,9 @@ ActsAlignment::Alignment<fitter_t>::align(
return updateRes.error();
}
alignmentParametersUpdated = true;
ACTS_VERBOSE("Alignment parameters updated for iteration " << iIter);
// ========================================================================

} // end of all iterations

// Alignment failure if not converged
Expand Down
2 changes: 1 addition & 1 deletion CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ authors:
- given-names: Carlo
family-names: Varni
affiliation: UC Berkeley
version: 10.0.0
version: v44.0.1
date-released: 2021-07-28
repository-code: https://github.com/acts-project/acts
license: MPL-2.0
17 changes: 10 additions & 7 deletions Core/src/Surfaces/Surface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -92,18 +92,21 @@ AlignmentToBoundMatrix Surface::alignmentToBoundDerivativeWithoutCorrection(
// The local frame rotation
const auto& rotation = transform(gctx).rotation();
// The axes of local frame
const auto& localXAxis = rotation.col(0);
const auto& localYAxis = rotation.col(1);
const auto& localZAxis = rotation.col(2);
// const auto& localXAxis = rotation.col(0);
// const auto& localYAxis = rotation.col(1);
// const auto& localZAxis = rotation.col(2);
// Calculate the derivative of local frame axes w.r.t its rotation
const auto [rotToLocalXAxis, rotToLocalYAxis, rotToLocalZAxis] =
detail::rotationToLocalAxesDerivative(rotation);
// Calculate the derivative of local 3D Cartesian coordinates w.r.t.
// alignment parameters (without path correction)
AlignmentToPositionMatrix alignToLoc3D = AlignmentToPositionMatrix::Zero();
alignToLoc3D.block<1, 3>(eX, eAlignmentCenter0) = -localXAxis.transpose();
alignToLoc3D.block<1, 3>(eY, eAlignmentCenter0) = -localYAxis.transpose();
alignToLoc3D.block<1, 3>(eZ, eAlignmentCenter0) = -localZAxis.transpose();
alignToLoc3D.block<1, 3>(eX, eAlignmentCenter0) =
-Vector3::UnitX().transpose(); // [-1, 0, 0]
alignToLoc3D.block<1, 3>(eY, eAlignmentCenter0) =
-Vector3::UnitY().transpose(); // [0, -1, 0]
alignToLoc3D.block<1, 3>(eZ, eAlignmentCenter0) =
-Vector3::UnitZ().transpose(); // [0, 0, 1]
alignToLoc3D.block<1, 3>(eX, eAlignmentRotation0) =
pcRowVec * rotToLocalXAxis;
alignToLoc3D.block<1, 3>(eY, eAlignmentRotation0) =
Expand Down Expand Up @@ -141,7 +144,7 @@ AlignmentToPathMatrix Surface::alignmentToPathDerivative(
// Initialize the derivative of propagation path w.r.t. local frame
// translation (origin) and rotation
AlignmentToPathMatrix alignToPath = AlignmentToPathMatrix::Zero();
alignToPath.segment<3>(eAlignmentCenter0) = localZAxis.transpose() / dz;
alignToPath.segment<3>(eAlignmentCenter0) = Vector3::UnitZ().transpose() / dz;
alignToPath.segment<3>(eAlignmentRotation0) =
-pcRowVec * rotToLocalZAxis / dz;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,8 @@ class AlignmentAlgorithm final : public IAlgorithm {
/// contains shared_ptr anyway.
static std::shared_ptr<AlignmentFunction> makeAlignmentFunction(
std::shared_ptr<const Acts::TrackingGeometry> trackingGeometry,
std::shared_ptr<const Acts::MagneticFieldProvider> magneticField);
std::shared_ptr<const Acts::MagneticFieldProvider> magneticField,
Acts::Logging::Level logLevel = Acts::Logging::INFO);

struct Config {
/// Input measurements collection.
Expand All @@ -93,6 +94,8 @@ class AlignmentAlgorithm final : public IAlgorithm {
std::string inputInitialTrackParameters;
/// Output aligned parameters collection.
std::string outputAlignmentParameters;
/// Tracking geometry for surface access
std::shared_ptr<const Acts::TrackingGeometry> trackingGeometry;
/// Type erased fitter function.
std::shared_ptr<AlignmentFunction> align;
/// The aligned transform updater
Expand All @@ -119,12 +122,19 @@ class AlignmentAlgorithm final : public IAlgorithm {
AlignmentAlgorithm(Config cfg, Acts::Logging::Level lvl);

/// Framework execute method of the alignment algorithm
/// Collects track data from each event
///
/// @param ctx is the algorithm context that holds event-wise information
/// @return a process code to steer the algorithm flow
ActsExamples::ProcessCode execute(
const ActsExamples::AlgorithmContext& ctx) const override;

/// Framework finalize method
/// Performs the actual alignment using all collected tracks
///
/// @return a process code to steer the algorithm flow
ProcessCode finalize() override;

private:
Config m_cfg;

Expand All @@ -136,6 +146,14 @@ class AlignmentAlgorithm final : public IAlgorithm {
"InputProtoTracks"};
WriteDataHandle<AlignmentParameters> m_outputAlignmentParameters{
this, "OutputAlignmentParameters"};

// Collected track data from all events
mutable std::vector<std::vector<IndexSourceLink>> m_collectedSourceLinks;
mutable TrackParametersContainer m_collectedInitialParameters;
mutable std::shared_ptr<MeasurementContainer> m_collectedMeasurements;
mutable Acts::GeometryContext m_savedGeoContext;
mutable Acts::MagneticFieldContext m_savedMagFieldContext;
mutable Acts::CalibrationContext m_savedCalibContext;
};

} // namespace ActsExamples
Loading
Loading