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(2),
347  maxDeltaPadGE21 = cms.uint32(2),
348  maxDeltaRollGE11 = cms.uint32(1),
349  maxDeltaRollGE21 = cms.uint32(1),
350  maxDeltaBX = cms.uint32(1)
351  )
352 
353 # to be used by ME11 chambers with GEM-CSC ILT
354 me11tmbSLHCGEM = cms.PSet(
355  mpcBlockMe1a = cms.uint32(0),
356  alctTrigEnable = cms.uint32(0),
357  clctTrigEnable = cms.uint32(0),
358  matchTrigEnable = cms.uint32(1),
359  matchTrigWindowSize = cms.uint32(3),
360  tmbL1aWindowSize = cms.uint32(7),
361  verbosity = cms.int32(0),
362  tmbEarlyTbins = cms.int32(4),
363  tmbReadoutEarliest2 = cms.bool(False),
364  tmbDropUsedAlcts = cms.bool(False),
365  clctToAlct = cms.bool(False),
366  tmbDropUsedClcts = cms.bool(False),
367  matchEarliestAlctME11Only = cms.bool(False),
368  matchEarliestClctME11Only = cms.bool(False),
369  tmbCrossBxAlgorithm = cms.uint32(2),
370  maxME11LCTs = cms.uint32(2),
371 
372  ## run in debug mode
373  debugLUTs = cms.bool(False),
374  debugMatching = cms.bool(False),
375 
376  ## use old dataformat
377  useOldLCTDataFormat = cms.bool(True),
378 
379  ## matching to pads in case LowQ CLCT
380  maxDeltaBXPadEven = cms.int32(1),
381  maxDeltaBXPadOdd = cms.int32(1),
382  maxDeltaPadPadEven = cms.int32(12),
383  maxDeltaPadPadOdd = cms.int32(24),
384 
385  ## matching to pads in case absent CLCT
386  maxDeltaBXCoPadEven = cms.int32(1),
387  maxDeltaBXCoPadOdd = cms.int32(1),
388  maxDeltaPadCoPadEven = cms.int32(12),
389  maxDeltaPadCoPadOdd = cms.int32(24),
390 
391  ## efficiency recovery switches
392  dropLowQualityCLCTsNoGEMs_ME1a = cms.bool(False),
393  dropLowQualityCLCTsNoGEMs_ME1b = cms.bool(True),
394  dropLowQualityALCTsNoGEMs_ME1a = cms.bool(False),
395  dropLowQualityALCTsNoGEMs_ME1b = cms.bool(False),
396  buildLCTfromALCTandGEM_ME1a = cms.bool(True),
397  buildLCTfromALCTandGEM_ME1b = cms.bool(True),
398  buildLCTfromCLCTandGEM_ME1a = cms.bool(False),
399  buildLCTfromCLCTandGEM_ME1b = cms.bool(False),
400  doLCTGhostBustingWithGEMs = cms.bool(False),
401  correctLCTtimingWithGEM = cms.bool(False),
402  promoteALCTGEMpattern = cms.bool(True),
403  promoteALCTGEMquality = cms.bool(True),
404  promoteCLCTGEMquality_ME1a = cms.bool(True),
405  promoteCLCTGEMquality_ME1b = cms.bool(True),
406 )
407 
408 # to be used by ME21 chambers with GEM-CSC ILT
409 me21tmbSLHCGEM = cms.PSet(
410  mpcBlockMe1a = cms.uint32(0),
411  alctTrigEnable = cms.uint32(0),
412  clctTrigEnable = cms.uint32(0),
413  matchTrigEnable = cms.uint32(1),
414  matchTrigWindowSize = cms.uint32(3),
415  tmbL1aWindowSize = cms.uint32(7),
416  verbosity = cms.int32(0),
417  tmbEarlyTbins = cms.int32(4),
418  tmbReadoutEarliest2 = cms.bool(False),
419  tmbDropUsedAlcts = cms.bool(False),
420  clctToAlct = cms.bool(False),
421  tmbDropUsedClcts = cms.bool(False),
422  matchEarliestAlctME21Only = cms.bool(False),
423  matchEarliestClctME21Only = cms.bool(False),
424  tmbCrossBxAlgorithm = cms.uint32(2),
425  maxME21LCTs = cms.uint32(2),
426 
427  ## run in debug mode
428  debugLUTs = cms.bool(False),
429  debugMatching = cms.bool(False),
430 
431  ## use old dataformat
432  useOldLCTDataFormat = cms.bool(True),
433 
434  ## matching to pads in case LowQ CLCT
435  maxDeltaBXPad = cms.int32(1),
436  maxDeltaPadPadEven = cms.int32(6),
437  maxDeltaPadPadOdd = cms.int32(12),
438 
439  ## matching to pads in case absent CLCT
440  maxDeltaBXCoPad = cms.int32(1),
441  maxDeltaPadCoPadEven = cms.int32(6),
442  maxDeltaPadCoPadOdd = cms.int32(12),
443 
444  ## efficiency recovery switches
445  dropLowQualityALCTsNoGEMs = cms.bool(False),
446  dropLowQualityCLCTsNoGEMs = cms.bool(True),
447  buildLCTfromALCTandGEM = cms.bool(True),
448  buildLCTfromCLCTandGEM = cms.bool(False),
449  doLCTGhostBustingWithGEMs = cms.bool(False),
450  correctLCTtimingWithGEM = cms.bool(False),
451  promoteALCTGEMpattern = cms.bool(True),
452  promoteALCTGEMquality = cms.bool(True),
453  promoteCLCTGEMquality = cms.bool(True),
454 )
455 
456 # to be used by ME31-ME41 chambers with RPC-CSC ILT
457 me3141tmbSLHCRPC = cms.PSet(
458  mpcBlockMe1a = cms.uint32(0),
459  alctTrigEnable = cms.uint32(0),
460  clctTrigEnable = cms.uint32(0),
461  matchTrigEnable = cms.uint32(1),
462  matchTrigWindowSize = cms.uint32(3),
463  tmbL1aWindowSize = cms.uint32(7),
464  verbosity = cms.int32(0),
465  tmbEarlyTbins = cms.int32(4),
466  tmbReadoutEarliest2 = cms.bool(False),
467  tmbDropUsedAlcts = cms.bool(False),
468  clctToAlct = cms.bool(False),
469  tmbDropUsedClcts = cms.bool(False),
470  matchEarliestClctME3141Only = cms.bool(False),
471  tmbCrossBxAlgorithm = cms.uint32(2),
472  maxME3141LCTs = cms.uint32(2),
473 
474  ## run in debug mode
475  debugLUTs = cms.bool(False),
476  debugMatching = cms.bool(False),
477 
478  ## use old dataformat
479  useOldLCTDataFormat = cms.bool(True),
480 
481  ## matching to digis in case LowQ CLCT
482  maxDeltaBXRPC = cms.int32(0),
483  maxDeltaStripRPCOdd = cms.int32(6),
484  maxDeltaStripRPCEven = cms.int32(4),
485  maxDeltaWg = cms.int32(2),
486 
487  ## efficiency recovery switches
488  dropLowQualityCLCTsNoRPCs = cms.bool(True),
489  buildLCTfromALCTandRPC = cms.bool(True),
490  buildLCTfromCLCTandRPC = cms.bool(False),
491  buildLCTfromLowQstubandRPC = cms.bool(True),
492  promoteCLCTRPCquality = cms.bool(True),
493  promoteALCTRPCpattern = cms.bool(True),
494  promoteALCTRPCquality = cms.bool(True),
495 )
496 
497 ## unganging in ME1/a
498 from Configuration.Eras.Modifier_run2_common_cff import run2_common
499 run2_common.toModify( cscTriggerPrimitiveDigis,
500  debugParameters = True,
501  checkBadChambers = False,
502  commonParam = dict(gangedME1a = False)
503  )
504 
505 ## GEM-CSC ILT in ME1/1
506 from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
507 run3_GEM.toModify( cscTriggerPrimitiveDigis,
508  GEMPadDigiProducer = cms.InputTag("simMuonGEMPadDigis"),
509  commonParam = dict(isSLHC = cms.bool(True),
510  smartME1aME1b = cms.bool(True),
511  runME11ILT = cms.bool(True)),
512  clctSLHC = dict(clctNplanesHitPattern = 3),
513  me11tmbSLHCGEM = me11tmbSLHCGEM,
514  copadParam = copadParam
515  )
516 
517 ## GEM-CSC ILT in ME2/1, CSC-RPC ILT in ME3/1 and ME4/1
518 from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
519 phase2_muon.toModify( cscTriggerPrimitiveDigis,
520  ## on rpc digis -> no integrated CSC-RCP stubs
521  RPCDigiProducer = cms.InputTag(""),
522  commonParam = dict(runME21ILT = cms.bool(True),
523  ## to use the upgraded ALCT, CLCT processor
524  runME3141ILT = cms.bool(True)),
525  alctSLHCME21 = cscTriggerPrimitiveDigis.alctSLHC.clone(alctNplanesHitPattern = 3),
526  clctSLHCME21 = cscTriggerPrimitiveDigis.clctSLHC.clone(clctNplanesHitPattern = 3),
527  ## use the upgrade processors!
528  alctSLHCME3141 = cscTriggerPrimitiveDigis.alctSLHC.clone(alctNplanesHitPattern = 4),
529  clctSLHCME3141 = cscTriggerPrimitiveDigis.clctSLHC.clone(clctNplanesHitPattern = 4),
530  me21tmbSLHCGEM = me21tmbSLHCGEM,
531  me3141tmbSLHCRPC = me3141tmbSLHCRPC,
532  copadParam = copadParam
533 )