34 const double logz =
log(z);
38 double dp1 = rl/beta2/
h;
39 double logdp1 =
log(dp1);
40 double logdp2 = 2./3.*logz + logdp1;
46 if ( logdp2<
log(0.5) )
47 w2 = 0.05283+0.0077*logdp2+0.00069*logdp2*logdp2;
49 w2 =-0.01517+0.1151*logdp2-0.00653*logdp2*logdp2;
54 double var1 = 0.8510+0.03314*logdp1-0.001825*logdp1*logdp1;
55 double var2 = (1.-w1*var1)/w2;
56 for (
int ic=0; ic<2; ic++ ) {
58 double var = ic==0 ? var1 : var2;
59 var *= 225.e-6*dp1/p/
p;
63 double sl = pvec.
perp();
65 double cf = pvec.
x()/sl;
66 double sf = pvec.
y()/sl;
67 cov(1,1) = var*(sf*sf*cl*cl + cf*cf)/(cl*cl*cl*cl);
68 cov(1,2) = var*(cf*sf*sl*sl )/(cl*cl*cl*cl);
69 cov(2,2) = var*(cf*cf*cl*cl + sf*sf)/(cl*cl*cl*cl);
std::vector< double > theWeights
std::vector< AlgebraicSymMatrix55 > theDeltaCovs
common ppss p3p6s2 common epss epspn46 common const1 w2
virtual void compute(const TrajectoryStateOnSurface &, const PropagationDirection) const
Computation: generates vectors of weights, means and standard deviations.
PropagationDirection theLastPropDir
virtual void storeArguments(const TrajectoryStateOnSurface &, const PropagationDirection) const
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
const MediumProperties * mediumProperties() const
LocalVector localMomentum() const
std::vector< double > theDeltaPs
Vector3DBase unit() const
virtual bool newArguments(const TrajectoryStateOnSurface &, const PropagationDirection) const
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
const Surface & surface() const
Power< A, B >::type pow(const A &a, const B &b)