cmssw icon indicating copy to clipboard operation
cmssw copied to clipboard

[L1T] Phase-2, Create GTT to GT test vectors, and test vectors from the L1TrackSelectionProducer outputs

Open cecilecaillol opened this issue 3 years ago • 15 comments

PR description:

This PR adds to the DemonstratorTools package the ability to write test vectors for the GTT to GT links. This is in addition to the existing files which contain the TF to GTT inputs, the converted track words created by the GTT common framework, and the GTT to Correlator Layer 1 link. Following the interface document, there are 4 links in total represented in these new files. The links contain words for jets/sums, hadronic taus, light mesons, and isolated tracks/vertices. Some of the formats specified in the interface document have not been written yet. In those cases, 64-bit packets willed with 0s were added in place of the words. In order to check that the 64-bit hexadecimal packets written to the file were correct, a few more branches were added to the L1TrackObjectsNtuple. Local PR: https://github.com/cms-l1t-offline/cmssw/pull/1042

It also adds to the DemonstratorTools package the ability to write test vectors for outputs from the L1TrackSelectionProducer module. This emulates two firmware modules, one which filters tracks based on the track parameters and another which filters them based on their distance to the primary vertex. These two new files will be created in addition to all the existing test vectors. The format for these files matches the existing track inputs, but with certain track words zeroed out if the tracks are not selected. Local PR: https://github.com/cms-l1t-offline/cmssw/pull/1043

Right now the L1TrackerEtMissEmulationProducer and the DemonstratorTools package assume a TF to GTT link ordering of the 18 links to have the first 9 be from all of the phi sectors and to care the -eta tracks. The second 9 links would carry the positive eta tracks. However, the GTT firmware and the TF group have been assuming that the -eta and +eta links would be paired, where the first two carry -eta and +eta for sector 0, the second pair does the same for sector 1, and so on. This PR also converts the code to using the latter scheme. Local PR: https://github.com/cms-l1t-offline/cmssw/pull/1044

PR validation:

From Alexx Perloff: "A set of test vectors was created for the GTT. These test vectors were then compared to the emulator outputs saved in the L1TrackObjectNtuples. I checked by hand that the hexadecimal values saved in the test vectors corresponded to the floating point values saved in the ROOT ntuple (after appropriate un-digitization). I also compared these values to the floating point simulation values in the ROOT ntuple to make sure the simulation and emulation values were close. Everything seems to check out."

The code has also passed the recommended code checks:

scram b code-checks scram b code-format

cecilecaillol avatar Sep 16 '22 13:09 cecilecaillol

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-39422/32129

  • This PR adds an extra 72KB to repository

  • There are other open Pull requests which might conflict with changes you have proposed:

    • File L1Trigger/DemonstratorTools/test/gtt/createFirmwareInputFiles_cfg.py modified in PR(s): #39418
    • File L1Trigger/L1TTrackMatch/test/L1TrackObjectNtupleMaker_cfg.py modified in PR(s): #39418

cmsbuild avatar Sep 16 '22 13:09 cmsbuild

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

It involves the following packages:

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

@rekovic, @epalencia, @cmsbuild, @AdrianoDee, @srimanob, @cecilecaillol can you please review it and eventually sign? Thanks. @Martin-Grunewald, @missirol, @beaucero, @trtomei 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

cmsbuild avatar Sep 16 '22 13:09 cmsbuild

please test

cecilecaillol avatar Sep 16 '22 13:09 cecilecaillol

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-9b70e9/27608/summary.html COMMIT: d98c79e68a695d236e18ec704f16cef68ee8ba40 CMSSW: CMSSW_12_6_X_2022-09-16-1100/el8_amd64_gcc10 User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/39422/27608/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: 1 differences found in the comparisons
  • DQMHistoTests: Total files compared: 51
  • DQMHistoTests: Total histograms compared: 3618332
  • DQMHistoTests: Total failures: 5
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3618305
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 50 files compared)
  • Checked 212 log files, 49 edm output root files, 51 DQM output files
  • TriggerResults: no differences found

cmsbuild avatar Sep 16 '22 19:09 cmsbuild

+l1

cecilecaillol avatar Sep 19 '22 07:09 cecilecaillol

@cmsbuild please test

Re-trigger the test after 2.5 weeks. Do we need this PR in 12_5 production?

srimanob avatar Oct 05 '22 07:10 srimanob

Hi @srimanob , no, this one is not needed.

epalencia avatar Oct 05 '22 07:10 epalencia

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-9b70e9/28010/summary.html COMMIT: d98c79e68a695d236e18ec704f16cef68ee8ba40 CMSSW: CMSSW_12_6_X_2022-10-04-2300/el8_amd64_gcc10 User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/39422/28010/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

There are some workflows for which there are errors in the baseline: 11634.15 step 3 The results for the comparisons for these workflows could be incomplete This means most likely that the IB is having errors in the relvals.The error does NOT come from this pull request

