File indexing completed on 2025-06-06 01:33:43
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 import FWCore.ParameterSet.Config as cms
0013 import os, sys, importlib, re
0014 import FWCore.ParameterSet.VarParsing as VarParsing
0015
0016
0017
0018 options = VarParsing.VarParsing('standard')
0019 options.register('geometry',
0020 "D110",
0021 VarParsing.VarParsing.multiplicity.singleton,
0022 VarParsing.VarParsing.varType.string,
0023 "geometry of operations: D95, D96, D98, D99, D100, D101, D102, D103, D104, D105, D106, D107, D108, D109, D110, D111, D112, D113, D114, D115, D116, D117, D118, D119, D120, D121, D122, D123")
0024 options.register('type',
0025 "DDD",
0026 VarParsing.VarParsing.multiplicity.singleton,
0027 VarParsing.VarParsing.varType.string,
0028 "type of operations: DDD, DD4hep")
0029
0030
0031 options.parseArguments()
0032
0033 print(options)
0034
0035
0036
0037
0038 geomName = "Run4" + options.geometry
0039 import Configuration.Geometry.defaultPhase2ConditionsEra_cff as _settings
0040 GLOBAL_TAG, ERA = _settings.get_era_and_conditions(geomName)
0041 print("Geometry Name: ", geomName)
0042 print("Global Tag Name: ", GLOBAL_TAG)
0043 print("Era Name: ", ERA)
0044
0045 if (options.type == "DD4hep"):
0046 from Configuration.ProcessModifiers.dd4hep_cff import dd4hep
0047 process = cms.Process('G4PrintGeometry',ERA,dd4hep)
0048 geomFile = "Configuration.Geometry.GeometryDD4hepExtended" + geomName + "Reco_cff"
0049 dd4hep = True
0050 else:
0051 process = cms.Process('G4PrintGeometry',ERA)
0052 geomFile = "Configuration.Geometry.GeometryExtended" + geomName + "Reco_cff"
0053 dd4hep = False
0054
0055 print("Geometry file Name: ", geomFile)
0056 print("dd4hep: ", dd4hep)
0057
0058 process.load(geomFile)
0059 process.load('FWCore.MessageService.MessageLogger_cfi')
0060
0061 process.MessageLogger.G4cout=dict()
0062
0063
0064 process.maxEvents = cms.untracked.PSet(
0065 input = cms.untracked.int32(1)
0066 )
0067
0068 process.load('SimGeneral.HepPDTESSource.pdt_cfi')
0069 process.load('IOMC.EventVertexGenerators.VtxSmearedFlat_cfi')
0070 process.load('GeneratorInterface.Core.generatorSmeared_cfi')
0071
0072 process.source = cms.Source("EmptySource")
0073
0074 process.generator = cms.EDProducer("FlatRandomPtGunProducer",
0075 PGunParameters = cms.PSet(
0076 PartID = cms.vint32(13),
0077 MinEta = cms.double(-2.5),
0078 MaxEta = cms.double(2.5),
0079 MinPhi = cms.double(-3.14159265359),
0080 MaxPhi = cms.double(3.14159265359),
0081 MinPt = cms.double(9.99),
0082 MaxPt = cms.double(10.01)
0083 ),
0084 AddAntiParticle = cms.bool(False),
0085 Verbosity = cms.untracked.int32(0),
0086 firstRun = cms.untracked.uint32(1)
0087 )
0088
0089 process.RandomNumberGeneratorService = cms.Service("RandomNumberGeneratorService",
0090 generator = cms.PSet(
0091 initialSeed = cms.untracked.uint32(123456789),
0092 engineName = cms.untracked.string('HepJamesRandom')
0093 ),
0094 VtxSmeared = cms.PSet(
0095 engineName = cms.untracked.string('HepJamesRandom'),
0096 initialSeed = cms.untracked.uint32(98765432)
0097 ),
0098 g4SimHits = cms.PSet(
0099 initialSeed = cms.untracked.uint32(11),
0100 engineName = cms.untracked.string('HepJamesRandom')
0101 )
0102 )
0103
0104 process.load('SimG4Core.Application.g4SimHits_cfi')
0105
0106 process.p1 = cms.Path(process.generator*process.VtxSmeared*process.generatorSmeared*process.g4SimHits)
0107
0108 process.g4SimHits.UseMagneticField = False
0109 process.g4SimHits.Physics.DefaultCutValue = 10.
0110 process.g4SimHits.Watchers = cms.VPSet(cms.PSet(
0111 Name = cms.string('*'),
0112 DD4hep = cms.bool(dd4hep),
0113 type = cms.string('PrintSensitive')
0114 ))