38 double xf = 1./fabs(d.
z());
40 const double amscon = 1.8496e-4;
45 double radLen = mp.
radLen()*xf;
49 double fact = 1. + 0.038*
log(radLen); fact *=fact;
50 double a = fact/(beta2*
p2);
51 sigt2 = amscon*radLen*
a;
59 double error2_QoverP = covMatrix(0,0);
63 sigt2 *= (1. + p2 * error2_QoverP *
64 (1. + 5.*m2/e2 + 3.*m2*beta2*error2_QoverP));
72 double betaMin2 = pMin2/(pMin2 + m2);
73 double a_max = fact/(betaMin2 * pMin2);
74 double sigt2_max = amscon*radLen*a_max;
75 if (sigt2 > sigt2_max) sigt2 = sigt2_max;
77 std::cout<<
" after P constraint ("<<pMin<<
") = "<<
sqrt(sigt2);
78 std::cout<<
" for track with 1/p="<<1/
p<<
"+-"<<
sqrt(error2_QoverP)<<std::endl;
82 double sl2 = d.
perp2();
83 double cl2 = (d.
z()*d.
z());
84 double cf2 = (d.
x()*d.
x())/sl2;
85 double sf2 = (d.
y()*d.
y())/sl2;
88 double den = 1./(cl2*cl2);
126 double xf = 1./fabs(d.
z());
128 const double amscon = 1.8496e-4;
129 const double m = mass;
130 double e =
sqrt(p*p + m*m);
133 double radLen = mp.
radLen()*xf;
137 double a = (1. + 0.038*
log(radLen))/(beta*p); a *=
a;
138 sigt2 = amscon*radLen*
a;
146 double error2_QoverP = covMatrix(0,0);
150 sigt2 *= (1. + (p*
p) * error2_QoverP *
151 (1. + 5*m*m/(e*e) + 3*m*m*beta*beta*error2_QoverP));
159 double betaMin = pMin/
sqrt(pMin * pMin + m*m);
160 double a_max = (1. + 0.038*
log(radLen))/(betaMin * pMin); a_max *= a_max;
161 double sigt2_max = amscon*radLen*a_max;
162 if (sigt2 > sigt2_max) sigt2 = sigt2_max;
164 std::cout<<
" after P constraint ("<<pMin<<
") = "<<
sqrt(sigt2);
165 std::cout<<
" for track with 1/p="<<1/p<<
"+-"<<
sqrt(error2_QoverP)<<std::endl;
169 double sl = d.
perp();
171 double cf = d.
x()/sl;
172 double sf = d.
y()/sl;
175 std::cout <<
"old " << sigt2*(sf*sf*cl*cl + cf*cf)/(cl*cl*cl*cl)
176 <<
" " << sigt2*(cf*sf*sl*sl )/(cl*cl*cl*cl)
177 <<
" " << sigt2*(cf*cf*cl*cl + sf*sf)/(cl*cl*cl*cl) << std::endl;
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
const MediumProperties * mediumProperties() const
LocalVector localMomentum() const
const AlgebraicSymMatrix55 & matrix() const
const LocalTrajectoryError & localError() const
Log< T >::type log(const T &t)
GlobalVector globalMomentum() const
void oldMUcompute(const TrajectoryStateOnSurface &TSoS, const PropagationDirection propDir, double mass, double ptmin)
const Surface & surface() const
virtual void compute(const TrajectoryStateOnSurface &, const PropagationDirection) const
AlgebraicSymMatrix55 theDeltaCov