10 #include <tracking/trackFindingCDC/filters/trackRelation/HitGapTrackRelationVarSet.h>
12 #include <tracking/trackFindingCDC/eventdata/tracks/CDCTrack.h>
14 #include <tracking/trackFindingCDC/numerics/Angle.h>
17 using namespace TrackFindingCDC;
21 if (not ptrTrackRelation)
return false;
28 const CDCTrack& fromTrack = *ptrFromTrack;
29 const CDCTrack& toTrack = *ptrToTrack;
43 const Vector3D hitPosGap = toFirstHitPos - fromLastHitPos;
44 const Vector3D longHitPosGap = toLastHitPos - fromFirstHitPos;
46 const double hitDistance = hitPosGap.
norm();
47 const double longHitDistance = longHitPosGap.
norm();
52 finitevar<
named(
"delta_hit_pos_phi")>() = fromLastHitPos.angleWith(toFirstHitPos);
55 double fromLastHitAlpha = fromLastHit.
getAlpha();
56 double toFirstHitAlpha = toFirstHit.
getAlpha();
59 finitevar<
named(
"delta_hit_z")>() = fromLastHitPos.z() - toFirstHitPos.
z();
64 finitevar<
named(
"delta_hit_distance")>() = longHitDistance - hitDistance;
70 const Vector3D fromStretch = fromLastHitPos - fromFirstHitPos;
71 const Vector3D toStretch = toLastHitPos - toFirstHitPos;
73 const double fromLength = fromStretch.
norm();
74 const double toLength = toStretch.
norm();
76 const Vector3D firstPosGap = toFirstHitPos - fromFirstHitPos;
77 const Vector3D lastPosGap = toLastHitPos - fromLastHitPos;
79 const double firstOffset = firstPosGap.
norm();
80 const double lastOffset = lastPosGap.
norm();
83 firstOffset * lastOffset - longHitDistance * hitDistance - fromLength * toLength;