![]() |
|
|||
File indexing completed on 2024-04-06 12:22:10
0001 import FWCore.ParameterSet.Config as cms 0002 0003 TrackTrigger_params = cms.PSet ( 0004 0005 fromDD4hep = cms.bool(False), 0006 0007 # Parameter to check if configured Tracker Geometry is supported 0008 # this refers to files included by Configuration/Geometry/python/GeometryExtended*_cff.py 0009 UnSupportedGeometry = cms.PSet ( 0010 XMLLabel = cms.string ("geomXMLFiles" ), # label of ESProducer/ESSource 0011 XMLPath = cms.string ("Geometry/TrackerCommonData/data/PhaseII/" ), # compared path 0012 XMLFile = cms.string ("tracker.xml" ), # compared filen ame 0013 XMLVersions = cms.vstring() # list of unsupported versions 0014 ), 0015 0016 # Parameter to check if Process History is consistent with process configuration 0017 ProcessHistory = cms.PSet ( 0018 GeometryConfiguration = cms.string( "XMLIdealGeometryESSource@" ), # label of compared GeometryConfiguration 0019 TTStubAlgorithm = cms.string( "TTStubAlgorithm_official_Phase2TrackerDigi_@" ) # label of compared TTStubAlgorithm 0020 ), 0021 0022 # Common track finding parameter 0023 TrackFinding = cms.PSet ( 0024 BeamWindowZ = cms.double( 15. ), # half lumi region size in cm 0025 MatchedLayers = cms.int32 ( 4 ), # required number of layers a found track has to have in common with a TP to consider it matched to it 0026 MatchedLayersPS = cms.int32 ( 0 ), # required number of ps layers a found track has to have in common with a TP to consider it matched to it 0027 UnMatchedStubs = cms.int32 ( 1 ), # allowed number of stubs a found track may have not in common with its matched TP 0028 UnMatchedStubsPS = cms.int32 ( 0 ), # allowed number of PS stubs a found track may have not in common with its matched TP 0029 Scattering = cms.double( 0.131283 ) # additional radial uncertainty in cm used to calculate stub phi residual uncertainty to take multiple scattering into account 0030 ), 0031 0032 # TMTT specific parameter 0033 TMTT = cms.PSet ( 0034 MinPt = cms.double( 3. ), # cut on stub in GeV, also defines region overlap shape 0035 MaxEta = cms.double( 2.4 ), # cut on stub eta 0036 ChosenRofPhi = cms.double( 67.24 ), # critical radius defining region overlap shape in cm 0037 NumLayers = cms.int32 ( 7 ), # number of detector layers a reconstructbale particle may cross, reduced to 7, 8th layer almost never corssed 0038 WidthR = cms.int32 ( 12 ), # number of bits used for stub r - ChosenRofPhi 0039 WidthPhi = cms.int32 ( 15 ), # number of bits used for stub phi w.r.t. phi region centre 0040 WidthZ = cms.int32 ( 14 ) # number of bits used for stub z 0041 ), 0042 0043 # Hybrid specific parameter 0044 Hybrid = cms.PSet ( 0045 MinPtStub = cms.double( 2.0 ), # cut on stub pt in GeV, also defines region overlap shape 0046 MinPtCand = cms.double( 1.34 ), # cut on candidate pt in GeV 0047 MaxEta = cms.double( 2.5 ), # cut on stub eta 0048 ChosenRofPhi = cms.double( 55. ), # critical radius defining region overlap shape in cm 0049 NumLayers = cms.int32 ( 4 ), # max number of detector layer connected to one DTC 0050 NumRingsPS = cms.vint32 ( 11, 11, 8, 8, 8 ), # number of outer PS rings for disk 1, 2, 3, 4, 5 0051 WidthsR = cms.vint32 ( 7, 7, 12, 7 ), # number of bits used for stub r w.r.t layer/disk centre for module types (barrelPS, barrel2S, diskPS, disk2S) 0052 WidthsZ = cms.vint32 ( 12, 8, 7, 7 ), # number of bits used for stub z w.r.t layer/disk centre for module types (barrelPS, barrel2S, diskPS, disk2S) 0053 WidthsPhi = cms.vint32 ( 14, 17, 14, 14 ), # number of bits used for stub phi w.r.t. region centre for module types (barrelPS, barrel2S, diskPS, disk2S) 0054 WidthsAlpha = cms.vint32 ( 0, 0, 0, 4 ), # number of bits used for stub row number for module types (barrelPS, barrel2S, diskPS, disk2S) 0055 WidthsBend = cms.vint32 ( 3, 4, 3, 4 ), # number of bits used for stub bend number for module types (barrelPS, barrel2S, diskPS, disk2S) 0056 RangesR = cms.vdouble( 7.5, 7.5, 120. , 0. ), # range in stub r which needs to be covered for module types (barrelPS, barrel2S, diskPS, disk2S) 0057 RangesZ = cms.vdouble( 240., 240., 7.5, 7.5 ), # range in stub z which needs to be covered for module types (barrelPS, barrel2S, diskPS, disk2S) 0058 RangesAlpha = cms.vdouble( 0., 0., 0., 2048. ), # range in stub row which needs to be covered for module types (barrelPS, barrel2S, diskPS, disk2S) 0059 LayerRs = cms.vdouble( 24.9316, 37.1777, 52.2656, 68.7598, 86.0156, 108.3105 ), # mean radius of outer tracker barrel layer 0060 DiskZs = cms.vdouble( 131.1914, 154.9805, 185.3320, 221.6016, 265.0195 ), # mean z of outer tracker endcap disks 0061 Disk2SRsSet = cms.VPSet( # center radius of outer tracker endcap 2S diks strips 0062 cms.PSet( Disk2SRs = cms.vdouble( 66.4391, 71.4391, 76.2750, 81.2750, 82.9550, 87.9550, 93.8150, 98.8150, 99.8160, 104.8160 ) ), # disk 1 0063 cms.PSet( Disk2SRs = cms.vdouble( 66.4391, 71.4391, 76.2750, 81.2750, 82.9550, 87.9550, 93.8150, 98.8150, 99.8160, 104.8160 ) ), # disk 2 0064 cms.PSet( Disk2SRs = cms.vdouble( 63.9903, 68.9903, 74.2750, 79.2750, 81.9562, 86.9562, 92.4920, 97.4920, 99.8160, 104.8160 ) ), # disk 3 0065 cms.PSet( Disk2SRs = cms.vdouble( 63.9903, 68.9903, 74.2750, 79.2750, 81.9562, 86.9562, 92.4920, 97.4920, 99.8160, 104.8160 ) ), # disk 4 0066 cms.PSet( Disk2SRs = cms.vdouble( 63.9903, 68.9903, 74.2750, 79.2750, 81.9562, 86.9562, 92.4920, 97.4920, 99.8160, 104.8160 ) ) # disk 5 0067 ), 0068 InnerRadius = cms.double( 19.6 ), # smallest stub radius after TrackBuilder in cm 0069 WidthsRTB = cms.vint32 ( 7, 7, 12, 12 ), # number of bits used for stub r w.r.t layer/disk centre for module types (barrelPS, barrel2S, diskPS, disk2S) at TB output 0070 ), 0071 0072 # Parameter specifying TrackingParticle used for Efficiency measurements 0073 TrackingParticle = cms.PSet ( 0074 MinPt = cms.double( 2. ), # pt cut in GeV 0075 MaxEta = cms.double( 2.4 ), # eta cut 0076 MaxVertR = cms.double( 1. ), # cut on vertex pos r in cm 0077 MaxVertZ = cms.double( 30. ), # cut on vertex pos z in cm 0078 MaxD0 = cms.double( 5. ), # cut on impact parameter in cm 0079 MinLayers = cms.int32 ( 4 ), # required number of associated layers to a TP to consider it reconstruct-able and to match it with TTTrack 0080 MinLayersPS = cms.int32 ( 0 ), # required number of associated ps layers to a TP to consider it reconstruct-able 0081 MaxBadStubs2S = cms.int32 ( 1 ), # max number of unassociated 2S stubs allowed to still associate TTTrack with TP 0082 MaxBadStubsPS = cms.int32 ( 0 ) # max number of unassociated PS stubs allowed to still associate TTTrack with TP 0083 ), 0084 0085 # Fimrware specific Parameter 0086 Firmware = cms.PSet ( 0087 WidthDSPa = cms.int32( 27 ), # width of the 'A' port of an DSP slice 0088 WidthDSPb = cms.int32( 18 ), # width of the 'B' port of an DSP slice 0089 WidthDSPc = cms.int32( 48 ), # width of the 'C' port of an DSP slice 0090 WidthAddrBRAM36 = cms.int32( 9 ), # smallest address width of an BRAM36 configured as broadest simple dual port memory 0091 WidthAddrBRAM18 = cms.int32( 10 ), # smallest address width of an BRAM18 configured as broadest simple dual port memory 0092 NumFramesInfra = cms.int32 ( 6 ), # needed gap between events of emp-infrastructure firmware 0093 FreqLHC = cms.double( 40. ), # LHC bunch crossing rate in MHz 0094 FreqBE = cms.double( 360. ), # processing Frequency of DTC, KF & TFP in MHz, has to be integer multiple of FreqLHC 0095 TMP_FE = cms.int32 ( 8 ), # number of events collected in front-end 0096 TMP_TFP = cms.int32 ( 18 ), # time multiplexed period of track finding processor 0097 SpeedOfLight = cms.double( 2.99792458 ), # in e8 m/s 0098 BField = cms.double( 3.81120228767395 ), # in T 0099 BFieldError = cms.double( 1.e-6 ), # accepted difference to EventSetup in T 0100 OuterRadius = cms.double( 112.7 ), # outer radius of outer tracker in cm 0101 InnerRadius = cms.double( 21.8 ), # inner radius of outer tracker in cm 0102 HalfLength = cms.double( 270. ), # half length of outer tracker in cm 0103 TiltApproxSlope = cms.double( 0.884 ), # In tilted barrel, grad*|z|/r + int approximates |cosTilt| + |sinTilt * cotTheta| 0104 TiltApproxIntercept = cms.double( 0.507 ), # In tilted barrel, grad*|z|/r + int approximates |cosTilt| + |sinTilt * cotTheta| 0105 TiltUncertaintyR = cms.double( 0.12 ), # In tilted barrel, constant assumed stub radial uncertainty * sqrt(12) in cm 0106 MindPhi = cms.double( 0.0001 ), # minimum representable stub phi uncertainty * sqrt(12) + additional terms in rad 0107 MaxdPhi = cms.double( 0.02 ), # maximum representable stub phi uncertainty * sqrt(12) + additional terms in rad 0108 MindZ = cms.double( 0.1 ), # minimum representable stub z uncertainty * sqrt(12) + additional terms in cm 0109 MaxdZ = cms.double( 30. ), # maximum representable stub z uncertainty * sqrt(12) + additional terms in cm 0110 Pitch2S = cms.double( 0.009 ), # strip pitch of outer tracker sensors in cm 0111 PitchPS = cms.double( 0.01 ), # pixel pitch of outer tracker sensors in cm 0112 Length2S = cms.double( 5.025 ), # strip length of outer tracker sensors in cm 0113 LengthPS = cms.double( 0.1467 ), # pixel length of outer tracker sensors in cm 0114 TiltedLayerLimitsZ = cms.vdouble( 15.5, 24.9, 34.3, -1., -1., -1. ), # barrel layer limit |z| value to partition into tilted and untilted region 0115 PSDiskLimitsR = cms.vdouble( 66.4, 66.4, 64.55, 64.55, 64.55 ), # endcap disk limit r value to partition into PS and 2S region 0116 ), 0117 0118 # Parmeter specifying front-end 0119 FrontEnd = cms.PSet ( 0120 WidthBend = cms.int32 ( 6 ), # number of bits used for internal stub bend 0121 WidthCol = cms.int32 ( 5 ), # number of bits used for internal stub column 0122 WidthRow = cms.int32 ( 11 ), # number of bits used for internal stub row 0123 BaseBend = cms.double( .25 ), # precision of internal stub bend in pitch units 0124 BaseCol = cms.double( 1. ), # precision of internal stub column in pitch units 0125 BaseRow = cms.double( .5 ), # precision of internal stub row in pitch units 0126 BaseWindowSize = cms.double( .5 ), # precision of window sizes in pitch units 0127 BendCut = cms.double( 1.3125 ) # used stub bend uncertainty in pitch units 0128 ), 0129 0130 # Parmeter specifying DTC 0131 DTC = cms.PSet ( 0132 NumRegions = cms.int32( 9 ), # number of phi slices the outer tracker readout is organized in 0133 NumOverlappingRegions = cms.int32( 2 ), # number of regions a reconstructable particles may cross 0134 NumATCASlots = cms.int32( 12 ), # number of Slots in used ATCA crates 0135 NumDTCsPerRegion = cms.int32( 24 ), # number of DTC boards used to readout a detector region, likely constructed to be an integerer multiple of NumSlots_ 0136 NumModulesPerDTC = cms.int32( 72 ), # max number of sensor modules connected to one DTC board 0137 NumRoutingBlocks = cms.int32( 2 ), # number of systiloic arrays in stub router firmware 0138 DepthMemory = cms.int32( 64 ), # fifo depth in stub router firmware 0139 WidthRowLUT = cms.int32( 4 ), # number of row bits used in look up table 0140 WidthInv2R = cms.int32( 9 ), # number of bits used for stub inv2R. lut addr is col + bend = 11 => 1 BRAM -> 18 bits for min and max val -> 9 0141 OffsetDetIdDSV = cms.int32( 1 ), # tk layout det id minus DetSetVec->detId 0142 OffsetDetIdTP = cms.int32( -1 ), # tk layout det id minus TrackerTopology lower det id 0143 OffsetLayerDisks = cms.int32( 10 ), # offset in layer ids between barrel layer and endcap disks 0144 OffsetLayerId = cms.int32( 1 ), # offset between 0 and smallest layer id (barrel layer 1) 0145 NumBarrelLayer = cms.int32( 6 ), # 0146 SlotLimitPS = cms.int32( 6 ), # slot number changing from PS to 2S 0147 SlotLimit10gbps = cms.int32( 3 ) # slot number changing from 10 gbps to 5gbps 0148 ), 0149 0150 # Parmeter specifying TFP 0151 TFP = cms.PSet ( 0152 WidthPhi0 = cms.int32( 12 ), # number of bist used for phi0 0153 WidthInv2R = cms.int32( 15 ), # number of bist used for inv2R 0154 WidthCot = cms.int32( 16 ), # number of bist used for cot(theta) 0155 WidthZ0 = cms.int32( 12 ), # number of bist used for z0 0156 NumChannel = cms.int32( 2 ) # number of output links 0157 ), 0158 0159 # Parmeter specifying GeometricProcessor 0160 GeometricProcessor = cms.PSet ( 0161 NumSectorsPhi = cms.int32 ( 2 ), # number of phi sectors used in hough transform 0162 ChosenRofZ = cms.double( 50. ), # critical radius defining r-z sector shape in cm 0163 RangeChiZ = cms.double( 160. ), # range of stub z residual w.r.t. sector center which needs to be covered 0164 DepthMemory = cms.int32 ( 64 ), # fifo depth in stub router firmware 0165 #BoundariesEta = cms.vdouble( -2.40, -2.08, -1.68, -1.26, -0.90, -0.62, -0.41, -0.20, 0.0, 0.20, 0.41, 0.62, 0.90, 1.26, 1.68, 2.08, 2.40 ) # defining r-z sector shape 0166 BoundariesEta = cms.vdouble( -2.50, -2.23, -1.88, -1.36, -0.90, -0.62, -0.41, -0.20, 0.0, 0.20, 0.41, 0.62, 0.90, 1.36, 1.88, 2.23, 2.50 ) # defining r-z sector shape 0167 ), 0168 0169 # Parmeter specifying HoughTransform 0170 HoughTransform = cms.PSet ( 0171 NumBinsInv2R = cms.int32( 16 ), # number of used inv2R bins 0172 NumBinsPhiT = cms.int32( 32 ), # number of used phiT bins 0173 MinLayers = cms.int32( 5 ), # required number of stub layers to form a candidate 0174 DepthMemory = cms.int32( 32 ) # internal fifo depth 0175 ), 0176 0177 # Parmeter specifying MiniHoughTransform 0178 MiniHoughTransform = cms.PSet ( 0179 NumBinsInv2R = cms.int32( 2 ), # number of finer inv2R bins inside HT bin 0180 NumBinsPhiT = cms.int32( 2 ), # number of finer phiT bins inside HT bin 0181 NumDLBs = cms.int32( 2 ), # number of dynamic load balancing steps 0182 NumDLBNodes = cms.int32( 8 ), # number of units per dynamic load balancing step 0183 NumDLBChannel = cms.int32( 2 ), # number of inputs per dynamic load balancing unit 0184 MinLayers = cms.int32( 5 ) # required number of stub layers to form a candidate 0185 ), 0186 0187 # Parmeter specifying ZHoughTransform 0188 ZHoughTransform = cms.PSet ( 0189 NumBinsZT = cms.int32( 2 ), # 0190 NumBinsCot = cms.int32( 2 ), # 0191 NumStages = cms.int32( 5 ), # 0192 MinLayers = cms.int32( 4 ), # required number of stub layers to form a candidate 0193 MaxTracks = cms.int32( 16 ), # max number of output tracks per node 0194 MaxStubsPerLayer = cms.int32( 4 ) # cut on number of stub per layer for input candidates 0195 ), 0196 0197 # Parmeter specifying KalmanFilter Input Formatter 0198 0199 KalmanFilterIn = cms.PSet ( 0200 ShiftRangePhi = cms.int32( 2 ), # power of 2 multiplier of stub phi residual range 0201 ShiftRangeZ = cms.int32( 1 ) # power of 2 multiplier of stub z residual range 0202 ), 0203 0204 # Parmeter specifying KalmanFilter 0205 KalmanFilter = cms.PSet ( 0206 NumWorker = cms.int32 ( 2 ), # number of kf worker 0207 RangeFactor = cms.double( 2.0 ), # search window of each track parameter in initial uncertainties 0208 MinLayers = cms.int32 ( 4 ), # required number of stub layers to form a track 0209 MaxLayers = cms.int32 ( 7 ), # maximum number of layers added to a track 0210 ShiftInitialC00 = cms.int32 ( 0 ), # 0211 ShiftInitialC11 = cms.int32 ( -2 ), # 0212 ShiftInitialC22 = cms.int32 ( 0 ), # 0213 ShiftInitialC33 = cms.int32 ( 0 ) # 0214 ), 0215 0216 # Parmeter specifying KalmanFilter Output Formatter 0217 KalmanFilterOut = cms.PSet ( 0218 Chi2rphiConv = cms.int32( 3 ), # Conversion factor between dphi^2/weight and chi2rphi 0219 Chi2rzConv = cms.int32( 13 ), # Conversion factor between dz^2/weight and chi2rz 0220 WeightBinFraction = cms.int32( 0 ), # Number of bits dropped from dphi and dz for v0 and v1 LUTs 0221 DzTruncation = cms.int32( 262144 ), # Constant used in FW to prevent 32-bit int overflow 0222 DphiTruncation = cms.int32( 16 ) # Constant used in FW to prevent 32-bit int overflow 0223 ), 0224 0225 # Parmeter specifying DuplicateRemoval 0226 DuplicateRemoval = cms.PSet ( 0227 DepthMemory = cms.int32( 16 ) # internal memory depth 0228 ) 0229 0230 )
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |
![]() ![]() |