Skip to content

ATLASRECTS-7693: Keep one impl of the newCovariance, the one that should be ~ 10-15% faster

ATLASRECTS-7693

This is also for @jdandoy @jchapman @jcatmore @nstyles to approve.

This came up during summer on the recurring question (that time by @zmarshal on if we can do things do faster here and there ala HLT).

The answer is kind of yes but since we deal with float if we alter a bit the order of operations it will alter the "binary" result.

In any case

So this gives something along the following magnitude of changes . It can be viewed as similar in concept to [!66067 (merged)] by @smh

Py:diff-root         INFO 000.InDetForwardTrackParticlesAux.definingParametersCovMatrixOffDiag.5.57 8.812105079414323e-05 -> 8.812105807010084e-05 => diff= [-0.00000206%]
Py:diff-root         INFO 000.InDetForwardTrackParticlesAux.2.standardDeviationOfChi2OS 'A' -> '!' => diff= [N/A]
Py:diff-root         INFO 000.InDetLargeD0TrackParticlesAux.330.qOverP -0.00038124711136333644 -> -0.0003812477516476065 => diff= [-0.00004199%]
Py:diff-root         INFO 000.InDetLargeD0TrackParticlesAux.definingParametersCovMatrixDiag.0.330 0.1922348141670227 -> 0.19223608076572418 => diff= [-0.00016472%]
Py:diff-root         INFO 000.InDetLargeD0TrackParticlesAux.definingParametersCovMatrixOffDiag.0.330 0.6220205426216125 -> 0.6220209002494812 => diff= [-0.00001437%]
Py:diff-root         INFO 000.InDetLargeD0TrackParticlesAux.330.chiSquared 89.23895263671875 -> 89.23896026611328 => diff= [-0.00000214%]
Py:diff-root         INFO 000.InDetTrackParticlesAux.22.d0 -0.29108744859695435 -> -0.29106953740119934 => diff= [0.00153835%]
Py:diff-root         INFO 000.InDetTrackParticlesAux.22.z0 -31.78347396850586 -> -31.783472061157227 => diff= [0.00000150%]
Py:diff-root         INFO 000.InDetTrackParticlesAux.22.phi -0.640583872795105 -> -0.6405847668647766 => diff= [-0.00003489%]
Py:diff-root         INFO 000.InDetTrackParticlesAux.206.theta 0.3397007882595062 -> 0.33970075845718384 => diff= [0.00000219%]
Py:diff-root         INFO 000.InDetTrackParticlesAux.22.qOverP 0.0004895639140158892 -> 0.0004895543679594994 => diff= [0.00048748%]
Py:diff-root         INFO 000.InDetTrackParticlesAux.definingParametersCovMatrixDiag.0.22 0.057841114699840546 -> 0.057839393615722656 => diff= [0.00074390%]
Py:diff-root         INFO 000.InDetTrackParticlesAux.definingParametersCovMatrixDiag.0.206 0.04129693657159805 -> 0.041296765208244324 => diff= [0.00010374%]
Py:diff-root         INFO 000.InDetTrackParticlesAux.definingParametersCovMatrixOffDiag.0.22 0.012589438818395138 -> 0.012590291909873486 => diff= [-0.00169400%]
Py:diff-root         INFO 000.InDetTrackParticlesAux.definingParametersCovMatrixOffDiag.0.206 -0.02126721665263176 -> -0.021267127245664597 => diff= [0.00010510%]
Py:diff-root         INFO 000.InDetTrackParticlesAux.definingParametersCovMatrixOffDiag.7.790 0.0005897537339478731 -> 0.000589753792155534 => diff= [-0.00000247%]
Py:diff-root         INFO 000.InDetTrackParticlesAux.22.chiSquared 22.065128326416016 -> 22.06508445739746 => diff= [0.00004970%]
Py:diff-root         INFO 000.InDetTrackParticlesAux.22.eProbabilityComb 0.08699578791856766 -> 0.08699649572372437 => diff= [-0.00020340%]
Py:diff-root         INFO 000.InDetTrackParticlesAux.22.eProbabilityHT 0.4067322015762329 -> 0.4067312777042389 => diff= [0.00005679%]
Py:diff-root         INFO 000.22.InDetTrackParticlesAuxDyn.TRTdEdx 0.829282283782959 -> 0.8292827010154724 => diff= [-0.00001258%]
Py:diff-root         INFO 000.PrimaryVerticesAux.0.chiSquared 237.71218872070312 -> 237.71214294433594 => diff= [0.00000481%]
Py:diff-root         INFO 000.PrimaryVerticesAux.5.numberDoF 44.76664733886719 -> 44.76664352416992 => diff= [0.00000213%]
Py:diff-root         INFO 000.PrimaryVerticesAux.0.x -0.4937134385108948 -> -0.49371346831321716 => diff= [-0.00000151%]
Py:diff-root         INFO 000.PrimaryVerticesAux.covariance.1.0 7.870347644711728e-07 -> 7.870345370974974e-07 => diff= [0.00000722%]
Py:diff-root         INFO 000.PrimaryVerticesAux.covariance.1.2 5.103515476889697e-08 -> 5.103516187432433e-08 => diff= [-0.00000348%]
Py:diff-root         INFO 000.PrimaryVerticesAux.covariance.2.5 8.140814315993339e-05 -> 8.140813588397577e-05 => diff= [0.00000223%]
Py:diff-root         INFO 000.PrimaryVerticesAux.covariance.1.23 -2.1415432911453536e-06 -> -2.141543518519029e-06 => diff= [-0.00000265%]
Py:diff-root         INFO 000.PrimaryVerticesAux.covariance.1.40 7.870347644711728e-07 -> 7.870345370974974e-07 => diff= [0.00000722%]
Py:diff-root         INFO 000.PrimaryVerticesAux.trackWeights.1.0 0.19020986557006836 -> 0.1902097910642624 => diff= [0.00000979%]
Py:diff-root         INFO 000.PrimaryVerticesAux.trackWeights.1.2 0.1038067564368248 -> 0.1038067489862442 => diff= [0.00000179%]
Py:diff-root         INFO 000.PrimaryVerticesAux.trackWeights.0.5 0.02166411466896534 -> 0.021664118394255638 => diff= [-0.00000430%]
Py:diff-root         INFO 000.PrimaryVerticesAux.trackWeights.22.11 0.24990658462047577 -> 0.24990659952163696 => diff= [-0.00000149%]
Py:diff-root         INFO 000.PrimaryVerticesAux.trackWeights.1.23 0.8795447945594788 -> 0.879544734954834 => diff= [0.00000169%]
Py:diff-root         INFO 000.PrimaryVerticesAux.trackWeights.9.27 0.002159126801416278 -> 0.0021591265685856342 => diff= [0.00000270%]
Py:diff-root         INFO 000.2.PrimaryVerticesAuxDyn.sumPt2 136.55674743652344 -> 136.5567626953125 => diff= [-0.00000279%]
....
Edited by Christos Anastopoulos

Merge request reports