30 if (not ptrSegmentPair)
return false;
69 const double deltaCurvVar = fromCurvVar + toCurvVar;
70 const double avgPrecision = 1 / fromCurvVar + 1 / toCurvVar;
71 const double deltaCurvSigma = std::sqrt(deltaCurvVar);
73 finitevar<
named(
"abs_avg_curv")>() = std::fabs(toCurv / toCurvVar + fromCurv / fromCurvVar) / avgPrecision;
76 finitevar<
named(
"delta_curv_pull")>() = (toCurv - fromCurv) / deltaCurvSigma;
84 const ROOT::Math::XYVector fromHitPos = fromLastHit.
getRecoPos2D();
85 const ROOT::Math::XYVector toHitPos = toFirstHit.
getRecoPos2D();
88 const ROOT::Math::XYVector fromFitPos = fromFit.
getClosest(fromHitPos);
89 const ROOT::Math::XYVector toFitPos = toFit.
getClosest(toHitPos);
96 const double deltaPosPhi = ROOT::Math::VectorUtil::DeltaPhi(fromFitPos, toFitPos);
97 const double deltaMomPhi = ROOT::Math::VectorUtil::DeltaPhi(fromFitMom, toFitMom);
103 finitevar<
named(
"from_delta_mom_phi")>() = ROOT::Math::VectorUtil::DeltaPhi(fromFitMom, fromOtherFitMom);
104 finitevar<
named(
"to_delta_mom_phi")>() = ROOT::Math::VectorUtil::DeltaPhi(toFitMom, toOtherFitMom);
119 const ROOT::Math::XYZVector nearAxialRecoPos = nearAxialHit.reconstruct3D(axialFit);
120 const ROOT::Math::XYZVector farStereoRecoPos = farStereoHit.
reconstruct3D(axialFit);
121 const double farZ = farStereoRecoPos.z();
123 const ROOT::Math::XYZVector nearStereoRecoPos = nearStereoHit.
reconstruct3D(axialFit);
124 const double nearZ = nearStereoRecoPos.z();
126 const double stereoArcLength2D =
128 VectorUtil::getXYVector(farStereoRecoPos));
130 const double arcLength2DGap =
132 VectorUtil::getXYVector(nearStereoRecoPos));
135 finitevar<
named(
"stereo_arc_length")>() = fabs(stereoArcLength2D);
143 finitevar<
named(
"coarse_tanl")>() = (farZ - nearZ) / stereoArcLength2D;
145 finitevar<
named(
"stereo_rel_size")>() = fabs(stereoSegment.size() / stereoArcLength2D);