File indexing completed on 2025-08-12 02:29:06
0001 import FWCore.ParameterSet.Config as cms
0002 from PhysicsTools.NanoAOD.l1scoutingrun3_cff import *
0003
0004
0005
0006
0007
0008
0009
0010 nanoTableTaskCommon = cms.Task(
0011 l1scoutingMuonPhysicalValueMap,
0012 l1scoutingEGammaPhysicalValueMap,
0013 l1scoutingTauPhysicalValueMap,
0014 l1scoutingJetPhysicalValueMap,
0015 l1scoutingMuonTable,
0016 l1scoutingEGammaTable,
0017 l1scoutingTauTable,
0018 l1scoutingJetTable,
0019 l1scoutingEtSumTable,
0020 l1scoutingBMTFStubTable,
0021 )
0022
0023 nanoSequenceCommon = cms.Sequence(l1scoutingJetPhysicalValueMap + cms.Sequence(nanoTableTaskCommon))
0024
0025 nanoSequence = cms.Sequence(nanoSequenceCommon)
0026
0027 nanoSequenceMC = cms.Sequence(nanoSequenceCommon)
0028
0029 def customiseL1ScoutingNanoAOD(process):
0030
0031 if hasattr(process, "NANOAODoutput"):
0032 print("custom_l1scoutingrun3_cff: Change NANOAODoutput to OrbitNanoAODOutputModule")
0033 setattr(process, "NANOAODoutput",
0034 cms.OutputModule("OrbitNanoAODOutputModule",
0035
0036 compressionAlgorithm = process.NANOAODoutput.compressionAlgorithm,
0037 compressionLevel = process.NANOAODoutput.compressionLevel,
0038 dataset = process.NANOAODoutput.dataset,
0039 fileName = process.NANOAODoutput.fileName,
0040
0041 outputCommands = cms.untracked.vstring(
0042 "drop *",
0043 "keep l1ScoutingRun3OrbitFlatTable_*_*_*"),
0044
0045 SelectEvents = cms.untracked.PSet(
0046 SelectEvents = cms.vstring('nanoAOD_step')
0047 ),
0048 skipEmptyBXs = cms.bool(True),
0049 )
0050 )
0051
0052 return process
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062 def customiseL1ScoutingNanoAODSelection(process):
0063
0064 process.l1scoutingMuonPhysicalValueMap.src = cms.InputTag("FinalBxSelectorMuon", "Muon")
0065 process.l1scoutingEGammaPhysicalValueMap.src = cms.InputTag("FinalBxSelectorEGamma", "EGamma")
0066 process.l1scoutingJetPhysicalValueMap.src = cms.InputTag("FinalBxSelectorJet", "Jet")
0067
0068 process.l1scoutingMuonTable.src = cms.InputTag("FinalBxSelectorMuon", "Muon")
0069 process.l1scoutingEGammaTable.src = cms.InputTag("FinalBxSelectorEGamma", "EGamma")
0070 process.l1scoutingJetTable.src = cms.InputTag("FinalBxSelectorJet", "Jet")
0071 process.l1scoutingEtSumTable.src = cms.InputTag("FinalBxSelectorBxSums", "EtSum")
0072 process.l1scoutingBMTFStubTable.src = cms.InputTag("FinalBxSelectorBMTFStub", "BMTFStub")
0073
0074
0075 process.nanoTableTaskCommon.remove(process.l1scoutingTauTable)
0076
0077
0078 process.NANOAODoutput.outputCommands += ["keep uints_*_SelBx_*"]
0079 process.NANOAODoutput.selectedBx = cms.InputTag("FinalBxSelector", "SelBx")
0080
0081 return process
0082
0083 def addHardwareValues(process):
0084
0085 process.l1scoutingMuonTable.variables = cms.PSet(
0086 process.l1scoutingMuonTable.variables,
0087 l1scoutingMuonUnconvertedVariables
0088 )
0089 process.l1scoutingEGammaTable.variables = cms.PSet(
0090 process.l1scoutingEGammaTable.variables,
0091 l1scoutingCaloObjectUnconvertedVariables
0092 )
0093 process.l1scoutingTauTable.variables = cms.PSet(
0094 process.l1scoutingTauTable.variables,
0095 l1scoutingCaloObjectUnconvertedVariables
0096 )
0097 process.l1scoutingJetTable.variables = cms.PSet(
0098 process.l1scoutingJetTable.variables,
0099 l1scoutingCaloObjectUnconvertedVariables
0100 )
0101
0102
0103 process.l1scoutingEtSumTable.writeHardwareValues = cms.bool(True)
0104
0105 return process
0106
0107 def keepHardwareValuesOnly(process):
0108
0109 process = addHardwareValues(process)
0110
0111
0112
0113 process.l1scoutingMuonTable.externalVariables = cms.PSet()
0114 process.l1scoutingEGammaTable.externalVariables = cms.PSet()
0115 process.l1scoutingTauTable.externalVariables = cms.PSet()
0116 process.l1scoutingJetTable.externalVariables = cms.PSet()
0117
0118
0119 process.l1scoutingEtSumTable.writePhysicalValues = cms.bool(False)
0120
0121 return process
0122
0123 def outputMultipleEtSums(process):
0124 process.l1scoutingEtSumTable.singleton = cms.bool(False)
0125 return process
0126
0127 def dropEmptyBXs(process):
0128 process.NANOAODoutput.skipEmptyBXs = cms.bool(True)
0129 return process
0130
0131 def keepEmptyBXs(process):
0132 process.NANOAODoutput.skipEmptyBXs = cms.bool(False)
0133 return process
0134
0135 def dropBMTFStub(process):
0136 process.nanoTableTaskCommon.remove(process.l1scoutingBMTFStubTable)
0137 return process