VELO half local delta with DD4hep
I've noticed values for the local delta of the VELO halves when running the half alignment over 2023 data with VELO open with DD4hep, which look strange to me.
For example, I'm looking at a run with the motion system position
MotionVPLeft: !alignment
position: [29.799999237061, 0.45100000500679, 0]
MotionVPRight: !alignment
position: [-29.799999237061, 0.45100000500679, 0]
starting from the half constants.
VPLeft: !alignment
position: [0.79585866, -0.001483600912, -0.3011788393]
rotation: [0.0002041062504, 4.602410387e-05, 1.639347341e-06]
VPRight: !alignment
position: [-0.7958345163, 0.001574055359, 0.2985878572]
rotation: [-0.0002041063683, -4.602396117e-05, -1.627954134e-06]
VPSystem: !alignment
position: [0.0, 0.0, 0.0]
rotation: [0.0, 0.0, 0.0]
However, in the align log, I see
Alignable: VP/MotionVPLeft/VPLeft
Tx : curtot= 30.6 cur= -29 delta= 2.794 +/- 0.04575 [ 0.07755 ] gcc= 0
Ty : curtot= 0.4496 cur= -0.4525 delta= 0.1966 +/- 0.01752 [ 0.03188 ] gcc= 0
Tz : curtot= -0.3025 cur= -0.2999 delta= -2.535 +/- 0.1231 [ 0.1758 ] gcc= 0
Rx : curtot= 0.0002041 cur= 0.0002041 delta= -0.0002108 +/- 4.734e-05 [ 7.511e-05 ] gcc= 0
Ry : curtot= 4.602e-05 cur= 4.602e-05 delta= 0.0007867 +/- 6.977e-05 [ 9.824e-05 ] gcc= 0
Rz : curtot= 1.639e-06 cur= 1.639e-06 delta= 5.699e-06 +/- 7.071e-05 [ 9.959e-05 ] gcc= 0
Alignable: VP/MotionVPRight/VPRight
Tx : curtot= -30.6 cur= 29 delta= -2.794 +/- 0.04575 [ 0.09189 ] gcc= 0
Ty : curtot= 0.4526 cur= -0.4495 delta= -0.1966 +/- 0.01752 [ 0.03192 ] gcc= 0
Tz : curtot= 0.2971 cur= 0.3001 delta= 2.535 +/- 0.1231 [ 0.1812 ] gcc= 0
Rx : curtot= -0.0002041 cur= -0.0002041 delta= 0.0002108 +/- 4.734e-05 [ 7.515e-05 ] gcc= 0
Ry : curtot= -4.602e-05 cur= -4.602e-05 delta= -0.0007867 +/- 6.977e-05 [ 9.905e-05 ] gcc= 0
Rz : curtot= -1.628e-06 cur= -1.628e-06 delta= -5.699e-06 +/- 7.071e-05 [ 9.957e-05 ] gcc= 0
What is strange to me, is that "cur" seems to be the half constant minus the motion system position, instead of just the half constant.
I believe this is from the motion system transform here https://gitlab.cern.ch/lhcb/Alignment/-/blob/master/Alignment/TAlignment/src/AlignmentElement.cpp#L64
After commenting out that line, I get something like I would expect for "cur".
Tx : curtot= 30.6 cur= 0.7959 delta= -0.2504 +/- 0.01374 [ 0.02317 ] gcc= 0
Ty : curtot= 0.4496 cur= -0.001484 delta= 0.0646 +/- 0.004665 [ 0.00815 ] gcc= 0
Tz : curtot= -0.3025 cur= -0.3012 delta= -0.1688 +/- 0.05899 [ 0.1008 ] gcc= 0
Rx : curtot= 0.0002041 cur= 0.0002041 delta= -9.034e-05 +/- 2.072e-05 [ 3.537e-05 ] gcc= 0
Ry : curtot= 4.602e-05 cur= 4.602e-05 delta= 4.57e-05 +/- 4.988e-05 [ 7.418e-05 ] gcc= 0
Rz : curtot= 1.639e-06 cur= 1.639e-06 delta= 5.086e-06 +/- 7.07e-05 [ 9.41e-05 ] gcc= 0
Tx : curtot= -30.6 cur= -0.7958 delta= 0.2504 +/- 0.01374 [ 0.0267 ] gcc= 0
Ty : curtot= 0.4526 cur= 0.001574 delta= -0.0646 +/- 0.004665 [ 0.008158 ] gcc= 0
Tz : curtot= 0.2971 cur= 0.2986 delta= 0.1688 +/- 0.05899 [ 0.1093 ] gcc= 0
Rx : curtot= -0.0002041 cur= -0.0002041 delta= 9.034e-05 +/- 2.072e-05 [ 3.535e-05 ] gcc= 0
Ry : curtot= -4.602e-05 cur= -4.602e-05 delta= -4.57e-05 +/- 4.988e-05 [ 7.68e-05 ] gcc= 0
Rz : curtot= -1.628e-06 cur= -1.628e-06 delta= -5.086e-06 +/- 7.07e-05 [ 9.377e-05 ] gcc= 0
Now I'm wondering if this motionSystemTransform should be applied at all when using DD4hep.