Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:56

0001 ###############################################################################
0002 # Way to use this:
0003 #   cmsRun minbias2023_cfg.py type=DDD
0004 #
0005 #   Options for type: DDD, DD4hep
0006 #
0007 ###############################################################################
0008 import FWCore.ParameterSet.Config as cms
0009 import os, sys, importlib, re, random
0010 import FWCore.ParameterSet.VarParsing as VarParsing
0011 
0012 ####################################################################
0013 ### SETUP OPTIONS
0014 options = VarParsing.VarParsing('standard')
0015 options.register('type',
0016                  "DDD",
0017                   VarParsing.VarParsing.multiplicity.singleton,
0018                   VarParsing.VarParsing.varType.string,
0019                   "type of operations: DDD, DD4hep")
0020 
0021 ### get and parse the command line arguments
0022 options.parseArguments()
0023 
0024 print(options)
0025 
0026 ####################################################################
0027 # Use the options
0028 if (options.type == "DD4hep"):
0029     from Configuration.Eras.Era_Run3_2023_cff import Run3_2023
0030     process = cms.Process("Sim",Run3_2023)
0031     geomfile = "Configuration.Geometry.GeometryDD4hepExtended2023_cff"
0032     outfile = 'minbias_FTFP_BERT_EMM_DD4hep.root'
0033 else:
0034     from Configuration.Eras.Era_Run3_DDD_cff import Run3_DDD
0035     from Configuration.Eras.Modifier_run3_egamma_2023_cff import run3_egamma_2023
0036     process = cms.Process("Sim",Run3_DDD,run3_egamma_2023)
0037     geomfile = "Configuration.Geometry.GeometryExtended2023_cff"
0038     outfile = 'minbias_FTFP_BERT_EMM_DDD.root'
0039 
0040 print("Geometry file: ", geomfile)
0041 print("Output file:   ", outfile)
0042 
0043 process.load("SimG4CMS.Calo.PythiaMinBias_cfi")
0044 process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi")
0045 process.load('FWCore.MessageService.MessageLogger_cfi')
0046 process.load("IOMC.EventVertexGenerators.VtxSmearedGauss_cfi")
0047 process.load(geomfile)
0048 process.load("Configuration.StandardSequences.MagneticField_cff")
0049 process.load("Configuration.EventContent.EventContent_cff")
0050 process.load('Configuration.StandardSequences.Generator_cff')
0051 process.load('Configuration.StandardSequences.SimIdeal_cff')
0052 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0053 from Configuration.AlCa.GlobalTag import GlobalTag
0054 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase1_2022_realistic', '')
0055 
0056 if 'MessageLogger' in process.__dict__:
0057     process.MessageLogger.G4cerr=dict()
0058     process.MessageLogger.SimG4CoreApplication=dict()
0059 
0060 process.source = cms.Source("EmptySource")
0061 
0062 process.maxEvents = cms.untracked.PSet(
0063     input = cms.untracked.int32(10)
0064 )
0065 
0066 process.Timing = cms.Service("Timing")
0067 
0068 process.SimpleMemoryCheck = cms.Service("SimpleMemoryCheck",
0069     oncePerEventMode = cms.untracked.bool(True),
0070     showMallocInfo = cms.untracked.bool(True),
0071     dump = cms.untracked.bool(True),
0072     ignoreTotal = cms.untracked.int32(1)
0073 )
0074 
0075 process.load("IOMC.RandomEngine.IOMC_cff")
0076 process.RandomNumberGeneratorService.generator.initialSeed = 456789
0077 process.RandomNumberGeneratorService.g4SimHits.initialSeed = 9876
0078 process.RandomNumberGeneratorService.VtxSmeared.initialSeed = 123456789
0079 process.rndmStore = cms.EDProducer("RandomEngineStateProducer")
0080 
0081 process.TFileService = cms.Service("TFileService",
0082     fileName = cms.string('minbias_FTFP_BERT_EMM.root')
0083 )
0084 
0085 # Event output
0086 process.output = cms.OutputModule("PoolOutputModule",
0087     process.FEVTSIMEventContent,
0088     fileName = cms.untracked.string(outfile)
0089 )
0090 
0091 process.generation_step = cms.Path(process.pgen)
0092 process.simulation_step = cms.Path(process.psim)
0093 process.out_step = cms.EndPath(process.output)
0094 
0095 process.g4SimHits.Physics.type = 'SimG4Core/Physics/FTFP_BERT_EMM'
0096 
0097 # Schedule definition                                                          
0098 process.schedule = cms.Schedule(process.generation_step,
0099                                 process.simulation_step,
0100                                 process.out_step
0101                                 )
0102 
0103 # filter all path with the production filter sequence                          
0104 for path in process.paths:
0105         getattr(process,path)._seq = process.generator * getattr(process,path)._seq
0106