Skip to content

Commit 524aa65

Browse files
authored
Merge pull request #46906 from leonardogiannini/propToPlane_fix
[mkFit] small fix in propToPlane
2 parents 0b35058 + a158f81 commit 524aa65

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

RecoTracker/MkFitCore/src/KalmanUtilsMPlex.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1255,7 +1255,7 @@ namespace mkfit {
12551255
if (propToHit) {
12561256
MPlexLS propErr;
12571257
MPlexLV propPar;
1258-
propagateHelixToPlaneMPlex(psErr, psPar, Chg, msPar, plNrm, propErr, propPar, outFailFlag, N_proc, propFlags);
1258+
propagateHelixToPlaneMPlex(psErr, psPar, Chg, plPnt, plNrm, propErr, propPar, outFailFlag, N_proc, propFlags);
12591259

12601260
kalmanOperationPlaneLocal(KFO_Update_Params | KFO_Local_Cov,
12611261
propErr,
@@ -1337,7 +1337,7 @@ namespace mkfit {
13371337
propPar = psPar;
13381338
if (propToHit) {
13391339
MPlexLS propErr;
1340-
propagateHelixToPlaneMPlex(psErr, psPar, inChg, msPar, plNrm, propErr, propPar, outFailFlag, N_proc, propFlags);
1340+
propagateHelixToPlaneMPlex(psErr, psPar, inChg, plPnt, plNrm, propErr, propPar, outFailFlag, N_proc, propFlags);
13411341

13421342
kalmanOperationPlaneLocal(KFO_Calculate_Chi2,
13431343
propErr,

RecoTracker/MkFitCore/src/PropagationMPlexPlane.cc

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#include "RecoTracker/MkFitCore/interface/PropagationConfig.h"
33
#include "RecoTracker/MkFitCore/interface/Config.h"
44
#include "RecoTracker/MkFitCore/interface/TrackerInfo.h"
5+
#include "RecoTracker/MkFitCore/interface/cms_common_macros.h"
56

67
#include "PropagationMPlex.h"
78

@@ -431,7 +432,7 @@ namespace {
431432
//float s[nmax - nmin];
432433
//first iteration outside the loop
433434
#pragma omp simd
434-
for (int n = 0; n < NN; ++n) {
435+
for (int n = 0; n < N_proc; ++n) {
435436
s[n] = (std::abs(plNrm(n, 2, 0)) < 1.f ? getS(delta0[n],
436437
delta1[n],
437438
delta2[n],
@@ -462,7 +463,7 @@ namespace {
462463
// Note, sinT/cosT not updated
463464

464465
#pragma omp simd
465-
for (int n = 0; n < NN; ++n) {
466+
for (int n = 0; n < N_proc; ++n) {
466467
s[n] += (std::abs(plNrm(n, 2, 0)) < 1.f
467468
? getS(delta0[n],
468469
delta1[n],
@@ -482,14 +483,14 @@ namespace {
482483
} //end Niter-1
483484

484485
// use linear approximation if s did not converge (for very high pT tracks)
485-
for (int n = 0; n < NN; ++n) {
486+
for (int n = 0; n < N_proc; ++n) {
486487
#ifdef DEBUG
487488
if (debug)
488489
std::cout << "s[n]=" << s[n] << " sl[n]=" << sl[n] << " std::isnan(s[n])=" << std::isnan(s[n])
489490
<< " std::isfinite(s[n])=" << std::isfinite(s[n]) << " std::isnormal(s[n])=" << std::isnormal(s[n])
490491
<< std::endl;
491492
#endif
492-
if ((std::abs(sl[n]) > std::abs(s[n])) || std::isnormal(s[n]) == false)
493+
if (mkfit::isFinite(s[n]) == false && mkfit::isFinite(sl[n])) // replace with sl even if not fully correct
493494
s[n] = sl[n];
494495
}
495496

0 commit comments

Comments
 (0)