Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-05-28 03:09:01

0001 ###############################################################################
0002 # Way to use this:
0003 #   cmsRun runHGC1_cfg.py geometry=V18
0004 #   Options for geometry V17, V17Shift, V18, V19
0005 # 
0006 ###############################################################################
0007 import FWCore.ParameterSet.Config as cms
0008 import os, sys, importlib, re
0009 import FWCore.ParameterSet.VarParsing as VarParsing
0010 
0011 ####################################################################
0012 ### SETUP OPTIONS
0013 options = VarParsing.VarParsing('standard')
0014 options.register('geometry',
0015                  "V18",
0016                   VarParsing.VarParsing.multiplicity.singleton,
0017                   VarParsing.VarParsing.varType.string,
0018                   "geometry of operations: V17, V17Shift, V18, V19")
0019 
0020 ### get and parse the command line arguments
0021  
0022 options.parseArguments()
0023 print(options)
0024 
0025 ####################################################################
0026 
0027 if (options.geometry == "V17"):
0028     from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0029     process = cms.Process("PROD",Phase2C17I13M9)
0030 elif (options.geometry == "V17Shift"):
0031     from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0032     process = cms.Process("PROD",Phase2C17I13M9)
0033 else:
0034     from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
0035     process = cms.Process("PROD",Phase2C22I13M9)
0036 
0037 geomFile = "Geometry.HGCalCommonData.testHGCal" + options.geometry + "Reco_cff"
0038 print("Geometry file: ", geomFile)
0039 
0040 process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi")
0041 process.load('Configuration.StandardSequences.Generator_cff')
0042 process.load("IOMC.EventVertexGenerators.VtxSmearedGauss_cfi")
0043 process.load('GeneratorInterface.Core.genFilterSummary_cff')
0044 process.load('Configuration.StandardSequences.SimIdeal_cff')
0045 process.load(geomFile)
0046 process.load("Configuration.StandardSequences.MagneticField_cff")
0047 process.load("Configuration.EventContent.EventContent_cff")
0048 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0049 from Configuration.AlCa.GlobalTag import GlobalTag
0050 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_T21', '')
0051 
0052 if hasattr(process,'MessageLogger'):
0053     process.MessageLogger.G4cout = dict()
0054     process.MessageLogger.G4cerr = dict()
0055     process.MessageLogger.HGCalGeom = dict()
0056     process.MessageLogger.HGCSim = dict()
0057     process.MessageLogger.CaloSim = dict()
0058 
0059 process.load("IOMC.RandomEngine.IOMC_cff")
0060 process.RandomNumberGeneratorService.generator.initialSeed = 456789
0061 process.RandomNumberGeneratorService.g4SimHits.initialSeed = 9876
0062 process.RandomNumberGeneratorService.VtxSmeared.initialSeed = 123456789
0063 
0064 process.Timing = cms.Service("Timing")
0065 
0066 process.maxEvents = cms.untracked.PSet(
0067     input = cms.untracked.int32(100)
0068 )
0069 
0070 process.source = cms.Source("EmptySource",
0071     firstRun        = cms.untracked.uint32(1),
0072     firstEvent      = cms.untracked.uint32(1)
0073 )
0074 
0075 process.generator = cms.EDProducer("FlatRandomEGunProducer",
0076     PGunParameters = cms.PSet(
0077         PartID = cms.vint32(211),
0078         MinEta = cms.double(1.75),
0079         MaxEta = cms.double(2.50),
0080         MinPhi = cms.double(-3.1415926),
0081         MaxPhi = cms.double(3.1415926),
0082         MinE   = cms.double(100.00),
0083         MaxE   = cms.double(100.00)
0084     ),
0085     Verbosity       = cms.untracked.int32(0),
0086     AddAntiParticle = cms.bool(True)
0087 )
0088 
0089 process.output = cms.OutputModule("PoolOutputModule",
0090     process.FEVTSIMEventContent,
0091     fileName = cms.untracked.string('hgcV14.root')
0092 )
0093 
0094 process.generation_step = cms.Path(process.pgen)
0095 process.simulation_step = cms.Path(process.psim)
0096 process.genfiltersummary_step = cms.EndPath(process.genFilterSummary)
0097 process.out_step = cms.EndPath(process.output)
0098 
0099 process.g4SimHits.Physics.type = 'SimG4Core/Physics/QGSP_FTFP_BERT_EML'
0100 process.g4SimHits.Physics.DefaultCutValue   = 0.1
0101 
0102 # Schedule definition
0103 process.schedule = cms.Schedule(process.generation_step,
0104                                 process.simulation_step,
0105                                 process.out_step
0106                                 )
0107 
0108 # filter all path with the production filter sequence
0109 for path in process.paths:
0110         getattr(process,path)._seq = process.generator * getattr(process,path)._seq