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