Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-03-03 23:53:07

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   SupportedGeometry = cms.PSet (
0009     XMLLabel    = cms.string ("geomXMLFiles"                                    ), # label of ESProducer/ESSource
0010     XMLPath     = cms.string ("Geometry/TrackerCommonData/data/PhaseII/"        ), # compared path
0011     XMLFile     = cms.string ("tracker.xml"                                     ), # compared filen ame
0012     XMLVersions = cms.vstring("TiltedTracker613", "TiltedTracker613_MB_2019_04", "OuterTracker616_2020_04", "OuterTracker800_2020_07", "Tracker_DD4hep_compatible_2021_02", "Tracker_DD4hep_compatible_OT801_IT640" )  # list of supported versions
0013   ),
0014 
0015   # Parameter to check if Process History is consistent with process configuration
0016   ProcessHistory = cms.PSet (
0017     GeometryConfiguration = cms.string( "XMLIdealGeometryESSource@"                    ), # label of compared GeometryConfiguration
0018     TTStubAlgorithm       = cms.string( "TTStubAlgorithm_official_Phase2TrackerDigi_@" )  # label of compared TTStubAlgorithm
0019   ),
0020 
0021   # Common track finding parameter
0022   TrackFinding = cms.PSet (
0023     BeamWindowZ      = cms.double( 15. ), # half lumi region size in cm
0024     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
0025     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
0026     UnMatchedStubs   = cms.int32 (  1  ), # allowed number of stubs a found track may have not in common with its matched TP
0027     UnMatchedStubsPS = cms.int32 (  0  )  # allowed number of PS stubs a found track may have not in common with its matched TP
0028   ),
0029 
0030   # TMTT specific parameter
0031   TMTT = cms.PSet (
0032     MinPt            = cms.double(  3.   ), # cut on stub and TP pt, also defines region overlap shape in GeV
0033     MaxEta           = cms.double(  2.4  ), # cut on stub eta
0034     ChosenRofPhi     = cms.double( 67.24 ), # critical radius defining region overlap shape in cm
0035     NumLayers        = cms.int32 (  7    ), # number of detector layers a reconstructbale particle may cross
0036     WidthR           = cms.int32 ( 12    ), # number of bits used for stub r - ChosenRofPhi
0037     WidthPhi         = cms.int32 ( 14    ), # number of bits used for stub phi w.r.t. phi sector centre
0038     WidthZ           = cms.int32 ( 14    )  # number of bits used for stub z
0039   ),
0040 
0041   # Hybrid specific parameter
0042   Hybrid = cms.PSet (
0043     MinPt        = cms.double(  2.   ),                        # cut on stub and TP pt, also defines region overlap shape in GeV
0044     MaxEta       = cms.double(  2.5  ),                        # cut on stub eta
0045     ChosenRofPhi = cms.double( 55.   ),                        # critical radius defining region overlap shape in cm
0046     NumLayers    = cms.int32 (  4    ),                        # max number of detector layer connected to one DTC
0047     NumRingsPS   = cms.vint32 ( 11, 11, 8, 8, 8 ),             # number of outer PS rings for disk 1, 2, 3, 4, 5
0048     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)
0049     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)
0050     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)
0051     WidthsAlpha  = cms.vint32 (   0,     0,     0,      4   ), # number of bits used for stub row number for module types (barrelPS, barrel2S, diskPS, disk2S)
0052     WidthsBend   = cms.vint32 (   3,     4,     3,      4   ), # number of bits used for stub bend number for module types (barrelPS, barrel2S, diskPS, disk2S)
0053     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)
0054     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)
0055     RangesAlpha  = cms.vdouble(   0.,    0.,    0.,  1024.  ), # range in stub row which needs to be covered for module types (barrelPS, barrel2S, diskPS, disk2S)
0056     LayerRs      = cms.vdouble(  24.9316,  37.1777,  52.2656,  68.7598,  86.0156, 108.3105 ), # mean radius of outer tracker barrel layer
0057     DiskZs       = cms.vdouble( 131.1914, 154.9805, 185.3320, 221.6016, 265.0195           ), # mean z of outer tracker endcap disks
0058     Disk2SRsSet  = cms.VPSet(                                                                 # center radius of outer tracker endcap 2S diks strips
0059       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
0060       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
0061       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
0062       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
0063       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
0064     )
0065   ),
0066 
0067   # Parameter specifying TrackingParticle used for Efficiency measurements
0068   TrackingParticle = cms.PSet (
0069     MaxEta           = cms.double(  2.4 ), # eta cut
0070     MaxVertR         = cms.double(  1.  ), # cut on vertex pos r in cm
0071     MaxVertZ         = cms.double( 30.  ), # cut on vertex pos z in cm
0072     MaxD0            = cms.double(  5.  ), # cut on impact parameter in cm
0073     MinLayers        = cms.int32 (  4   ), # required number of associated layers to a TP to consider it reconstruct-able
0074     MinLayersPS      = cms.int32 (  0   )  # required number of associated ps layers to a TP to consider it reconstruct-able
0075   ),
0076 
0077   # Fimrware specific Parameter
0078   Firmware = cms.PSet (
0079     NumFramesInfra = cms.int32 (   6                ), # needed gap between events of emp-infrastructure firmware
0080     FreqLHC        = cms.double(  40.               ), # LHC bunch crossing rate in MHz
0081     FreqBE         = cms.double( 360.               ), # processing Frequency of DTC & TFP in MHz, has to be integer multiple of FreqLHC
0082     TMP_FE         = cms.int32 (   8                ), # number of events collected in front-end
0083     TMP_TFP        = cms.int32 (  18                ), # time multiplexed period of track finding processor
0084     SpeedOfLight   = cms.double(   2.99792458       ), # in e8 m/s
0085     BField         = cms.double(   3.81120228767395 ), # in T
0086     BFieldError    = cms.double(   1.e-6            ), # accepted difference to EventSetup in T
0087     OuterRadius    = cms.double( 112.7              ), # outer radius of outer tracker in cm
0088     InnerRadius    = cms.double(  21.8              ), # inner radius of outer tracker in cm
0089     HalfLength     = cms.double( 270.               ), # half length of outer tracker in cm
0090     MaxPitch       = cms.double(    .01             )  # max strip/pixel pitch of outer tracker sensors in cm
0091   ),
0092 
0093   # Parmeter specifying front-end
0094   FrontEnd = cms.PSet (
0095     WidthBend      = cms.int32 (  6      ), # number of bits used for internal stub bend
0096     WidthCol       = cms.int32 (  5      ), # number of bits used for internal stub column
0097     WidthRow       = cms.int32 ( 11      ), # number of bits used for internal stub row
0098     BaseBend       = cms.double(   .25   ), # precision of internal stub bend in pitch units
0099     BaseCol        = cms.double(  1.     ), # precision of internal stub column in pitch units
0100     BaseRow        = cms.double(   .5    ), # precision of internal stub row in pitch units
0101     BaseWindowSize = cms.double(   .5    ), # precision of window sizes in pitch units
0102     BendCut        = cms.double(  1.3125 )  # used stub bend uncertainty in pitch units
0103   ),
0104 
0105   # Parmeter specifying DTC 
0106   DTC = cms.PSet (
0107     NumRegions            = cms.int32 (  9    ), # number of phi slices the outer tracker readout is organized in
0108     NumOverlappingRegions = cms.int32 (  2    ), # number of regions a reconstructable particles may cross
0109     NumATCASlots          = cms.int32 ( 12    ), # number of Slots in used ATCA crates
0110     NumDTCsPerRegion      = cms.int32 ( 24    ), # number of DTC boards used to readout a detector region, likely constructed to be an integerer multiple of NumSlots_
0111     NumModulesPerDTC      = cms.int32 ( 72    ), # max number of sensor modules connected to one DTC board
0112     NumRoutingBlocks      = cms.int32 (  2    ), # number of systiloic arrays in stub router firmware
0113     DepthMemory           = cms.int32 ( 64    ), # fifo depth in stub router firmware
0114     WidthRowLUT           = cms.int32 (  4    ), # number of row bits used in look up table
0115     WidthQoverPt          = cms.int32 (  9    ), # number of bits used for stub qOverPt. lut addr is col + bend = 11 => 1 BRAM -> 18 bits for min and max val -> 9
0116     OffsetDetIdDSV        = cms.int32 (  1    ), # tk layout det id minus DetSetVec->detId
0117     OffsetDetIdTP         = cms.int32 ( -1    ), # tk layout det id minus TrackerTopology lower det id
0118     OffsetLayerDisks      = cms.int32 ( 10    ), # offset in layer ids between barrel layer and endcap disks
0119     OffsetLayerId         = cms.int32 (  1    )  # offset between 0 and smallest layer id (barrel layer 1)
0120   ),
0121 
0122   # Parmeter specifying GeometricProcessor
0123   GeometricProcessor = cms.PSet (
0124     NumSectorsPhi = cms.int32 (  2  ), # number of phi sectors used in hough transform
0125     ChosenRofZ    = cms.double( 50. ), # critical radius defining r-z sector shape in cm
0126     RangeChiZ     = cms.double( 90. ), # range of stub z residual w.r.t. sector center which needs to be covered
0127     DepthMemory   = cms.int32 ( 64  ), # fifo depth in stub router firmware
0128     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
0129   ),
0130 
0131   # Parmeter specifying HoughTransform
0132   HoughTransform = cms.PSet (
0133     NumBinsQoverPt = cms.int32( 16 ), # number of used qOverPt bins
0134     NumBinsPhiT    = cms.int32( 32 ), # number of used phiT bins
0135     MinLayers      = cms.int32(  5 ), # required number of stub layers to form a candidate
0136     DepthMemory    = cms.int32( 32 )  # internal fifo depth
0137   ),
0138 
0139   # Parmeter specifying MiniHoughTransform
0140   MiniHoughTransform = cms.PSet (
0141     NumBinsQoverPt = cms.int32( 2 ), # number of finer qOverPt bins inside HT bin
0142     NumBinsPhiT    = cms.int32( 2 ), # number of finer phiT bins inside HT bin
0143     NumDLB         = cms.int32( 2 ), # number of dynamic load balancing steps
0144     MinLayers      = cms.int32( 5 )  # required number of stub layers to form a candidate
0145   ),
0146 
0147   # Parmeter specifying SeedFilter
0148   SeedFilter = cms.PSet (
0149     PowerBaseCot     = cms.int32( -6 ), # used cot(Theta) bin width = 2 ** this
0150     BaseDiffZ        = cms.int32(  4 ), # used zT bin width = baseZ * 2 ** this
0151     MinLayers        = cms.int32(  4 )  # required number of stub layers to form a candidate
0152   ),
0153 
0154   # Parmeter specifying KalmanFilter
0155   KalmanFilter = cms.PSet (
0156     WidthLutInvPhi   = cms.int32(  10 ), # number of bits for internal reciprocal look up
0157     WidthLutInvZ     = cms.int32(  10 ), # number of bits for internal reciprocal look up
0158     NumTracks        = cms.int32(  16 ), # cut on number of input candidates
0159     MinLayers        = cms.int32(   4 ), # required number of stub layers to form a track
0160     MaxLayers        = cms.int32(   4 ), # maximum number of  layers added to a track
0161     MaxStubsPerLayer = cms.int32(   4 ), # cut on number of stub per layer for input candidates
0162     MaxSkippedLayers = cms.int32(   2 ), # maximum allowed skipped layers from inside to outside to form a track
0163     BaseShiftr0      = cms.int32(  -3 ),
0164     BaseShiftr02     = cms.int32(  -5 ),
0165     BaseShiftv0      = cms.int32(  -2 ),
0166     BaseShiftS00     = cms.int32(  -1 ),
0167     BaseShiftS01     = cms.int32(  -7 ),
0168     BaseShiftK00     = cms.int32(  -9 ),
0169     BaseShiftK10     = cms.int32( -15 ),
0170     BaseShiftR00     = cms.int32(  -2 ),
0171     BaseShiftInvR00  = cms.int32( -19 ),
0172     BaseShiftChi20   = cms.int32(  -5 ),
0173     BaseShiftC00     = cms.int32(   5 ),
0174     BaseShiftC01     = cms.int32(  -3 ),
0175     BaseShiftC11     = cms.int32(  -7 ),
0176     BaseShiftr1      = cms.int32(   2 ),
0177     BaseShiftr12     = cms.int32(   5 ),
0178     BaseShiftv1      = cms.int32(   3 ),
0179     BaseShiftS12     = cms.int32(  -3 ),
0180     BaseShiftS13     = cms.int32(  -3 ),
0181     BaseShiftK21     = cms.int32( -13 ),
0182     BaseShiftK31     = cms.int32( -14 ),
0183     BaseShiftR11     = cms.int32(   3 ),
0184     BaseShiftInvR11  = cms.int32( -21 ),
0185     BaseShiftChi21   = cms.int32(  -5 ),
0186     BaseShiftC22     = cms.int32(  -3 ),
0187     BaseShiftC23     = cms.int32(  -5 ),
0188     BaseShiftC33     = cms.int32(  -3 ),
0189     BaseShiftChi2    = cms.int32(  -5 )
0190   ),
0191 
0192   # Parmeter specifying DuplicateRemoval
0193   DuplicateRemoval = cms.PSet (
0194     DepthMemory  = cms.int32( 16 ), # internal memory depth
0195     WidthPhi0    = cms.int32( 12 ), # number of bist used for phi0
0196     WidthQoverPt = cms.int32( 15 ), # number of bist used for qOverPt
0197     WidthCot     = cms.int32( 16 ), # number of bist used for cot(theta)
0198     WidthZ0      = cms.int32( 12 )  # number of bist used for z0
0199   )
0200 
0201 )