File indexing completed on 2025-05-09 22:40:26
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 import FWCore.ParameterSet.Config as cms
0012 import os, sys, importlib, re
0013 import FWCore.ParameterSet.VarParsing as VarParsing
0014
0015
0016
0017 options = VarParsing.VarParsing('standard')
0018 options.register('geometry',
0019 "D110",
0020 VarParsing.VarParsing.multiplicity.singleton,
0021 VarParsing.VarParsing.varType.string,
0022 "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")
0023 options.register('type',
0024 "DDD",
0025 VarParsing.VarParsing.multiplicity.singleton,
0026 VarParsing.VarParsing.varType.string,
0027 "type of operations: DDD, DD4hep")
0028
0029
0030 options.parseArguments()
0031
0032 print(options)
0033
0034
0035
0036
0037 geomName = "Run4" + options.geometry
0038 import Configuration.Geometry.defaultPhase2ConditionsEra_cff as _settings
0039 GLOBAL_TAG, ERA = _settings.get_era_and_conditions(geomName)
0040 print("Geometry Name: ", geomName)
0041 print("Global Tag Name: ", GLOBAL_TAG)
0042 print("Era Name: ", ERA)
0043
0044 if (options.type == "DD4hep"):
0045 from Configuration.ProcessModifiers.dd4hep_cff import dd4hep
0046 process = cms.Process('G4PrintGeometry',ERA,dd4hep)
0047 geomFile = "Configuration.Geometry.GeometryDD4hepExtended" + geomName + "Reco_cff"
0048 dd4hep = True
0049 else:
0050 process = cms.Process('G4PrintGeometry',ERA)
0051 geomFile = "Configuration.Geometry.GeometryExtended" + geomName + "Reco_cff"
0052 dd4hep = False
0053
0054 print("Geometry file Name: ", geomFile)
0055 print("dd4hep Flag: ", dd4hep)
0056
0057 process.load(geomFile)
0058 process.load('FWCore.MessageService.MessageLogger_cfi')
0059 process.load('SimGeneral.HepPDTESSource.pdt_cfi')
0060 process.load('IOMC.RandomEngine.IOMC_cff')
0061 process.load('IOMC.EventVertexGenerators.VtxSmearedFlat_cfi')
0062 process.load('GeneratorInterface.Core.generatorSmeared_cfi')
0063 process.load('FWCore.MessageService.MessageLogger_cfi')
0064 process.load('SimG4Core.Application.g4SimHits_cfi')
0065
0066 if hasattr(process,'MessageLogger'):
0067 process.MessageLogger.G4cerr=dict()
0068 process.MessageLogger.G4cout=dict()
0069
0070 process.source = cms.Source("EmptySource")
0071
0072 process.generator = cms.EDProducer("FlatRandomEGunProducer",
0073 PGunParameters = cms.PSet(
0074 PartID = cms.vint32(14),
0075 MinEta = cms.double(-3.5),
0076 MaxEta = cms.double(3.5),
0077 MinPhi = cms.double(-3.14159265359),
0078 MaxPhi = cms.double(3.14159265359),
0079 MinE = cms.double(9.99),
0080 MaxE = cms.double(10.01)
0081 ),
0082 AddAntiParticle = cms.bool(False),
0083 Verbosity = cms.untracked.int32(0),
0084 firstRun = cms.untracked.uint32(1)
0085 )
0086
0087 process.maxEvents = cms.untracked.PSet(
0088 input = cms.untracked.int32(1)
0089 )
0090
0091
0092 process.g4SimHits.UseMagneticField = False
0093 process.g4SimHits.Physics.type = 'SimG4Core/Physics/DummyPhysics'
0094 process.g4SimHits.Physics.DummyEMPhysics = True
0095 process.g4SimHits.Physics.DefaultCutValue = 10.
0096 process.g4SimHits.LHCTransport = False
0097
0098 process.g4SimHits.Watchers = cms.VPSet(cms.PSet(
0099 dd4hep = cms.untracked.bool(dd4hep),
0100 verbosity = cms.untracked.bool(False),
0101 type = cms.string('PrintG4Touch')
0102 ))
0103
0104 process.p1 = cms.Path(process.generator*process.VtxSmeared*process.generatorSmeared*process.g4SimHits)