Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 # This is used to modify parameters for Run 2 (see bottom of file)
0004 
0005 #Global fast calorimetry parameters
0006 from FastSimulation.Calorimetry.HcalResponse_cfi import *
0007 from FastSimulation.Calorimetry.HSParameters_cfi import *
0008 from Geometry.HcalSimData.HFParameters_cff import *
0009 #from FastSimulation.Configuration.CommonInputs_cff import *
0010 
0011 from FastSimulation.Calorimetry.ECALResponse_cfi import *
0012 
0013 FamosCalorimetryBlock = cms.PSet(
0014     Calorimetry = cms.PSet(
0015         #ECALScaleBlock, # comment out to disable scaling
0016         HSParameterBlock,
0017         HCALResponseBlock,
0018         ECAL = cms.PSet(
0019             # See FastSimulation/CaloRecHitsProducer/python/CaloRecHits_cff.py 
0020             Digitizer = cms.untracked.bool(False),
0021             # If set to true the simulation in ECAL would be done 1X0 by 1X0
0022             # this is slow but more adapted to detailed studies.
0023             # Otherwise roughty 5 steps are used.
0024             bFixedLength = cms.bool(False),
0025             
0026             # For the core 10% of the spots for
0027             CoreIntervals = cms.vdouble(100.0, 0.1),
0028             # change the radius of the tail of the shower
0029             RTFactor = cms.double(1.0),
0030             # change the radius of the core of the shower
0031             RCFactor = cms.double(1.0),
0032             # For the tail 10% of r<1RM. 100% otherwise
0033             TailIntervals = cms.vdouble(1.0, 0.1, 100.0, 1.0),
0034             FrontLeakageProbability = cms.double(1.0),
0035             GridSize = cms.int32(7),
0036             # change globally the Moliere radius 
0037             
0038 
0039             ### changed after tuning - Feb - July - Shilpi Jain
0040             #RadiusFactor = cms.double(1.096),
0041             RadiusFactorEB = cms.double(1.096),
0042             RadiusFactorEE = cms.double(1.25),
0043             ### changed after tuning - Feb - July - Shilpi Jain
0044             
0045             RadiusPreshowerCorrections = cms.vdouble(0.137, 10.3), # default value for maxshower depth dependence-->works fine
0046             MipsinGeV = cms.vdouble(0.0001421,0.0000812), # increase in mipsinGeV by 75% only in layer1
0047             #SpotFraction < 0 <=> deactivated. In the case, CoreIntervals and 
0048             #TailIntervals are used   
0049             SpotFraction = cms.double(-1.0),
0050             GapLossProbability = cms.double(0.9),
0051             SimulatePreshower = cms.bool(True)
0052             ),
0053         ForwardCalorimeterProperties = cms.PSet(
0054             HadronicCalorimeterProperties= cms.PSet(
0055                 HCAL_Sampling = cms.double(0.0035),
0056                 # Watch out ! The following two values are defined wrt the electron shower simulation
0057                 # There are not directly related to the detector properties
0058                 HCAL_PiOverE = cms.double(0.2),
0059                 # HCAL_PiOverE = cms.double(0.4)
0060                 HCALAeff= cms.double(55.845),
0061                 HCALZeff= cms.double(26),
0062                 HCALrho= cms.double(7.87),
0063 
0064                 HCALradiationLengthIncm= cms.double(1.757),
0065                 HCALradLenIngcm2= cms.double(13.84),
0066                 HCALmoliereRadius= cms.double(1.719),
0067                 HCALcriticalEnergy= cms.double(21E-3),
0068                 HCALinteractionLength= cms.double(16.77),
0069 
0070                 HCALetatow=cms.vdouble( 0.000, 0.087, 0.174, 0.261, 0.348, 0.435, 0.522, 0.609, 0.696, 0.783, 0.870,    0.957, 1.044, 1.131, 1.218, 1.305, 1.392, 1.479, 1.566, 1.653, 1.740, 1.830,    1.930, 2.043, 2.172, 2.322, 2.500, 2.650, 2.853, 3.000, 3.139, 3.314, 3.489,    3.664, 3.839, 4.013, 4.191, 4.363, 4.538, 4.716, 4.889, 5.191),
0071                 #                  HCALDepthLam=cms.vdouble( 8.930, 9.001, 9.132, 8.912, 8.104, 8.571, 8.852, 9.230, 9.732, 10.29,          10.95, 11.68, 12.49, 12.57, 12.63,  6.449, 5.806, 8.973, 8.934,  8.823,          8.727, 8.641, 8.565, 8.496, 8.436, 8.383, 8.346, 8.307, 8.298,  8.281,          9.442, 9.437, 9.432, 9.429, 9.432, 9.433, 9.430, 9.437, 9.442, 9.446, 9.435)
0072                 HCALDepthLam=cms.vdouble(8.014, 8.078, 8.195, 7.998, 7.273, 7.692, 7.944, 8.283, 8.734, 9.235, 9.827, 10.482, 11.209, 11.281, 11.335, 5.788, 5.211, 8.053, 8.018, 7.918, 7.832, 7.755, 7.687, 7.625, 7.571, 7.523, 7.490, 7.455, 7.447, 7.432, 8.474, 8.469, 8.465, 8.462, 8.465, 8.466, 8.463, 8.469, 8.474, 8.477, 8.467)
0073                 ),
0074             ),
0075         CalorimeterProperties = cms.PSet(
0076             # triplet for each p value:  p, k_e(p), k_h(p) ...
0077             RespCorrP = cms.vdouble(1.0, 1.0, 1.0, 1000.0, 1.0, 1.0),  
0078             PreshowerLayer2_thickness = cms.double(0.38), # layer2 thickness back to original 
0079             ECALEndcap_LightCollection = cms.double(0.023),
0080             PreshowerLayer1_thickness = cms.double(1.65), # increase in thickness of layer 1 by 3%
0081             PreshowerLayer1_mipsPerGeV = cms.double(17.85),  # 50% decrease in mipsperGeV 
0082             PreshowerLayer2_mipsPerGeV = cms.double(59.5),
0083             ECALBarrel_LightCollection = cms.double(0.03),
0084             HadronicCalorimeterProperties= cms.PSet(
0085                 HCAL_Sampling = cms.double(0.0035),
0086                 # Watch out ! The following two values are defined wrt the electron shower simulation
0087                 # There are not directly related to the detector properties
0088                 HCAL_PiOverE = cms.double(0.2),
0089                 # HCAL_PiOverE = cms.double(0.4)
0090                 HCALAeff= cms.double(63.546),
0091                 HCALZeff= cms.double(29.),
0092                 HCALrho= cms.double(8.960),
0093                 
0094                 HCALradiationLengthIncm= cms.double(1.43),
0095                 HCALradLenIngcm2= cms.double(12.86),
0096                 HCALmoliereRadius= cms.double(1.712),
0097                 HCALcriticalEnergy= cms.double(18.63E-3),
0098                 HCALinteractionLength= cms.double(15.05),
0099                 
0100                 HCALetatow=cms.vdouble( 0.000, 0.087, 0.174, 0.261, 0.348, 0.435, 0.522, 0.609, 0.696, 0.783, 0.870,    0.957, 1.044, 1.131, 1.218, 1.305, 1.392, 1.479, 1.566, 1.653, 1.740, 1.830,    1.930, 2.043, 2.172, 2.322, 2.500, 2.650, 2.853, 3.000, 3.139, 3.314, 3.489,    3.664, 3.839, 4.013, 4.191, 4.363, 4.538, 4.716, 4.889, 5.191),
0101                 HCALDepthLam=cms.vdouble( 8.930, 9.001, 9.132, 8.912, 8.104, 8.571, 8.852, 9.230, 9.732, 10.29,          10.95, 11.68, 12.49, 12.57, 12.63,  6.449, 5.806, 8.973, 8.934,  8.823,          8.727, 8.641, 8.565, 8.496, 8.436, 8.383, 8.346, 8.307, 8.298,  8.281,          9.442, 9.437, 9.432, 9.429, 9.432, 9.433, 9.430, 9.437, 9.442, 9.446, 9.435)
0102                 ),
0103             
0104             BarrelCalorimeterProperties = cms.PSet(
0105 
0106                 #======  Geometrical material properties ========
0107                 
0108                 # Light Collection efficiency 
0109                 lightColl = cms.double(0.03),
0110                 # Light Collection uniformity
0111                 lightCollUnif = cms.double(0.003),
0112                 # Photostatistics (photons/GeV) in the homegeneous material
0113                 photoStatistics = cms.double(50.E3),
0114                 # Thickness of the detector in cm
0115                 thickness = cms.double(23.0),
0116 
0117                 #====== Global parameters of the material ========
0118 
0119                 # Interaction length in cm
0120                 interactionLength  = cms.double(18.5),
0121                 Aeff = cms.double(170.87),
0122                 Zeff = cms.double(68.36),
0123                 rho = cms.double(8.280),
0124                 # Radiation length in g/cm^2
0125                 radLenIngcm2 = cms.double(7.37),
0126 
0127                 # ===== Those parameters might be entered by hand
0128                 # or calculated out of the previous ones 
0129 
0130                 # Radiation length in cm. If value set to -1, FastSim uses internally the
0131                 # formula radLenIngcm2/rho
0132                 radLenIncm = cms.double(0.89), 
0133                 # Critical energy in GeV. If value set to -1, FastSim uses internally the
0134                 # formula (2.66E-3*(x0*Z/A)^1.1): 8.74E-3 for ECAL EndCap
0135                 criticalEnergy = cms.double(8.74E-3),
0136                 # Moliere Radius in cm.If value set to -1, FastSim uses internally the
0137                 # formula : Es/criticalEnergy*X0 with Es=sqrt(4*Pi/alphaEM)*me*c^2=0.0212 GeV
0138                 # This value is known to be 2.190 cm for ECAL Endcap, but the formula gives 2.159 cm
0139                 moliereRadius = cms.double(2.190),
0140 
0141                 #====== Parameters for sampling ECAL ========
0142 
0143                 # Sampling Fraction: Fs = X0eff/(da+dp) where X0eff is the average X0
0144                 # of the active and passive media and da/dp their thicknesses
0145                 Fs = cms.double(0.0),
0146 
0147                 # e/mip for the calorimeter. May be estimated by 1./(1+0.007*(Zp-Za))
0148                 ehat = cms.double(0.0),
0149 
0150                 # a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
0151                 # it is used to generate Nspots in radial profiles.
0152                 resE = cms.double(1.),
0153 
0154                 # the width in cm of the active layer
0155                 da = cms.double(0.2),
0156 
0157                 # the width in cm of the passive layer
0158                 dp = cms.double(0.8),
0159 
0160                 # Is a homogenious detector?
0161                 bHom = cms.bool(True),
0162 
0163                 # Activate the LogDebug
0164                 debug = cms.bool(False)
0165 
0166                 ),
0167             
0168             EndcapCalorimeterProperties = cms.PSet(
0169 
0170                 #======  Geometrical material properties ========
0171                 
0172                 # Light Collection efficiency 
0173                 lightColl = cms.double(0.023),
0174                 # Light Collection uniformity
0175                 lightCollUnif = cms.double(0.003),
0176                 # Photostatistics (photons/GeV) in the homegeneous material
0177                 photoStatistics = cms.double(50.E3),
0178                 # Thickness of the detector in cm
0179                 thickness = cms.double(22.0),
0180 
0181                 #====== Global parameters of the material ========
0182 
0183                 # Interaction length in cm
0184                 interactionLength  = cms.double(18.5),
0185                 Aeff = cms.double(170.87),
0186                 Zeff = cms.double(68.36),
0187                 rho = cms.double(8.280),
0188                 # Radiation length in g/cm^2
0189                 radLenIngcm2 = cms.double(7.37),
0190 
0191                 # ===== Those parameters might be entered by hand
0192                 # or calculated out of the previous ones 
0193 
0194                 # Radiation length in cm. If value set to -1, FastSim uses internally the
0195                 # formula radLenIngcm2/rho
0196                 radLenIncm = cms.double(0.89), 
0197                 # Critical energy in GeV. If value set to -1, FastSim uses internally the
0198                 # formula (2.66E-3*(x0*Z/A)^1.1): 8.74E-3 for ECAL EndCap
0199                 criticalEnergy = cms.double(8.74E-3),
0200                 # Moliere Radius in cm.If value set to -1, FastSim uses internally the
0201                 # formula : Es/criticalEnergy*X0 with Es=sqrt(4*Pi/alphaEM)*me*c^2=0.0212 GeV
0202                 # This value is known to be 2.190 cm for ECAL Endcap, but the formula gives 2.159 cm
0203                 moliereRadius = cms.double(2.190),
0204 
0205 
0206                 #====== Parameters for sampling ECAL ========
0207 
0208                 # Sampling Fraction: Fs = X0eff/(da+dp) where X0eff is the average X0
0209                 # of the active and passive media and da/dp their thicknesses
0210                 Fs = cms.double(0.0),
0211 
0212                 # e/mip for the calorimeter. May be estimated by 1./(1+0.007*(Zp-Za))
0213                 ehat = cms.double(0.0),
0214 
0215                 # a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
0216                 # it is used to generate Nspots in radial profiles.
0217                 resE = cms.double(1.),
0218 
0219                 # the width in cm of the active layer
0220                 da = cms.double(0.2),
0221 
0222                 # the width in cm of the passive layer
0223                 dp = cms.double(0.8),
0224 
0225                 # Is a homogenious detector?
0226                 bHom = cms.bool(True),
0227 
0228                 # Activate the LogDebug
0229                 debug = cms.bool(False)
0230 
0231                 )
0232 
0233             ),
0234         Debug = cms.untracked.bool(False),
0235         useDQM = cms.untracked.bool(False),
0236         #        EvtsToDebug = cms.untracked.vuint32(487),
0237         HCAL = cms.PSet(
0238             SimMethod = cms.int32(0), ## 0 - use HDShower, 1 - use HDRShower, 2 - GFLASH
0239             GridSize = cms.int32(7),
0240             #-- 0 - simple response, 1 - parametrized response + showering, 2 - tabulated response + showering
0241             SimOption = cms.int32(2),
0242             Digitizer = cms.untracked.bool(False),
0243             
0244             samplingHBHE = cms.vdouble(125.44, 125.54, 125.32, 125.13, 124.46,
0245                                        125.01, 125.22, 125.48, 124.45, 125.90,
0246                                        125.83, 127.01, 126.82, 129.73, 131.83,
0247                                        143.52, # HB
0248                                        210.55, 197.93, 186.12, 189.64, 189.63,
0249                                        190.28, 189.61, 189.60, 190.12, 191.22,
0250                                        190.90, 193.06, 188.42, 188.42), #HE
0251             samplingHF   = cms.vdouble(0.383, 0.368),
0252             samplingHO   = cms.vdouble(231.0, 231.0, 231.0, 231.0, 360.0, 
0253                                        360.0, 360.0, 360.0, 360.0, 360.0,
0254                                        360.0, 360.0, 360.0, 360.0, 360.0),
0255 
0256             ietaShiftHB = cms.int32(1),
0257             timeShiftHB = cms.vdouble(6.9, 6.9, 7.1, 7.1, 7.3, 7.5, 7.9, 8.3, 8.7, 9.1, 9.5, 10.3, 10.9, 11.5, 12.3, 14.1),
0258             ietaShiftHE = cms.int32(16),
0259             timeShiftHE = cms.vdouble(16.9, 15.7, 15.3, 15.3, 15.1, 14.9, 14.7, 14.7, 14.5, 14.5, 14.3, 14.3, 14.5, 13.9),
0260             ietaShiftHO = cms.int32(1),
0261             timeShiftHO = cms.vdouble(13.7, 13.7, 13.9, 14.1, 15.1, 15.7, 16.5, 17.3, 18.1, 19.1, 20.3, 21.9, 23.3, 25.5, 26.1),
0262             ietaShiftHF = cms.int32(29),
0263             timeShiftHF = cms.vdouble(50.7, 52.5, 52.9, 53.9, 54.5, 55.1, 55.1, 55.7, 55.9, 56.1, 56.1, 56.1, 56.5),
0264             ),
0265         HFShower           = cms.PSet(
0266             HFShowerBlock  = cms.PSet(refToPSet_ = cms.string("HFShowerBlock"))
0267             ),
0268         HFShowerLibrary    = cms.PSet(
0269             useShowerLibrary = cms.untracked.bool(True),
0270             useCorrectionSL  = cms.untracked.bool(True),
0271             ApplyFiducialCut = cms.bool(True),
0272             HFLibraryFileBlock = cms.PSet(refToPSet_ = cms.string("HFLibraryFileBlock"))
0273             )
0274         ),
0275     GFlash = cms.PSet(
0276         GflashExportToFastSim = cms.bool(True),
0277         GflashHadronPhysics = cms.string('QGSP_BERT'),
0278         GflashEMShowerModel = cms.bool(False),
0279         GflashHadronShowerModel = cms.bool(True),
0280         GflashHcalOuter = cms.bool(False),
0281         GflashHistogram = cms.bool(False),
0282         GflashHistogramName = cms.string('gflash_histogram.root'),
0283         Verbosity = cms.untracked.int32(0),
0284         bField = cms.double(3.8),
0285         watcherOn = cms.bool(False),
0286         tuning_pList = cms.vdouble()
0287         )
0288     )
0289 
0290 FamosCalorimetryBlock.Calorimetry.ECAL.Digitizer = True
0291 FamosCalorimetryBlock.Calorimetry.HCAL.Digitizer = True
0292 
0293 from Configuration.Eras.Modifier_run2_common_cff import run2_common