New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update mkFit for CMSSW_12_2_0 #35974
Conversation
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-35974/26401
|
A new Pull Request was created by @mmasciov (Mario Masciovecchio) for master. It involves the following packages:
@jpata, @cmsbuild, @slava77 can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
test parameters: |
@cmsbuild please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-ca13d3/20278/summary.html Comparison SummarySummary:
|
Small differences are seen in tracks, and thus in all downstream reco quantities. https://cmssdt.cern.ch/SDT/jenkins-artifacts/baseLineComparisons/CMSSW_12_2_X_2021-11-05-1100+ca13d3/46688/validateJR/all_OldVSNew_RunDoubleEG2017Cwf136p793/all_OldVSNew_RunDoubleEG2017Cwf136p793c_log10recoTracks_generalTracks__reRECO_obj_pt.png |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor comments inline
for (int i = 0; i < size; ++i) { | ||
const Track &S = in_seeds[i]; | ||
|
||
HitOnTrack hot = S.getLastHitOnTrack(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
HitOnTrack hot = S.getLastHitOnTrack(); | |
const auto& hot = S.getLastHitOnTrack(); |
perhaps?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
const Track &S = in_seeds[i]; | ||
|
||
HitOnTrack hot = S.getLastHitOnTrack(); | ||
float eta = eoh[hot.layer].GetHit(hot.index).eta(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
float eta = eoh[hot.layer].GetHit(hot.index).eta(); | |
const float eta = eoh[hot.layer].GetHit(hot.index).eta(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
return inside; | ||
}; | ||
|
||
for (int i = 0; i < size; ++i) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for (int i = 0; i < size; ++i) { | |
for (size_t i = 0; i < size; ++i) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
bool in_tid = endcap_pos_check(S, maxR, tidp_rout, tidp_rin, tidp1.m_zmin - tid_z_extra); | ||
bool in_tec = endcap_pos_check(S, maxR, tecp_rout, tecp_rin, tecp1.m_zmin - tec_z_extra); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bool in_tid = endcap_pos_check(S, maxR, tidp_rout, tidp_rin, tidp1.m_zmin - tid_z_extra); | |
bool in_tec = endcap_pos_check(S, maxR, tecp_rout, tecp_rin, tecp1.m_zmin - tec_z_extra); | |
const bool in_tid = endcap_pos_check(S, maxR, tidp_rout, tidp_rin, tidp1.m_zmin - tid_z_extra); | |
const bool in_tec = endcap_pos_check(S, maxR, tecp_rout, tecp_rin, tecp1.m_zmin - tec_z_extra); |
also below
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
} | ||
|
||
part.m_region[i] = reg; | ||
part.m_sort_score[i] = 7.0f * (reg - 2) + eta; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this "magic formula" may need some comment or explanation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
@jpata, yes: few/small differences are expected and look in line with expectations. Let us note that we have updated this PR via the related PRs cms-sw/cmsdist#7427 and cms-data/RecoTracker-MkFit#7, in response to BTV validation results highlighted in https://its.cern.ch/jira/browse/PDMVRELVALS-136. The PR description is going to be updated accordingly. This update allows to improve impact parameter resolution, with minor changes to track reconstruction efficiency and fake rate. MTV results are going to be provided in the PR description. |
why do you think so? |
@tvami I will open a PR for backport to 12_1_X once this is signed. |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-ca13d3/20397/summary.html Comparison SummaryThere are some workflows for which there are errors in the baseline: Summary:
|
+reconstruction
|
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @perrotta, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2) |
urgent |
+1 |
const LayerInfo &tib1 = trk_info.m_layers[4]; | ||
const LayerInfo &tob1 = trk_info.m_layers[10]; | ||
|
||
const LayerInfo &tidp1 = trk_info.m_layers[21]; | ||
const LayerInfo &tidn1 = trk_info.m_layers[48]; | ||
|
||
const LayerInfo &tecp1 = trk_info.m_layers[27]; | ||
const LayerInfo &tecn1 = trk_info.m_layers[54]; | ||
|
||
// Merge first two layers to account for mono/stereo coverage. | ||
// TrackerInfo could hold joint limits for sub-detectors. | ||
const auto &L = trk_info.m_layers; | ||
const float tidp_rin = std::min(L[21].m_rin, L[22].m_rin); | ||
const float tidp_rout = std::max(L[21].m_rout, L[22].m_rout); | ||
const float tecp_rin = std::min(L[27].m_rin, L[28].m_rin); | ||
const float tecp_rout = std::max(L[27].m_rout, L[28].m_rout); | ||
const float tidn_rin = std::min(L[48].m_rin, L[49].m_rin); | ||
const float tidn_rout = std::max(L[48].m_rout, L[49].m_rout); | ||
const float tecn_rin = std::min(L[54].m_rin, L[55].m_rin); | ||
const float tecn_rout = std::max(L[54].m_rout, L[55].m_rout); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
During the review of the Patatrack PRs we received a lot of comments regarding the use of "magic" numbers in the pixel code - even though most of the time we had simply modified or copied existing code.
Could you fix throughout this (and similar files, if any) the use of 4
, 10
, 21
, 48
, 27
, 54
, ... ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[12.1.X] Update of mkFit as in 12_2_0 (backport of PR #35974)
PR description:
This PR follows #35652 and updates mkFit in view of CMSSW_12_2_0.
In detail, this PR:
It requires cms-sw/cmsdist#7427 and cms-data/RecoTracker-MkFit#7.
Note: these PRs were updated in response to BTV results in https://its.cern.ch/jira/browse/PDMVRELVALS-136, in order to improve the track impact parameter resolution in tracks reconstructed in pixel-triplet-seeded iterations. Effects of the update on track reconstructions efficiency and fakes are small.
PR validation:
Details of performance after this PR have been presented at TRK POG meeting on November 1st:
https://indico.cern.ch/event/1092090/#2-mkfit-status-report
Full MTV results, including the update of cms-sw/cmsdist#7427 and cms-data/RecoTracker-MkFit#7 on November 9th: