Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:27:56

0001 ###############################################################################
0002 # Way to use this:
0003 #   cmsRun testHGCalSimHitSTudy_cfg.py geometry=D93
0004 #
0005 #   Options for geometry D88, D92, D93
0006 #
0007 ###############################################################################
0008 import FWCore.ParameterSet.Config as cms
0009 import os, sys, imp, re
0010 import FWCore.ParameterSet.VarParsing as VarParsing
0011 
0012 ####################################################################
0013 ### SETUP OPTIONS
0014 options = VarParsing.VarParsing('standard')
0015 options.register('geometry',
0016                  "D88",
0017                   VarParsing.VarParsing.multiplicity.singleton,
0018                   VarParsing.VarParsing.varType.string,
0019                   "geometry of operations: D88, D92, D93")
0020 
0021 ### get and parse the command line arguments
0022 options.parseArguments()
0023 
0024 print(options)
0025 
0026 ####################################################################
0027 # Use the options
0028 
0029 from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0030 process = cms.Process('HGCSimHitStudy',Phase2C17I13M9)
0031 if (options.geometry == "D93"):
0032     process.load('Configuration.Geometry.GeometryExtended2026D93Reco_cff')
0033     fileName = 'HGCSimHitV17n.root'
0034 elif (options.geometry == "D92"):
0035     process.load('Configuration.Geometry.GeometryExtended2026D92Reco_cff')
0036     fileName = 'HGCSimHitV17.root'
0037 else:
0038     process.load('Configuration.Geometry.GeometryExtended2026D88Reco_cff')
0039     fileName = 'HGCSimHitV16.root'
0040 
0041 print("Output file: ", fileName)
0042 
0043 process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi")
0044 process.load("IOMC.EventVertexGenerators.VtxSmearedGauss_cfi")
0045 process.load("Configuration.StandardSequences.MagneticField_cff")
0046 process.load("Configuration.EventContent.EventContent_cff")
0047 process.load('Configuration.StandardSequences.Generator_cff')
0048 process.load('Configuration.StandardSequences.SimIdeal_cff')
0049 process.load('FWCore.MessageService.MessageLogger_cfi')
0050 process.load('Validation.HGCalValidation.hgcSimHitStudy_cfi')
0051 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0052 from Configuration.AlCa.autoCond import autoCond
0053 process.GlobalTag.globaltag = autoCond['phase2_realistic']
0054 
0055 process.load("IOMC.RandomEngine.IOMC_cff")
0056 process.RandomNumberGeneratorService.generator.initialSeed = 456789
0057 process.RandomNumberGeneratorService.g4SimHits.initialSeed = 9876
0058 process.RandomNumberGeneratorService.VtxSmeared.initialSeed = 123456789
0059 
0060 process.Timing = cms.Service("Timing")
0061 
0062 process.maxEvents = cms.untracked.PSet(
0063     input = cms.untracked.int32(10000)
0064 )
0065 
0066 process.source = cms.Source("EmptySource",
0067     firstRun        = cms.untracked.uint32(1),
0068     firstEvent      = cms.untracked.uint32(1)
0069 )
0070 
0071 process.generator = cms.EDProducer("FlatRandomEGunProducer",
0072     PGunParameters = cms.PSet(
0073         PartID = cms.vint32(13),
0074         MinEta = cms.double(1.25),
0075         MaxEta = cms.double(3.00),
0076         MinPhi = cms.double(-3.1415926),
0077         MaxPhi = cms.double(3.1415926),
0078         MinE   = cms.double(100.00),
0079         MaxE   = cms.double(100.00)
0080     ),
0081     Verbosity       = cms.untracked.int32(0),
0082     AddAntiParticle = cms.bool(True)
0083 )
0084 
0085 process.output = cms.OutputModule("PoolOutputModule",
0086     process.FEVTSIMEventContent,
0087     fileName = cms.untracked.string('simevent.root')
0088 )
0089 
0090 process.TFileService = cms.Service("TFileService",
0091                                    fileName = cms.string(fileName),
0092                                    closeFileFast = cms.untracked.bool(True)
0093                                    )
0094 
0095 process.generation_step = cms.Path(process.pgen)
0096 process.simulation_step = cms.Path(process.psim)
0097 process.analysis_step   = cms.Path(process.hgcalSimHitStudy)
0098 process.out_step = cms.EndPath(process.output)
0099 
0100 process.g4SimHits.Physics.type = 'SimG4Core/Physics/FTFP_BERT_EMM'
0101 process.g4SimHits.Physics.DefaultCutValue   = 0.1
0102 process.hgcalSimHitStudy.verbosity = 0
0103 process.hgcalSimHitStudy.nBinZ = 3000
0104 
0105 # Schedule definition
0106 process.schedule = cms.Schedule(process.generation_step,
0107                                 process.simulation_step,
0108                                 process.analysis_step,
0109                                 )
0110 
0111 # filter all path with the production filter sequence
0112 for path in process.paths:
0113         getattr(process,path)._seq = process.generator * getattr(process,path)._seq