CMS 3D CMS Logo

fastSimProducer_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 from FastSimulation.Event.ParticleFilter_cfi import ParticleFilterBlock
4 from FastSimulation.SimplifiedGeometryPropagator.TrackerMaterial_cfi import TrackerMaterialBlock
5 from FastSimulation.SimplifiedGeometryPropagator.CaloMaterial_cfi import CaloMaterialBlock # Hack to interface "old" calorimetry with "new" propagation in tracker
8 
9 fastSimProducer = cms.EDProducer(
10  "FastSimProducer",
11  src = cms.InputTag("generatorSmeared"),
12  particleFilter = ParticleFilterBlock.ParticleFilter,
13  trackerDefinition = TrackerMaterialBlock.TrackerMaterial,
14  simulateCalorimetry = cms.bool(True),
15  simulateMuons = cms.bool(True),
16  caloDefinition = CaloMaterialBlock.CaloMaterial, # Hack to interface "old" calorimetry with "new" propagation in tracker
17  beamPipeRadius = cms.double(3.),
18  deltaRchargedMother = cms.double(0.02), # Maximum angle to associate a charged daughter to a charged mother (mostly done to associate muons to decaying pions)
19  interactionModels = cms.PSet(
20  pairProduction = cms.PSet(
21  className = cms.string("fastsim::PairProduction"),
22  photonEnergyCut = cms.double(0.1),
23  # silicon
24  Z = cms.double(14.0000)
25  ),
26  nuclearInteraction = cms.PSet(
27  className = cms.string("fastsim::NuclearInteraction"),
28  distCut = cms.double(0.020),
29  hadronEnergy = cms.double(0.2), # the smallest momentum for elastic interactions
30  # inputFile = cms.string("NuclearInteractionInputFile.txt"), # the file to read the starting interaction in each files (random reproducibility in case of a crash)
31  ),
32  #nuclearInteractionFTF = cms.PSet(
33  # className = cms.string("fastsim::NuclearInteractionFTF"),
34  # distCut = cms.double(0.020),
35  # bertiniLimit = cms.double(3.5), # upper energy limit for the Bertini cascade
36  # energyLimit = cms.double(0.1), # Kinetic energy threshold for secondaries
37  # ),
38  bremsstrahlung = cms.PSet(
39  className = cms.string("fastsim::Bremsstrahlung"),
40  minPhotonEnergy = cms.double(0.1),
41  minPhotonEnergyFraction = cms.double(0.005),
42  # silicon
43  Z = cms.double(14.0000)
44  ),
45  #muonBremsstrahlung = cms.PSet(
46  # className = cms.string("fastsim::MuonBremsstrahlung"),
47  # minPhotonEnergy = cms.double(0.1),
48  # minPhotonEnergyFraction = cms.double(0.005),
49  # # silicon
50  # A = cms.double(28.0855),
51  # Z = cms.double(14.0000),
52  # density = cms.double(2.329),
53  # radLen = cms.double(9.360)
54  # ),
55  energyLoss = cms.PSet(
56  className = cms.string("fastsim::EnergyLoss"),
57  minMomentumCut = cms.double(0.1),
58  # silicon
59  A = cms.double(28.0855),
60  Z = cms.double(14.0000),
61  density = cms.double(2.329),
62  radLen = cms.double(9.360)
63  ),
64  multipleScattering = cms.PSet(
65  className = cms.string("fastsim::MultipleScattering"),
66  minPt = cms.double(0.2),
67  # silicon
68  radLen = cms.double(9.360)
69  ),
70  trackerSimHits = cms.PSet(
71  className = cms.string("fastsim::TrackerSimHitProducer"),
72  minMomentumCut = cms.double(0.1),
73  doHitsFromInboundParticles = cms.bool(False), # Track reconstruction not possible for those particles so hits do not have to be simulated
74  ),
75  ),
76  Calorimetry = FamosCalorimetryBlock.Calorimetry,
77  MaterialEffectsForMuonsInECAL = MaterialEffectsForMuonsInECALBlock.MaterialEffectsForMuonsInECAL,
78  MaterialEffectsForMuonsInHCAL = MaterialEffectsForMuonsInHCALBlock.MaterialEffectsForMuonsInHCAL,
79  GFlash = FamosCalorimetryBlock.GFlash,
80 )