Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-01-15 23:24:58

0001 ###############################################################################
0002 # Way to use this:
0003 #   cmsRun runHcalCellCountRun3_cfg.py geometry=2021
0004 #
0005 #   Options for geometry 2016, 2016dev, 2017, 2018, 2021, 2023, 2024
0006 #
0007 ###############################################################################
0008 import FWCore.ParameterSet.Config as cms
0009 import os, sys, importlib, re
0010 import FWCore.ParameterSet.VarParsing as VarParsing
0011 
0012 ####################################################################
0013 ### SETUP OPTIONS
0014 options = VarParsing.VarParsing('standard')
0015 options.register('geometry',
0016                  "2024",
0017                   VarParsing.VarParsing.multiplicity.singleton,
0018                   VarParsing.VarParsing.varType.string,
0019                   "geometry of operations: 2016, 2016dev, 2017, 2018, 2021, 2023, 2024")
0020 ### get and parse the command line arguments
0021 options.parseArguments()
0022 
0023 print(options)
0024 
0025 ####################################################################
0026 # Use the options
0027 
0028 geomName = "Configuration.Geometry.GeometryExtended" + options.geometry + "Reco_cff"
0029 
0030 if (options.geometry == "2016"):
0031     from Configuration.Eras.Era_Run2_2016_cff import Run2_2016
0032     process = cms.Process('G4PrintGeometry',Run2_2016)
0033 elif (options.geometry == "2016dev"):
0034     from Configuration.Eras.Era_Run2_2016_cff import Run2_2016
0035     process = cms.Process('G4PrintGeometry',Run2_2016)
0036 elif (options.geometry == "2017"):
0037     from Configuration.Eras.Era_Run2_2017_cff import Run2_2017
0038     process = cms.Process('G4PrintGeometry',Run2_2017)
0039 elif (options.geometry == "2018"):
0040     from Configuration.Eras.Era_Run2_2018_cff import Run2_2018
0041     process = cms.Process('G4PrintGeometry',Run2_2018)
0042 else:
0043     from Configuration.Eras.Era_Run3_DDD_cff import Run3_DDD
0044     process = cms.Process('G4PrintGeometry',Run3_DDD)
0045 
0046 print("Geom file Name: ", geomName)
0047 
0048 process.load('Configuration.StandardSequences.Services_cff')
0049 process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
0050 process.load('FWCore.MessageService.MessageLogger_cfi')
0051 process.load('Configuration.EventContent.EventContent_cff')
0052 process.load(geomName)
0053 process.load('Configuration.StandardSequences.MagneticField_cff')
0054 process.load('Configuration.StandardSequences.Generator_cff')
0055 process.load('IOMC.EventVertexGenerators.VtxSmearedRealistic_cfi')
0056 process.load('GeneratorInterface.Core.genFilterSummary_cff')
0057 process.load('Configuration.StandardSequences.SimIdeal_cff')
0058 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0059 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0060 process.load('Geometry.HcalTowerAlgo.hcalCellCount_cfi')
0061 
0062 process.MessageLogger.G4cout=dict()
0063 
0064 process.maxEvents = cms.untracked.PSet(
0065     input = cms.untracked.int32(1)
0066 )
0067 
0068 if hasattr(process,'MessageLogger'):
0069     process.MessageLogger.HCalGeom=dict()
0070 
0071 
0072 process.source = cms.Source("EmptySource")
0073 
0074 process.generator = cms.EDProducer("FlatRandomPtGunProducer",
0075     PGunParameters = cms.PSet(
0076         PartID = cms.vint32(13),
0077         MinEta = cms.double(-2.5),
0078         MaxEta = cms.double(2.5),
0079         MinPhi = cms.double(-3.14159265359),
0080         MaxPhi = cms.double(3.14159265359),
0081         MinPt  = cms.double(9.99),
0082         MaxPt  = cms.double(10.01)
0083     ),
0084     AddAntiParticle = cms.bool(False),
0085     Verbosity       = cms.untracked.int32(0),
0086     firstRun        = cms.untracked.uint32(1)
0087 )
0088 
0089 process.options = cms.untracked.PSet(
0090     IgnoreCompletely = cms.untracked.vstring(),
0091     Rethrow = cms.untracked.vstring(),
0092     TryToContinue = cms.untracked.vstring(),
0093     accelerators = cms.untracked.vstring('*'),
0094     allowUnscheduled = cms.obsolete.untracked.bool,
0095     canDeleteEarly = cms.untracked.vstring(),
0096     deleteNonConsumedUnscheduledModules = cms.untracked.bool(True),
0097     dumpOptions = cms.untracked.bool(False),
0098     emptyRunLumiMode = cms.obsolete.untracked.string,
0099     eventSetup = cms.untracked.PSet(
0100         forceNumberOfConcurrentIOVs = cms.untracked.PSet(
0101             allowAnyLabel_=cms.required.untracked.uint32
0102         ),
0103         numberOfConcurrentIOVs = cms.untracked.uint32(0)
0104     ),
0105     fileMode = cms.untracked.string('FULLMERGE'),
0106     forceEventSetupCacheClearOnNewRun = cms.untracked.bool(False),
0107     holdsReferencesToDeleteEarly = cms.untracked.VPSet(),
0108     makeTriggerResults = cms.obsolete.untracked.bool,
0109     modulesToCallForTryToContinue = cms.untracked.vstring(),
0110     modulesToIgnoreForDeleteEarly = cms.untracked.vstring(),
0111     numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(0),
0112     numberOfConcurrentRuns = cms.untracked.uint32(1),
0113     numberOfStreams = cms.untracked.uint32(0),
0114     numberOfThreads = cms.untracked.uint32(1),
0115     printDependencies = cms.untracked.bool(False),
0116     sizeOfStackForThreadsInKB = cms.optional.untracked.uint32,
0117     throwIfIllegalParameter = cms.untracked.bool(True),
0118     wantSummary = cms.untracked.bool(False)
0119 )
0120 
0121 process.ProductionFilterSequence = cms.Sequence(process.generator)
0122 from Configuration.AlCa.GlobalTag import GlobalTag
0123 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase1_2024_realistic', '')
0124 
0125 # Path and EndPath definitions
0126 process.generation_step = cms.Path(process.pgen)
0127 process.simulation_step = cms.Path(process.psim)
0128 process.genfiltersummary_step = cms.EndPath(process.genFilterSummary)
0129 process.endjob_step = cms.EndPath(process.endOfProcess)
0130 process.analysis_step = cms.EndPath(process.hcalCellCount)
0131 
0132 # Schedule definition
0133 process.schedule = cms.Schedule(process.generation_step,
0134                                 process.genfiltersummary_step,
0135                                 process.simulation_step,
0136                                 process.analysis_step,
0137                                 process.endjob_step)
0138 
0139 from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask
0140 associatePatAlgosToolsTask(process)
0141 # filter all path with the production filter sequence
0142 for path in process.paths:
0143         getattr(process,path).insert(0, process.ProductionFilterSequence)
0144 
0145 process.g4SimHits.UseMagneticField        = False
0146 process.g4SimHits.Physics.DefaultCutValue = 10. 
0147