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('type',
0020 "DDD",
0021 VarParsing.VarParsing.multiplicity.singleton,
0022 VarParsing.VarParsing.varType.string,
0023 "type of operations: DDD, DD4hep")
0024 options.register('geometry',
0025 "D110",
0026 VarParsing.VarParsing.multiplicity.singleton,
0027 VarParsing.VarParsing.varType.string,
0028 "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")
0029 options.register('detector',
0030 "Tracker",
0031 VarParsing.VarParsing.multiplicity.singleton,
0032 VarParsing.VarParsing.varType.string)
0033
0034
0035 options.parseArguments()
0036
0037 print(options)
0038
0039
0040
0041
0042 geomName = "Run4" + options.geometry
0043 import Configuration.Geometry.defaultPhase2ConditionsEra_cff as _settings
0044 GLOBAL_TAG, ERA = _settings.get_era_and_conditions(geomName)
0045 print("Geometry Name: ", geomName)
0046 print("Global Tag Name: ", GLOBAL_TAG)
0047 print("Era Name: ", ERA)
0048
0049 if (options.type == "DD4hep"):
0050 from Configuration.ProcessModifiers.dd4hep_cff import dd4hep
0051 process = cms.Process('G4PrintGeometry',ERA,dd4hep)
0052 geomFile = "Configuration.Geometry.GeometryDD4hepExtended" + geomName + "Reco_cff"
0053 else:
0054 process = cms.Process('G4PrintGeometry',ERA)
0055 geomFile = "Configuration.Geometry.GeometryExtended" + geomName + "Reco_cff"
0056
0057 print("Geometry file Name: ", geomFile)
0058 print("Detector : ", options.detector)
0059
0060 process.load(geomFile)
0061 process.load('FWCore.MessageService.MessageLogger_cfi')
0062
0063 process.MessageLogger.cerr.enable = False
0064 process.MessageLogger.files.MatBudget = dict(extension = "txt")
0065 process.MessageLogger.G4cout=dict()
0066
0067 process.maxEvents = cms.untracked.PSet(
0068 input = cms.untracked.int32(1)
0069 )
0070
0071 process.load('SimGeneral.HepPDTESSource.pdt_cfi')
0072 process.load('IOMC.EventVertexGenerators.VtxSmearedFlat_cfi')
0073 process.load('GeneratorInterface.Core.generatorSmeared_cfi')
0074
0075 process.source = cms.Source("EmptySource")
0076
0077 process.generator = cms.EDProducer("FlatRandomPtGunProducer",
0078 PGunParameters = cms.PSet(
0079 PartID = cms.vint32(13),
0080 MinEta = cms.double(-2.5),
0081 MaxEta = cms.double(2.5),
0082 MinPhi = cms.double(-3.14159265359),
0083 MaxPhi = cms.double(3.14159265359),
0084 MinPt = cms.double(9.99),
0085 MaxPt = cms.double(10.01)
0086 ),
0087 AddAntiParticle = cms.bool(False),
0088 Verbosity = cms.untracked.int32(0),
0089 firstRun = cms.untracked.uint32(1)
0090 )
0091
0092 process.RandomNumberGeneratorService = cms.Service("RandomNumberGeneratorService",
0093 generator = cms.PSet(
0094 initialSeed = cms.untracked.uint32(123456789),
0095 engineName = cms.untracked.string('HepJamesRandom')
0096 ),
0097 VtxSmeared = cms.PSet(
0098 engineName = cms.untracked.string('HepJamesRandom'),
0099 initialSeed = cms.untracked.uint32(98765432)
0100 ),
0101 g4SimHits = cms.PSet(
0102 initialSeed = cms.untracked.uint32(11),
0103 engineName = cms.untracked.string('HepJamesRandom')
0104 )
0105 )
0106
0107 process.load('SimG4Core.Application.g4SimHits_cfi')
0108
0109 process.p1 = cms.Path(process.generator*process.VtxSmeared*process.generatorSmeared*process.g4SimHits)
0110
0111 process.g4SimHits.Physics.type = 'SimG4Core/Physics/DummyPhysics'
0112 process.g4SimHits.UseMagneticField = False
0113 process.g4SimHits.Physics.DummyEMPhysics = True
0114 process.g4SimHits.Physics.DefaultCutValue = 10.
0115 process.g4SimHits.Watchers = cms.VPSet(cms.PSet(
0116 Name = cms.untracked.string(options.detector),
0117 type = cms.string('PrintMaterialBudgetInfo')
0118 ))