File indexing completed on 2025-01-18 03:42:27
0001
0002
0003
0004
0005
0006
0007
0008
0009 import FWCore.ParameterSet.Config as cms
0010 import os, sys, importlib, re
0011 import FWCore.ParameterSet.VarParsing as VarParsing
0012
0013
0014
0015 options = VarParsing.VarParsing('standard')
0016 options.register('geometry',
0017 "D110",
0018 VarParsing.VarParsing.multiplicity.singleton,
0019 VarParsing.VarParsing.varType.string,
0020 "geometry of operations: D98, D99, D103, D104, D105, D106, D107, D108, D109, D110, D111, D112, D113, D114, D115")
0021
0022
0023 options.parseArguments()
0024
0025 print(options)
0026
0027
0028
0029
0030 geomName = "Run4" + options.geometry
0031 print("Geometry Name: ", geomName)
0032 import Configuration.Geometry.defaultPhase2ConditionsEra_cff as _settings
0033 GLOBAL_TAG, ERA = _settings.get_era_and_conditions(geomName)
0034 print("Global Tag Name: ", GLOBAL_TAG)
0035 print("Era Name: ", ERA)
0036
0037 process = cms.Process('HGClSimWatcher',ERA)
0038
0039 geomFile = "Configuration.Geometry.GeometryExtendedRun4" + options.geometry + "Reco_cff"
0040 fileCheck = "testHGCalSimWatcherRun4" + options.geometry + ".root"
0041
0042 if (options.geometry == "D93"):
0043 runMode = 2
0044 else:
0045 runMode = 1
0046
0047 print("Geometry file: ", geomFile)
0048 print("Output file: ", fileCheck)
0049 print("Run Mode: ", runMode)
0050
0051
0052 process.load(geomFile)
0053 process.load('Configuration.StandardSequences.Services_cff')
0054 process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
0055 process.load('FWCore.MessageService.MessageLogger_cfi')
0056 process.load('Configuration.EventContent.EventContent_cff')
0057 process.load('SimGeneral.MixingModule.mixNoPU_cfi')
0058 process.load('Configuration.StandardSequences.MagneticField_cff')
0059 process.load('Configuration.StandardSequences.Generator_cff')
0060 process.load('IOMC.EventVertexGenerators.VtxSmearedRealistic50ns13TeVCollision_cfi')
0061 process.load('GeneratorInterface.Core.genFilterSummary_cff')
0062 process.load('Configuration.StandardSequences.SimIdeal_cff')
0063 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0064 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0065 process.load('Configuration.StandardSequences.Digi_cff')
0066 process.load('Configuration.StandardSequences.SimL1Emulator_cff')
0067 process.load('Configuration.StandardSequences.L1TrackTrigger_cff')
0068 process.load('Configuration.StandardSequences.DigiToRaw_cff')
0069 process.load('HLTrigger.Configuration.HLT_Fake2_cff')
0070 process.load('Configuration.StandardSequences.RawToDigi_cff')
0071 process.load('Configuration.StandardSequences.L1Reco_cff')
0072 process.load('Configuration.StandardSequences.Reconstruction_cff')
0073 process.load('Configuration.StandardSequences.RecoSim_cff')
0074 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0075
0076 process.maxEvents = cms.untracked.PSet(
0077 input = cms.untracked.int32(1000)
0078 )
0079
0080 process.MessageLogger.cerr.FwkReport.reportEvery = 5
0081 if hasattr(process,'MessageLogger'):
0082 process.MessageLogger.ValidHGCal=dict()
0083 process.MessageLogger.HGCalGeom=dict()
0084
0085
0086 process.source = cms.Source("EmptySource")
0087
0088 process.options = cms.untracked.PSet(
0089 wantSummary = cms.untracked.bool(True),
0090 numberOfConcurrentRuns = cms.untracked.uint32(1),
0091 numberOfStreams = cms.untracked.uint32(0),
0092 numberOfThreads = cms.untracked.uint32(1),
0093 printDependencies = cms.untracked.bool(False),
0094 sizeOfStackForThreadsInKB = cms.optional.untracked.uint32,
0095 )
0096
0097
0098 process.configurationMetadata = cms.untracked.PSet(
0099 version = cms.untracked.string(''),
0100 annotation = cms.untracked.string(''),
0101 name = cms.untracked.string('Applications')
0102 )
0103
0104
0105 process.output = cms.OutputModule("PoolOutputModule",
0106 splitLevel = cms.untracked.int32(0),
0107 eventAutoFlushCompressedSize = cms.untracked.int32(5242880),
0108 outputCommands = cms.untracked.vstring(
0109 'keep *_*hbhe*_*_*',
0110 'keep *_g4SimHits_*_*',
0111 'keep *_*HGC*_*_*',
0112 ),
0113 fileName = cms.untracked.string(fileCheck),
0114 dataset = cms.untracked.PSet(
0115 filterName = cms.untracked.string(''),
0116 dataTier = cms.untracked.string('GEN-SIM-DIGI-RAW-RECO')
0117 ),
0118 SelectEvents = cms.untracked.PSet(
0119 SelectEvents = cms.vstring('generation_step')
0120 )
0121 )
0122
0123
0124 if (runMode == 1):
0125 process.g4SimHits.Watchers = cms.VPSet(cms.PSet(
0126 SimG4HGCalValidation = cms.PSet(
0127 Names = cms.vstring(
0128 'HGCalEECellSensitive',
0129 'HGCalHESiliconCellSensitive',
0130 'HGCalHEScintillatorSensitive',
0131 ),
0132 Types = cms.vint32(0,0,0),
0133 DetTypes = cms.vint32(0,1,2),
0134 LabelLayerInfo = cms.string("HGCalInfoLayer"),
0135 Verbosity = cms.untracked.int32(0),
0136 ),
0137 type = cms.string('SimG4HGCalValidation')
0138 ))
0139 else:
0140 process.g4SimHits.Watchers = cms.VPSet(cms.PSet(
0141 SimG4HGCalValidation = cms.PSet(
0142 Names = cms.vstring(
0143 'HGCalEESensitive',
0144 'HGCalHESensitive',
0145 'HGCalHESiliconSensitive',
0146 'HGCalHEScintillatorSensitive',
0147 ),
0148 Types = cms.vint32(0,0,0,0),
0149 DetTypes = cms.vint32(0,1,1,2),
0150 LabelLayerInfo = cms.string("HGCalInfoLayer"),
0151 Verbosity = cms.untracked.int32(0),
0152 ),
0153 type = cms.string('SimG4HGCalValidation')
0154 ))
0155
0156
0157 process.genstepfilter.triggerConditions=cms.vstring("generation_step")
0158 from Configuration.AlCa.GlobalTag import GlobalTag
0159 process.GlobalTag = GlobalTag(process.GlobalTag, GLOBAL_TAG, '')
0160
0161 process.generator = cms.EDProducer("FlatRandomPtGunProducer",
0162 PGunParameters = cms.PSet(
0163 MaxPt = cms.double(20.0),
0164 MinPt = cms.double(20.0),
0165 PartID = cms.vint32(13),
0166 MaxEta = cms.double(3.0),
0167 MaxPhi = cms.double(3.14159265359),
0168 MinEta = cms.double(1.2),
0169 MinPhi = cms.double(-3.14159265359)
0170 ),
0171 Verbosity = cms.untracked.int32(0),
0172 psethack = cms.string('single muon pt 20'),
0173 AddAntiParticle = cms.bool(False),
0174 firstRun = cms.untracked.uint32(1)
0175 )
0176
0177
0178
0179 process.mix.digitizers = cms.PSet(process.theDigitizersValid)
0180
0181 process.ProductionFilterSequence = cms.Sequence(process.generator)
0182
0183
0184 process.generation_step = cms.Path(process.pgen)
0185 process.simulation_step = cms.Path(process.psim)
0186 process.genfiltersummary_step = cms.EndPath(process.genFilterSummary)
0187 process.digitisation_step = cms.Path(process.pdigi_valid)
0188 process.L1simulation_step = cms.Path(process.SimL1Emulator)
0189 process.L1TrackTrigger_step = cms.Path(process.L1TrackTrigger)
0190 process.digi2raw_step = cms.Path(process.DigiToRaw)
0191 process.raw2digi_step = cms.Path(process.RawToDigi)
0192 process.L1Reco_step = cms.Path(process.L1Reco)
0193 process.reconstruction_step = cms.Path(process.localreco)
0194 process.recosim_step = cms.Path(process.recosim)
0195 process.out_step = cms.EndPath(process.output)
0196
0197
0198 process.schedule = cms.Schedule(process.generation_step,
0199 process.simulation_step,
0200 process.digitisation_step,
0201 process.L1simulation_step,
0202 process.L1TrackTrigger_step,
0203 process.digi2raw_step,
0204
0205
0206
0207
0208 process.out_step
0209 )
0210
0211
0212 for path in process.paths:
0213 if getattr(process,path)._seq is not None: getattr(process,path)._seq = process.ProductionFilterSequence * getattr(process,path)._seq