Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:11:21

0001 import FWCore.ParameterSet.Config as cms
0002 from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel #to configure phase1 geoemtry
0003 
0004 # Do not change the order of the interaction models unless you know what you are doing.
0005 # Not used at the moment: "muonBremsstrahlung", "nuclearInteractionFTF"
0006 #_trackerMaterialInteractionModels = cms.untracked.vstring("trackerSimHits")
0007 _trackerMaterialInteractionModels = cms.untracked.vstring("pairProduction", "nuclearInteraction", "bremsstrahlung", "energyLoss", "multipleScattering", "trackerSimHits")
0008 
0009 # Material effects to be simulated in the tracker material and associated cuts 
0010 TrackerMaterialBlock = cms.PSet(
0011     TrackerMaterial = cms.PSet(
0012         #magneticFieldZ = cms.untracked.double(0.),
0013         maxRadius = cms.untracked.double(150.),
0014         maxZ = cms.untracked.double(325.),
0015         useTrackerRecoGeometryRecord = cms.untracked.bool(True),
0016         trackerAlignmentLabel = cms.untracked.string("MisAligned"),
0017 
0018         #############
0019         ### Hack to interface "old" calorimetry with "new" propagation in tracker
0020         #############
0021         # Outer boundaries of tracker -> Beginning of calorimetry
0022         # This includes: Preshower, ECAL barrel/forward entrance
0023         # Radius/z must be slightly smaller than actual geometry (e.g. 0.1cm)       
0024         trackerBarrelBoundary = cms.PSet(
0025             radius = cms.untracked.double(128.9),
0026             limits = cms.untracked.vdouble(0.0, 303.353),
0027             thickness = cms.untracked.vdouble(1.),
0028             interactionModels = cms.untracked.vstring()
0029         ),
0030         trackerForwardBoundary = cms.PSet(
0031             z = cms.untracked.double(303.253),
0032             limits = cms.untracked.vdouble(0.0, 129.),
0033             thickness = cms.untracked.vdouble(1.),
0034             interactionModels = cms.untracked.vstring()
0035         ),
0036         #############
0037         ### End Hack
0038         #############
0039         
0040         # The tracker layers
0041         BarrelLayers = cms.VPSet(
0042             ########### Beam Pipe ###########
0043             #PIPE
0044             cms.PSet(
0045                 radius = cms.untracked.double(3.003),
0046                 limits = cms.untracked.vdouble(0.0, 28.3),
0047                 thickness = cms.untracked.vdouble(0.0024),
0048                 interactionModels = _trackerMaterialInteractionModels
0049             ),
0050             ########### The Pixel Barrel layers 1-3 ###########
0051             #PIXB1
0052             cms.PSet(
0053                 #radius = cms.untracked.double(4.425),
0054                 limits = cms.untracked.vdouble(0.0, 28.391),
0055                 thickness = cms.untracked.vdouble(0.0217),
0056                 activeLayer = cms.untracked.string("BPix1"),
0057                 interactionModels = _trackerMaterialInteractionModels
0058             ),
0059             #PIXB2
0060             cms.PSet(
0061                 #radius = cms.untracked.double(7.312),
0062                 limits = cms.untracked.vdouble(0.0, 28.391),
0063                 thickness = cms.untracked.vdouble(0.0217),
0064                 activeLayer = cms.untracked.string("BPix2"),
0065                 interactionModels = _trackerMaterialInteractionModels
0066             ),
0067             #PIXB3
0068             cms.PSet(
0069                 #radius = cms.untracked.double(10.177),
0070                 limits = cms.untracked.vdouble(0.0, 28.391),
0071                 thickness = cms.untracked.vdouble(0.0217),
0072                 activeLayer = cms.untracked.string("BPix3"),
0073                 interactionModels = _trackerMaterialInteractionModels
0074             ),
0075 
0076             ########### Pixel Outside walls and cables (barrel) ###########
0077             #PIXBOut5
0078             cms.PSet(
0079                 radius = cms.untracked.double(17.6),
0080                 limits = cms.untracked.vdouble(0.0, 27.5, 32.0, 65.0),
0081                 thickness = cms.untracked.vdouble(0.0135, 0.095, 0.050),
0082                 interactionModels = _trackerMaterialInteractionModels
0083             ),
0084             ########### Tracker Inner barrel layers 1-4 ###########
0085             #TIB1
0086             cms.PSet(
0087                 #radius = cms.untracked.double(25.767),
0088                 limits = cms.untracked.vdouble(0.0, 35.0, 65.254),
0089                 thickness = cms.untracked.vdouble(0.053, 0.0769),
0090                 activeLayer = cms.untracked.string("TIB1"),
0091                 interactionModels = _trackerMaterialInteractionModels
0092             ),
0093             #TIB2
0094             cms.PSet(
0095                 #radius = cms.untracked.double(34.104),
0096                 limits = cms.untracked.vdouble(0.0, 35.0, 65.231),
0097                 thickness = cms.untracked.vdouble(0.053, 0.0769),
0098                 activeLayer = cms.untracked.string("TIB2"),
0099                 interactionModels = _trackerMaterialInteractionModels
0100             ),
0101             #TIB3
0102             cms.PSet(
0103                 #radius = cms.untracked.double(41.974),
0104                 limits = cms.untracked.vdouble(0.0, 35.0, 66.232),
0105                 thickness = cms.untracked.vdouble(0.035, 0.0508),
0106                 activeLayer = cms.untracked.string("TIB3"),
0107                 interactionModels = _trackerMaterialInteractionModels
0108             ),
0109             #TIB4
0110             cms.PSet(
0111                 #radius = cms.untracked.double(49.907),
0112                 limits = cms.untracked.vdouble(0.0, 35.0, 66.355),
0113                 thickness = cms.untracked.vdouble(0.04, 0.058),
0114                 activeLayer = cms.untracked.string("TIB4"),
0115                 interactionModels = _trackerMaterialInteractionModels
0116             ),
0117             ########### TOB inside wall (barrel) ###########
0118             #TOBCIn
0119             cms.PSet(
0120                 radius = cms.untracked.double(55.1),
0121                 limits = cms.untracked.vdouble(0.0, 27.5, 30.5, 72.0, 108.2),
0122                 thickness = cms.untracked.vdouble(0.009, 0.036, 0.009, 0.0495),
0123                 interactionModels = _trackerMaterialInteractionModels
0124             ),
0125             ########### # Tracker Outer barrel layers 1-6 ###########
0126             #TOB1
0127             cms.PSet(
0128                 #radius = cms.untracked.double(60.937),
0129                 limits = cms.untracked.vdouble(0.0, 18.0, 30.0, 36.0, 46.0, 55.0, 108.737),
0130                 thickness = cms.untracked.vdouble(0.021, 0.06, 0.03, 0.06, 0.03, 0.06),
0131                 activeLayer = cms.untracked.string("TOB1"),
0132                 interactionModels = _trackerMaterialInteractionModels
0133             ),
0134             #TOB2
0135             cms.PSet(
0136                 #radius = cms.untracked.double(69.322),
0137                 limits = cms.untracked.vdouble(0.0, 18.0, 30.0, 36.0, 46.0, 55.0, 108.737),
0138                 thickness = cms.untracked.vdouble(0.021, 0.06, 0.03, 0.06, 0.03, 0.06),
0139                 activeLayer = cms.untracked.string("TOB2"),
0140                 interactionModels = _trackerMaterialInteractionModels
0141             ),
0142             #TOB3
0143             cms.PSet(
0144                 #radius = cms.untracked.double(78.081),
0145                 limits = cms.untracked.vdouble(0.0, 18.0, 30.0, 36.0, 46.0, 55.0, 108.737),
0146                 thickness = cms.untracked.vdouble(0.0154, 0.044, 0.022, 0.044, 0.022, 0.044),
0147                 activeLayer = cms.untracked.string("TOB3"),
0148                 interactionModels = _trackerMaterialInteractionModels
0149             ),
0150             #TOB4
0151             cms.PSet(
0152                 #radius = cms.untracked.double(86.876),
0153                 limits = cms.untracked.vdouble(0.0, 18.0, 30.0, 36.0, 46.0, 55.0, 108.737),
0154                 thickness = cms.untracked.vdouble(0.0154, 0.044, 0.022, 0.044, 0.022, 0.044),
0155                 activeLayer = cms.untracked.string("TOB4"),
0156                 interactionModels = _trackerMaterialInteractionModels
0157             ),
0158             #TOB5
0159             cms.PSet(
0160                 #radius = cms.untracked.double(96.569),
0161                 limits = cms.untracked.vdouble(0.0, 18.0, 30.0, 36.0, 46.0, 55.0, 108.737),
0162                 thickness = cms.untracked.vdouble(0.0154, 0.044, 0.022, 0.044, 0.022, 0.044),
0163                 activeLayer = cms.untracked.string("TOB5"),
0164                 interactionModels = _trackerMaterialInteractionModels
0165             ),
0166             #TOB6
0167             cms.PSet(
0168                 #radius = cms.untracked.double(108.063),
0169                 limits = cms.untracked.vdouble(0.0, 18.0, 30.0, 36.0, 46.0, 55.0, 108.737),
0170                 thickness = cms.untracked.vdouble(0.0154, 0.044, 0.022, 0.044, 0.022, 0.044),
0171                 activeLayer = cms.untracked.string("TOB6"),
0172                 interactionModels = _trackerMaterialInteractionModels
0173             ),
0174            
0175             ########### Tracker Outer Barrel Outside Cables and walls (barrel) ###########
0176             #TBOut
0177             cms.PSet(
0178                 radius = cms.untracked.double(120.0),
0179                 limits = cms.untracked.vdouble(0.0, 120.0, 299.9),
0180                 thickness = cms.untracked.vdouble(0.042, 0.1596),
0181                 interactionModels = _trackerMaterialInteractionModels
0182             ),
0183         ),
0184 
0185         EndcapLayers = cms.VPSet(
0186             ########### Pixel Barrel Outside walls and cables (endcap) ###########
0187             #PIXBOut4
0188             cms.PSet(
0189                 z = cms.untracked.double(28.7),
0190                 limits = cms.untracked.vdouble(4.2, 5.1, 7.1, 8.2, 10.0, 11.0, 11.9, 16.5),
0191                 thickness = cms.untracked.vdouble(0.100, 0.00, 0.108, 0.00, 0.112, 0.02, 0.04),
0192                 interactionModels = _trackerMaterialInteractionModels
0193             ),
0194             #PIXBOut
0195             cms.PSet(
0196                 z = cms.untracked.double(28.8),
0197                 limits = cms.untracked.vdouble(3.8, 16.5),
0198                 thickness = cms.untracked.vdouble(0.012),
0199                 interactionModels = _trackerMaterialInteractionModels
0200             ),
0201             ########### Pixel Disks 1-2 ###########
0202             #PIXD1
0203             cms.PSet(
0204                 limits = cms.untracked.vdouble(4.825, 16.598),
0205                 thickness = cms.untracked.vdouble(0.058),
0206                 activeLayer = cms.untracked.string("FPix1"),
0207                 interactionModels = _trackerMaterialInteractionModels
0208             ),
0209             #PIXD2
0210             cms.PSet(
0211                 limits = cms.untracked.vdouble(4.823, 16.598),
0212                 thickness = cms.untracked.vdouble(0.058),
0213                 activeLayer = cms.untracked.string("FPix2"),
0214                 interactionModels = _trackerMaterialInteractionModels
0215             ),
0216 
0217             ########### Pixel Endcap outside cables ###########
0218             #PIXBOut6
0219             cms.PSet(
0220                 z = cms.untracked.double(65.1),
0221                 limits = cms.untracked.vdouble(6.5, 10.0, 11.0, 16.0, 17.61),
0222                 thickness = cms.untracked.vdouble(0.150, 0.325, 0.250, 0.175),
0223                 interactionModels = _trackerMaterialInteractionModels
0224             ),
0225             ########### Tracker Inner Barrel Outside Cables and walls (endcap) ###########
0226             #TIBEOut
0227             cms.PSet(
0228                 z = cms.untracked.double(74.0),
0229                 limits = cms.untracked.vdouble(22.5, 53.9),
0230                 thickness = cms.untracked.vdouble(0.130),
0231                 interactionModels = _trackerMaterialInteractionModels
0232             ),
0233             ########### Tracker Inner disks layers 1-3 ###########
0234             #TID1
0235             cms.PSet(
0236                 limits = cms.untracked.vdouble(22.2, 34.0, 42.0, 53.940),
0237                 thickness = cms.untracked.vdouble(0.04, 0.08, 0.04),
0238                 activeLayer = cms.untracked.string("TID1"),
0239                 interactionModels = _trackerMaterialInteractionModels
0240             ),
0241             #TID2
0242             cms.PSet(
0243                 limits = cms.untracked.vdouble(22.2, 34.0, 42.0, 53.942), 
0244                 thickness = cms.untracked.vdouble(0.04, 0.08, 0.04),
0245                 activeLayer = cms.untracked.string("TID2"),
0246                 interactionModels = _trackerMaterialInteractionModels
0247             ),
0248             #TID3
0249             cms.PSet(
0250                 limits = cms.untracked.vdouble(22.2, 34.0, 42.0, 53.942), 
0251                 thickness = cms.untracked.vdouble(0.055, 0.110, 0.055),
0252                 activeLayer = cms.untracked.string("TID3"),
0253                 interactionModels = _trackerMaterialInteractionModels
0254             ),
0255             ########### Tracker Inner Disks Outside Cables and walls (endcap) ###########
0256             #TIDEOut
0257             cms.PSet(
0258                 z = cms.untracked.double(108.0),
0259                 limits = cms.untracked.vdouble(22.0, 24.0, 47.5, 54.943),
0260                 thickness = cms.untracked.vdouble(0.111, 0.074, 0.185),
0261                 interactionModels = _trackerMaterialInteractionModels
0262             ),
0263             ########### Tracker Outer Barrel Outside Cables and walls (barrel and endcap) ###########
0264             #TOBEOut
0265             cms.PSet(
0266                 z = cms.untracked.double(115.0),
0267                 limits = cms.untracked.vdouble(55.0, 60.0, 62.0, 78.0, 92.0, 111.0),
0268                 thickness = cms.untracked.vdouble(0.005, 0.009, 0.014, 0.016, 0.009),
0269                 interactionModels = _trackerMaterialInteractionModels
0270             ),
0271             ########### Tracker EndCap disks layers 1-9 ###########
0272             #TEC1
0273             cms.PSet(
0274                 limits = cms.untracked.vdouble(21.87, 24.0, 34.0, 39.0, 111.395),
0275                 thickness = cms.untracked.vdouble(0.100, 0.040, 0.080, 0.050),
0276                 activeLayer = cms.untracked.string("TEC1"),
0277                 nuclearInteractionThicknessFactor = cms.untracked.double(1.2),
0278                 interactionModels = _trackerMaterialInteractionModels
0279             ),
0280             #TEC2
0281             cms.PSet(
0282                 limits = cms.untracked.vdouble(21.87, 24.0, 34.0, 39.0, 111.395),
0283                 thickness = cms.untracked.vdouble(0.100, 0.040, 0.080, 0.050),
0284                 activeLayer = cms.untracked.string("TEC2"),
0285                 nuclearInteractionThicknessFactor = cms.untracked.double(1.2),
0286                 interactionModels = _trackerMaterialInteractionModels
0287             ),
0288             #TEC3
0289             cms.PSet(
0290                 limits = cms.untracked.vdouble(21.87, 24.0, 34.0, 39.0, 111.395),
0291                 thickness = cms.untracked.vdouble(0.100, 0.040, 0.080, 0.050),
0292                 activeLayer = cms.untracked.string("TEC3"),
0293                 nuclearInteractionThicknessFactor = cms.untracked.double(1.2),
0294                 interactionModels = _trackerMaterialInteractionModels
0295             ),
0296             #TEC4
0297             cms.PSet(
0298                 limits = cms.untracked.vdouble(29.62, 32.0, 40.0, 41.0, 46.0, 111.395),
0299                 thickness = cms.untracked.vdouble(0.115, 0.030, 0.050, 0.070, 0.050),
0300                 activeLayer = cms.untracked.string("TEC4"),
0301                 nuclearInteractionThicknessFactor = cms.untracked.double(1.2),
0302                 interactionModels = _trackerMaterialInteractionModels
0303             ),
0304             #TEC5
0305             cms.PSet(
0306                 limits = cms.untracked.vdouble(29.62, 32.0, 40.0, 41.0, 46.0, 111.395),
0307                 thickness = cms.untracked.vdouble(0.115, 0.030, 0.050, 0.070, 0.050),
0308                 activeLayer = cms.untracked.string("TEC5"),
0309                 nuclearInteractionThicknessFactor = cms.untracked.double(1.2),
0310                 interactionModels = _trackerMaterialInteractionModels
0311             ),
0312             #TEC6
0313             cms.PSet(
0314                 limits = cms.untracked.vdouble(29.62, 32.0, 40.0, 41.0, 46.0, 111.395),
0315                 thickness = cms.untracked.vdouble(0.125, 0.030, 0.050, 0.070, 0.050),
0316                 activeLayer = cms.untracked.string("TEC6"),
0317                 nuclearInteractionThicknessFactor = cms.untracked.double(1.2),
0318                 interactionModels = _trackerMaterialInteractionModels
0319             ),
0320             #TEC7
0321             cms.PSet(
0322                 limits = cms.untracked.vdouble(29.71, 32.0, 60.0, 111.395),
0323                 thickness = cms.untracked.vdouble(0.135, 0.030, 0.050),
0324                 activeLayer = cms.untracked.string("TEC7"),
0325                 nuclearInteractionThicknessFactor = cms.untracked.double(1.2),
0326                 interactionModels = _trackerMaterialInteractionModels
0327                 ),
0328             #TEC8
0329             cms.PSet(
0330                 limits = cms.untracked.vdouble(29.71, 32.0, 60.0, 111.395),
0331                 thickness = cms.untracked.vdouble(0.150, 0.030, 0.050),
0332                 activeLayer = cms.untracked.string("TEC8"),
0333                 nuclearInteractionThicknessFactor = cms.untracked.double(1.2),
0334                 interactionModels = _trackerMaterialInteractionModels
0335                 ),
0336             #TEC9
0337             cms.PSet(
0338                 limits = cms.untracked.vdouble(29.91, 32.0, 60.0, 111.395),
0339                 thickness = cms.untracked.vdouble(0.150, 0.030, 0.050),
0340                 activeLayer = cms.untracked.string("TEC9"),
0341                 nuclearInteractionThicknessFactor = cms.untracked.double(1.2),
0342                 interactionModels = _trackerMaterialInteractionModels
0343                 ),
0344             ########### Tracker Endcaps Outside Cables and walls (endcaps) ###########
0345             #TEOut
0346             cms.PSet(
0347                 z = cms.untracked.double(300.0),
0348                 limits = cms.untracked.vdouble(4.42, 4.65, 4.84, 7.37, 10.99, 14.70, 16.24, 22.00, 28.50, 31.50, 36.0, 120.0),
0349                 thickness = cms.untracked.vdouble(3.935, 0.483, 0.127, 0.089, 0.069, 0.124, 1.47, 0.924, 0.693, 0.294, 0.336),
0350                 interactionModels = _trackerMaterialInteractionModels
0351                 ),
0352             ),
0353         )
0354     )
0355 #new phase1 geometry
0356 phase1Pixel.toModify(TrackerMaterialBlock, TrackerMaterial = dict(
0357         BarrelLayers = TrackerMaterialBlock.TrackerMaterial.BarrelLayers[:4] + [
0358             #PIXB4                                                                                                                        
0359             cms.PSet(
0360                 #radius = cms.untracked.double(16),                                                                                        
0361                 limits = cms.untracked.vdouble(0.0, 28.391),
0362                 thickness = cms.untracked.vdouble(0.0217),
0363                 activeLayer = cms.untracked.string("BPix4"),
0364                 interactionModels = _trackerMaterialInteractionModels
0365                 ),] + TrackerMaterialBlock.TrackerMaterial.BarrelLayers[4:],
0366         EndcapLayers = TrackerMaterialBlock.TrackerMaterial.EndcapLayers[:4] + [
0367             #PIXD3                                                                                                                 
0368             cms.PSet(
0369                 limits = cms.untracked.vdouble(4.823, 16.598),
0370                 thickness = cms.untracked.vdouble(0.058),
0371                 activeLayer = cms.untracked.string("FPix3"),
0372                 interactionModels = _trackerMaterialInteractionModels
0373                 ),] + TrackerMaterialBlock.TrackerMaterial.EndcapLayers[4:]
0374         ))