Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:30:02

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 process = cms.Process("Sim")
0004 process.load("SimG4CMS.Calo.PythiaMinBias_cfi")
0005 
0006 process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi")
0007 
0008 process.load("IOMC.EventVertexGenerators.VtxSmearedGauss_cfi")
0009 
0010 process.load('Configuration/StandardSequences/Generator_cff')
0011 
0012 process.load("Geometry.CMSCommonData.cmsIdealGeometryXML_cfi")
0013 process.load("Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cfi")
0014 process.load("Geometry.EcalCommonData.ecalSimulationParameters_cff")
0015 process.load("Geometry.HcalCommonData.hcalDDConstants_cff")
0016 process.load("Geometry.MuonNumbering.muonGeometryConstants_cff")
0017 process.load("Geometry.MuonNumbering.muonOffsetESProducer_cff")
0018 
0019 process.load("Configuration.StandardSequences.MagneticField_cff")
0020 
0021 process.load("SimG4Core.Application.g4SimHits_cfi")
0022 
0023 process.load("SimG4CMS.Calo.CaloSimHitStudy_cfi")
0024 
0025 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0026 from Configuration.AlCa.autoCond import autoCond
0027 process.GlobalTag.globaltag = autoCond['run1_mc']
0028 
0029 process.source = cms.Source("EmptySource")
0030 
0031 process.maxEvents = cms.untracked.PSet(
0032     input = cms.untracked.int32(50)
0033 )
0034 
0035 process.MessageLogger = cms.Service("MessageLogger",
0036     destinations = cms.untracked.vstring('cout'),
0037     categories = cms.untracked.vstring('SimG4CoreSensitiveDetector', 
0038         'SimG4CoreGeometry', 'SimG4CoreApplication', 'MagneticField',
0039         'ForwardSim', 'TrackerSimInfo',
0040         'TrackerSimInfoNumbering', 'TrackerMapDDDtoID',
0041         'CaloSim', 'EcalGeom', 'EcalSim',
0042         'HCalGeom', 'HcalSim', 'HFShower', 'BscSim'),
0043     debugModules = cms.untracked.vstring('*'),
0044     cout = cms.untracked.PSet(
0045         threshold = cms.untracked.string('INFO'),
0046         default = cms.untracked.PSet(
0047             limit = cms.untracked.int32(-1)
0048         ),
0049         SimG4CoreSensitiveDetector = cms.untracked.PSet(
0050             limit = cms.untracked.int32(0)
0051         ),
0052         SimG4CoreApplication = cms.untracked.PSet(
0053             limit = cms.untracked.int32(0)
0054         ),
0055         SimG4CoreGeometry = cms.untracked.PSet(
0056             limit = cms.untracked.int32(0)
0057         ),
0058         MagneticField = cms.untracked.PSet(
0059             limit = cms.untracked.int32(0)
0060         ),
0061         ForwardSim = cms.untracked.PSet(
0062             limit = cms.untracked.int32(-1)
0063         ),
0064         TrackerSimInfo = cms.untracked.PSet(
0065             limit = cms.untracked.int32(0)
0066         ),
0067         TrackerSimInfoNumbering = cms.untracked.PSet(
0068             limit = cms.untracked.int32(0)
0069         ),
0070         TrackerMapDDDtoID = cms.untracked.PSet(
0071             limit = cms.untracked.int32(0)
0072         ),
0073         CaloSim = cms.untracked.PSet(
0074             limit = cms.untracked.int32(0)
0075         ),
0076         EcalGeom = cms.untracked.PSet(
0077             limit = cms.untracked.int32(0)
0078         ),
0079         EcalSim = cms.untracked.PSet(
0080             limit = cms.untracked.int32(0)
0081         ),
0082         HCalGeom = cms.untracked.PSet(
0083             limit = cms.untracked.int32(0)
0084         ),
0085         HcalSim = cms.untracked.PSet(
0086             limit = cms.untracked.int32(0)
0087         ),
0088         HFShower = cms.untracked.PSet(
0089             limit = cms.untracked.int32(0)
0090         ),
0091         BscSim = cms.untracked.PSet(
0092             limit = cms.untracked.int32(0)
0093         )
0094     )
0095 )
0096 
0097 process.Timing = cms.Service("Timing")
0098 
0099 process.SimpleMemoryCheck = cms.Service("SimpleMemoryCheck",
0100     oncePerEventMode = cms.untracked.bool(True),
0101     showMallocInfo = cms.untracked.bool(True),
0102     dump = cms.untracked.bool(True),
0103     ignoreTotal = cms.untracked.int32(1)
0104 )
0105 
0106 process.load("IOMC.RandomEngine.IOMC_cff")
0107 process.RandomNumberGeneratorService.generator.initialSeed = 456789
0108 process.RandomNumberGeneratorService.g4SimHits.initialSeed = 9876
0109 process.RandomNumberGeneratorService.VtxSmeared.initialSeed = 123456789
0110 process.rndmStore = cms.EDProducer("RandomEngineStateProducer")
0111 
0112 process.TFileService = cms.Service("TFileService",
0113     fileName = cms.string('minbias1_QGSP_BERT_EML.root')
0114 )
0115 
0116 process.ProductionFilterSequence = cms.Sequence(process.generator)
0117 
0118 # Event output
0119 process.load("Configuration.EventContent.EventContent_cff")
0120 
0121 process.o1 = cms.OutputModule("PoolOutputModule",
0122     process.FEVTSIMEventContent,
0123     fileName = cms.untracked.string('simevent_minbias1_QGSP_BERT_EML.root')
0124 )
0125 
0126 process.p1 = cms.Path(process.generator*process.VtxSmeared*process.generatorSmeared*process.g4SimHits*process.CaloSimHitStudy*process.rndmStore)
0127 process.outpath = cms.EndPath(process.o1)
0128 process.generator.pythiaHepMCVerbosity = False
0129 process.generator.pythiaPylistVerbosity = 0
0130 process.g4SimHits.Physics.type = 'SimG4Core/Physics/QGSP_BERT_EML'
0131 # process.g4SimHits.HCalSD.UseShowerLibrary   = False
0132 # process.g4SimHits.HCalSD.UseParametrize     = True
0133 # process.g4SimHits.HCalSD.UsePMTHits         = True
0134 # process.g4SimHits.HCalSD.UseFibreBundleHits = True
0135 # process.g4SimHits.HFShower.UseShowerLibrary = False
0136 # process.g4SimHits.HFShower.UseHFGflash      = True
0137 # process.g4SimHits.HFShower.TrackEM          = False
0138 # process.g4SimHits.HFShower.OnlyLong         = True
0139 # process.g4SimHits.HFShower.EminLibrary      = 0.0
0140  
0141 process.g4SimHits.CastorSD.useShowerLibrary = True
0142 process.g4SimHits.CastorSD.minEnergyInGeVforUsingSLibrary = 1.0   # default = 1.0
0143 process.g4SimHits.Generator.MinEtaCut = -7.0
0144 
0145 process.common_maximum_timex = cms.PSet( # need to be localy redefined
0146    MaxTrackTime  = cms.double(500.0),  # need to be localy redefined
0147    MaxTrackTimeForward = cms.double(2000.0), # ns
0148    MaxTimeNames  = cms.vstring('ZDCRegion','QuadRegion','InterimRegion'), # need to be localy redefined
0149    MaxTrackTimes = cms.vdouble(2000.0,0.,0.),  # need to be localy redefined
0150    MaxZCentralCMS = cms.double(50.0), # m
0151    DeadRegions   = cms.vstring('QuadRegion','InterimRegion'),
0152    CriticalEnergyForVacuum = cms.double(2.0),   # MeV
0153    CriticalDensity         = cms.double(1e-15)  # g/cm3
0154 )
0155 
0156 process.g4SimHits.StackingAction = cms.PSet(
0157    process.common_heavy_suppression,
0158    process.common_maximum_timex,        # need to be localy redefined
0159    KillDeltaRay  = cms.bool(False),
0160    TrackNeutrino = cms.bool(False),
0161    KillHeavy     = cms.bool(False),
0162    KillGamma     = cms.bool(True),
0163    GammaThreshold = cms.double(0.0001), ## (MeV)
0164    SaveFirstLevelSecondary = cms.untracked.bool(True),
0165    SavePrimaryDecayProductsAndConversionsInTracker = cms.untracked.bool(True),
0166    SavePrimaryDecayProductsAndConversionsInCalo    = cms.untracked.bool(True),
0167    SavePrimaryDecayProductsAndConversionsInMuon    = cms.untracked.bool(True),
0168    RusRoGammaEnergyLimit  = cms.double(5.0), ## (MeV)
0169    RusRoEcalGamma         = cms.double(0.3),
0170    RusRoHcalGamma         = cms.double(0.3),
0171    RusRoMuonIronGamma     = cms.double(0.3),
0172    RusRoPreShowerGamma    = cms.double(0.3),
0173    RusRoCastorGamma       = cms.double(0.3),
0174    RusRoWorldGamma        = cms.double(0.3),
0175    RusRoNeutronEnergyLimit  = cms.double(10.0), ## (MeV)
0176    RusRoEcalNeutron         = cms.double(0.1),
0177    RusRoHcalNeutron         = cms.double(0.1),
0178    RusRoMuonIronNeutron     = cms.double(0.1),
0179    RusRoPreShowerNeutron    = cms.double(0.1),
0180    RusRoCastorNeutron       = cms.double(0.1),
0181    RusRoWorldNeutron        = cms.double(0.1),
0182    RusRoProtonEnergyLimit  = cms.double(0.0),
0183    RusRoEcalProton         = cms.double(1.0),
0184    RusRoHcalProton         = cms.double(1.0),
0185    RusRoMuonIronProton     = cms.double(1.0),
0186    RusRoPreShowerProton    = cms.double(1.0),
0187    RusRoCastorProton       = cms.double(1.0),
0188    RusRoWorldProton        = cms.double(1.0)
0189 )
0190 
0191 process.g4SimHits.SteppingAction = cms.PSet(
0192    process.common_maximum_timex, # need to be localy redefined
0193    MaxNumberOfSteps        = cms.int32(50000),
0194    EkinNames               = cms.vstring(),
0195    EkinThresholds          = cms.vdouble(),
0196    EkinParticles           = cms.vstring(),
0197    Verbosity               = cms.untracked.int32(1)
0198 )
0199 
0200 process.g4SimHits.Watchers = cms.VPSet(cms.PSet(
0201     CheckForHighEtPhotons = cms.untracked.bool(False),
0202     TrackMin     = cms.untracked.int32(0),
0203     TrackMax     = cms.untracked.int32(9999999),
0204     TrackStep    = cms.untracked.int32(1),
0205     EventMin     = cms.untracked.int32(0),
0206     EventMax     = cms.untracked.int32(0),
0207     EventStep    = cms.untracked.int32(1),
0208     PDGids       = cms.untracked.vint32(),
0209     VerboseLevel = cms.untracked.int32(0),
0210     G4Verbose    = cms.untracked.bool(True),
0211     DEBUG        = cms.untracked.bool(False),
0212     type      = cms.string('TrackingVerboseAction')
0213 ))