@slava77 comparisons for the following workflows were not done due to missing matrix map:

  • /data/cmsbld/jenkins/workspace/compare-root-files-short-matrix/data/PR-9b70e9/41834.0_TTbar_14TeV+2026D94+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14+DigiTrigger+RecoGlobal+HARVESTGlobal

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 5 differences found in the comparisons
  • DQMHistoTests: Total files compared: 49
  • DQMHistoTests: Total histograms compared: 3391103
  • DQMHistoTests: Total failures: 6
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3391075
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 48 files compared)
  • Checked 204 log files, 49 edm output root files, 49 DQM output files
  • TriggerResults: no differences found

cmsbuild avatar Oct 05 '22 10:10 cmsbuild

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-39422/32536

  • This PR adds an extra 76KB to repository

cmsbuild avatar Oct 12 '22 10:10 cmsbuild

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

cmsbuild avatar Oct 12 '22 10:10 cmsbuild

please test

cecilecaillol avatar Oct 12 '22 10:10 cecilecaillol

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-9b70e9/28191/summary.html COMMIT: 48b48a271a0d210c42accd3febb26488a6038b9d CMSSW: CMSSW_12_6_X_2022-10-11-2300/el8_amd64_gcc10 User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/39422/28191/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

@slava77 comparisons for the following workflows were not done due to missing matrix map:

  • /data/cmsbld/jenkins/workspace/compare-root-files-short-matrix/data/PR-9b70e9/20834.0_TTbar_14TeV+2026D88+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14+DigiTrigger+RecoGlobal+HARVESTGlobal
  • /data/cmsbld/jenkins/workspace/compare-root-files-short-matrix/data/PR-9b70e9/20834.75_TTbar_14TeV+2026D88_HLT75e33+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14+DigiTrigger+RecoGlobal+HLT75e33+HARVESTGlobal
  • /data/cmsbld/jenkins/workspace/compare-root-files-short-matrix/data/PR-9b70e9/20896.0_CloseByPGun_CE_E_Front_120um+2026D88+CE_E_Front_120um_GenSimHLBeamSpotHGCALCloseBy+DigiTrigger+RecoGlobal+HARVESTGlobal
  • /data/cmsbld/jenkins/workspace/compare-root-files-short-matrix/data/PR-9b70e9/20900.0_CloseByPGun_CE_H_Coarse_Scint+2026D88+CE_H_Coarse_Scint_GenSimHLBeamSpotHGCALCloseBy+DigiTrigger+RecoGlobal+HARVESTGlobal
  • /data/cmsbld/jenkins/workspace/compare-root-files-short-matrix/data/PR-9b70e9/21034.999_TTbar_14TeV+2026D88PU_PMXS1S2PR+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14+PREMIX_PremixHLBeamSpot14PU+DigiTriggerPU+RecoGlobalPU+HARVESTGlobalPU
  • /data/cmsbld/jenkins/workspace/compare-root-files-short-matrix/data/PR-9b70e9/23234.0_TTbar_14TeV+2026D94+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14+DigiTrigger+RecoGlobal+HARVESTGlobal

Summary:

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

cmsbuild avatar Oct 12 '22 13:10 cmsbuild

+l1

cecilecaillol avatar Oct 12 '22 13:10 cecilecaillol

@srimanob Could you please review and sign this PR?

cecilecaillol avatar Oct 13 '22 13:10 cecilecaillol

Hi @cecilecaillol This PR looks OK to me. Maybe @AdrianoDee would like to have a cross-check. Thanks.

srimanob avatar Oct 14 '22 11:10 srimanob

Hi @AdrianoDee Do you have any comment on this PR?

cecilecaillol avatar Oct 17 '22 18:10 cecilecaillol

+upgrade

AdrianoDee avatar Oct 18 '22 06:10 AdrianoDee

Fine by me and sorry for the delay @cecilecaillol

AdrianoDee avatar Oct 18 '22 06:10 AdrianoDee

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)

cmsbuild avatar Oct 18 '22 06:10 cmsbuild

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-39422/32637

  • This PR adds an extra 76KB to repository

  • There are other open Pull requests which might conflict with changes you have proposed:

    • File L1Trigger/DemonstratorTools/interface/codecs/etsums.h modified in PR(s): #39725
    • File L1Trigger/DemonstratorTools/interface/codecs/htsums.h modified in PR(s): #39725
    • File L1Trigger/DemonstratorTools/interface/codecs/tkjets.h modified in PR(s): #39725
    • File L1Trigger/DemonstratorTools/src/codecs_etsums.cc modified in PR(s): #39725
    • File L1Trigger/DemonstratorTools/src/codecs_htsums.cc modified in PR(s): #39725
    • File L1Trigger/DemonstratorTools/test/gtt/createFirmwareInputFiles_cfg.py modified in PR(s): #39725
    • File L1Trigger/L1TTrackMatch/interface/L1TkHTMissEmulatorProducer.h modified in PR(s): #39725
    • File L1Trigger/L1TTrackMatch/plugins/L1TrackerEtMissEmulatorProducer.cc modified in PR(s): #39725
    • File L1Trigger/L1TTrackMatch/test/L1TrackObjectNtupleMaker.cc modified in PR(s): #39730, #39725

