these lines in muidcalotrackstateonsurface:

else if (dynamic_cast&lt;const trk::straightlinesurface*&gt;(parameters.associatedsurface()))
    {
      if (parameters.associatedsurface()-&gt;center().mag()      &gt; 1.2*meter) trackoutwards = false;

give the wrong result - trt straws in the endcap can be up to three meters away from the origin, and we clearly want to track outward when starting in the trt.

the net effect of the bug is a significant underestimation of the scattering sigmas in the calo, by up to an order of magnitude at low momentum. the scattering sigmas are being evaluated with a wrong momentum (p+de instead of p, and p instead of p-de).

this bug affects all combined tracks fitted with the globalchi2fitter. 
