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

Updates to L1 tracking (improved use of stub bend etc.) #40335

Merged
merged 32 commits into from
Jun 20, 2023

Conversation

tomalin
Copy link
Contributor

@tomalin tomalin commented Dec 15, 2022

PR description:

  1. L1 track jobs updated to use D88 geometry by default and to use python3.
  2. Small changes to duplicate track removal code to make it easier to understand.
  3. Duplicate track removal now operates in parallel on several slightly overlapping track Pt bins, so emulate more accurately the firmware.
  4. Fixes for code that write .txt files used for debugging firmware for "combined" tracklet modules. Also adding of extra LUT tables needed by the "combined" modules.
  5. Bug fix for MatchProcessor module, so if multiple stubs are matched to a seed in a given layer, the best stub is selected.
  6. Significant changes to the use of stub bend in the tracklet pattern reco, so as: (a) To allow the code to cope with changes to the bend cuts used in the FE electronics (b) To allow the bend cuts within the tracklet algorithm to be specified in more bins in the tracker volume. Details of these changes are in Atownse2 calc bend cuts cms-L1TK/cmssw#178 .

Tracking performance little changed.

bryates and others added 14 commits November 24, 2022 16:59
* Find best match (matches HLS for all barrel layers and some disks)

* Fixed comment

* Removed extra table init calls

* code-format

* Added descriptive comments
* add possibility to invent stubs

* fix missing index in l1tstub

* apply code format

* updated function names and description,update invent l1tstub creation

* apply code format

* remove parameter from tracklet_cfi

* change default invent option to true

* code format
* Add disk cut tables

* Removed debug lines

* code-format

* Fixed LUTs

* Disk LUTs for MP

* Initialize LUTs

* Added comments to TrackletLUT.h

* code-format
* Trying best cut values

* Added header, clang-format
* fix for stubs with identical position but different bends.

* Update L1FPGATrackProducer.cc
* Move module loop to setup

* Import functions from trackerTFP

* Ian's 2nd comment

* Code-format

Co-authored-by: Jack Li <[email protected]>
Fixed comment in code
* CalcBendCuts - Uses bend encoding to decode bend

* Modified CalcBendCuts to be off by default, changed nzbinsPhiCorr to 1 by default

* Added changed in TP LUT and set default nzbinsPhiCorr to 1

* Turned off CalcBendCuts and revised comments

* PR Cleanup

* More PR cleanup

* Address PR comments

* code-format
* kf bug fixes, f/w sync.

* updated reduced dat files and channel assignment.

* correct channel assignment.

* reduced dat files deleted.
* These changes implements a LUT as function of the raidal projection in the disks to determine which r bins needs to be searched - and the finer position within the r bin

* Added extra pipeline stage to match HLS

* Ran code-format

* Remove some hard-coded numbers

* Fixed parentheses

* code-format

* Minor fixes to remove some hardcoded numbers

* Run code-format

Co-authored-by: Anders <[email protected]>
* Changed DR so that tracks are only compared to each other if they're in the same overlapping rinv bin.

* Added some comments

* Changed parts of the code dealing with overlapbins to make it less complex.

* Ran scram b -j 8 code-format and other such commands

* Fixed line breaks from scram b -j8 code-format.

* Fixed line breaks

* Fixed line breaks

* Deleted unused variables, made comments describing functions more explicit, and declared several things const to save CPU.

* Added values that limit the number of tracks per bin and number of comparisons per bin based on firmware limitations.

* Added variables that would allow cutting tracks after a set number of tracks is reached in each bin as well as limiting the number of tracks that are compared in eachbin.

* Fixed the formatting of new values in Settings.h and PurgeDuplicate.cc

* Fixed the formatting of new values in Settings.h and PurgeDuplicate.cc

* Changed the way PurgeDuplicate.cc evaluates seedRank

* To help rebase

