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

Update L1 tracking for HL-LHC #33837

Closed
wants to merge 15 commits into from

Conversation

skinnari
Copy link
Contributor

PR description:

This PR includes updates to the L1 tracking for HL-LHC:

  • use DTC emulation (L1Trigger/TrackerDTC), the step between the Tracker and the L1 tracking system, along with associated, necessary changes to the L1 tracking code
  • algorithm updates to match HLS-based version (i.e. firmware)
  • code cleanup (removal of obsolete code, general code improvements)

Note:

PR validation:

Validated via L1 tracking performance studies on ttbar PU=200 samples.

if this PR is a backport please specify the original PR and why you need to backport that PR:

This is not a backport.

aehart and others added 15 commits May 20, 2021 11:22
* Various changes for outputting PurgeDuplicates test-vectors.

* Removed some magic numbers.

* Updated trackfitstr() to be more readable and include more comments.

* Removed more magic.
* Update max steps per TM period to match HLS

* Updated MC dataset
* add beam spot constraint flag to save new bcon values

* add check on scaled chi2 value after beam constraint

* get rid of code duplication

* include comment on kalmanAddBeamConstr_ boolean

* take out unecessary function
* Anders DTC merge with a gazillion manual fixes

* propagate buildfile fixes

* code formats

* fix cherrypick  mess up

* Remove LayerProjection class

* Further cleanup of tracklet projections interface

* Correct number of processing steps by changing < to <=

* Add missing include of algorithm

* Remove extra const

* Remove some commented out code

* Remove duplicate code

* Fix message logger and DTC Stub for consistency with hybrid configuration

* Fix problem with writing of input link memories

* Create Residual class that will replace LayerResidual and DiskResidual

* Remove the use of the class DiskResiduals

* Remove unused nMatch and nMatchDisk method of Tracklet

* (Re-)Implement the correction to writing the DTC data link file after moving functionality to Sector.

* Combine addMatch method for disk and layers into on method

* combine the disk and layer match into one method

* Remove some redundant poiters to l1tstubs

* Pass iSeed to Tracklet

* Introduce an InputRouter module. Does not change functionality, but simplifies/unifies the code and makes it similar to the HLS

* Cleanup of writing the DTC link files

* Change processing order such that all steps in one sector are done and then move to the next sector. This saves memory

* Interface updates for CMSSW following change to module processing order

* Change in VMRouter to processing PS links before 2S in disks

* Cleanup of unused iSector variable in processs and memory modules

* Fixes to make the HybridTracks_cfg.py run

* Cleanup of hardcoded numbers etc.

* Updates to MP to put all regions into one memory slot in the ProjectionTemp

* Fix to calculation of irinv for projections - no matches what is done in HLS

* Remove now unused file paths for the old cable mapping code

* Correct missplaced curly bracket

* Fixes for the displaced tracking

* Fix to avoid duplicate VMSTE name in D1 for standard configuration

* Address comments from Louise S.

* Ran scram b code-format

* Address comments from Louise S.

* Addressing more comments from Louise S.

* More fixes to comments

* Make running hybrid default (not displaced)

* restore buildfile

* Add DTC link config to Settings.h

* Changes to suppress warning in MatchCalculator when running displaced tracking

* Fix typo introduced in code cleanup for MatchProcessor

Co-authored-by: Anders Ryd <[email protected]>
Co-authored-by: Anders <[email protected]>
* Fix to compiler warning and removal of hardoded value in MatchCalculator

* Updates to fix names of pins to make unique

Co-authored-by: Anders Ryd <[email protected]>
* Fix to compiler warning and removal of hardoded value in MatchCalculator

* Updates to fix names of pins to make unique

* Migrate to new format of table for phi correction memory

* Remove unused TETableBase class

* Cleanup of VMRouterTable

* Cleanup of LUT for bend consistency

* Cleanup of LUT used in MEU for bend consistency

* Cleanup code for disk bend table

* cleanup of code to generate table used by TE

* Cleanup of TP LUTs

* Cleanup of LUTs for MatchCalculator cuts

* Fix names of new LUT when writing to files

* Cleanup of writing LUTs for the combined modules

* Add code to write projection bend table for disk projections

* More cleanup to remove hard coded layer and seed numbers

* Cleanup of hardcoded numbers

* Remove few more hardcoded constants:

* Some further cleanup based on comments from Louise S.

Co-authored-by: Anders Ryd <[email protected]>
Co-authored-by: Louise Skinnari <[email protected]>
* Updates to MatchProcessor so that we can get full agreement with HLS version

