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  useFastSimsDecayer = cms.bool(False),
17  caloDefinition = CaloMaterialBlock.CaloMaterial, # Hack to interface "old" calorimetry with "new" propagation in tracker
18  beamPipeRadius = cms.double(3.),
19  deltaRchargedMother = cms.double(0.02), # Maximum angle to associate a charged daughter to a charged mother (mostly done to associate muons to decaying pions)
20  interactionModels = cms.PSet(
21  pairProduction = cms.PSet(
22  className = cms.string("fastsim::PairProduction"),
23  photonEnergyCut = cms.double(0.1),
24  # silicon
25  Z = cms.double(14.0000)
26  ),
27  nuclearInteraction = cms.PSet(
28  className = cms.string("fastsim::NuclearInteraction"),
29  distCut = cms.double(0.020),
30  hadronEnergy = cms.double(0.2), # the smallest momentum for elastic interactions
31  # inputFile = cms.string("NuclearInteractionInputFile.txt"), # the file to read the starting interaction in each files (random reproducibility in case of a crash)
32  ),
33  #nuclearInteractionFTF = cms.PSet(
34  # className = cms.string("fastsim::NuclearInteractionFTF"),
35  # distCut = cms.double(0.020),
36  # bertiniLimit = cms.double(3.5), # upper energy limit for the Bertini cascade
37  # energyLimit = cms.double(0.1), # Kinetic energy threshold for secondaries
38  # ),
39  bremsstrahlung = cms.PSet(
40  className = cms.string("fastsim::Bremsstrahlung"),
41  minPhotonEnergy = cms.double(0.1),
42  minPhotonEnergyFraction = cms.double(0.005),
43  # silicon
44  Z = cms.double(14.0000)
45  ),
46  #muonBremsstrahlung = cms.PSet(
47  # className = cms.string("fastsim::MuonBremsstrahlung"),
48  # minPhotonEnergy = cms.double(0.1),
49  # minPhotonEnergyFraction = cms.double(0.005),
50  # # silicon
51  # A = cms.double(28.0855),
52  # Z = cms.double(14.0000),
53  # density = cms.double(2.329),
54  # radLen = cms.double(9.360)
55  # ),
56  energyLoss = cms.PSet(
57  className = cms.string("fastsim::EnergyLoss"),
58  minMomentumCut = cms.double(0.1),
59  # silicon
60  A = cms.double(28.0855),
61  Z = cms.double(14.0000),
62  density = cms.double(2.329),
63  radLen = cms.double(9.360)
64  ),
65  multipleScattering = cms.PSet(
66  className = cms.string("fastsim::MultipleScattering"),
67  minPt = cms.double(0.2),
68  # silicon
69  radLen = cms.double(9.360)
70  ),
71  trackerSimHits = cms.PSet(
72  className = cms.string("fastsim::TrackerSimHitProducer"),
73  minMomentumCut = cms.double(0.1),
74  doHitsFromInboundParticles = cms.bool(False), # Track reconstruction not possible for those particles so hits do not have to be simulated
75  ),
76  ),
77  Calorimetry = FamosCalorimetryBlock.Calorimetry,
78  MaterialEffectsForMuonsInECAL = MaterialEffectsForMuonsInECALBlock.MaterialEffectsForMuonsInECAL,
79  MaterialEffectsForMuonsInHCAL = MaterialEffectsForMuonsInHCALBlock.MaterialEffectsForMuonsInHCAL,
80  GFlash = FamosCalorimetryBlock.GFlash,
81 )