Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 10:04:03

0001 ###############################################################################
0002 # Way to use this:
0003 #   cmsRun Gen_SingleMuon.py etamin=1.5 etamax=3.1 maxevt=10000
0004 #
0005 ###############################################################################
0006 import FWCore.ParameterSet.Config as cms
0007 import os, sys, imp, re, random
0008 import FWCore.ParameterSet.VarParsing as VarParsing
0009 
0010 ####################################################################
0011 ### SETUP OPTIONS
0012 options = VarParsing.VarParsing('standard')
0013 options.register('etamin',
0014                  "1.5",
0015                   VarParsing.VarParsing.multiplicity.singleton,
0016                   VarParsing.VarParsing.varType.string)
0017 options.register('etamax',
0018                  "3.1",
0019                   VarParsing.VarParsing.multiplicity.singleton,
0020                   VarParsing.VarParsing.varType.string)
0021 options.register('maxevt',
0022                  "10000",
0023                   VarParsing.VarParsing.multiplicity.singleton,
0024                   VarParsing.VarParsing.varType.string)
0025 
0026 ### get and parse the command line arguments
0027 options.parseArguments()
0028 
0029 etamin = float(options.etamin)
0030 etamax = float(options.etamax)
0031 maxevt = int(options.maxevt)
0032 print(options)
0033 print("etamin: ", etamin)
0034 print("etamax: ", etamax)
0035 print("maxevt: ", maxevt)
0036 
0037 from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0038 
0039 process = cms.Process('GEN',Phase2C17I13M9)
0040 
0041 # import of standard configurations
0042 process.load('Configuration.StandardSequences.Services_cff')
0043 process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
0044 process.load('FWCore.MessageService.MessageLogger_cfi')
0045 process.load('Configuration.EventContent.EventContent_cff')
0046 process.load('SimGeneral.MixingModule.mixNoPU_cfi')
0047 process.load('Configuration.Geometry.GeometryExtended2026D98Reco_cff')
0048 process.load('Configuration.StandardSequences.MagneticField_cff')
0049 process.load('Configuration.StandardSequences.Generator_cff')
0050 process.load('IOMC.EventVertexGenerators.VtxSmearedHLLHC_cfi')
0051 process.load('GeneratorInterface.Core.genFilterSummary_cff')
0052 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0053 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0054 
0055 process.maxEvents = cms.untracked.PSet(
0056         input = cms.untracked.int32(maxevt),
0057     output = cms.optional.untracked.allowed(cms.int32,cms.PSet)
0058 )
0059 
0060 # Input source
0061 process.source = cms.Source("EmptySource")
0062 
0063 process.options = cms.untracked.PSet(
0064     IgnoreCompletely = cms.untracked.vstring(),
0065     Rethrow = cms.untracked.vstring(),
0066     TryToContinue = cms.untracked.vstring(),
0067     accelerators = cms.untracked.vstring('*'),
0068     allowUnscheduled = cms.obsolete.untracked.bool,
0069     canDeleteEarly = cms.untracked.vstring(),
0070     deleteNonConsumedUnscheduledModules = cms.untracked.bool(True),
0071     dumpOptions = cms.untracked.bool(False),
0072     emptyRunLumiMode = cms.obsolete.untracked.string,
0073     eventSetup = cms.untracked.PSet(
0074         forceNumberOfConcurrentIOVs = cms.untracked.PSet(
0075             allowAnyLabel_=cms.required.untracked.uint32
0076         ),
0077         numberOfConcurrentIOVs = cms.untracked.uint32(0)
0078     ),
0079     fileMode = cms.untracked.string('FULLMERGE'),
0080     forceEventSetupCacheClearOnNewRun = cms.untracked.bool(False),
0081     holdsReferencesToDeleteEarly = cms.untracked.VPSet(),
0082     makeTriggerResults = cms.obsolete.untracked.bool,
0083     modulesToIgnoreForDeleteEarly = cms.untracked.vstring(),
0084     numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(0),
0085     numberOfConcurrentRuns = cms.untracked.uint32(1),
0086     numberOfStreams = cms.untracked.uint32(0),
0087     numberOfThreads = cms.untracked.uint32(1),
0088     printDependencies = cms.untracked.bool(False),
0089     sizeOfStackForThreadsInKB = cms.optional.untracked.uint32,
0090     throwIfIllegalParameter = cms.untracked.bool(True),
0091     wantSummary = cms.untracked.bool(False)
0092 )
0093 
0094 # Production Info
0095 process.configurationMetadata = cms.untracked.PSet(
0096     annotation = cms.untracked.string('SingleMuE100_cfi.py nevts:10000'),
0097     name = cms.untracked.string('Applications'),
0098     version = cms.untracked.string('$Revision: 1.19 $')
0099 )
0100 
0101 # Output definition
0102 
0103 process.FEVTDEBUGoutput = cms.OutputModule("PoolOutputModule",
0104     SelectEvents = cms.untracked.PSet(
0105         SelectEvents = cms.vstring('generation_step')
0106     ),
0107     dataset = cms.untracked.PSet(
0108         dataTier = cms.untracked.string('GEN-SIM'),
0109         filterName = cms.untracked.string('')
0110     ),
0111     fileName = cms.untracked.string('file:step0Muon.root'),
0112     outputCommands = process.FEVTDEBUGEventContent.outputCommands,
0113     splitLevel = cms.untracked.int32(0)
0114 )
0115 
0116 # Additional output definition
0117 
0118 # Other statements
0119 process.genstepfilter.triggerConditions=cms.vstring("generation_step")
0120 from Configuration.AlCa.GlobalTag import GlobalTag
0121 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_T25', '')
0122 
0123 process.generator = cms.EDProducer("FlatRandomEGunProducer",
0124     PGunParameters = cms.PSet(
0125         MinEta = cms.double(etamin),
0126         MaxEta = cms.double(etamax),
0127         MinPhi = cms.double(-3.14159265359),
0128         MaxPhi = cms.double(3.14159265359),
0129         MinE   = cms.double(100.00),
0130         MaxE   = cms.double(100.00),
0131         PartID = cms.vint32(-13)
0132     ),
0133     Verbosity = cms.untracked.int32(0),
0134     AddAntiParticle = cms.bool(True),
0135     firstRun = cms.untracked.uint32(1),
0136     psethack = cms.string('single mu E 100')
0137 )
0138 
0139 
0140 # Path and EndPath definitions
0141 process.generation_step = cms.Path(process.pgen)
0142 process.genfiltersummary_step = cms.EndPath(process.genFilterSummary)
0143 process.endjob_step = cms.EndPath(process.endOfProcess)
0144 process.FEVTDEBUGoutput_step = cms.EndPath(process.FEVTDEBUGoutput)
0145 
0146 # Schedule definition
0147 process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,process.endjob_step,process.FEVTDEBUGoutput_step)
0148 from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask
0149 associatePatAlgosToolsTask(process)
0150 
0151 #Setup FWK for multithreaded
0152 process.options.numberOfThreads = 8
0153 process.options.numberOfStreams = 0
0154 process.options.numberOfConcurrentLuminosityBlocks = 1
0155 process.options.eventSetup.numberOfConcurrentIOVs = 1
0156 # filter all path with the production filter sequence
0157 for path in process.paths:
0158     getattr(process,path).insert(0, process.generator)
0159 
0160 
0161 
0162 # Customisation from command line
0163 
0164 # Add early deletion of temporary data products to reduce peak memory need
0165 from Configuration.StandardSequences.earlyDeleteSettings_cff import customiseEarlyDelete
0166 process = customiseEarlyDelete(process)
0167 # End adding early deletion