35 constexpr
float amscon = 1.8496e-4;
38 float beta2 =
p2 / e2;
44 float fact = 1.f + 0.038f * unsafe_logf<2>(
radLen);
56 float error2_QoverP = covMatrix(0, 0);
60 sigt2 *= 1.f + error2_QoverP * (
p2 +
m2 * beta2 * (5.f + 3.f *
p2 * error2_QoverP));
68 float betaMin2 = pMin2 / (pMin2 +
m2);
69 float a_max =
fact / (betaMin2 * pMin2);
70 float sigt2_max = amscon *
radLen * a_max;
71 if (sigt2 > sigt2_max)
75 std::cout <<
" for track with 1/p=" << 1 /
p <<
"+-" <<
sqrt(error2_QoverP) << std::endl;
79 float isl2 = 1.f /
d.perp2();
80 float cl2 = (
d.z() *
d.z());
81 float cf2 = (
d.x() *
d.x()) * isl2;
82 float sf2 = (
d.y() *
d.y()) * isl2;
85 float den = 1.f / (
cl2 *
cl2);
117 float xf = 1. / fabs(
d.z());
119 const float amscon = 1.8496e-4;
120 const float m =
mass;
138 float error2_QoverP = covMatrix(0, 0);
142 sigt2 *= (1. + (
p *
p) * error2_QoverP * (1. + 5 *
m *
m / (
e *
e) + 3 *
m *
m *
beta *
beta * error2_QoverP));
153 float sigt2_max = amscon *
radLen * a_max;
154 if (sigt2 > sigt2_max)
158 std::cout <<
" for track with 1/p=" << 1 /
p <<
"+-" <<
sqrt(error2_QoverP) << std::endl;
164 float cf =
d.x() / sl;
165 float sf =
d.y() / sl;
169 << sigt2 * (cf * sf * sl * sl) / (
cl *
cl *
cl *
cl) <<
" " 170 << sigt2 * (cf * cf *
cl *
cl + sf * sf) / (
cl *
cl *
cl *
cl) << std::endl;
const LocalTrajectoryError & localError() const
const SurfaceType & surface() const
LocalVector localMomentum() const
Abs< T >::type abs(const T &t)
void compute(const TrajectoryStateOnSurface &, const PropagationDirection, Effect &effect) const override
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
GlobalVector globalMomentum() const
void oldMUcompute(const TrajectoryStateOnSurface &TSoS, const PropagationDirection propDir, double mass, double ptmin)
const AlgebraicSymMatrix55 & matrix() const
const MediumProperties & mediumProperties() const