File indexing completed on 2024-11-27 03:17:54
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 import FWCore.ParameterSet.Config as cms
0021 import FWCore.ParameterSet.VarParsing as VarParsing
0022 from Configuration.Eras.Era_Run2_25ns_cff import Run2_25ns
0023 from Configuration.Eras.Era_Run2_2016_cff import Run2_2016
0024 from Configuration.Eras.Modifier_stage1L1Trigger_cff import stage1L1Trigger
0025 from Configuration.Eras.Modifier_stage2L1Trigger_cff import stage2L1Trigger
0026 import os
0027 import sys
0028
0029 options = VarParsing.VarParsing ('analysis')
0030
0031 options.register ('era', 'stage2', VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.string, "The data taking Era: stage1 or stage2")
0032 options.register ('output', 'DEFAULT', VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.string, "The output file name")
0033 options.register ('input', '', VarParsing.VarParsing.multiplicity.list, VarParsing.VarParsing.varType.string, "The input files")
0034 options.register ('max', '', VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.int, "The maximum number of events to process")
0035 options.register ('skip', '', VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.int, "The number of events to skip initially")
0036
0037
0038 options.input = '/store/data/Run2015D/ZeroBias1/RAW/v1/000/256/843/00000/FE8AD1BB-D05E-E511-B3A7-02163E01276B.root'
0039 options.max = 100
0040 options.skip = 0
0041
0042 options.parseArguments()
0043
0044 if (options.era == 'stage1'):
0045 print("INFO: runnings L1T Stage-1 (2015) Re-Emulation")
0046 process = cms.Process("L1TReEmulation", Run2_25ns)
0047 elif (options.era == 'stage2'):
0048 print("INFO: runnings L1T Stage-2 (2016) Re-Emulation")
0049 process = cms.Process("L1TReEmulation", Run2_2016)
0050 else:
0051 print("ERROR: unknown era: ", options.era, "\n")
0052 exit(0)
0053
0054 if (options.output == 'DEFAULT'):
0055 tmp = cms.PSet(output = cms.string(""))
0056 stage1L1Trigger.toModify(tmp, output ='l1t_stage1.root')
0057 stage2L1Trigger.toModify(tmp, output ='l1t_stage2.root')
0058 options.output = tmp.output.value()
0059 print("INFO: output: ", options.output)
0060
0061 print("INFO: input: ", options.input)
0062 print("INFO: max: ", options.max)
0063
0064 process.load("FWCore.MessageLogger.MessageLogger_cfi")
0065 process.MessageLogger.cerr.FwkReport.reportEvery = cms.untracked.int32(50)
0066 process.options = cms.untracked.PSet(wantSummary = cms.untracked.bool(False))
0067
0068
0069 process.source = cms.Source(
0070 'PoolSource',
0071 fileNames = cms.untracked.vstring(options.input)
0072 )
0073 if options.skip > 0:
0074 process.source.skipEvents = cms.untracked.uint32(options.skip)
0075
0076 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(options.max))
0077
0078
0079 process.load('Configuration.Geometry.GeometryExtended2015Reco_cff')
0080 process.load('Configuration.Geometry.GeometryExtended2015_cff')
0081
0082 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0083 from Configuration.AlCa.GlobalTag import GlobalTag
0084
0085
0086
0087
0088
0089 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_mc', '')
0090
0091
0092 stage2L1Trigger.toReplaceWith(process.GlobalTag,
0093
0094 GlobalTag(process.GlobalTag, 'auto:run2_data', '').clone(
0095 toGet = cms.VPSet(
0096 cms.PSet(record = cms.string("DTCCBConfigRcd"),
0097 tag = cms.string("DTCCBConfig_NOSingleL_V05_mc"),
0098 connect = cms.string("frontier://FrontierProd/CMS_CONDITIONS")
0099 ),
0100
0101
0102
0103
0104 cms.PSet(record = cms.string("DTT0Rcd"),
0105 tag = cms.string("DTt0_STARTUP_V02_mc"),
0106 connect = cms.string("frontier://FrontierProd/CMS_CONDITIONS")
0107 ),
0108 cms.PSet(record = cms.string("DTTPGParametersRcd"),
0109 tag = cms.string("DTTPGParameters_V01_mc"),
0110 connect = cms.string("frontier://FrontierProd/CMS_CONDITIONS")
0111 ),
0112 )
0113 ))
0114
0115
0116 process.load('Configuration.StandardSequences.RawToDigi_cff')
0117
0118 process.load('L1Trigger.Configuration.L1TReEmulateFromRAW_cff')
0119 process.dumpED = cms.EDAnalyzer("EventContentAnalyzer")
0120 process.dumpES = cms.EDAnalyzer("PrintEventSetupContent")
0121
0122
0123
0124
0125
0126 import L1Trigger.L1TCommon.l1tSummaryStage1Digis_cfi
0127 import L1Trigger.L1TCommon.l1tSummaryStage2Digis_cf
0128 process.l1tSummaryA = L1Trigger.L1TCommon.l1tSummaryStage1Digis_cfi.l1tSummaryStage1Digis.clone()
0129 stage2L1Trigger.toReplaceWith(process.l1tSummaryA, L1Trigger.L1TCommon.l1tSummaryStage2Digis_cfi.l1tSummaryStage2Digis.clone())
0130
0131 import L1Trigger.L1TCommon.l1tSummaryStage1SimDigis_cfi
0132 import L1Trigger.L1TCommon.l1tSummaryStage2SimDigis_cfi
0133 process.l1tSummaryB = L1Trigger.L1TCommon.l1tSummaryStage1SimDigis_cfi.l1tSummaryStage1SimDigis.clone()
0134 stage2L1Trigger.toReplaceWith(process.l1tSummaryB, L1Trigger.L1TCommon.l1tSummaryStage2SimDigis_cfi.l1tSummaryStage2SimDigis.clone())
0135
0136
0137
0138 process.load("CommonTools.UtilAlgos.TFileService_cfi")
0139 process.TFileService.fileName = cms.string(options.output)
0140
0141
0142
0143 process.MessageLogger.L1TCaloEvents=dict()
0144 process.MessageLogger.L1TGlobalEvents=dict()
0145 process.MessageLogger.l1t=dict()
0146 process.MessageLogger.Global=dict()
0147 process.MessageLogger.suppressInfo = cms.untracked.vstring('Geometry', 'AfterSource')
0148
0149
0150 process.l1tGlobalAnalyzer = cms.EDAnalyzer('L1TGlobalAnalyzer',
0151 doText = cms.untracked.bool(True),
0152 dmxEGToken = cms.InputTag("None"),
0153 dmxTauToken = cms.InputTag("None"),
0154 dmxJetToken = cms.InputTag("None"),
0155 dmxEtSumToken = cms.InputTag("None"),
0156 muToken = cms.InputTag("simGmtStage2Digis"),
0157 egToken = cms.InputTag("simCaloStage2Digis"),
0158 tauToken = cms.InputTag("simCaloStage2Digis"),
0159 jetToken = cms.InputTag("simCaloStage2Digis"),
0160 etSumToken = cms.InputTag("simCaloStage2Digis"),
0161 gtAlgToken = cms.InputTag("None"),
0162 emulDxAlgToken = cms.InputTag("simGlobalStage2Digis"),
0163 emulGtAlgToken = cms.InputTag("simGlobalStage2Digis")
0164 )
0165
0166 process.l1EventTree = cms.EDAnalyzer("L1EventTreeProducer",
0167 hltSource = cms.InputTag("TriggerResults::HLT"),
0168 puMCFile = cms.untracked.string(""),
0169 puDataFile = cms.untracked.string(""),
0170 puMCHist = cms.untracked.string(""),
0171 puDataHist = cms.untracked.string(""),
0172
0173 useAvgVtx = cms.untracked.bool(True),
0174 maxAllowedWeight = cms.untracked.double(-1)
0175 )
0176
0177
0178 process.l1UpgradeTree = cms.EDAnalyzer("L1UpgradeTreeProducer",
0179 egToken = cms.untracked.InputTag("simCaloStage1FinalDigis"),
0180 tauTokens = cms.untracked.VInputTag("simCaloStage1FinalDigis:rlxTaus","simCaloStage1FinalDigis:isoTaus"),
0181 jetToken = cms.untracked.InputTag("simCaloStage1FinalDigis"),
0182 muonToken = cms.untracked.InputTag("None"),
0183 sumToken = cms.untracked.InputTag("simCaloStage1FinalDigis",""),
0184 maxL1Upgrade = cms.uint32(60)
0185 )
0186 stage2L1Trigger.toModify(process.l1UpgradeTree,
0187 egToken = "simCaloStage2Digis",
0188 tauTokens = ["simCaloStage2Digis"],
0189 jetToken = "simCaloStage2Digis",
0190 muonToken = "simGmtStage2Digis",
0191 sumToken = "simCaloStage2Digis"
0192 )
0193
0194
0195 process.L1TSeq = cms.Sequence( process.RawToDigi
0196 + process.L1TReEmulateFromRAW
0197
0198
0199
0200
0201 + process.l1tSummaryB
0202
0203 + process.l1UpgradeTree
0204 + process.l1EventTree
0205 )
0206
0207 process.L1TPath = cms.Path(process.L1TSeq)
0208
0209 process.schedule = cms.Schedule(process.L1TPath)
0210
0211
0212
0213 stage2L1Trigger.toReplaceWith(process.L1TSeq, process.L1TSeq.copyAndExclude([
0214 process.gmtStage2Digis,
0215 process.caloStage2Digis,
0216 process.gtStage2Digis,
0217 process.siPixelDigis,
0218 process.siStripDigis,
0219 process.castorDigis,
0220 process.scalersRawToDigi,
0221 process.tcdsDigis
0222 ]))
0223 stage1L1Trigger.toReplaceWith(process.L1TSeq, process.L1TSeq.copyAndExclude([
0224 process.caloStage1Digis,
0225 process.caloStage1FinalDigis,
0226 process.gtDigis,
0227 process.siPixelDigis,
0228 process.siStripDigis,
0229 process.castorDigis,
0230 process.scalersRawToDigi,
0231 process.tcdsDigis
0232 ]))
0233
0234 print(process.L1TSeq)
0235 print(process.L1TReEmulateFromRAW)
0236
0237
0238
0239
0240
0241
0242
0243
0244