CMS 3D CMS Logo

tmbParams.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 tmbPhase1 = cms.PSet(
4  # block the ME1/a LCTs
5  mpcBlockMe1a = cms.uint32(0),
6  # allow ALCT-only LCTs
7  alctTrigEnable = cms.uint32(0),
8  # allow CLCT-only LCTs
9  clctTrigEnable = cms.uint32(0),
10  # allow ALCT-CLCT correlated LCTs (default)
11  matchTrigEnable = cms.uint32(1),
12  # matching window for the trigger
13  matchTrigWindowSize = cms.uint32(7),
14  # array with the preferred delta BX values for the candidate CLCTs
15  # perfectly in-time CLCTs are preferred, followed by
16  # first-early, first-late, second-early, second late, etc.
17  preferredBxMatch = cms.vint32(0, -1, 1, -2, 2, -3, 3),
18  #use CLCT sorted by Bx only for ALCT-CLCTmatch
19  sortClctBx = cms.bool(True),
20  # readout window for the DAQ
21  # LCTs found in the window [5, 6, 7, 8, 9, 10, 11] are good
22  tmbL1aWindowSize = cms.uint32(7),
23  # Debug
24  verbosity = cms.int32(0),
25  # Configure early_tbins instead of hardcoding it
26  tmbEarlyTbins = cms.int32(4),
27  # Flag for whether to readout only the earliest max two LCTs in a
28  # L1A readout window, as there is only room just for two in the TMB header.
29  # If false, all LCTs would be readout in L1A window.
30  # originally, this planned to change this for Phase-2, but no longer
31  # as of June 2021
32  tmbReadoutEarliest2 = cms.bool(True),
33  # For ALCT-centric matching in ME11, break after finding
34  # the first BX with matching CLCT. Should always be set to True
35  # when using the preferred BX windows
36  matchEarliestClctOnly = cms.bool(True),
37  # For ALCT-centric matching, whether to drop CLCTs that were matched
38  # to ALCTs in this BX, and not use them in the following BX
39  tmbDropUsedClcts = cms.bool(False),
40  # True: allow construction of unphysical LCTs
41  # in ME11 for which WG and HS do not intersect.
42  # False: do not build such unphysical LCTs
43  # It is recommended to keep this False, so that
44  # the EMTF receives all information, physical or not
45  ignoreAlctCrossClct = cms.bool(True),
46  # bits for high-multiplicity triggers
47  useHighMultiplicityBits = cms.bool(False),
48 )
49 
50 # to be used by ME11 chambers with upgraded TMB and ALCT
51 tmbPhase2 = tmbPhase1.clone(
52  # ALCT-CLCT stays at 7 for the moment
53  matchTrigWindowSize = 7,
54  #use CLCT sorted by Bx only for ALCT-CLCTmatch for now
55  sortClctBx = True,
56  # LCTs found in the window [5, 6, 7, 8, 9, 10, 11] are good
57  tmbL1aWindowSize = 7,
58  tmbDropUsedClcts = False,
59 )
60 
61 tmbPhase2GEM = tmbPhase2.clone(
62  # matching to GEM clusters in time
63  windowBXALCTGEM = cms.uint32(3),
64  windowBXCLCTGEM = cms.uint32(7),
65  # Set to True for matching CLCT and GEM clusters by "propagating"
66  # CLCT slope to GEM. Otherwise, just matching keystrip positions
67  matchCLCTpropagation = cms.bool(True),
68  # efficiency recovery switches
69  dropLowQualityALCTs = cms.bool(True),
70  dropLowQualityCLCTs = cms.bool(True),
71  buildLCTfromALCTandGEM = cms.bool(True),
72  buildLCTfromCLCTandGEM = cms.bool(False),
73  # assign GEM-CSC bending angle. Works only for
74  # Run-3 GEM-CSC TPs.
75  assignGEMCSCBending = cms.bool(True),
76  # When running the GEM-CSC matching, whether to mitigate
77  # the slope of CLCTs with high, meaning inconsistent,
78  # values of cosi (consistency of slope indicator)
79  # to optimize GEM-CSC slope correction
80  mitigateSlopeByCosi = cms.bool(False),
81  # Preferred order of bunchcrossing difference between CSC minus GEM BX for matching
82  BunchCrossingCSCminGEMwindow = cms.vint32(0, -1, 1, -2, 2, -3, 3)
83 )
84 
85 # to be used by ME11 chambers with GEM-CSC ILT
86 tmbPhase2GE11 = tmbPhase2GEM.clone(
87  # match ME1a with GEM (it affects CLCT-GEM match)
88  enableMatchGEMandME1a = cms.bool(True),
89  # match ME1b with GEM (it affects CLCT-GEM match)
90  enableMatchGEMandME1b = cms.bool(True),
91  # matching windows for ALCT-GEM clusters in wiregroups
92  maxDeltaWG = cms.uint32(7),
93  # matching windows for CLCT-GEM clusters in half strip units
94  maxDeltaHsEven = cms.uint32(5),
95  maxDeltaHsOdd = cms.uint32(10),
96  # efficiency recovery switches
97  dropLowQualityCLCTs_ME1a = cms.bool(True),
98  # delay applied in OTMB to GEM trigger primitives
99  delayGEMinOTMB = cms.uint32(0)
100 )
101 
102 # to be used by ME21 chambers with GEM-CSC ILT
103 tmbPhase2GE21 = tmbPhase2GEM.clone(
104  # match ME1a with GEM (it affects CLCT-GEM match)
105  enableMatchGEMandME1a = cms.bool(True),
106  # match ME1b with GEM (it affects CLCT-GEM match)
107  enableMatchGEMandME1b = cms.bool(True),
108  # matching windows for ALCT-GEM clusters in wiregroups
109  maxDeltaWG = cms.uint32(7),
110  # matching windows for CLCT-GEM clusters in half strip units
111  maxDeltaHsEven = cms.uint32(5),
112  maxDeltaHsOdd = cms.uint32(10),
113  # efficiency recovery switches
114  dropLowQualityCLCTs_ME1a = cms.bool(True),
115  # delay applied in OTMB to GEM trigger primitives
116  delayGEMinOTMB = cms.uint32(0)
117 )
118 
119 tmbPSets = cms.PSet(
120  tmbPhase1 = tmbPhase1.clone(),
121  tmbPhase2 = tmbPhase2.clone(),
122  tmbPhase2GE11 = tmbPhase2GE11.clone(),
123  tmbPhase2GE21 = tmbPhase2GE21.clone()
124 )