File indexing completed on 2024-11-27 03:17:54
0001
0002
0003
0004
0005
0006 import FWCore.ParameterSet.Config as cms
0007 import os
0008
0009
0010 import FWCore.ParameterSet.VarParsing as VarParsing
0011 options = VarParsing.VarParsing('analysis')
0012 options.register('filename',
0013 "rx_summary",
0014 VarParsing.VarParsing.multiplicity.singleton,
0015 VarParsing.VarParsing.varType.string,
0016 "Filename string")
0017 options.register('outDir',
0018 "mpRxFiles",
0019 VarParsing.VarParsing.multiplicity.singleton,
0020 VarParsing.VarParsing.varType.string,
0021 "Output directory for buffer files")
0022 options.register('mpPayloadFrames',
0023 40,
0024 VarParsing.VarParsing.multiplicity.singleton,
0025 VarParsing.VarParsing.varType.int,
0026 "N payload frames per event")
0027 options.register('mpHeaderFrames',
0028 1,
0029 VarParsing.VarParsing.multiplicity.singleton,
0030 VarParsing.VarParsing.varType.int,
0031 "N header frames per event")
0032 options.register('mpClearFrames',
0033 13,
0034 VarParsing.VarParsing.multiplicity.singleton,
0035 VarParsing.VarParsing.varType.int,
0036 "N clear frames between events")
0037 options.register('dump',
0038 True,
0039 VarParsing.VarParsing.multiplicity.singleton,
0040 VarParsing.VarParsing.varType.bool,
0041 "Dump messages")
0042 options.register('pattern',
0043 True,
0044 VarParsing.VarParsing.multiplicity.singleton,
0045 VarParsing.VarParsing.varType.bool,
0046 "Save pattern file")
0047 options.register('edm',
0048 False,
0049 VarParsing.VarParsing.multiplicity.singleton,
0050 VarParsing.VarParsing.varType.bool,
0051 "Save EDM file")
0052 options.register('debug',
0053 False,
0054 VarParsing.VarParsing.multiplicity.singleton,
0055 VarParsing.VarParsing.varType.bool,
0056 "Enable debug data")
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073 options.parseArguments()
0074
0075 if (options.maxEvents == -1):
0076 options.maxEvents = 1
0077
0078
0079 try:
0080 os.stat(options.outDir)
0081 except:
0082 print('Output directory does not exist. Creating directory: ' + options.outDir)
0083 os.mkdir(options.outDir)
0084
0085 process = cms.Process('L1Emulator')
0086
0087
0088 process.load('Configuration.StandardSequences.Services_cff')
0089 process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
0090 process.load('FWCore.MessageService.MessageLogger_cfi')
0091 process.load('Configuration.EventContent.EventContent_cff')
0092 process.load('SimGeneral.MixingModule.mixNoPU_cfi')
0093 process.load('Configuration.StandardSequences.GeometryRecoDB_cff')
0094 process.load('Configuration.Geometry.GeometryDB_cff')
0095 process.load('Configuration.StandardSequences.MagneticField_38T_cff')
0096 process.load('Configuration.StandardSequences.Generator_cff')
0097 process.load('IOMC.EventVertexGenerators.VtxSmearedRealistic8TeVCollision_cfi')
0098 process.load('GeneratorInterface.Core.genFilterSummary_cff')
0099 process.load('Configuration.StandardSequences.SimIdeal_cff')
0100 process.load('Configuration.StandardSequences.Digi_cff')
0101 process.load('Configuration.StandardSequences.SimL1Emulator_cff')
0102 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0103 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0104
0105
0106 process.load('Configuration.StandardSequences.RawToDigi_cff')
0107
0108 process.maxEvents = cms.untracked.PSet(
0109 input = cms.untracked.int32(options.maxEvents)
0110 )
0111
0112
0113 process.source = cms.Source("PoolSource",
0114 fileNames = cms.untracked.vstring(options.inputFiles)
0115
0116
0117 )
0118
0119 process.options = cms.untracked.PSet(
0120
0121 )
0122
0123 from Configuration.AlCa.GlobalTag import GlobalTag
0124 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:startup', '')
0125
0126
0127
0128 process.output = cms.OutputModule("PoolOutputModule",
0129 splitLevel = cms.untracked.int32(0),
0130 eventAutoFlushCompressedSize = cms.untracked.int32(5242880),
0131 outputCommands = cms.untracked.vstring("keep *",
0132 "drop *_mix_*_*"),
0133 fileName = cms.untracked.string('SingleElectronPt10_cfi_py_GEN_SIM_DIGI_L1.root'),
0134 dataset = cms.untracked.PSet(
0135 filterName = cms.untracked.string(''),
0136 dataTier = cms.untracked.string('')
0137 ),
0138 SelectEvents = cms.untracked.PSet(
0139 SelectEvents = cms.vstring('generation_step')
0140 )
0141 )
0142
0143
0144
0145 process.MessageLogger.L1TCaloEvents=dict()
0146
0147 process.MessageLogger.suppressInfo = cms.untracked.vstring('Geometry', 'AfterSource')
0148
0149 if (options.dump):
0150 process.MessageLogger.files.infos = cms.untracked.PSet(
0151 INFO = cms.untracked.PSet(limit = cms.untracked.int32(0)),
0152 L1TCaloEvents = cms.untracked.PSet(
0153 limit = cms.untracked.int32(10000)
0154 )
0155 )
0156
0157 if (options.debug):
0158
0159 process.MessageLogger.debugModules = cms.untracked.vstring('*')
0160 process.MessageLogger.cerr.threshold = cms.untracked.string('DEBUG')
0161
0162
0163
0164 process.load("CommonTools.UtilAlgos.TFileService_cfi")
0165 process.TFileService.fileName = cms.string('l1tCalo_2016_histos.root')
0166
0167
0168 process.load('L1Trigger.L1TCalorimeter.caloStage2Params_2017_v1_4_cfi')
0169 process.caloStage2Params.towerEncoding = cms.bool(True)
0170 process.load('L1Trigger.L1TCalorimeter.simCaloStage2Layer1Digis_cfi')
0171 process.load('L1Trigger.L1TCalorimeter.simCaloStage2Digis_cfi')
0172 process.simCaloStage2Digis.useStaticConfig = True
0173 process.simCaloStage2Layer1Digis.ecalToken = cms.InputTag("ecalDigis:EcalTriggerPrimitives")
0174 process.simCaloStage2Layer1Digis.hcalToken = cms.InputTag("hcalDigis")
0175
0176 process.load('L1Trigger.L1TCalorimeter.l1tStage2InputPatternWriter_cfi')
0177 process.l1tStage2InputPatternWriter.filename = cms.untracked.string(options.filename)
0178 process.l1tStage2InputPatternWriter.outDir = cms.untracked.string(options.outDir)
0179 process.l1tStage2InputPatternWriter.mpPayloadFrames = cms.untracked.uint32(options.mpPayloadFrames)
0180 process.l1tStage2InputPatternWriter.mpHeaderFrames = cms.untracked.uint32(options.mpHeaderFrames)
0181 process.l1tStage2InputPatternWriter.mpClearFrames = cms.untracked.uint32(options.mpClearFrames)
0182
0183
0184 process.path = cms.Path(
0185 process.ecalDigis
0186 +process.hcalDigis
0187 +process.simCaloStage2Layer1Digis
0188 +process.simCaloStage2Digis
0189 +process.l1tStage2InputPatternWriter)
0190
0191 if (options.edm):
0192 process.output_step = cms.EndPath(process.output)
0193