Skip to content

Commit ea50b73

Browse files
author
Nick Manganelli
committed
Small clarifications.
1 parent 0614ca1 commit ea50b73

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

L1Trigger/L1TTrackMatch/Readme.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The Baseline TVA module is extremely simple, primarily cutting on the $\Delta~z$
4242
### Jet Finding (JF)
4343
Jet finding uses a 2-layer clustering algorithm. The firmware is written in Verilog, and the emulator can be found in CMSSW in the central [plugin](https://github.com/cms-sw/cmssw/blob/master/L1Trigger/L1TTrackMatch/plugins/L1TrackJetEmulatorProducer.cc), [configuration](https://github.com/cms-sw/cmssw/blob/master/L1Trigger/L1TTrackMatch/python/l1tTrackJetsEmulation_cfi.py), and common [header](https://github.com/cms-sw/cmssw/blob/master/L1Trigger/L1TTrackMatch/plugins/L1TrackJetClustering.h)
4444

45-
### Status as of October 2024
45+
#### Status as of October 2024
4646
The output of the emulator does not exactly match the firmware currently. An ongoing PR exists to fix several discrepancies, including a missing valid bit in emulation, and the binning of the $\eta-\phi$ plane.
4747

4848
### HT and Missing HT (HT)
@@ -79,19 +79,21 @@ The GTT configuration constants are mostly gathered in the [GTTInterface.h](http
7979
A git [submodule](https://gitlab.cern.ch/GTT/Data) stores fixed copies of the emulation buffer / pattern files for use in [LibHLS](https://gitlab.cern.ch/GTT/LibHLS/), using git [LFS](https://git-lfs.com/)
8080

8181
### Generating pattern files
82-
A script in the test/gtt folder contains a configuration to export and import pattern file buffers into CMSSW.
82+
A script in the CMSSW L1Trigger/DemonstratorTools/test/gtt folder contains a configuration to export and import pattern file buffers into CMSSW.
8383
[script](https://github.com/cms-sw/cmssw/blob/master/L1Trigger/DemonstratorTools/test/gtt/createFirmwareInputFiles_cfg.py).
8484
Typical usage looks like:
8585
```
8686
cmsRun createFirmwareInputFiles_cfg.py maxEvents=1008 format=APx inputFiles=L1Trigger/DemonstratorTools/python/TT_TuneCP5_14TeV-powheg-pythia8_Phase2Spring23DIGIRECOMiniAOD-PU200_L1TFix_Trk1GeV_131X_mcRun4_realistic_v9-v1_GEN-SIM-DIGI-RAW-MINIAOD_APxBuffers_cff.py
8787
```
88+
An example configuration as referred to via the `inputFiles` kwarg can be found below, in this README.
89+
8890
### Loading tracks and vertices from pattern files
8991
Two input options, `tracks` and `vertices` can be passed 3 options, `donotload`, `load`, and `overwrite` to modify the behavior of patter-file writing. For each collection, the option `donotload` implies that the appropriate collection will be generated or read in from CMSSW collections. The `load` option instead dictates that pattern files' contents, specified in the inputFiles configuration, will be decoded (verifying they can be read back via BoardDataReader class, as configured via GTTFileReader), but the final collections will still be read/generated from CMSSW collections generated upstream in TrackFinding. The final option, `overwrite,` decodes the objects from pattern files and makes these the corresponding collection used in subsequent steps. That is, if `tracks=overwrite` is used, then the tracks passed into the GTTInputConversion and downstream TS, VF, etc. will come from pattern files written in the appropriate `readerformat` (APx, EMPv2, ...). As long as vertices is not set to `overwrite` as well, this will calculate new vertices from these pattern-buffer loaded tracks instead of those from the source root files or generated by the TrackFinder upstream. Similarly, if `vertices=overwrite,` the vertices collection will be read from the pattern files and upstream tracks (regardless of source and `tracks=X` option selected) will be ignored.
9092
```
9193
cmsRun createFirmwareInputFiles_cfg.py maxEvents=1008 format=APx inputFiles=L1Trigger/DemonstratorTools/python/TT_TuneCP5_14TeV-powheg-pythia8_Phase2Spring23DIGIRECOMiniAOD-PU200_L1TFix_Trk1GeV_131X_mcRun4_realistic_v9-v1_GEN-SIM-DIGI-RAW-MINIAOD_APxBuffers_cff.py tracks=overwrite vertices=donotload readerformat=APx
9294
```
9395

94-
An example of the inputFiles configuration including pointers to buffer files follows:
96+
An example of the `inputFiles` configuration including pointers to buffer files follows:
9597

9698
```
9799
import FWCore.ParameterSet.Config as cms
@@ -134,6 +136,7 @@ track_source = cms.Source ("PoolSource",
134136
)
135137
)
136138
```
139+
For loading tracks or vertices from buffers, the outputs from the `createFirmwareInputFiles_cfg.py` should be placed in a subfolder labeled `APx` relative to that same script.
137140

138141
### Sidebands in different formats
139142
The APx and EMPv2 have different sideband codes. In LibHLS a script exists which can strip the APx sideband codes from pattern files and write these out as new txt files can be found [here](https://gitlab.cern.ch/GTT/Data/-/blob/master/Scripts/APx/turn_off_sideband.py)

0 commit comments

Comments
 (0)