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.Event.ParticleFilter_cfi import  ParticleFilterBlock
0004 from FastSimulation.SimplifiedGeometryPropagator.TrackerMaterial_cfi import TrackerMaterialBlock
0005 from FastSimulation.SimplifiedGeometryPropagator.CaloMaterial_cfi import CaloMaterialBlock # Hack to interface "old" calorimetry with "new" propagation in tracker
0006 from FastSimulation.Calorimetry.Calorimetry_cff import *
0007 from FastSimulation.MaterialEffects.MaterialEffects_cfi import *
0008 
0009 fastSimProducer = cms.EDProducer(
0010     "FastSimProducer",
0011     src = cms.InputTag("generatorSmeared"),
0012     particleFilter =  ParticleFilterBlock.ParticleFilter,
0013     trackerDefinition = TrackerMaterialBlock.TrackerMaterial,
0014     simulateCalorimetry = cms.bool(True),
0015     simulateMuons = cms.bool(True),
0016     useFastSimsDecayer = cms.bool(False),
0017     caloDefinition = CaloMaterialBlock.CaloMaterial, #  Hack to interface "old" calorimetry with "new" propagation in tracker
0018     beamPipeRadius = cms.double(3.),
0019     deltaRchargedMother = cms.double(0.02), # Maximum angle to associate a charged daughter to a charged mother (mostly done to associate muons to decaying pions)
0020     interactionModels = cms.PSet(
0021             pairProduction = cms.PSet(
0022                 className = cms.string("fastsim::PairProduction"),
0023                 photonEnergyCut = cms.double(0.1),
0024                 # silicon
0025                 Z = cms.double(14.0000)
0026                 ),
0027             nuclearInteraction = cms.PSet(
0028                 className = cms.string("fastsim::NuclearInteraction"),
0029                 distCut = cms.double(0.020),
0030                 hadronEnergy = cms.double(0.2), # the smallest momentum for elastic interactions
0031                 # inputFile = cms.string("NuclearInteractionInputFile.txt"), # the file to read the starting interaction in each files (random reproducibility in case of a crash)
0032                 ),
0033             #nuclearInteractionFTF = cms.PSet(
0034             #    className = cms.string("fastsim::NuclearInteractionFTF"),
0035             #    distCut = cms.double(0.020),
0036             #    bertiniLimit = cms.double(3.5), # upper energy limit for the Bertini cascade 
0037             #    energyLimit = cms.double(0.1), # Kinetic energy threshold for secondaries 
0038             #    ),
0039             bremsstrahlung = cms.PSet(
0040                 className = cms.string("fastsim::Bremsstrahlung"),
0041                 minPhotonEnergy = cms.double(0.1),
0042                 minPhotonEnergyFraction = cms.double(0.005),
0043                 # silicon
0044                 Z = cms.double(14.0000)
0045                 ),
0046             #muonBremsstrahlung = cms.PSet(
0047             #    className = cms.string("fastsim::MuonBremsstrahlung"),
0048             #    minPhotonEnergy = cms.double(0.1),
0049             #    minPhotonEnergyFraction = cms.double(0.005),
0050             #    # silicon
0051             #    A = cms.double(28.0855),
0052             #    Z = cms.double(14.0000),
0053             #    density = cms.double(2.329),
0054             #    radLen = cms.double(9.360)
0055             #    ),
0056             energyLoss = cms.PSet(
0057                 className = cms.string("fastsim::EnergyLoss"),
0058                 minMomentumCut = cms.double(0.1),
0059                 # silicon
0060                 A = cms.double(28.0855),
0061                 Z = cms.double(14.0000),
0062                 density = cms.double(2.329),
0063                 radLen = cms.double(9.360)
0064                 ),
0065             multipleScattering = cms.PSet(
0066                 className = cms.string("fastsim::MultipleScattering"),
0067                 minPt = cms.double(0.2),
0068                 # silicon
0069                 radLen = cms.double(9.360)
0070                 ),
0071             trackerSimHits = cms.PSet(
0072                 className = cms.string("fastsim::TrackerSimHitProducer"),
0073                 minMomentumCut = cms.double(0.1),
0074                 doHitsFromInboundParticles = cms.bool(False), # Track reconstruction not possible for those particles so hits do not have to be simulated
0075                 ),    
0076         ),
0077     Calorimetry = FamosCalorimetryBlock.Calorimetry,
0078     MaterialEffectsForMuonsInECAL = MaterialEffectsForMuonsInECALBlock.MaterialEffectsForMuonsInECAL,
0079     MaterialEffectsForMuonsInHCAL = MaterialEffectsForMuonsInHCALBlock.MaterialEffectsForMuonsInHCAL,
0080     GFlash = FamosCalorimetryBlock.GFlash,
0081 )