Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:19:35

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 tmbPhase1 = cms.PSet(
0004     # block the ME1/a LCTs
0005     mpcBlockMe1a    = cms.uint32(0),
0006     # allow ALCT-only LCTs
0007     alctTrigEnable  = cms.uint32(0),
0008     # allow CLCT-only LCTs
0009     clctTrigEnable  = cms.uint32(0),
0010     # allow ALCT-CLCT correlated LCTs (default)
0011     matchTrigEnable = cms.uint32(1),
0012     # matching window for the trigger
0013     matchTrigWindowSize = cms.uint32(7),
0014     # array with the preferred delta BX values for the candidate CLCTs
0015     # perfectly in-time CLCTs are preferred, followed by
0016     # first-early, first-late, second-early, second late, etc.
0017     preferredBxMatch = cms.vint32(0, -1, 1, -2, 2, -3, 3),
0018     #use CLCT sorted by Bx only for ALCT-CLCTmatch
0019     sortClctBx = cms.bool(True),
0020     # readout window for the DAQ
0021     # LCTs found in the window [5, 6, 7, 8, 9, 10, 11] are good
0022     tmbL1aWindowSize = cms.uint32(7),
0023     # Debug
0024     verbosity = cms.int32(0),
0025     # Configure early_tbins instead of hardcoding it
0026     tmbEarlyTbins = cms.int32(4),
0027     # Flag for whether to readout only the earliest max two LCTs in a
0028     # L1A readout window, as there is only room just for two in the TMB header.
0029     # If false, all LCTs would be readout in L1A window.
0030     # originally, this planned to change this for Phase-2, but no longer
0031     # as of June 2021
0032     tmbReadoutEarliest2 = cms.bool(True),
0033     # For ALCT-centric matching in ME11, break after finding
0034     # the first BX with matching CLCT. Should always be set to True
0035     # when using the preferred BX windows
0036     matchEarliestClctOnly = cms.bool(True),
0037     # For ALCT-centric matching, whether to drop CLCTs that were matched
0038     # to ALCTs in this BX, and not use them in the following BX
0039     tmbDropUsedClcts = cms.bool(False),
0040     # True: allow construction of unphysical LCTs
0041     # in ME11 for which WG and HS do not intersect.
0042     # False: do not build such unphysical LCTs
0043     # It is recommended to keep this False, so that
0044     # the EMTF receives all information, physical or not
0045     ignoreAlctCrossClct = cms.bool(True),
0046     # bits for high-multiplicity triggers
0047     useHighMultiplicityBits = cms.bool(False),
0048 )
0049 
0050 # to be used by ME11 chambers with upgraded TMB and ALCT
0051 tmbPhase2 = tmbPhase1.clone(
0052     # ALCT-CLCT stays at 7 for the moment
0053     matchTrigWindowSize = 7,
0054     #use CLCT sorted by Bx only for ALCT-CLCTmatch for now
0055     sortClctBx = True,
0056     # LCTs found in the window [5, 6, 7, 8, 9, 10, 11] are good
0057     tmbL1aWindowSize = 7,
0058     tmbDropUsedClcts = False,
0059 )
0060 
0061 tmbPhase2GEM = tmbPhase2.clone(
0062     # matching to GEM clusters in time
0063     windowBXALCTGEM = cms.uint32(3),
0064     windowBXCLCTGEM = cms.uint32(7),
0065     # Set to True for matching CLCT and GEM clusters by "propagating"
0066     # CLCT slope to GEM. Otherwise, just matching keystrip positions
0067     matchCLCTpropagation = cms.bool(True),
0068     # efficiency recovery switches
0069     dropLowQualityALCTs = cms.bool(True),
0070     dropLowQualityCLCTs = cms.bool(True),
0071     buildLCTfromALCTandGEM = cms.bool(True),
0072     buildLCTfromCLCTandGEM = cms.bool(False),
0073     # assign GEM-CSC bending angle. Works only for
0074     # Run-3 GEM-CSC TPs.
0075     assignGEMCSCBending = cms.bool(True),
0076     # When running the GEM-CSC matching, whether to mitigate
0077     # the slope of CLCTs with high, meaning inconsistent,
0078     # values of cosi (consistency of slope indicator)
0079     # to optimize GEM-CSC slope correction
0080     mitigateSlopeByCosi = cms.bool(False),
0081     # Preferred order of bunchcrossing difference between CSC minus GEM BX for matching
0082     BunchCrossingCSCminGEMwindow = cms.vint32(0, -1, 1, -2, 2, -3, 3)
0083 )
0084 
0085 # to be used by ME11 chambers with GEM-CSC ILT
0086 tmbPhase2GE11 = tmbPhase2GEM.clone(
0087     # match ME1a with GEM (it affects CLCT-GEM match)
0088     enableMatchGEMandME1a = cms.bool(True),
0089     # match ME1b with GEM (it affects CLCT-GEM match)
0090     enableMatchGEMandME1b = cms.bool(True),
0091     # matching windows for ALCT-GEM clusters in wiregroups
0092     maxDeltaWG = cms.uint32(7),
0093     # matching windows for CLCT-GEM clusters in half strip units
0094     maxDeltaHsEven = cms.uint32(5),
0095     maxDeltaHsOdd = cms.uint32(10),
0096     # efficiency recovery switches
0097     dropLowQualityCLCTs_ME1a = cms.bool(True),
0098     # delay applied in OTMB to GEM trigger primitives
0099     delayGEMinOTMB = cms.uint32(0)
0100 )
0101 
0102 # to be used by ME21 chambers with GEM-CSC ILT
0103 tmbPhase2GE21 = tmbPhase2GEM.clone(
0104     # match ME1a with GEM (it affects CLCT-GEM match)
0105     enableMatchGEMandME1a = cms.bool(True),
0106     # match ME1b with GEM (it affects CLCT-GEM match)
0107     enableMatchGEMandME1b = cms.bool(True),
0108     # matching windows for ALCT-GEM clusters in wiregroups
0109     maxDeltaWG = cms.uint32(7),
0110     # matching windows for CLCT-GEM clusters in half strip units
0111     maxDeltaHsEven = cms.uint32(5),
0112     maxDeltaHsOdd = cms.uint32(10),
0113     # efficiency recovery switches
0114     dropLowQualityCLCTs_ME1a = cms.bool(True),
0115     # delay applied in OTMB to GEM trigger primitives
0116     delayGEMinOTMB = cms.uint32(0)
0117 )
0118 
0119 tmbPSets = cms.PSet(
0120     tmbPhase1 = tmbPhase1.clone(),
0121     tmbPhase2 = tmbPhase2.clone(),
0122     tmbPhase2GE11 = tmbPhase2GE11.clone(),
0123     tmbPhase2GE21 = tmbPhase2GE21.clone()
0124 )