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 Flag: ", dd4hep)
0057
0058 process.load(geomFile)
0059 process.load('FWCore.MessageService.MessageLogger_cfi')
0060 process.load('SimGeneral.HepPDTESSource.pdt_cfi')
0061 process.load('IOMC.RandomEngine.IOMC_cff')
0062 process.load('IOMC.EventVertexGenerators.VtxSmearedFlat_cfi')
0063 process.load('GeneratorInterface.Core.generatorSmeared_cfi')
0064 process.load('FWCore.MessageService.MessageLogger_cfi')
0065 process.load('SimG4Core.Application.g4SimHits_cfi')
0066
0067 if hasattr(process,'MessageLogger'):
0068 process.MessageLogger.G4cerr=dict()
0069 process.MessageLogger.G4cout=dict()
0070
0071 process.source = cms.Source("EmptySource")
0072
0073 process.generator = cms.EDProducer("FlatRandomEGunProducer",
0074 PGunParameters = cms.PSet(
0075 PartID = cms.vint32(14),
0076 MinEta = cms.double(-3.5),
0077 MaxEta = cms.double(3.5),
0078 MinPhi = cms.double(-3.14159265359),
0079 MaxPhi = cms.double(3.14159265359),
0080 MinE = cms.double(9.99),
0081 MaxE = cms.double(10.01)
0082 ),
0083 AddAntiParticle = cms.bool(False),
0084 Verbosity = cms.untracked.int32(0),
0085 firstRun = cms.untracked.uint32(1)
0086 )
0087
0088 process.maxEvents = cms.untracked.PSet(
0089 input = cms.untracked.int32(1)
0090 )
0091
0092
0093 process.g4SimHits.UseMagneticField = False
0094 process.g4SimHits.Physics.type = 'SimG4Core/Physics/DummyPhysics'
0095 process.g4SimHits.Physics.DummyEMPhysics = True
0096 process.g4SimHits.Physics.DefaultCutValue = 10.
0097 process.g4SimHits.LHCTransport = False
0098
0099 process.g4SimHits.Watchers = cms.VPSet(cms.PSet(
0100 dd4hep = cms.untracked.bool(dd4hep),
0101 verbosity = cms.untracked.bool(False),
0102 type = cms.string('PrintG4Touch')
0103 ))
0104
0105 process.p1 = cms.Path(process.generator*process.VtxSmeared*process.generatorSmeared*process.g4SimHits)