* Atownse2 calc bend cuts (#178)

* CalcBendCuts - Uses bend encoding to decode bend

* Modified CalcBendCuts to be off by default, changed nzbinsPhiCorr to 1 by default

* Added changed in TP LUT and set default nzbinsPhiCorr to 1

* Turned off CalcBendCuts and revised comments

* PR Cleanup

* More PR cleanup

* Address PR comments

* code-format

* Deleted git comments from rebase.

* Added comments to better explain functions in Settings.h

* Changed a vector size comparison for DR that would keep 1 more track per bin than allowed

* Changed DR values to recover performance

* Added a DR variable to the maxStep map

Co-authored-by: Daniel Ally <[email protected]>
Co-authored-by: Austin Townsend <[email protected]>

readd data files as not yet in CMSSW release

Create github_CI.yml

Readd git CI code after branching from latest CMSSW relese

bug fixes

dummy

tweak

Make DR easier to understand

update to python3

tweak

tweak

tweak

tweak

Switch to D88 geometry

updated to geometry D88

migrate to D77 geom

Switch to D88 geometry

Update to new label names

Update to new label names

Switch to D88 geometry

Allow use of D76 MC

tweak

Create README.md

Update README.md

Update README.md

Update README.md

DUMMY COMMIT BEFORE PR

Removed CI and data files
@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-40335/33422

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @tomalin (Ian Tomalin) for master.

It involves the following packages:

  • L1Trigger/TrackFindingTMTT (l1)
  • L1Trigger/TrackFindingTracklet (l1)
  • L1Trigger/TrackTrigger (upgrade, l1)
  • L1Trigger/TrackerTFP (l1)

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

@tomalin tomalin marked this pull request as ready for review December 15, 2022 19:28
@cecilecaillol
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

-1

Failed Tests: RelVals RelVals-INPUT
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-98192e/29681/summary.html
COMMIT: 305d6df
CMSSW: CMSSW_13_0_X_2022-12-18-2300/el8_amd64_gcc11
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/40335/29681/install.sh to create a dev area with all the needed externals and cmssw changes.

RelVals

----- Begin Fatal Exception 19-Dec-2022 10:26:15 CET-----------------------
An exception of category 'NoRecord' occurred while
   [0] Processing global begin Run run: 1
   [1] Prefetching for module L1FPGATrackProducer/'l1tTTTracksFromExtendedTrackletEmulation'
   [2] Calling method for EventSetup module hph::ProducerHPH/'HitPatternHelperSetup'
   [3] While getting dependent Record from Record hph::SetupRcd
Exception Message:
No "trackerTFP::DataFormatsRcd" record found in the EventSetup.

 Please add an ESSource or ESProducer that delivers such a record.
----- End Fatal Exception -------------------------------------------------
----- Begin Fatal Exception 19-Dec-2022 10:26:40 CET-----------------------
An exception of category 'NoRecord' occurred while
   [0] Processing global begin Run run: 1
   [1] Prefetching for module L1FPGATrackProducer/'l1tTTTracksFromExtendedTrackletEmulation'
   [2] Calling method for EventSetup module hph::ProducerHPH/'HitPatternHelperSetup'
   [3] While getting dependent Record from Record hph::SetupRcd
Exception Message:
No "trackerTFP::DataFormatsRcd" record found in the EventSetup.

 Please add an ESSource or ESProducer that delivers such a record.
----- End Fatal Exception -------------------------------------------------
----- Begin Fatal Exception 19-Dec-2022 10:29:02 CET-----------------------
An exception of category 'NoRecord' occurred while
   [0] Processing global begin Run run: 1
   [1] Prefetching for module L1FPGATrackProducer/'l1tTTTracksFromExtendedTrackletEmulation'
   [2] Calling method for EventSetup module hph::ProducerHPH/'HitPatternHelperSetup'
   [3] While getting dependent Record from Record hph::SetupRcd
Exception Message:
No "trackerTFP::DataFormatsRcd" record found in the EventSetup.

 Please add an ESSource or ESProducer that delivers such a record.
----- End Fatal Exception -------------------------------------------------
Expand to see more relval errors ...

RelVals-INPUT

  • 20834.020834.0_TTbar_14TeV+2026D88/step2_TTbar_14TeV+2026D88.log
  • 20834.10320834.103_TTbar_14TeV+2026D88Aging3000/step2_TTbar_14TeV+2026D88Aging3000.log
  • 20834.2120834.21_TTbar_14TeV+2026D88_ProdLike/step2_TTbar_14TeV+2026D88_ProdLike.log
Expand to see more relval errors ...

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-40335/35905

  • This PR adds an extra 392KB to repository

@cmsbuild
Copy link
Contributor

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

@AdrianoDee
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-98192e/33125/summary.html
COMMIT: 9f23b96
CMSSW: CMSSW_13_2_X_2023-06-13-1100/el8_amd64_gcc11
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/40335/33125/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially added 14 lines to the logs
  • Reco comparison results: 9 differences found in the comparisons
  • DQMHistoTests: Total files compared: 48
  • DQMHistoTests: Total histograms compared: 3190910
  • DQMHistoTests: Total failures: 501
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3190387
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 47 files compared)
  • Checked 207 log files, 159 edm output root files, 48 DQM output files
  • TriggerResults: no differences found

@aloeliger
Copy link
Contributor

+l1

  • L1 has no further comments on this

@tomalin
Copy link
Contributor Author

tomalin commented Jun 20, 2023

Is this PR waiting for anything else, or can it be merged now?

@aloeliger
Copy link
Contributor

@cms-sw/upgrade-l2 Do you have any comments for @tomalin?

@AdrianoDee
Copy link
Contributor

+upgrade
(nothing notable changed w.r.t. latest sign-off, excepted addressing review comments)

@cmsbuild
Copy link
Contributor

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)

@rappoccio
Copy link
Contributor

+1

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.