* Fix to LUT for adding stub in VMStubsTEMemory when running extendted tracking

Co-authored-by: Anders Ryd <[email protected]>
…ing (#82)

* Corrections to fix updates to new LUTs that broke the displaced tracking

* Fix compile errors in CMSSW

* Remove commented out code

Co-authored-by: Louise Skinnari <[email protected]>
* fix matchtp variables

* remove d=0 variables

* switch values for cms constants

* change pi to constant

* change trk_d0 sign

* move tmp_tp_d0 and tmp_tp_z0 calc up

* flip tp_d0 sign
@cmsbuild
Copy link
Contributor

A new Pull Request was created by @skinnari (Louise Skinnari) for CMSSW_11_3_X.

It involves the following packages:

L1Trigger/TrackFindingTMTT
L1Trigger/TrackFindingTracklet
L1Trigger/TrackerDTC

@cmsbuild, @rekovic, @srimanob, @cecilecaillol, @kpedro88 can you please review it and eventually sign? Thanks.
@Martin-Grunewald, @erikbutz this is something you requested to watch as well.
@silviodonato, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

@skinnari
Copy link
Contributor Author

FYI @tomalin @aryd

@mrodozov
Copy link
Contributor

please test with cms-data/L1Trigger-TrackFindingTracklet#3

@cmsbuild
Copy link
Contributor

-1

Failed Tests: RelVals RelVals-INPUT
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-3cf368/15305/summary.html
COMMIT: 4d410c1
CMSSW: CMSSW_11_3_X_2021-05-25-1700/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/33837/15305/install.sh to create a dev area with all the needed externals and cmssw changes.

RelVals

----- Begin Fatal Exception 26-May-2021 00:14:08 CEST-----------------------
An exception of category 'ConfigFileReadError' occurred while
   [0] Processing the python configuration file named step2_DIGI_L1TrackTrigger_L1_DIGI2RAW_HLT.py
Exception Message:
 unknown python problem occurred.
RuntimeError: An exception of category 'FileInPathError' occurred.
Exception Message:
edm::FileInPath unable to find file L1Trigger/TrackFindingTracklet/data/memorymodules_hourglass.dat anywhere in the search path.
The search path is defined by: CMSSW_SEARCH_PATH
${CMSSW_SEARCH_PATH} is: /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/33837/15305/CMSSW_11_3_X_2021-05-25-1700/poison:/cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/33837/15305/CMSSW_11_3_X_2021-05-25-1700/src:/cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/33837/15305/CMSSW_11_3_X_2021-05-25-1700/external/slc7_amd64_gcc900/data:/cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/poison:/cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/src
Current directory is: /data/cmsbld/jenkins/workspace/ib-run-pr-relvals/runTheMatrix-results/23234.0_TTbar_14TeV+2026D49+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14+DigiTrigger+RecoGlobal+HARVESTGlobal


At:
  /cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/python/FWCore/ParameterSet/Types.py(835): insertInto
  /cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/python/FWCore/ParameterSet/Mixins.py(377): insertContentsInto
  /cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/python/FWCore/ParameterSet/Mixins.py(508): insertInto
  /cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/python/FWCore/ParameterSet/Modules.py(162): insertInto
  /cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/python/FWCore/ParameterSet/Config.py(1104): _insertManyInto
  /cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/python/FWCore/ParameterSet/Config.py(1319): fillProcessDesc
  <string>(2): <module>

----- End Fatal Exception -------------------------------------------------
----- Begin Fatal Exception 26-May-2021 00:15:49 CEST-----------------------
An exception of category 'ConfigFileReadError' occurred while
   [0] Processing the python configuration file named step2_DIGI_L1TrackTrigger_L1_DIGI2RAW_HLT.py
Exception Message:
 unknown python problem occurred.
RuntimeError: An exception of category 'FileInPathError' occurred.
Exception Message:
edm::FileInPath unable to find file L1Trigger/TrackFindingTracklet/data/memorymodules_hourglass.dat anywhere in the search path.
The search path is defined by: CMSSW_SEARCH_PATH
${CMSSW_SEARCH_PATH} is: /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/33837/15305/CMSSW_11_3_X_2021-05-25-1700/poison:/cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/33837/15305/CMSSW_11_3_X_2021-05-25-1700/src:/cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/33837/15305/CMSSW_11_3_X_2021-05-25-1700/external/slc7_amd64_gcc900/data:/cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/poison:/cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/src
Current directory is: /data/cmsbld/jenkins/workspace/ib-run-pr-relvals/runTheMatrix-results/34634.0_TTbar_14TeV+2026D76+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14+DigiTrigger+RecoGlobal+HARVESTGlobal


At:
  /cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/python/FWCore/ParameterSet/Types.py(835): insertInto
  /cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/python/FWCore/ParameterSet/Mixins.py(377): insertContentsInto
  /cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/python/FWCore/ParameterSet/Mixins.py(508): insertInto
  /cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/python/FWCore/ParameterSet/Modules.py(162): insertInto
  /cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/python/FWCore/ParameterSet/Config.py(1104): _insertManyInto
  /cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/python/FWCore/ParameterSet/Config.py(1319): fillProcessDesc
  <string>(2): <module>

----- End Fatal Exception -------------------------------------------------
----- Begin Fatal Exception 26-May-2021 00:16:45 CEST-----------------------
An exception of category 'ConfigFileReadError' occurred while
   [0] Processing the python configuration file named step2_DIGI_L1TrackTrigger_L1_DIGI2RAW_HLT.py
Exception Message:
 unknown python problem occurred.
RuntimeError: An exception of category 'FileInPathError' occurred.
Exception Message:
edm::FileInPath unable to find file L1Trigger/TrackFindingTracklet/data/memorymodules_hourglass.dat anywhere in the search path.
The search path is defined by: CMSSW_SEARCH_PATH
${CMSSW_SEARCH_PATH} is: /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/33837/15305/CMSSW_11_3_X_2021-05-25-1700/poison:/cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/33837/15305/CMSSW_11_3_X_2021-05-25-1700/src:/cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/33837/15305/CMSSW_11_3_X_2021-05-25-1700/external/slc7_amd64_gcc900/data:/cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/poison:/cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/src
Current directory is: /data/cmsbld/jenkins/workspace/ib-run-pr-relvals/runTheMatrix-results/28234.0_TTbar_14TeV+2026D60+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14+DigiTrigger+RecoGlobal+HARVESTGlobal


At:
  /cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/python/FWCore/ParameterSet/Types.py(835): insertInto
  /cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/python/FWCore/ParameterSet/Mixins.py(377): insertContentsInto
  /cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/python/FWCore/ParameterSet/Mixins.py(508): insertInto
  /cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/python/FWCore/ParameterSet/Modules.py(162): insertInto
  /cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/python/FWCore/ParameterSet/Config.py(1104): _insertManyInto
  /cvmfs/cms-ib.cern.ch/week0/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2021-05-25-1700/python/FWCore/ParameterSet/Config.py(1319): fillProcessDesc
  <string>(2): <module>

----- End Fatal Exception -------------------------------------------------
Expand to see more relval errors ...

RelVals-INPUT

  • 23234.023234.0_TTbar_14TeV+2026D49+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14INPUT+DigiTrigger+RecoGlobal+HARVESTGlobal/step2_TTbar_14TeV+2026D49+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14INPUT+DigiTrigger+RecoGlobal+HARVESTGlobal.log
  • 23234.2123234.21_TTbar_14TeV+2026D49_ProdLike+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14INPUT+DigiTrigger+RecoGlobal+MiniAOD/step2_TTbar_14TeV+2026D49_ProdLike+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14INPUT+DigiTrigger+RecoGlobal+MiniAOD.log
  • 23234.10323234.103_TTbar_14TeV+2026D49Aging3000+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14INPUT+DigiTrigger+RecoGlobal+HARVESTGlobal/step2_TTbar_14TeV+2026D49Aging3000+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14INPUT+DigiTrigger+RecoGlobal+HARVESTGlobal.log
Expand to see more relval errors ...

@silviodonato
Copy link
Contributor

@skinnari please make a PR to master

@tomalin
Copy link
Contributor

tomalin commented Jun 4, 2021

The missing file L1Trigger/TrackFindingTracklet/data/memorymodules_hourglass.dat is provided in the separate PR https://github.com/cms-data/L1Trigger-TrackFindingTracklet/pull/3/files

@skinnari
Copy link
Contributor Author

skinnari commented Jun 4, 2021

Just to clarify that this is not the issue as the PRs are being tested jointly. The problem is understood and will be fixed along with updated to make the PR to master branch instead.

@skinnari
Copy link
Contributor Author

skinnari commented Jun 8, 2021

I have now opened a new PR to master branch instead (#34028) so I am closing this one.

@skinnari skinnari closed this Jun 8, 2021
@skinnari skinnari deleted the L1TK-PR-11_3_0 branch June 8, 2021 15:22
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.

8 participants