You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
\* : To select a $Z_0$ index $i$ from the `GTTPrimaryVert` collection for the comparison use `primVertex = cms.uint32(i)`. This parameter is mandatory when using a `maxPrimVertDz` cut.
121
122
123
+
\** : Requires additional parameter $N$ with `minPtMultiplicityN = cms.uint32(N)`.
124
+
122
125
### $\eta$-regional cuts
123
126
124
127
Certain cuts can also be specified $\eta$-region dependent, to allow different thresholds in different regions. In order to use this feature, one has to first provide the lower bounds for the regions via `regionsAbsEtaLowerBounds`. This parameter takes an `cms.vdouble`, whose length determines the number of $\eta$-regions. A region then ranges from the specified lower bound (inclusive) up to the next region's lower bound (exclusive). The last region's upper bound is always the maximum allowed $|\eta| = 2\pi$. One can use additional global $\eta$ or $|\eta|$ cuts to exclude large $|\eta|$ values, effectively overriding the last region's upper bound. The following cuts can be specified per each $\eta$-region:
algorithms.append(cms.PSet(expression= cms.string("pSingleTkMuon22 or pDoubleTkEle25_12")))
198
201
```
202
+
203
+
## Firmware pattern writers
204
+
205
+
There are 3 types of Global Trigger pattern writers currently implemented.
206
+
207
+
*`L1GTAlgoBoardWriter`: Used to write out the algorithm bits into 2 channels. With config
208
+
209
+
| Name | Datatype | Description |
210
+
|:-----|:----------:|:--------------|
211
+
|`filename`|`cms.string`| The filename prefix to use for pattern files (required) |
212
+
|`fileExtension`|`cms.string`|`txt`, `txt.gz` or `txt.xz` (default: `txt`) |
213
+
|`algoBlocksTag`|`cms.InputTag`| AlgoBlock producer input tag to use (required) |
214
+
|`maxFrames`|`cms.unit32`| Maximum number of frames (default: 1024) |
215
+
|`maxEvents`|`cms.unit32`| Maximum number of events (default: events that fit into `maxFrames`) |
216
+
|`channels`|`cms.vuint32`| Vector of 2 channel numbers for output (required) |
217
+
|`algoBitMask`|`cms.vuint64`| Vector of 9 64 bit masks (default: all set to 1) |
218
+
|`patternFormat`|`cms.string`|`APx`, `EMPv1`, `EMPv2` or `X2O` (default: `EMPv2`) |
219
+
220
+
*`L1GTFinOrBoardWriter`: Used to write out Final OR bits (beforeBxMaskAndPrescale, beforePrescale and final) each on a different channel for the low bits (0 - 575), mid bits (576 - 1151) and high bits (1152 - 1727). 9 channels in total + one channel for the passing Final OR trigger types. Config:
221
+
222
+
| Name | Datatype | Description |
223
+
|:-----|:----------:|:--------------|
224
+
|`filename`|`cms.string`| The filename prefix to use for pattern files (required) |
225
+
|`fileExtension`|`cms.string`|`txt`, `txt.gz` or `txt.xz` (default: `txt`) |
226
+
|`algoBlocksTag`|`cms.InputTag`| AlgoBlock producer input tag to use (required) |
227
+
|`maxFrames`|`cms.unit32`| Maximum number of frames (default: 1024) |
228
+
|`maxEvents`|`cms.unit32`| Maximum number of events (default: events that fit into `maxFrames`) |
229
+
|`channelsLow`|`cms.vuint32`| Vector of 3 channel numbers for low bits (0 - 575) (required) |
230
+
|`channelsMid`|`cms.vuint32`| Vector of 3 channel numbers for mid bits (576 - 1151) (required) |
231
+
|`channelsHigh`|`cms.vuint32`| Vector of 3 channel numbers for high bits (1152 - 1727) (required) |
232
+
|`channelFinOr`|`cms.uint32`| Channel for FinalOr trigger types (required) |
233
+
|`patternFormat`|`cms.string`|`APx`, `EMPv1`, `EMPv2` or `X2O` (default: `EMPv2`) |
234
+
235
+
*`L1GTObjectBoardWriter`: Used to write input and output object patterns using the upstream provided pack functions.
236
+
237
+
| Name | Datatype | Description |
238
+
|:-----|:----------:|:--------------|
239
+
|`filename`|`cms.string`| The filename prefix to use for pattern files (required) |
240
+
|`fileExtension`|`cms.string`|`txt`, `txt.gz` or `txt.xz` (default: `txt`) |
241
+
|`maxFrames`|`cms.unit32`| Maximum number of frames (default: 1024) |
242
+
|`maxEvents`|`cms.unit32`| Maximum number of events (default: events that fit into `maxFrames`) |
243
+
|`patternFormat`|`cms.string`|`APx`, `EMPv1`, `EMPv2` or `X2O` (default: `EMPv2`) |
244
+
|`bufferFileType`|`cms.string`| Either `input` or `output` (required) |
245
+
|`InputChannels.GCT_1`|`cms.vuint32`| Channels for GCT link 1 (required if `bufferFileType` = `input`) |
246
+
|`InputChannels.GMT_1`|`cms.vuint32`| Channels for GMT link 1 (required if `bufferFileType` = `input`) |
247
+
|`InputChannels.GTT_1`|`cms.vuint32`| Channels for GTT link 1 (required if `bufferFileType` = `input`) |
248
+
|`InputChannels.GTT_2`|`cms.vuint32`| Channels for GTT link 2 (required if `bufferFileType` = `input`) |
249
+
|`InputChannels.GTT_3`|`cms.vuint32`| Channels for GTT link 3 (required if `bufferFileType` = `input`) |
250
+
|`InputChannels.GTT_4`|`cms.vuint32`| Channels for GTT link 4 (required if `bufferFileType` = `input`) |
251
+
|`InputChannels.CL2_1`|`cms.vuint32`| Channels for CL2 link 1 (required if `bufferFileType` = `input`) |
252
+
|`InputChannels.CL2_2`|`cms.vuint32`| Channels for CL2 link 2 (required if `bufferFileType` = `input`) |
253
+
|`InputChannels.CL2_3`|`cms.vuint32`| Channels for CL2 link 3 (required if `bufferFileType` = `input`) |
254
+
|`OutputChannels.GTTPromptJets`|`cms.vuint32`| Channels for collection GTTPromptJets (required if `bufferFileType` = `output`) |
255
+
|`OutputChannels.GTTDisplacedJets`|`cms.vuint32`| Channels for collection GTTDisplacedJets (required if `bufferFileType` = `output`) |
256
+
|`OutputChannels.GTTPromptHtSum`|`cms.vuint32`| Channels for collection GTTPromptHtSum (required if `bufferFileType` = `output`) |
257
+
|`OutputChannels.GTTDisplacedHtSum`|`cms.vuint32`| Channels for collection GTTDisplacedHtSum (required if `bufferFileType` = `output`) |
258
+
|`OutputChannels.GTTEtSum`|`cms.vuint32`| Channels for collection GTTEtSum (required if `bufferFileType` = `output`) |
259
+
|`OutputChannels.GTTPrimaryVert`|`cms.vuint32`| Channels for collection GTTPrimaryVert (required if `bufferFileType` = `output`) |
260
+
|`OutputChannels.GMTSaPromptMuons`|`cms.vuint32`| Channels for collection GMTSaPromptMuons (required if `bufferFileType` = `output`) |
261
+
|`OutputChannels.GMTSaDisplacedMuons`|`cms.vuint32`| Channels for collection GMTSaDisplacedMuons (required if `bufferFileType` = `output`) |
262
+
|`OutputChannels.GMTTkMuons`|`cms.vuint32`| Channels for collection GMTTkMuons (required if `bufferFileType` = `output`) |
263
+
|`OutputChannels.CL2JetsSC4`|`cms.vuint32`| Channels for collection CL2JetsSC4 (required if `bufferFileType` = `output`) |
264
+
|`OutputChannels.CL2JetsSC8`|`cms.vuint32`| Channels for collection CL2JetsSC8 (required if `bufferFileType` = `output`) |
265
+
|`OutputChannels.CL2Photons`|`cms.vuint32`| Channels for collection CL2Photons (required if `bufferFileType` = `output`) |
266
+
|`OutputChannels.CL2Electrons`|`cms.vuint32`| Channels for collection CL2Electrons (required if `bufferFileType` = `output`) |
267
+
|`OutputChannels.CL2Taus`|`cms.vuint32`| Channels for collection CL2Taus (required if `bufferFileType` = `output`) |
268
+
|`OutputChannels.CL2EtSum`|`cms.vuint32`| Channels for collection CL2EtSum (required if `bufferFileType` = `output`) |
269
+
|`OutputChannels.CL2HtSum`|`cms.vuint32`| Channels for collection CL2HtSum (required if `bufferFileType` = `output`) |
270
+
271
+
Note: In order to get consistency across multiple pattern files written by multiple writers it is recommended to produce patterns in single threaded mode only (i.e. `process.options.numberOfThreads = 1`).
272
+
273
+
Default configurations for `L1GTAlgoBoardWriter` and `L1GTObjectBoardWriter` in input and output direction can be pulled into the configuration for each of the two prototype implementations VU9P and VU13P via:
0 commit comments