Skip to content

Commit

Permalink
Merge pull request #38004 from leonardogiannini/FixIssue37970
Browse files Browse the repository at this point in the history
Fix for  issue 37970  - address undetermined output of cand DNN in mkFit
  • Loading branch information
cmsbuild authored May 19, 2022
2 parents 4c597d8 + 927cc20 commit 8f0f119
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion RecoTracker/MkFit/plugins/MkFitOutputConverter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -617,6 +617,8 @@ std::vector<float> MkFitOutputConverter::computeDNNs(TrackCandidateCollection co
tensorflow::Tensor input2(tensorflow::DT_FLOAT, {bsize_, 1});

for (auto nb = 0; nb < nbatches + 1; nb++) {
std::vector<bool> invalidProp(bsize_, false);

for (auto nt = 0; nt < bsize_; nt++) {
int itrack = nt + bsize_ * nb;
if (itrack >= size_in)
Expand All @@ -634,6 +636,7 @@ std::vector<float> MkFitOutputConverter::computeDNNs(TrackCandidateCollection co

if (!(tsAtClosestApproachTrackCand.isValid())) {
edm::LogVerbatim("TrackBuilding") << "TrajectoryStateClosestToBeamLine not valid";
invalidProp[nt] = true;
continue;
}

Expand Down Expand Up @@ -687,7 +690,7 @@ std::vector<float> MkFitOutputConverter::computeDNNs(TrackCandidateCollection co
input1.matrix<float>()(nt, 13) = trk.dz(bs->position());
input1.matrix<float>()(nt, 14) = trk.dxyError();
input1.matrix<float>()(nt, 15) = trk.dzError();
input1.matrix<float>()(nt, 16) = chi2[itrack] / ndof;
input1.matrix<float>()(nt, 16) = ndof > 0 ? chi2[itrack] / ndof : chi2[itrack] * 1e6;
input1.matrix<float>()(nt, 17) = trk.eta();
input1.matrix<float>()(nt, 18) = trk.phi();
input1.matrix<float>()(nt, 19) = trk.etaError();
Expand Down Expand Up @@ -720,6 +723,9 @@ std::vector<float> MkFitOutputConverter::computeDNNs(TrackCandidateCollection co
continue;

float out0 = 2.0 * outputs[0].matrix<float>()(nt, 0) - 1.0;
if (invalidProp[nt])
out0 = -1;

output[itrack] = out0;
}
}
Expand Down

0 comments on commit 8f0f119

Please sign in to comment.