File indexing completed on 2025-01-18 03:42:27
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 import FWCore.ParameterSet.Config as cms
0011 import os, sys, importlib, re
0012 import FWCore.ParameterSet.VarParsing as VarParsing
0013
0014
0015
0016 options = VarParsing.VarParsing('standard')
0017 options.register('geometry',
0018 "D110",
0019 VarParsing.VarParsing.multiplicity.singleton,
0020 VarParsing.VarParsing.varType.string,
0021 "geometry of operations: D98, D99, D103, D104, D105, D106, D107, D108, D109, D110, D111, D112, D113, D114, D115")
0022 options.register ('type',
0023 "hgcalBHValidation",
0024 VarParsing.VarParsing.multiplicity.singleton,
0025 VarParsing.VarParsing.varType.string,
0026 "type of operations: hgcalBHValidation, hgcalSiliconValidation")
0027
0028
0029 options.parseArguments()
0030
0031 print(options)
0032
0033
0034
0035
0036 geomName = "Run4" + options.geometry
0037 print("Geometry Name: ", geomName)
0038 import Configuration.Geometry.defaultPhase2ConditionsEra_cff as _settings
0039 GLOBAL_TAG, ERA = _settings.get_era_and_conditions(geomName)
0040 print("Global Tag Name: ", GLOBAL_TAG)
0041 print("Era Name: ", ERA)
0042
0043 process = cms.Process('SimValid',ERA)
0044
0045 geomFile = "Configuration.Geometry.GeometryExtendedRun4" + options.geometry + "Reco_cff"
0046 if (options.type == "hgcalSiliconValidation"):
0047 fileName = "hgcSilValid" + options.geometry + ".root"
0048 else:
0049 fileName = "hgcBHValid" + options.geometry + ".root"
0050
0051 print("Geometry file: ", geomFile)
0052 print("Output file: ", fileName)
0053
0054
0055 process.load(geomFile)
0056 process.load('Configuration.StandardSequences.Services_cff')
0057 process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
0058 process.load('FWCore.MessageService.MessageLogger_cfi')
0059 process.load('Configuration.EventContent.EventContent_cff')
0060 process.load('SimGeneral.MixingModule.mixNoPU_cfi')
0061 process.load('Configuration.StandardSequences.MagneticField_cff')
0062 process.load('Configuration.StandardSequences.Generator_cff')
0063 process.load('IOMC.EventVertexGenerators.VtxSmearedRealistic50ns13TeVCollision_cfi')
0064 process.load('GeneratorInterface.Core.genFilterSummary_cff')
0065 process.load('Configuration.StandardSequences.SimIdeal_cff')
0066 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0067 process.load('Configuration.StandardSequences.Digi_cff')
0068 process.load('Configuration.StandardSequences.SimL1Emulator_cff')
0069 process.load('Configuration.StandardSequences.L1TrackTrigger_cff')
0070 process.load('Configuration.StandardSequences.DigiToRaw_cff')
0071 process.load('HLTrigger.Configuration.HLT_Fake2_cff')
0072 process.load('Configuration.StandardSequences.RawToDigi_cff')
0073 process.load('Configuration.StandardSequences.L1Reco_cff')
0074 process.load('Configuration.StandardSequences.Reconstruction_cff')
0075 process.load('Configuration.StandardSequences.RecoSim_cff')
0076 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0077
0078 process.maxEvents = cms.untracked.PSet(
0079 input = cms.untracked.int32(2000)
0080 )
0081
0082 process.MessageLogger.cerr.FwkReport.reportEvery = 5
0083 if hasattr(process,'MessageLogger'):
0084 process.MessageLogger.HGCalGeom=dict()
0085
0086
0087 process.source = cms.Source("EmptySource")
0088
0089 process.generator = cms.EDProducer("FlatRandomPtGunProducer",
0090 PGunParameters = cms.PSet(
0091 MaxPt = cms.double(35.0),
0092 MinPt = cms.double(35.0),
0093 PartID = cms.vint32(13),
0094 MinPhi = cms.double(-3.14159265359),
0095 MaxPhi = cms.double(3.14159265359),
0096 MinEta = cms.double(1.2),
0097 MaxEta = cms.double(3.0)
0098 ),
0099 Verbosity = cms.untracked.int32(0),
0100 psethack = cms.string('single muon pt 35'),
0101 AddAntiParticle = cms.bool(True),
0102 firstRun = cms.untracked.uint32(1)
0103 )
0104
0105 process.options = cms.untracked.PSet(
0106 wantSummary = cms.untracked.bool(True)
0107 )
0108
0109
0110 process.configurationMetadata = cms.untracked.PSet(
0111 version = cms.untracked.string(''),
0112 annotation = cms.untracked.string(''),
0113 name = cms.untracked.string('Applications')
0114 )
0115
0116
0117 process.genstepfilter.triggerConditions=cms.vstring("generation_step")
0118 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0119 from Configuration.AlCa.GlobalTag import GlobalTag
0120 process.GlobalTag = GlobalTag(process.GlobalTag, GLOBAL_TAG, '')
0121
0122
0123 process.TFileService = cms.Service("TFileService",
0124 fileName = cms.string(fileName),
0125 closeFileFast = cms.untracked.bool(True) )
0126
0127
0128 process.mix.digitizers = cms.PSet(process.theDigitizersValid)
0129 process.ProductionFilterSequence = cms.Sequence(process.generator)
0130
0131
0132 process.g4SimHits.UseMagneticField = False
0133 process.g4SimHits.Physics.bField = cms.double(0.0)
0134
0135
0136 process.generation_step = cms.Path(process.pgen)
0137 process.simulation_step = cms.Path(process.psim)
0138 process.genfiltersummary_step = cms.EndPath(process.genFilterSummary)
0139 process.digitisation_step = cms.Path(process.pdigi_valid)
0140 process.L1simulation_step = cms.Path(process.SimL1Emulator)
0141 process.L1TrackTrigger_step = cms.Path(process.L1TrackTrigger)
0142 process.digi2raw_step = cms.Path(process.DigiToRaw)
0143 process.raw2digi_step = cms.Path(process.RawToDigi)
0144 process.L1Reco_step = cms.Path(process.L1Reco)
0145 process.reconstruction_step = cms.Path(process.localreco)
0146 process.recosim_step = cms.Path(process.recosim)
0147
0148 if (options.type == "hgcalSiliconValidation"):
0149 process.load('Validation.HGCalValidation.hgcalSiliconValidation_cfi')
0150 process.analysis_step = cms.Path(process.hgcalSiliconAnalysisEE+process.hgcalSiliconAnalysisHEF)
0151 else:
0152 process.load('Validation.HGCalValidation.hgcalBHValidation_cfi')
0153 process.analysis_step = cms.Path(process.hgcalBHAnalysis)
0154
0155
0156 process.schedule = cms.Schedule(process.generation_step,
0157 process.simulation_step,
0158 process.digitisation_step,
0159 process.L1simulation_step,
0160 process.L1TrackTrigger_step,
0161 process.digi2raw_step,
0162 process.raw2digi_step,
0163 process.L1Reco_step,
0164 process.reconstruction_step,
0165 process.recosim_step,
0166 process.analysis_step,
0167 )
0168
0169
0170 for path in process.paths:
0171 if getattr(process,path)._seq is not None: getattr(process,path)._seq = process.ProductionFilterSequence * getattr(process,path)._seq