diff --git a/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_ATLxk.cxx b/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_ATLxk.cxx index 20e6fe8943d2b5f2460cc4d682f317b71603d4cc..41606fdf81236d7ba267962d2fbc1ddcd3fd1ae7 100644 --- a/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_ATLxk.cxx +++ b/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_ATLxk.cxx @@ -1439,7 +1439,11 @@ void InDet::SiSpacePointsSeedMaker_ATLxk::production3Sp float B2 = B*B; if (B2 > ipt2K*S2 || dT*S2 > B2*CSA) continue; - float Im = fabs((A-B*R)*R); + float y0=1./(2*B); + float x0=-A*y0; + float rTrack = sqrt(S2/B2)/2 ; + float Im = fabs(-rTrack + sqrt(rTrack*rTrack +2*x0*R +R*R)); + if (Im <= imax) { float dr = data.R[b];