test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
cscTriggerPrimitiveDigisPostLS1_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 import sys
3 
4 sys.stderr.write(" ######################################################################################################### ")
5 sys.stderr.write(" # WARNING: the module L1Trigger.CSCTriggerPrimitives.cscTriggerPrimitiveDigisPostLS1_cfi is deprecated. # ")
6 sys.stderr.write(" # Please import L1Trigger.CSCTriggerPrimitives.cscTriggerPrimitiveDigis_cfi # ")
7 sys.stderr.write(" ######################################################################################################### ")
8 
10 # Default parameters for CSCTriggerPrimitives generator
11 # =====================================================
12 cscTriggerPrimitiveDigisPostLS1 = cms.EDProducer("CSCTriggerPrimitivesProducer",
13  CSCCommonTrigger,
14 
15  # if False, parameters will be read in from DB using EventSetup mechanism
16  # else will use parameters from this config
17  debugParameters = cms.bool(True),
18 
19  # Name of digi producer module(s)
20  CSCComparatorDigiProducer = cms.InputTag("simMuonCSCDigis","MuonCSCComparatorDigi"),
21  CSCWireDigiProducer = cms.InputTag("simMuonCSCDigis","MuonCSCWireDigi"),
22 
23  # for SLHC studies we don't want bad chambers checks so far
24  checkBadChambers = cms.bool(False),
25 
26  # Parameters common for all boards
27  commonParam = cms.PSet(
28  isTMB07 = cms.bool(True),
29  isMTCC = cms.bool(False),
30 
31  # Flag for SLHC studies (upgraded ME11, MPC)
32  # (if true, isTMB07 should be true as well)
33  isSLHC = cms.bool(True),
34 
35  # ME1a configuration:
36  # smartME1aME1b=f, gangedME1a=t
37  # default logic for current HW
38  # smartME1aME1b=t, gangedME1a=f
39  # realistic upgrade scenario:
40  # one ALCT finder and two CLCT finders per ME11
41  # with additional logic for A/CLCT matching with ME1a unganged
42  # smartME1aME1b=t, gangedME1a=t
43  # the previous case with ME1a still being ganged
44  # Note: gangedME1a has effect only if smartME1aME1b=t
45  smartME1aME1b = cms.bool(True),
46  gangedME1a = cms.bool(False),
47 
48  # flagis to optionally disable finding stubs in ME42 or ME1a
49  disableME1a = cms.bool(False),
50  disableME42 = cms.bool(False)
51  ),
52 
53  # Parameters for ALCT processors: old MC studies
54  alctParamOldMC = cms.PSet(
55  alctFifoTbins = cms.uint32(16),
56  alctFifoPretrig = cms.uint32(10),
57  alctDriftDelay = cms.uint32(3),
58  alctNplanesHitPretrig = cms.uint32(2),
59  alctNplanesHitPattern = cms.uint32(4),
60  alctNplanesHitAccelPretrig = cms.uint32(2),
61  alctNplanesHitAccelPattern = cms.uint32(4),
62  alctTrigMode = cms.uint32(3),
63  alctAccelMode = cms.uint32(1),
64  alctL1aWindowWidth = cms.uint32(5),
65  verbosity = cms.int32(0)
66  ),
67 
68  # Parameters for ALCT processors: MTCC-II
69  alctParamMTCC = cms.PSet(
70  alctFifoTbins = cms.uint32(16),
71  alctFifoPretrig = cms.uint32(10),
72  alctDriftDelay = cms.uint32(3),
73  alctNplanesHitPretrig = cms.uint32(2),
74  alctNplanesHitPattern = cms.uint32(4),
75  alctNplanesHitAccelPretrig = cms.uint32(2),
76  alctNplanesHitAccelPattern = cms.uint32(4),
77  alctTrigMode = cms.uint32(2),
78  alctAccelMode = cms.uint32(0),
79  alctL1aWindowWidth = cms.uint32(3),
80  verbosity = cms.int32(0)
81  ),
82 
83  # Parameters for ALCT processors: 2007 and later
84  alctParam07 = cms.PSet(
85  alctFifoTbins = cms.uint32(16),
86  alctFifoPretrig = cms.uint32(10),
87  alctDriftDelay = cms.uint32(2),
88  alctNplanesHitPretrig = cms.uint32(3),
89  alctNplanesHitPattern = cms.uint32(4),
90  alctNplanesHitAccelPretrig = cms.uint32(3),
91  alctNplanesHitAccelPattern = cms.uint32(4),
92  alctTrigMode = cms.uint32(2),
93  alctAccelMode = cms.uint32(0),
94  alctL1aWindowWidth = cms.uint32(7),
95  verbosity = cms.int32(0),
96 
97  # Configure early_tbins instead of hardcoding it
98  alctEarlyTbins = cms.int32(4),
99 
100  # Use narrow pattern mask for ring 1 chambers
101  alctNarrowMaskForR1 = cms.bool(True),
102 
103  # configured, not hardcoded, hit persistency
104  alctHitPersist = cms.uint32(6),
105 
106  # configure, not hardcode, up to how many BXs in the past
107  # ghost cancellation in neighboring WGs may happen
108  alctGhostCancellationBxDepth = cms.int32(1),
109 
110  # whether to compare the quality of stubs in neighboring WGs in the past
111  # to the quality of a stub in current WG
112  # when doing ghost cancellation
113  alctGhostCancellationSideQuality = cms.bool(True),
114 
115  # how soon after pretrigger and alctDriftDelay can next pretrigger happen?
116  alctPretrigDeadtime = cms.uint32(4)
117  ),
118 
119  # Parameters for ALCT processors: SLHC studies
120  alctSLHC = cms.PSet(
121  alctFifoTbins = cms.uint32(16),
122  alctFifoPretrig = cms.uint32(10),
123  alctDriftDelay = cms.uint32(2),
124  alctNplanesHitPretrig = cms.uint32(3),
125  alctNplanesHitPattern = cms.uint32(4),
126  alctNplanesHitAccelPretrig = cms.uint32(3),
127  alctNplanesHitAccelPattern = cms.uint32(4),
128  alctTrigMode = cms.uint32(2),
129  alctAccelMode = cms.uint32(0),
130  alctL1aWindowWidth = cms.uint32(7),
131  verbosity = cms.int32(0),
132 
133  # Configure early_tbins instead of hardcoding it
134  alctEarlyTbins = cms.int32(4),
135 
136  # Use narrow pattern mask for ring 1 chambers
137  alctNarrowMaskForR1 = cms.bool(True),
138 
139  # configured, not hardcoded, hit persistency
140  alctHitPersist = cms.uint32(6),
141 
142  # configure, not hardcode, up to how many BXs in the past
143  # ghost cancellation in neighboring WGs may happen
144  alctGhostCancellationBxDepth = cms.int32(1),
145 
146  # whether to compare the quality of stubs in neighboring WGs in the past
147  # to the quality of a stub in current WG
148  # when doing ghost cancellation
149  alctGhostCancellationSideQuality = cms.bool(True),
150 
151  # how soon after pretrigger and alctDriftDelay can next pretrigger happen?
152  alctPretrigDeadtime = cms.uint32(0),
153 
154  # SLHC only for ME11:
155  # whether to store the "corrected" ALCT stub time
156  # (currently it is median time of particular hits in a pattern) into the ASCCLCTDigi bx,
157  # and temporary store the regular "key layer hit" time into the CSCCLCTDigi fullBX:
158  alctUseCorrectedBx = cms.bool(True)
159  ),
160 
161  # Parameters for CLCT processors: old MC studies
162  clctParamOldMC = cms.PSet(
163  clctFifoTbins = cms.uint32(12),
164  clctFifoPretrig = cms.uint32(7),
165  clctHitPersist = cms.uint32(6),
166  clctDriftDelay = cms.uint32(2),
167  clctNplanesHitPretrig = cms.uint32(2),
168  clctNplanesHitPattern = cms.uint32(4),
169  clctPidThreshPretrig = cms.uint32(2),
170  clctMinSeparation = cms.uint32(10),
171  # Debug
172  verbosity = cms.int32(0)
173  ),
174 
175  # Parameters for CLCT processors: MTCC-II
176  clctParamMTCC = cms.PSet(
177  clctFifoTbins = cms.uint32(12),
178  clctFifoPretrig = cms.uint32(7),
179  clctHitPersist = cms.uint32(6),
180  clctDriftDelay = cms.uint32(2),
181  clctNplanesHitPretrig = cms.uint32(4),
182  clctNplanesHitPattern = cms.uint32(1),
183  clctPidThreshPretrig = cms.uint32(2),
184  clctMinSeparation = cms.uint32(10),
185  # Debug
186  verbosity = cms.int32(0)
187  ),
188 
189  # Parameters for CLCT processors: 2007 and later
190  clctParam07 = cms.PSet(
191  clctFifoTbins = cms.uint32(12),
192  clctFifoPretrig = cms.uint32(7),
193  clctHitPersist = cms.uint32(4),
194  clctDriftDelay = cms.uint32(2),
195  clctNplanesHitPretrig = cms.uint32(3),
196  clctNplanesHitPattern = cms.uint32(4),
197  # increase pattern ID threshold from 2 to 4 to trigger higher pt tracks
198  clctPidThreshPretrig = cms.uint32(4),
199  # decrease possible minimal #HS distance between two CLCTs in a BX from 10 to 5:
200  clctMinSeparation = cms.uint32(5),
201  # Debug
202  verbosity = cms.int32(0),
203 
204  # BX to start CLCT finding (poor man's dead-time shortening):
205  clctStartBxShift = cms.int32(0)
206  ),
207 
208  # Parameters for CLCT processors: SLHC studies
209  clctSLHC = cms.PSet(
210  clctFifoTbins = cms.uint32(12),
211  clctFifoPretrig = cms.uint32(7),
212  clctHitPersist = cms.uint32(4),
213  clctDriftDelay = cms.uint32(2),
214  clctNplanesHitPretrig = cms.uint32(3),
215  clctNplanesHitPattern = cms.uint32(4),
216  # increase pattern ID threshold from 2 to 4 to trigger higher pt tracks
217  clctPidThreshPretrig = cms.uint32(4),
218  # decrease possible minimal #HS distance between two CLCTs in a BX from 10 to 5:
219  clctMinSeparation = cms.uint32(5),
220  # Debug
221  verbosity = cms.int32(0),
222 
223  # BX to start CLCT finding (poor man's to shorten the dead-time):
224  clctStartBxShift = cms.int32(0),
225 
226  # Turns on algorithms of localized dead-time zones:
227  useDeadTimeZoning = cms.bool(True),
228 
229  # Width (in #HS) of a fixed dead zone around a key HS:
230  clctStateMachineZone = cms.uint32(8),
231 
232  # Enables the algo which instead of using the fixed dead zone width,
233  # varies it depending on the width of a triggered CLCT pattern
234  # (if True, the clctStateMachineZone is ignored):
235  useDynamicStateMachineZone = cms.bool(True),
236 
237  # Pretrigger HS +- clctPretriggerTriggerZone sets the trigger matching zone
238  # which defines how far from pretrigger HS the TMB may look for a trigger HS
239  # (it becomes important to do so with localized dead-time zoning):
240  clctPretriggerTriggerZone = cms.uint32(5),
241 
242  # whether to store the "corrected" CLCT stub time
243  # (currently it is median time of all hits in a pattern) into the CSCCLCTDigi bx,
244  # and temporary store the regular "key layer hit" time into the CSCCLCTDigi fullBX:
245  clctUseCorrectedBx = cms.bool(True)
246  ),
247 
248  tmbParam = cms.PSet(
249  mpcBlockMe1a = cms.uint32(0),
250  alctTrigEnable = cms.uint32(0),
251  clctTrigEnable = cms.uint32(0),
252  matchTrigEnable = cms.uint32(1),
253  # reduce ALCT-CLCT matching window size from 7 to 3
254  matchTrigWindowSize = cms.uint32(3),
255  tmbL1aWindowSize = cms.uint32(7),
256  # Debug
257  verbosity = cms.int32(0),
258 
259  # Configure early_tbins instead of hardcoding it
260  tmbEarlyTbins = cms.int32(4),
261 
262  # Flag for whether to readout only the earliest max two LCTs in a
263  # L1A readout window, as there is only room just for two in the TMB header.
264  # If false, all LCTs would be readout in L1A window.
265  tmbReadoutEarliest2 = cms.bool(True),
266 
267  # For CLCT-centric matching, whether to drop ALCTs that were matched
268  # to CLCTs in this BX, and not use them in the following BX
269  # (default non-upgrade TMB behavior).
270  tmbDropUsedAlcts = cms.bool(True)
271  ),
272 
273  # to be used by ME11 chambers with upgraded TMB and ALCT
274  tmbSLHC = cms.PSet(
275  mpcBlockMe1a = cms.uint32(0),
276  alctTrigEnable = cms.uint32(0),
277  clctTrigEnable = cms.uint32(0),
278  matchTrigEnable = cms.uint32(1),
279  # reduce ALCT-CLCT matching window size from 7 to 3
280  matchTrigWindowSize = cms.uint32(3),
281  tmbL1aWindowSize = cms.uint32(7),
282  # Debug
283  verbosity = cms.int32(0),
284 
285  # Configure early_tbins instead of hardcoding it
286  tmbEarlyTbins = cms.int32(4),
287 
288  # Flag for whether to readout only the earliest max two LCTs in a
289  # L1A readout window, as there is only room just for two in the TMB header.
290  # If false, all LCTs would be readout in L1A window.
291  tmbReadoutEarliest2 = cms.bool(False),
292 
293  # For CLCT-centric matching, whether to drop ALCTs that were matched
294  # to CLCTs in this BX, and not use them in the following BX
295  # (default non-upgrade TMB behavior).
296  tmbDropUsedAlcts = cms.bool(False),
297 
298  # Switch to enable
299  # True = CLCT-centric matching (default non-upgrade behavior,
300  # take CLCTs in BX look for matching ALCTs in window)
301  # False = ALCT-centric matching (recommended for SLHC,
302  # take ALCTs in BX look for matching CLCTs in window)
303  clctToAlct = cms.bool(False),
304 
305  # For ALCT-centric matching, whether to drop CLCTs that were matched
306  # to ALCTs in this BX, and not use them in the following BX
307  tmbDropUsedClcts = cms.bool(False),
308 
309  # For CLCT-centric matching in ME11, break after finding
310  # the first BX with matching ALCT
311  matchEarliestAlctME11Only = cms.bool(False),
312 
313  # For ALCT-centric matching in ME11, break after finding
314  # the first BX with matching CLCT
315  matchEarliestClctME11Only = cms.bool(False),
316 
317  # 0 = default "non-X-BX" sorting algorithm,
318  # where the first BX with match goes first
319  # 1 = simple X-BX sorting algorithm,
320  # where the central match BX goes first,
321  # then the closest early, the slocest late, etc.
322  tmbCrossBxAlgorithm = cms.uint32(1),
323 
324  # How many maximum LCTs per whole chamber per BX to keep
325  # (supposedly, 1b and 1a can have max 2 each)
326  maxME11LCTs = cms.uint32(2)
327  ),
328 
329  # MPC sorter config for SLHC studies
330  mpcSLHC = cms.PSet(
331  mpcMaxStubs = cms.uint32(3)
332  )
333 )