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 
0003 from FastSimulation.SimplifiedGeometryPropagator.TrackerMaterial_cfi import TrackerMaterialBlock 
0004 
0005 #############
0006 ### Hack to interface "old" calorimetry with "new" propagation in tracker
0007 #############
0008 
0009 CaloMaterialBlock = cms.PSet(
0010     CaloMaterial = cms.PSet(
0011         maxRadius = cms.untracked.double(500.),
0012         maxZ = cms.untracked.double(1200.),
0013         
0014         ######
0015         # The calorimetry
0016         # Positions used from old ParticlePropagator. Do not really agree with the CMS ECAL/HCAL TDR values...
0017         ######
0018 
0019         # Coverage usually provided as eta, e.g. barrel ECAL abs(eta) < 1.479
0020         # Use definition of pseurorapidity: theta = 2*arctan(e^-eta)
0021         # And theta = cos(z/sqrt(R^2+z^2))
0022         # Better: eta = -0.5*ln((1-cos(theta))/(1+cos(theta))) 
0023         BarrelLayers = cms.VPSet(
0024             ########### ECAL ###########
0025             cms.PSet(
0026                 radius = cms.untracked.double(129.0),
0027                 limits = cms.untracked.vdouble(0.0, 268.4),
0028                 thickness = cms.untracked.vdouble(1.),
0029                 interactionModels = cms.untracked.vstring(),
0030                 caloType = cms.untracked.string("ECAL")
0031             ),
0032             ########### ECAL (barrel cut corner) ###########
0033             cms.PSet(
0034                 radius = cms.untracked.double(152.6),
0035                 limits = cms.untracked.vdouble(268.4, 320.9),
0036                 thickness = cms.untracked.vdouble(1.),
0037                 interactionModels = cms.untracked.vstring(),
0038                 caloType = cms.untracked.string("ECAL")
0039             ),
0040             ########### HCAL ###########
0041             cms.PSet(
0042                 radius = cms.untracked.double(177.5),
0043                 limits = cms.untracked.vdouble(0.0, 335.0),
0044                 thickness = cms.untracked.vdouble(1.),
0045                 interactionModels = cms.untracked.vstring(),
0046                 caloType = cms.untracked.string("HCAL")
0047             ),
0048             ########### HCAL (barrel cut corner) ###########
0049             cms.PSet(
0050                 radius = cms.untracked.double(300.0),
0051                 limits = cms.untracked.vdouble(335.0, 400.458),
0052                 thickness = cms.untracked.vdouble(1.),
0053                 interactionModels = cms.untracked.vstring(),
0054                 caloType = cms.untracked.string("HCAL")
0055             ),
0056             ########### Acts as end of detector to speed up simulation ###########
0057             cms.PSet(
0058                 radius = cms.untracked.double(400.0),
0059                 limits = cms.untracked.vdouble(0., 1110.0),
0060                 thickness = cms.untracked.vdouble(0.),
0061                 interactionModels = cms.untracked.vstring(),
0062                 caloType = cms.untracked.string("VFCAL")
0063             ),
0064         ),
0065 
0066         EndcapLayers = cms.VPSet(
0067             ########### PreShowerLayer1 ###########
0068             cms.PSet(
0069                 z = cms.untracked.double(303.353),
0070                 limits = cms.untracked.vdouble(45., 125.),
0071                 thickness = cms.untracked.vdouble(1.),
0072                 interactionModels = cms.untracked.vstring(),
0073                 caloType = cms.untracked.string("PRESHOWER1")
0074             ),
0075             ########### PreShowerLayer2 ###########
0076             cms.PSet(
0077                 z = cms.untracked.double(307.838),
0078                 limits = cms.untracked.vdouble(45., 125.),
0079                 thickness = cms.untracked.vdouble(1.),
0080                 interactionModels = cms.untracked.vstring(),
0081                 caloType = cms.untracked.string("PRESHOWER2")
0082             ),
0083             ########### ECAL ###########
0084             cms.PSet(
0085                 z = cms.untracked.double(320.9),
0086                 limits = cms.untracked.vdouble(32.0, 152.6),
0087                 thickness = cms.untracked.vdouble(1.),
0088                 interactionModels = cms.untracked.vstring(),
0089                 caloType = cms.untracked.string("ECAL")
0090             ),
0091             ########### HCAL ###########
0092             cms.PSet(
0093                 z = cms.untracked.double(400.458),
0094                 limits = cms.untracked.vdouble(39.9, 300.),
0095                 thickness = cms.untracked.vdouble(1.),
0096                 interactionModels = cms.untracked.vstring(),
0097                 caloType = cms.untracked.string("HCAL")
0098             ),
0099             ########### VFCAL ###########
0100             cms.PSet(
0101                 z = cms.untracked.double(1110.0),
0102                 limits = cms.untracked.vdouble(12.2, 110.9),
0103                 thickness = cms.untracked.vdouble(1.),
0104                 interactionModels = cms.untracked.vstring(),
0105                 caloType = cms.untracked.string("VFCAL")
0106             ),
0107         )
0108     )
0109 )
0110     
0111 if hasattr(TrackerMaterialBlock.TrackerMaterial, 'magneticFieldZ'):
0112     CaloMaterialBlock.CaloMaterial.magneticFieldZ = TrackerMaterialBlock.TrackerMaterial.magneticFieldZ
0113