CMS 3D CMS Logo

cscTriggerPrimitiveDigis_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
4 # Default parameters for CSCTriggerPrimitives generator
5 # =====================================================
6 cscTriggerPrimitiveDigis = cms.EDProducer("CSCTriggerPrimitivesProducer",
7  CSCCommonTrigger,
8 
9  # if False, parameters will be read in from DB using EventSetup mechanism
10  # else will use parameters from this config
11  debugParameters = cms.bool(False),
12 
13  # Name of digi producer module(s)
14  CSCComparatorDigiProducer = cms.InputTag("simMuonCSCDigis","MuonCSCComparatorDigi"),
15  CSCWireDigiProducer = cms.InputTag("simMuonCSCDigis","MuonCSCWireDigi"),
16 
17  # If True, output collections will only be built for good chambers
18  checkBadChambers = cms.bool(True),
19 
20  # Parameters common for all boards
21  commonParam = cms.PSet(
22  isTMB07 = cms.bool(True),
23  isMTCC = cms.bool(False),
24 
25  # Flag for SLHC studies (upgraded ME11, MPC)
26  # (if true, isTMB07 should be true as well)
27  isSLHC = cms.bool(False),
28 
29  # ME1a configuration:
30  # smartME1aME1b=f, gangedME1a=t
31  # default logic for current HW
32  # smartME1aME1b=t, gangedME1a=f
33  # realistic upgrade scenario:
34  # one ALCT finder and two CLCT finders per ME11
35  # with additional logic for A/CLCT matching with ME1a unganged
36  # smartME1aME1b=t, gangedME1a=t
37  # the previous case with ME1a still being ganged
38  # Note: gangedME1a has effect only if smartME1aME1b=t
39  smartME1aME1b = cms.bool(False),
40  gangedME1a = cms.bool(True),
41 
42  # flags to optionally disable finding stubs in ME42 or ME1a
43  disableME1a = cms.bool(False),
44  disableME42 = cms.bool(False),
45  ),
46 
47  # Parameters for ALCT processors: old MC studies
48  alctParamOldMC = cms.PSet(
49  alctFifoTbins = cms.uint32(16),
50  alctFifoPretrig = cms.uint32(10),
51  alctDriftDelay = cms.uint32(3),
52  alctNplanesHitPretrig = cms.uint32(2),
53  alctNplanesHitPattern = cms.uint32(4),
54  alctNplanesHitAccelPretrig = cms.uint32(2),
55  alctNplanesHitAccelPattern = cms.uint32(4),
56  alctTrigMode = cms.uint32(3),
57  alctAccelMode = cms.uint32(1),
58  alctL1aWindowWidth = cms.uint32(5),
59  verbosity = cms.int32(0)
60  ),
61 
62  # Parameters for ALCT processors: MTCC-II
63  alctParamMTCC = cms.PSet(
64  alctFifoTbins = cms.uint32(16),
65  alctFifoPretrig = cms.uint32(10),
66  alctDriftDelay = cms.uint32(3),
67  alctNplanesHitPretrig = cms.uint32(2),
68  alctNplanesHitPattern = cms.uint32(4),
69  alctNplanesHitAccelPretrig = cms.uint32(2),
70  alctNplanesHitAccelPattern = cms.uint32(4),
71  alctTrigMode = cms.uint32(2),
72  alctAccelMode = cms.uint32(0),
73  alctL1aWindowWidth = cms.uint32(3),
74  verbosity = cms.int32(0)
75  ),
76 
77  # Parameters for ALCT processors: 2007 and later
78  alctParam07 = cms.PSet(
79  alctFifoTbins = cms.uint32(16),
80  alctFifoPretrig = cms.uint32(10),
81  alctDriftDelay = cms.uint32(2),
82  alctNplanesHitPretrig = cms.uint32(3),
83  alctNplanesHitPattern = cms.uint32(4),
84  alctNplanesHitAccelPretrig = cms.uint32(3),
85  alctNplanesHitAccelPattern = cms.uint32(4),
86  alctTrigMode = cms.uint32(2),
87  alctAccelMode = cms.uint32(0),
88  alctL1aWindowWidth = cms.uint32(7),
89  verbosity = cms.int32(0),
90 
91  # Configure early_tbins instead of hardcoding it
92  alctEarlyTbins = cms.int32(4),
93 
94  # Use narrow pattern mask for ring 1 chambers
95  alctNarrowMaskForR1 = cms.bool(False),
96 
97  # configured, not hardcoded, hit persistency
98  alctHitPersist = cms.uint32(6),
99 
100  # configure, not hardcode, up to how many BXs in the past
101  # ghost cancellation in neighboring WGs may happen
102  alctGhostCancellationBxDepth = cms.int32(4),
103 
104  # whether to compare the quality of stubs in neighboring WGs in the past
105  # to the quality of a stub in current WG
106  # when doing ghost cancellation
107  alctGhostCancellationSideQuality = cms.bool(False),
108 
109  # how soon after pretrigger and alctDriftDelay can next pretrigger happen?
110  alctPretrigDeadtime = cms.uint32(4),
111 
112  # SLHC only for ME11:
113  # whether to store the "corrected" ALCT stub time
114  # (currently it is median time of particular hits in a pattern) into the ASCCLCTDigi bx,
115  # and temporary store the regular "key layer hit" time into the CSCCLCTDigi fullBX:
116  alctUseCorrectedBx = cms.bool(False)
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  clctPidThreshPretrig = cms.uint32(2),
198  clctMinSeparation = cms.uint32(10),
199  # Debug
200  verbosity = cms.int32(0),
201 
202  # BX to start CLCT finding (poor man's dead-time shortening):
203  clctStartBxShift = cms.int32(0)
204  ),
205 
206  # Parameters for CLCT processors: SLHC studies
207  clctSLHC = cms.PSet(
208  clctFifoTbins = cms.uint32(12),
209  clctFifoPretrig = cms.uint32(7),
210  clctHitPersist = cms.uint32(4),
211  clctDriftDelay = cms.uint32(2),
212  clctNplanesHitPretrig = cms.uint32(3),
213  clctNplanesHitPattern = cms.uint32(4),
214  # increase pattern ID threshold from 2 to 4 to trigger higher pt tracks
215  clctPidThreshPretrig = cms.uint32(4),
216  # decrease possible minimal #HS distance between two CLCTs in a BX from 10 to 5:
217  clctMinSeparation = cms.uint32(5),
218  # Debug
219  verbosity = cms.int32(0),
220 
221  # BX to start CLCT finding (poor man's to shorten the dead-time):
222  clctStartBxShift = cms.int32(0),
223 
224  # Turns on algorithms of localized dead-time zones:
225  useDeadTimeZoning = cms.bool(True),
226 
227  # Width (in #HS) of a fixed dead zone around a key HS:
228  clctStateMachineZone = cms.uint32(8),
229 
230  # Enables the algo which instead of using the fixed dead zone width,
231  # varies it depending on the width of a triggered CLCT pattern
232  # (if True, the clctStateMachineZone is ignored):
233  useDynamicStateMachineZone = cms.bool(True),
234 
235  # Pretrigger HS +- clctPretriggerTriggerZone sets the trigger matching zone
236  # which defines how far from pretrigger HS the TMB may look for a trigger HS
237  # (it becomes important to do so with localized dead-time zoning):
238  clctPretriggerTriggerZone = cms.uint32(5),
239 
240  # whether to store the "corrected" CLCT stub time
241  # (currently it is median time of all hits in a pattern) into the CSCCLCTDigi bx,
242  # and temporary store the regular "key layer hit" time into the CSCCLCTDigi fullBX:
243  clctUseCorrectedBx = cms.bool(True)
244  ),
245 
246  tmbParam = cms.PSet(
247  mpcBlockMe1a = cms.uint32(0),
248  alctTrigEnable = cms.uint32(0),
249  clctTrigEnable = cms.uint32(0),
250  matchTrigEnable = cms.uint32(1),
251  matchTrigWindowSize = cms.uint32(7),
252  tmbL1aWindowSize = cms.uint32(7),
253  # Debug
254  verbosity = cms.int32(0),
255 
256  # Configure early_tbins instead of hardcoding it
257  tmbEarlyTbins = cms.int32(4),
258 
259  # Flag for whether to readout only the earliest max two LCTs in a
260  # L1A readout window, as there is only room just for two in the TMB header.
261  # If false, all LCTs would be readout in L1A window.
262  tmbReadoutEarliest2 = cms.bool(True),
263 
264  # For CLCT-centric matching, whether to drop ALCTs that were matched
265  # to CLCTs in this BX, and not use them in the following BX
266  # (default non-upgrade TMB behavior).
267  tmbDropUsedAlcts = cms.bool(True)
268  ),
269 
270  # to be used by ME11 chambers with upgraded TMB and ALCT
271  tmbSLHC = cms.PSet(
272  mpcBlockMe1a = cms.uint32(0),
273  alctTrigEnable = cms.uint32(0),
274  clctTrigEnable = cms.uint32(0),
275  matchTrigEnable = cms.uint32(1),
276  # reduce ALCT-CLCT matching window size from 7 to 3
277  matchTrigWindowSize = cms.uint32(3),
278  tmbL1aWindowSize = cms.uint32(7),
279  # Debug
280  verbosity = cms.int32(0),
281 
282  # Configure early_tbins instead of hardcoding it
283  tmbEarlyTbins = cms.int32(4),
284 
285  # Flag for whether to readout only the earliest max two LCTs in a
286  # L1A readout window, as there is only room just for two in the TMB header.
287  # If false, all LCTs would be readout in L1A window.
288  tmbReadoutEarliest2 = cms.bool(False),
289 
290  # For CLCT-centric matching, whether to drop ALCTs that were matched
291  # to CLCTs in this BX, and not use them in the following BX
292  # (default non-upgrade TMB behavior).
293  tmbDropUsedAlcts = cms.bool(False),
294 
295  # Switch to enable
296  # True = CLCT-centric matching (default non-upgrade behavior,
297  # take CLCTs in BX look for matching ALCTs in window)
298  # False = ALCT-centric matching (recommended for SLHC,
299  # take ALCTs in BX look for matching CLCTs in window)
300  clctToAlct = cms.bool(False),
301 
302  # For ALCT-centric matching, whether to drop CLCTs that were matched
303  # to ALCTs in this BX, and not use them in the following BX
304  tmbDropUsedClcts = cms.bool(False),
305 
306  # For CLCT-centric matching in ME11, break after finding
307  # the first BX with matching ALCT
308  matchEarliestAlctME11Only = cms.bool(False),
309 
310  # For ALCT-centric matching in ME11, break after finding
311  # the first BX with matching CLCT
312  matchEarliestClctME11Only = cms.bool(False),
313 
314  # 0 = default "non-X-BX" sorting algorithm,
315  # where the first BX with match goes first
316  # 1 = simple X-BX sorting algorithm,
317  # where the central match BX goes first,
318  # then the closest early, the slocest late, etc.
319  tmbCrossBxAlgorithm = cms.uint32(1),
320 
321  # How many maximum LCTs per whole chamber per BX to keep
322  # (supposedly, 1b and 1a can have max 2 each)
323  maxME11LCTs = cms.uint32(2)
324  ),
325 
326  # MPC sorter config for Run2
327  mpcRun2 = cms.PSet(
328  sortStubs = cms.bool(False),
329  dropInvalidStubs = cms.bool(False),
330  dropLowQualityStubs = cms.bool(False),
331  ),
332 
333  # MPC sorter config for SLHC studies
334  mpcSLHC = cms.PSet(
335  mpcMaxStubs = cms.uint32(18),
336  sortStubs = cms.bool(False),
337  dropInvalidStubs = cms.bool(False),
338  dropLowQualityStubs = cms.bool(False),
339  )
340 )
341 
342 # Upgrade era customizations involving GEMs and RPCs
343 # ==================================================
344 copadParam = cms.PSet(
345  verbosity = cms.uint32(0),
346  maxDeltaPadGE11 = cms.uint32(1),
347  maxDeltaPadGE21 = cms.uint32(2),
348  maxDeltaBX = cms.uint32(1)
349  )
350 
351 # to be used by ME11 chambers with GEM-CSC ILT
352 me11tmbSLHCGEM = cms.PSet(
353  mpcBlockMe1a = cms.uint32(0),
354  alctTrigEnable = cms.uint32(0),
355  clctTrigEnable = cms.uint32(0),
356  matchTrigEnable = cms.uint32(1),
357  matchTrigWindowSize = cms.uint32(3),
358  tmbL1aWindowSize = cms.uint32(7),
359  verbosity = cms.int32(0),
360  tmbEarlyTbins = cms.int32(4),
361  tmbReadoutEarliest2 = cms.bool(False),
362  tmbDropUsedAlcts = cms.bool(False),
363  clctToAlct = cms.bool(False),
364  tmbDropUsedClcts = cms.bool(False),
365  matchEarliestAlctME11Only = cms.bool(False),
366  matchEarliestClctME11Only = cms.bool(False),
367  tmbCrossBxAlgorithm = cms.uint32(2),
368  maxME11LCTs = cms.uint32(2),
369 
370  ## run in debug mode
371  debugLUTs = cms.bool(False),
372  debugMatching = cms.bool(False),
373  debugGEMDphi = cms.bool(False),
374 
375  ## use old dataformat
376  useOldLCTDataFormat = cms.bool(True),
377 
378  ## matching to pads in case LowQ CLCT
379  maxDeltaBXPadEven = cms.int32(1),
380  maxDeltaBXPadOdd = cms.int32(1),
381  maxDeltaPadPadEven = cms.int32(2),
382  maxDeltaPadPadOdd = cms.int32(3),
383 
384  ## matching to pads in case absent CLCT
385  maxDeltaBXCoPadEven = cms.int32(0),
386  maxDeltaBXCoPadOdd = cms.int32(0),
387  maxDeltaPadCoPadEven = cms.int32(2),
388  maxDeltaPadCoPadOdd = cms.int32(3),
389 
390  ## efficiency recovery switches
391  dropLowQualityCLCTsNoGEMs_ME1a = cms.bool(False),
392  dropLowQualityCLCTsNoGEMs_ME1b = cms.bool(True),
393  dropLowQualityALCTsNoGEMs_ME1a = cms.bool(False),
394  dropLowQualityALCTsNoGEMs_ME1b = cms.bool(False),
395  buildLCTfromALCTandGEM_ME1a = cms.bool(True),
396  buildLCTfromALCTandGEM_ME1b = cms.bool(True),
397  buildLCTfromCLCTandGEM_ME1a = cms.bool(False),
398  buildLCTfromCLCTandGEM_ME1b = cms.bool(False),
399  doLCTGhostBustingWithGEMs = cms.bool(False),
400  correctLCTtimingWithGEM = cms.bool(False),
401  promoteALCTGEMpattern = cms.bool(True),
402  promoteALCTGEMquality = cms.bool(True),
403  promoteCLCTGEMquality_ME1a = cms.bool(True),
404  promoteCLCTGEMquality_ME1b = cms.bool(True),
405 
406  ## cross BX algorithm
407  firstTwoLCTsInChamber = cms.bool(True),
408 )
409 
410 # to be used by ME21 chambers with GEM-CSC ILT
411 me21tmbSLHCGEM = cms.PSet(
412  mpcBlockMe1a = cms.uint32(0),
413  alctTrigEnable = cms.uint32(0),
414  clctTrigEnable = cms.uint32(0),
415  matchTrigEnable = cms.uint32(1),
416  matchTrigWindowSize = cms.uint32(3),
417  tmbL1aWindowSize = cms.uint32(7),
418  verbosity = cms.int32(0),
419  tmbEarlyTbins = cms.int32(4),
420  tmbReadoutEarliest2 = cms.bool(False),
421  tmbDropUsedAlcts = cms.bool(False),
422  clctToAlct = cms.bool(False),
423  tmbDropUsedClcts = cms.bool(False),
424  matchEarliestAlctME21Only = cms.bool(False),
425  matchEarliestClctME21Only = cms.bool(False),
426  tmbCrossBxAlgorithm = cms.uint32(2),
427  maxME21LCTs = cms.uint32(2),
428 
429  ## run in debug mode
430  debugLUTs = cms.bool(False),
431  debugMatching = cms.bool(False),
432  debugGEMDphi = cms.bool(False),
433 
434  ## use old dataformat
435  useOldLCTDataFormat = cms.bool(True),
436 
437  ## matching to pads in case LowQ CLCT
438  maxDeltaBXPad = cms.int32(1),
439  maxDeltaPadPadOdd = cms.int32(4),
440  maxDeltaPadPadEven = cms.int32(3),
441  maxDeltaWg = cms.int32(2),
442 
443  ## matching to pads in case absent CLCT
444  maxDeltaBXCoPad = cms.int32(1),
445  maxDeltaPadCoPad = cms.int32(2),
446 
447  ## efficiency recovery switches
448  dropLowQualityALCTsNoGEMs = cms.bool(False),
449  dropLowQualityCLCTsNoGEMs = cms.bool(True),
450  buildLCTfromALCTandGEM = cms.bool(True),
451  buildLCTfromCLCTandGEM = cms.bool(False),
452  doLCTGhostBustingWithGEMs = cms.bool(False),
453  correctLCTtimingWithGEM = cms.bool(False),
454  promoteALCTGEMpattern = cms.bool(True),
455  promoteALCTGEMquality = cms.bool(True),
456  promoteCLCTGEMquality = cms.bool(True),
457 
458  firstTwoLCTsInChamber = cms.bool(True),
459 )
460 
461 # to be used by ME31-ME41 chambers with RPC-CSC ILT
462 me3141tmbSLHCRPC = cms.PSet(
463  mpcBlockMe1a = cms.uint32(0),
464  alctTrigEnable = cms.uint32(0),
465  clctTrigEnable = cms.uint32(0),
466  matchTrigEnable = cms.uint32(1),
467  matchTrigWindowSize = cms.uint32(3),
468  tmbL1aWindowSize = cms.uint32(7),
469  verbosity = cms.int32(0),
470  tmbEarlyTbins = cms.int32(4),
471  tmbReadoutEarliest2 = cms.bool(False),
472  tmbDropUsedAlcts = cms.bool(False),
473  clctToAlct = cms.bool(False),
474  tmbDropUsedClcts = cms.bool(False),
475  matchEarliestClctME3141Only = cms.bool(False),
476  tmbCrossBxAlgorithm = cms.uint32(2),
477  maxME3141LCTs = cms.uint32(2),
478 
479  ## run in debug mode
480  debugLUTs = cms.bool(False),
481  debugMatching = cms.bool(False),
482 
483  ## use old dataformat
484  useOldLCTDataFormat = cms.bool(True),
485 
486  ## matching to digis in case LowQ CLCT
487  maxDeltaBXRPC = cms.int32(0),
488  maxDeltaStripRPCOdd = cms.int32(6),
489  maxDeltaStripRPCEven = cms.int32(4),
490  maxDeltaWg = cms.int32(2),
491 
492  ## efficiency recovery switches
493  dropLowQualityCLCTsNoRPCs = cms.bool(True),
494  buildLCTfromALCTandRPC = cms.bool(True),
495  buildLCTfromCLCTandRPC = cms.bool(False),
496  buildLCTfromLowQstubandRPC = cms.bool(True),
497  promoteCLCTRPCquality = cms.bool(True),
498  promoteALCTRPCpattern = cms.bool(True),
499  promoteALCTRPCquality = cms.bool(True),
500 )
501 
502 ## unganging in ME1/a
503 from Configuration.Eras.Modifier_run2_common_cff import run2_common
504 run2_common.toModify( cscTriggerPrimitiveDigis,
505  debugParameters = True,
506  checkBadChambers = False,
507  commonParam = dict(gangedME1a = False)
508  )
509 
510 ## GEM-CSC ILT in ME1/1
511 from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
512 run3_GEM.toModify( cscTriggerPrimitiveDigis,
513  GEMPadDigiProducer = cms.InputTag("simMuonGEMPadDigis"),
514  commonParam = dict(isSLHC = cms.bool(True),
515  smartME1aME1b = cms.bool(True),
516  runME11ILT = cms.bool(True)),
517  clctSLHC = dict(clctNplanesHitPattern = 3),
518  me11tmbSLHCGEM = me11tmbSLHCGEM,
519  copadParam = copadParam
520  )
521 
522 ## GEM-CSC ILT in ME2/1, CSC-RPC ILT in ME3/1 and ME4/1
523 from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
524 phase2_muon.toModify( cscTriggerPrimitiveDigis,
525  RPCDigiProducer = cms.InputTag("simMuonRPCDigis"),
526  commonParam = dict(runME21ILT = cms.bool(True),
527  runME3141ILT = cms.bool(False)),
528  alctSLHCME21 = cscTriggerPrimitiveDigis.alctSLHC.clone(alctNplanesHitPattern = 3),
529  clctSLHCME21 = cscTriggerPrimitiveDigis.clctSLHC.clone(clctNplanesHitPattern = 3),
530  alctSLHCME3141 = cscTriggerPrimitiveDigis.alctSLHC.clone(alctNplanesHitPattern = 3),
531  clctSLHCME3141 = cscTriggerPrimitiveDigis.clctSLHC.clone(clctNplanesHitPattern = 3),
532  me21tmbSLHCGEM = me21tmbSLHCGEM,
533  me3141tmbSLHCRPC = me3141tmbSLHCRPC,
534  copadParam = copadParam
535 )