File indexing completed on 2024-07-18 00:48:12
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 if (options.geometry == "D115"):
0037 from Configuration.Eras.Era_Phase2C20I13M9_cff import Phase2C20I13M9
0038 process = cms.Process('Client',Phase2C20I13M9)
0039 elif (options.geometry == "D104"):
0040 from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
0041 process = cms.Process('Client',PhaseC22I13M9)
0042 elif (options.geometry == "D106"):
0043 from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
0044 process = cms.Process('Client',PhaseC22I13M9)
0045 elif (options.geometry == "D109"):
0046 from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
0047 process = cms.Process('Client',PhaseC22I13M9)
0048 elif (options.geometry == "D111"):
0049 from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
0050 process = cms.Process('Client',PhaseC22I13M9)
0051 elif (options.geometry == "D112"):
0052 from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
0053 process = cms.Process('Client',PhaseC22I13M9)
0054 elif (options.geometry == "D113"):
0055 from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
0056 process = cms.Process('Client',PhaseC22I13M9)
0057 else:
0058 from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0059 process = cms.Process('PROD',Phase2C17I13M9)
0060
0061 geomFile = "Configuration.Geometry.GeometryExtended2026" + options.geometry + "Reco_cff"
0062 if (options.type == "hgcalSiliconValidation"):
0063 fileName = "hgcSilValid" + options.geometry + ".root"
0064 else:
0065 fileName = "hgcBHValid" + options.geometry + ".root"
0066
0067 print("Geometry file: ", geomFile)
0068 print("Output file: ", fileName)
0069
0070
0071 process.load(geomFile)
0072 process.load('Configuration.StandardSequences.Services_cff')
0073 process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
0074 process.load('FWCore.MessageService.MessageLogger_cfi')
0075 process.load('Configuration.EventContent.EventContent_cff')
0076 process.load('SimGeneral.MixingModule.mixNoPU_cfi')
0077 process.load('Configuration.StandardSequences.MagneticField_cff')
0078 process.load('Configuration.StandardSequences.Generator_cff')
0079 process.load('IOMC.EventVertexGenerators.VtxSmearedRealistic50ns13TeVCollision_cfi')
0080 process.load('GeneratorInterface.Core.genFilterSummary_cff')
0081 process.load('Configuration.StandardSequences.SimIdeal_cff')
0082 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0083 process.load('Configuration.StandardSequences.Digi_cff')
0084 process.load('Configuration.StandardSequences.SimL1Emulator_cff')
0085 process.load('Configuration.StandardSequences.L1TrackTrigger_cff')
0086 process.load('Configuration.StandardSequences.DigiToRaw_cff')
0087 process.load('HLTrigger.Configuration.HLT_Fake2_cff')
0088 process.load('Configuration.StandardSequences.RawToDigi_cff')
0089 process.load('Configuration.StandardSequences.L1Reco_cff')
0090 process.load('Configuration.StandardSequences.Reconstruction_cff')
0091 process.load('Configuration.StandardSequences.RecoSim_cff')
0092 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0093
0094 process.maxEvents = cms.untracked.PSet(
0095 input = cms.untracked.int32(2000)
0096 )
0097
0098 process.MessageLogger.cerr.FwkReport.reportEvery = 5
0099 if hasattr(process,'MessageLogger'):
0100 process.MessageLogger.HGCalGeom=dict()
0101
0102
0103 process.source = cms.Source("EmptySource")
0104
0105 process.generator = cms.EDProducer("FlatRandomPtGunProducer",
0106 PGunParameters = cms.PSet(
0107 MaxPt = cms.double(35.0),
0108 MinPt = cms.double(35.0),
0109 PartID = cms.vint32(13),
0110 MinPhi = cms.double(-3.14159265359),
0111 MaxPhi = cms.double(3.14159265359),
0112 MinEta = cms.double(1.2),
0113 MaxEta = cms.double(3.0)
0114 ),
0115 Verbosity = cms.untracked.int32(0),
0116 psethack = cms.string('single muon pt 35'),
0117 AddAntiParticle = cms.bool(True),
0118 firstRun = cms.untracked.uint32(1)
0119 )
0120
0121 process.options = cms.untracked.PSet(
0122 wantSummary = cms.untracked.bool(True)
0123 )
0124
0125
0126 process.configurationMetadata = cms.untracked.PSet(
0127 version = cms.untracked.string(''),
0128 annotation = cms.untracked.string(''),
0129 name = cms.untracked.string('Applications')
0130 )
0131
0132
0133 process.genstepfilter.triggerConditions=cms.vstring("generation_step")
0134 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0135 from Configuration.AlCa.GlobalTag import GlobalTag
0136 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_T21', '')
0137
0138
0139 process.TFileService = cms.Service("TFileService",
0140 fileName = cms.string(fileName),
0141 closeFileFast = cms.untracked.bool(True) )
0142
0143
0144 process.mix.digitizers = cms.PSet(process.theDigitizersValid)
0145 process.ProductionFilterSequence = cms.Sequence(process.generator)
0146
0147
0148 process.g4SimHits.UseMagneticField = False
0149 process.g4SimHits.Physics.bField = cms.double(0.0)
0150
0151
0152 process.generation_step = cms.Path(process.pgen)
0153 process.simulation_step = cms.Path(process.psim)
0154 process.genfiltersummary_step = cms.EndPath(process.genFilterSummary)
0155 process.digitisation_step = cms.Path(process.pdigi_valid)
0156 process.L1simulation_step = cms.Path(process.SimL1Emulator)
0157 process.L1TrackTrigger_step = cms.Path(process.L1TrackTrigger)
0158 process.digi2raw_step = cms.Path(process.DigiToRaw)
0159 process.raw2digi_step = cms.Path(process.RawToDigi)
0160 process.L1Reco_step = cms.Path(process.L1Reco)
0161 process.reconstruction_step = cms.Path(process.localreco)
0162 process.recosim_step = cms.Path(process.recosim)
0163
0164 if (options.type == "hgcalSiliconValidation"):
0165 process.load('Validation.HGCalValidation.hgcalSiliconValidation_cfi')
0166 process.analysis_step = cms.Path(process.hgcalSiliconAnalysisEE+process.hgcalSiliconAnalysisHEF)
0167 else:
0168 process.load('Validation.HGCalValidation.hgcalBHValidation_cfi')
0169 process.analysis_step = cms.Path(process.hgcalBHAnalysis)
0170
0171
0172 process.schedule = cms.Schedule(process.generation_step,
0173 process.simulation_step,
0174 process.digitisation_step,
0175 process.L1simulation_step,
0176 process.L1TrackTrigger_step,
0177 process.digi2raw_step,
0178 process.raw2digi_step,
0179 process.L1Reco_step,
0180 process.reconstruction_step,
0181 process.recosim_step,
0182 process.analysis_step,
0183 )
0184
0185
0186 for path in process.paths:
0187 if getattr(process,path)._seq is not None: getattr(process,path)._seq = process.ProductionFilterSequence * getattr(process,path)._seq