Skip to content
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

[L1T] Phase-2, Update Track Selection Emulation to Match Firmware #40096

Merged
merged 4 commits into from Mar 3, 2023

Conversation

cecilecaillol
Copy link
Contributor

PR description:

Updates the TrackSelection outputs to better match the firmware. Care is taken to make sure that no undigitization rounding errors are incurred before the comparisons selecting the tracks are made.

PR validation:

The outputs of this PR now match the firmware outputs. Also the standard scram checks were performed

Porting of local cms-l1t-offline#1055

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-40096/33079

  • This PR adds an extra 28KB to repository

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @cecilecaillol for master.

It involves the following packages:

  • DataFormats/L1TrackTrigger (upgrade, l1)
  • L1Trigger/DemonstratorTools (l1)
  • L1Trigger/L1TTrackMatch (upgrade, l1)

@rekovic, @epalencia, @cmsbuild, @AdrianoDee, @srimanob, @cecilecaillol can you please review it and eventually sign? Thanks.
@rovere, @Martin-Grunewald, @missirol, @sviret, @trtomei, @beaucero this is something you requested to watch as well.
@perrotta, @dpiparo, @rappoccio you are the release manager for this.

cms-bot commands are listed here

@cecilecaillol
Copy link
Contributor Author

please test

@cmsbuild
Copy link
Contributor

-1

Failed Tests: RelVals-INPUT
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-06bf60/29076/summary.html
COMMIT: 8d49132
CMSSW: CMSSW_12_6_X_2022-11-16-1100/el8_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/40096/29076/install.sh to create a dev area with all the needed externals and cmssw changes.

RelVals-INPUT

The relvals timed out after 4 hours.

  • 11846.011846.0_ZEE_14+2021PU+ZEE_14TeV_TuneCP5_GenSimINPUT+DigiPU+RecoNanoPU+HARVESTNanoPU/step2_ZEE_14+2021PU+ZEE_14TeV_TuneCP5_GenSimINPUT+DigiPU+RecoNanoPU+HARVESTNanoPU.log
  • 21034.11421034.114_TTbar_14TeV+2026D88PU_OTInefficiency10PC+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14INPUT+DigiTriggerPU+RecoGlobalPU+HARVESTGlobalPU/step2_TTbar_14TeV+2026D88PU_OTInefficiency10PC+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14INPUT+DigiTriggerPU+RecoGlobalPU+HARVESTGlobalPU.log

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 8 differences found in the comparisons
  • DQMHistoTests: Total files compared: 48
  • DQMHistoTests: Total histograms compared: 3417074
  • DQMHistoTests: Total failures: 9
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3417043
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 47 files compared)
  • Checked 206 log files, 48 edm output root files, 48 DQM output files
  • TriggerResults: no differences found

@cecilecaillol
Copy link
Contributor Author

please test

(relvals timed out)

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-06bf60/29104/summary.html
COMMIT: 8d49132
CMSSW: CMSSW_12_6_X_2022-11-17-2300/el8_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/40096/29104/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 48
  • DQMHistoTests: Total histograms compared: 3417167
  • DQMHistoTests: Total failures: 3
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3417142
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 47 files compared)
  • Checked 206 log files, 48 edm output root files, 48 DQM output files
  • TriggerResults: no differences found

@cecilecaillol
Copy link
Contributor Author

+l1

@cecilecaillol
Copy link
Contributor Author

@AdrianoDee, @srimanob Could you please check and sign? We would like to have it in 12_6_0_pre5 to rebase our branch. It is a small PR.

Comment on lines 297 to 300
ap_uint<TrackBitWidths::kPtSize> ptEmulationBits = t.getTrackWord()(
TTTrack_TrackWord::TrackBitLocations::kRinvMSB - 1, TTTrack_TrackWord::TrackBitLocations::kRinvLSB);
ap_ufixed<TrackBitWidths::kPtSize, TrackBitWidths::kPtMagSize> ptEmulation;
ptEmulation.V = ptEmulationBits.range();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where are these ptEmulationBits and ptEmulation actually used in this method?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aperloff Can you please answer this question?

Copy link
Contributor

@aperloff aperloff Nov 28, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The information comes in as an N bit ap_uint, but it's really representing the charge and pt. The Nth bit is the charge and bits N-1 down to 0 are the pt. So the N-1 LSBs must be converted into an ap_ufixed. ptEmulationBits is the original set of bits in an ap_uint. ptEmulation is the more useful ap_fixed. ptEmulationBits is used to set the value of ptEmulation, which is then used in the return statement.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry to insist but, while I understood the what thanks to your explanation, I still don't see the where. Unless there's some magic I don't see, ptEmulation doesn't participate to the return (while it does is some other operators above)

return std::abs(v.z0() - fixedTkZ0.to_double()) <= deltaZMax_[etaIndex];

We have only v coming from the inputs and fixedTkZ0, that makes sense since, as far as I have understood, this method checks the compatibility between a vertex and the track vertex.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AdrianoDee It's used here:

if (processEmulatedTracks_ && kinSelEmu(track) && chi2SelEmu(track)) {

That Selector is defined as part of an AND selector, and the instantiated AND selector is used here in L583.
Hope that clears things up.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
ap_uint<TrackBitWidths::kPtSize> ptEmulationBits = t.getTrackWord()(
TTTrack_TrackWord::TrackBitLocations::kRinvMSB - 1, TTTrack_TrackWord::TrackBitLocations::kRinvLSB);
ap_ufixed<TrackBitWidths::kPtSize, TrackBitWidths::kPtMagSize> ptEmulation;
ptEmulation.V = ptEmulationBits.range();

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be directly committable.

@@ -276,7 +276,7 @@ class TTTrack_TrackWord {
return reco::deltaPhi(globalPhi, (sector * sectorWidth));
}

private:
public:
// ----------private member functions --------------
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment could be removed or fixed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@cmsbuild cmsbuild modified the milestones: CMSSW_12_6_X, CMSSW_13_0_X Nov 24, 2022
@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 3, 2023

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-40096/34429

  • This PR adds an extra 28KB to repository

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 3, 2023

Pull request #40096 was updated. @epalencia, @cmsbuild, @AdrianoDee, @srimanob, @aloeliger, @cecilecaillol can you please check and sign again.

@cecilecaillol
Copy link
Contributor Author

please test

@AdrianoDee
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 3, 2023

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-06bf60/31024/summary.html
COMMIT: 2d00a3e
CMSSW: CMSSW_13_1_X_2023-03-02-2300/el8_amd64_gcc11
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/40096/31024/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially added 11 lines to the logs
  • Reco comparison results: 5 differences found in the comparisons
  • DQMHistoTests: Total files compared: 49
  • DQMHistoTests: Total histograms compared: 3529699
  • DQMHistoTests: Total failures: 6
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3529671
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 48 files compared)
  • Checked 213 log files, 164 edm output root files, 49 DQM output files
  • TriggerResults: no differences found

@AdrianoDee
Copy link
Contributor

AdrianoDee commented Mar 3, 2023 via email

@cecilecaillol
Copy link
Contributor Author

+l1

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 3, 2023

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, @rappoccio (and backports should be raised in the release meeting by the corresponding L2)

@perrotta
Copy link
Contributor

perrotta commented Mar 3, 2023

+1

@cmsbuild cmsbuild merged commit 9b708c1 into cms-sw:master Mar 3, 2023
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants