10 #include <tracking/modules/fitter/timeEstimator/RadiusTrackTimeEstimatorModule.h>
12 #include <tracking/dataobjects/RecoTrack.h>
13 #include <framework/dataobjects/Helix.h>
14 #include <framework/geometry/BFieldManager.h>
23 addParam(
"radiusForExtrapolation", m_param_radiusForExtrapolation,
24 "Radius used for extrapolation. Please be aware that if the RecoTrack does not reach this radius, "
25 "the results are wrong.", m_param_radiusForExtrapolation);
33 const double s = measuredStateOnPlane.extrapolateToCylinder(m_param_radiusForExtrapolation);
36 B2WARNING(
"Extrapolation failed: " << e.what());
41 double RadiusTrackTimeEstimatorModule::estimateFlightLengthUsingSeedInformation(
const RecoTrack& recoTrack)
const
47 const double bZ = BFieldManager::getField(0, 0, 0).Z() / Unit::T;
48 const Helix h(position, momentum, charge, bZ);
49 const double arcLengthOfIntersection = h.getArcLength2DAtCylindricalR(m_param_radiusForExtrapolation);
50 const double s = arcLengthOfIntersection * hypot(1, h.getTanLambda());