File indexing completed on 2025-05-29 03:17:58
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 import FWCore.ParameterSet.Config as cms
0011 import os, sys, importlib, re, random
0012 import FWCore.ParameterSet.VarParsing as VarParsing
0013
0014
0015
0016 options = VarParsing.VarParsing('standard')
0017 options.register('geometry',
0018 "D110",
0019 VarParsing.VarParsing.multiplicity.singleton,
0020 VarParsing.VarParsing.varType.string,
0021 "geometry of operations: D110, D120")
0022 options.register('type',
0023 "DDD",
0024 VarParsing.VarParsing.multiplicity.singleton,
0025 VarParsing.VarParsing.varType.string,
0026 "type of operations: DDD, DD4hep")
0027 options.register('data',
0028 "Muon",
0029 VarParsing.VarParsing.multiplicity.singleton,
0030 VarParsing.VarParsing.varType.string,
0031 "data of operations: Muon, MinBias")
0032
0033
0034 options.parseArguments()
0035
0036 print(options)
0037
0038
0039
0040
0041 geomName = "Run4" + options.geometry
0042 import Configuration.Geometry.defaultPhase2ConditionsEra_cff as _settings
0043 GLOBAL_TAG, ERA = _settings.get_era_and_conditions(geomName)
0044
0045 if (options.type == "DD4hep"):
0046 from Configuration.ProcessModifiers.dd4hep_cff import dd4hep
0047 process = cms.Process('SimRun4',ERA,dd4hep)
0048 geomFile = "Configuration.Geometry.Geometry" + options.type +"Extended" + geomName + "Reco_cff"
0049 else:
0050 process = cms.Process('SimRun4',ERA)
0051 geomFile = "Configuration.Geometry.GeometryExtended" + geomName + "Reco_cff"
0052
0053 inFile = "file:step0" + options.data + ".root"
0054 outFile = "file:step1" + options.type + options.geometry + options.data + ".root"
0055 tFile = "file:" + options.type + options.geometry + options.data + ".root"
0056
0057 print("Geometry file: ", geomFile)
0058 print("Global Tag Name: ", GLOBAL_TAG)
0059 print("Era Name: ", ERA)
0060 print("Input file: ", inFile)
0061 print("Output file: ", outFile)
0062 print("Histogram file: ", tFile)
0063
0064 process.load(geomFile)
0065 process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi")
0066 process.load("FWCore.MessageService.MessageLogger_cfi")
0067 process.load("IOMC.EventVertexGenerators.VtxSmearedGauss_cfi")
0068 process.load("Configuration.StandardSequences.MagneticField_cff")
0069 process.load("Configuration.EventContent.EventContent_cff")
0070 process.load("Configuration.StandardSequences.SimIdeal_cff")
0071 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0072 from Configuration.AlCa.GlobalTag import GlobalTag
0073 process.GlobalTag = GlobalTag(process.GlobalTag, GLOBAL_TAG, '')
0074
0075 process.source = cms.Source("PoolSource",
0076 dropDescendantsOfDroppedBranches = cms.untracked.bool(False),
0077 fileNames = cms.untracked.vstring(inFile),
0078 secondaryFileNames = cms.untracked.vstring()
0079 )
0080
0081 process.maxEvents = cms.untracked.PSet(
0082 input = cms.untracked.int32(-1),
0083 output = cms.optional.untracked.allowed(cms.int32,cms.PSet)
0084 )
0085
0086 if 'MessageLogger' in process.__dict__:
0087 process.MessageLogger.G4cerr=dict()
0088 process.MessageLogger.HitStudy=dict()
0089 process.MessageLogger.HGCSim=dict()
0090
0091
0092 process.Timing = cms.Service("Timing")
0093
0094 process.load("IOMC.RandomEngine.IOMC_cff")
0095 process.RandomNumberGeneratorService.generator.initialSeed = 456789
0096 process.RandomNumberGeneratorService.g4SimHits.initialSeed = 9876
0097 process.RandomNumberGeneratorService.VtxSmeared.initialSeed = 123456789
0098 process.rndmStore = cms.EDProducer("RandomEngineStateProducer")
0099
0100
0101 process.output = cms.OutputModule("PoolOutputModule",
0102 process.FEVTSIMEventContent,
0103 fileName = cms.untracked.string(outFile)
0104 )
0105
0106 process.load("SimG4CMS.Calo.hgcalHitCheck_cff")
0107 process.TFileService = cms.Service("TFileService",
0108 fileName = cms.string(tFile)
0109 )
0110
0111 process.simulation_step = cms.Path(process.psim)
0112 process.out_step = cms.EndPath(process.output)
0113 process.analysis_step1 = cms.EndPath(process.hgcalHitCheckEE)
0114 process.analysis_step2 = cms.EndPath(process.hgcalHitCheckHEF)
0115 process.analysis_step3 = cms.EndPath(process.hgcalHitCheckHEB)
0116
0117 process.g4SimHits.Physics.type = 'SimG4Core/Physics/FTFP_BERT_EMM'
0118 process.g4SimHits.HGCSD.Verbosity = 0
0119
0120
0121 process.schedule = cms.Schedule(process.simulation_step,
0122 process.out_step,
0123 process.analysis_step1,
0124 process.analysis_step2,
0125 process.analysis_step3,
0126 )