cmsbuild avatar Oct 19 '22 11:10 cmsbuild

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

cmsbuild avatar Oct 19 '22 11:10 cmsbuild

please test

cecilecaillol avatar Oct 19 '22 11:10 cecilecaillol

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-39422/32638

  • This PR adds an extra 80KB to repository

  • There are other open Pull requests which might conflict with changes you have proposed:

    • File L1Trigger/DemonstratorTools/interface/codecs/etsums.h modified in PR(s): #39725
    • File L1Trigger/DemonstratorTools/interface/codecs/htsums.h modified in PR(s): #39725
    • File L1Trigger/DemonstratorTools/interface/codecs/tkjets.h modified in PR(s): #39725
    • File L1Trigger/DemonstratorTools/src/codecs_etsums.cc modified in PR(s): #39725
    • File L1Trigger/DemonstratorTools/src/codecs_htsums.cc modified in PR(s): #39725
    • File L1Trigger/DemonstratorTools/test/gtt/createFirmwareInputFiles_cfg.py modified in PR(s): #39725
    • File L1Trigger/L1TTrackMatch/interface/L1TkHTMissEmulatorProducer.h modified in PR(s): #39725
    • File L1Trigger/L1TTrackMatch/plugins/L1TrackerEtMissEmulatorProducer.cc modified in PR(s): #39725
    • File L1Trigger/L1TTrackMatch/test/L1TrackObjectNtupleMaker.cc modified in PR(s): #39730, #39725

cmsbuild avatar Oct 19 '22 11:10 cmsbuild

Pull request #39422 was updated. @epalencia, @AdrianoDee, @srimanob, @cecilecaillol, @rekovic can you please check and sign again.

cmsbuild avatar Oct 19 '22 11:10 cmsbuild

Thank you @cecilecaillol for the fixes

Since you removed it from the interfaces, the header for the LorentzVector should now be included in L1Trigger/DemonstratorTools/src/codecs_etsums.cc L1Trigger/DemonstratorTools/src/codecs_htsums.cc

perrotta avatar Oct 19 '22 14:10 perrotta

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-9b70e9/28360/summary.html COMMIT: 80a6c040d7876c440563557252efd70e3f2ad192 CMSSW: CMSSW_12_6_X_2022-10-19-1100/el8_amd64_gcc10 User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/39422/28360/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: 12 differences found in the comparisons
  • Reco comparison had 6 failed jobs
  • DQMHistoTests: Total files compared: 48
  • DQMHistoTests: Total histograms compared: 3391158
  • DQMHistoTests: Total failures: 12
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3391124
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 47 files compared)
  • Checked 201 log files, 48 edm output root files, 48 DQM output files
  • TriggerResults: no differences found

cmsbuild avatar Oct 19 '22 17:10 cmsbuild

please test

cecilecaillol avatar Oct 19 '22 18:10 cecilecaillol

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-39422/32649

  • This PR adds an extra 12KB to repository

  • There are other open Pull requests which might conflict with changes you have proposed:

    • File L1Trigger/DemonstratorTools/interface/codecs/etsums.h modified in PR(s): #39725
    • File L1Trigger/DemonstratorTools/interface/codecs/htsums.h modified in PR(s): #39725
    • File L1Trigger/DemonstratorTools/interface/codecs/tkjets.h modified in PR(s): #39725
    • File L1Trigger/DemonstratorTools/src/codecs_etsums.cc modified in PR(s): #39725
    • File L1Trigger/DemonstratorTools/src/codecs_htsums.cc modified in PR(s): #39725
    • File L1Trigger/DemonstratorTools/test/gtt/createFirmwareInputFiles_cfg.py modified in PR(s): #39725
    • File L1Trigger/L1TTrackMatch/interface/L1TkHTMissEmulatorProducer.h modified in PR(s): #39725
    • File L1Trigger/L1TTrackMatch/plugins/L1TrackerEtMissEmulatorProducer.cc modified in PR(s): #39725
    • File L1Trigger/L1TTrackMatch/test/L1TrackObjectNtupleMaker.cc modified in PR(s): #39725

cmsbuild avatar Oct 19 '22 18:10 cmsbuild

Pull request #39422 was updated. @epalencia, @AdrianoDee, @srimanob, @cecilecaillol, @rekovic can you please check and sign again.

cmsbuild avatar Oct 19 '22 18:10 cmsbuild

+l1

cecilecaillol avatar Oct 19 '22 18:10 cecilecaillol