File indexing completed on 2025-03-14 23:36:08
0001 import FWCore.ParameterSet.Config as cms
0002 from PhysicsTools.NanoAOD.common_cff import *
0003 from PhysicsTools.NanoAOD.l1trig_cff import *
0004
0005
0006 from L1Trigger.Phase2L1GT.l1tGTScales import scale_parameter
0007
0008
0009 l1GTObjVars = cms.PSet(
0010 l1P3Vars,
0011 )
0012
0013
0014 l1tP2GTTrigConvert = cms.EDProducer("P2GTTriggerResultsConverter",
0015 src = cms.InputTag("l1tGTAlgoBlockProducer"),
0016 prefix = cms.string("L1_"),
0017 decision = cms.string("final"),
0018 )
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037 gtVtxTable = cms.EDProducer(
0038 "SimpleP2GTCandidateFlatTableProducer",
0039 src = cms.InputTag('l1tGTProducer','GTTPrimaryVert'),
0040 cut = cms.string(""),
0041 name = cms.string("L1GTVertex"),
0042 doc = cms.string("GT GTT Vertices"),
0043 singleton = cms.bool(False),
0044 variables = cms.PSet(
0045 z0 = Var("vz",float, doc = "primary vertex position z coordinate"),
0046
0047
0048 hwZ0 = Var("hwZ0_toInt()",int, doc = "HW primary vertex position z coordinate"),
0049
0050 )
0051 )
0052
0053
0054 gtPvTable = gtVtxTable.clone(
0055 name = cms.string("L1GTPV"),
0056 doc = cms.string("GT GTT Leading Primary Vertex"),
0057 maxLen = cms.uint32(1),
0058 )
0059
0060
0061 gtTkPhoTable =cms.EDProducer(
0062 "SimpleP2GTCandidateFlatTableProducer",
0063 src = cms.InputTag('l1tGTProducer','CL2Photons'),
0064 name = cms.string("L1GTtkPhoton"),
0065 doc = cms.string("GT tkPhotons"),
0066 cut = cms.string(""),
0067 singleton = cms.bool(False),
0068 variables = cms.PSet(
0069 l1GTObjVars,
0070
0071
0072 hwQual = Var("hwQualityFlags_toInt()",int),
0073 hwIso = Var("hwIsolationPT_toInt()",int),
0074
0075
0076 iso = Var(f"hwIsolationPT_toInt()*{scale_parameter.isolationPT_lsb.value()}",float, doc = "absolute isolation"),
0077 relIso = Var(f"hwIsolationPT_toInt()*{scale_parameter.isolationPT_lsb.value()} / pt",float, doc = "relative isolation")
0078 )
0079 )
0080
0081
0082 gtTkEleTable = gtTkPhoTable.clone(
0083 src = cms.InputTag('l1tGTProducer','CL2Electrons'),
0084 name = cms.string("L1GTtkElectron"),
0085 doc = cms.string("GT tkElectrons"),
0086 )
0087
0088 gtTkEleTable.variables.z0 = Var("vz",float)
0089 gtTkEleTable.variables.charge = Var("charge", int, doc="charge id")
0090 gtTkEleTable.variables.hwZ0 = Var("hwZ0_toInt()",int)
0091
0092
0093 gtTkMuTable = gtTkEleTable.clone(
0094 src = cms.InputTag('l1tGTProducer','GMTTkMuons'),
0095 name = cms.string("L1GTgmtTkMuon"),
0096 doc = cms.string("GT GMT tkMuon"),
0097 variables = cms.PSet(
0098 l1GTObjVars,
0099 z0 = Var("vz",float),
0100 charge = Var("charge", int, doc="charge id"),
0101
0102 hwQual = Var("hwQualityFlags_toInt()",int),
0103 hwD0 = Var("hwD0_toInt()",int),
0104 hwZ0 = Var("hwZ0_toInt()",int),
0105
0106 )
0107 )
0108
0109 gtSaMuTable = gtTkMuTable.clone(
0110 src = cms.InputTag('l1tGTProducer','GMTSaPromptMuons'),
0111 name = cms.string("L1GTgmtMuon"),
0112 doc = cms.string("GT GMT standalone Muon"),
0113 )
0114
0115 gtSaDispMuTable = gtTkMuTable.clone(
0116 src = cms.InputTag('l1tGTProducer','GMTSaDisplacedMuons'),
0117 name = cms.string("L1GTgmtDispMuon"),
0118 doc = cms.string("GT GMT standalone displaced Muon"),
0119 )
0120
0121
0122
0123
0124
0125
0126
0127
0128
0129
0130
0131
0132
0133
0134
0135
0136
0137 gtSC4JetsTable = cms.EDProducer(
0138 "SimpleP2GTCandidateFlatTableProducer",
0139 src = cms.InputTag('l1tGTProducer','CL2JetsSC4'),
0140 cut = cms.string(""),
0141 name = cms.string("L1GTsc4Jet"),
0142 doc = cms.string("GT CL2JetsSC4: seededCone 0.4 Puppi Jets"),
0143 singleton = cms.bool(False),
0144 variables = cms.PSet(
0145 l1GTObjVars,
0146 z0 = Var("vz",float),
0147 )
0148 )
0149
0150
0151 gtSC8JetsTable = cms.EDProducer(
0152 "SimpleP2GTCandidateFlatTableProducer",
0153 src = cms.InputTag('l1tGTProducer','CL2JetsSC8'),
0154 cut = cms.string(""),
0155 name = cms.string("L1GTsc8Jet"),
0156 doc = cms.string("GT CL2JetsSC8: seededCone 0.8 Puppi Jets"),
0157 singleton = cms.bool(False),
0158 variables = cms.PSet(
0159 l1GTObjVars,
0160 z0 = Var("vz",float),
0161 )
0162 )
0163
0164 gtNNTauTable = cms.EDProducer(
0165 "SimpleP2GTCandidateFlatTableProducer",
0166 src = cms.InputTag('l1tGTProducer','CL2Taus'),
0167 cut = cms.string(""),
0168 name = cms.string("L1GTnnTau"),
0169 doc = cms.string("GT CL2Taus: NN puppi Taus"),
0170 singleton = cms.bool(False),
0171 variables = cms.PSet(
0172 l1GTObjVars,
0173 z0 = Var(f"hwSeed_z0_toInt()*{scale_parameter.seed_z0_lsb.value()}",float, doc = "z0"),
0174 hwZ0 = Var(f"hwSeed_z0_toInt()",int, doc = "hwZ0"),
0175 )
0176 )
0177
0178 gtEtSumTable = cms.EDProducer(
0179 "SimpleP2GTCandidateFlatTableProducer",
0180 src = cms.InputTag('l1tGTProducer','CL2EtSum'),
0181 name = cms.string("L1GTpuppiMET"),
0182 doc = cms.string("GT CL2EtSum"),
0183 singleton = cms.bool(True),
0184 variables = cms.PSet(
0185 pt = Var("pt", float, doc="MET pt"),
0186 phi = Var("phi", float, doc="MET phi"),
0187 )
0188 )
0189
0190 gtHtSumTable = cms.EDProducer(
0191 "SimpleP2GTCandidateFlatTableProducer",
0192 src = cms.InputTag('l1tGTProducer','CL2HtSum'),
0193 name = cms.string("L1GTscJetSum"),
0194 doc = cms.string("GT CL2HtSum"),
0195 singleton = cms.bool(True),
0196 variables = cms.PSet(
0197
0198 mht = Var("pt", float, doc="MHT pt"),
0199 mhtPhi = Var("phi", float, doc="MHT phi"),
0200 ht = Var(f"hwScalarSumPT_toInt()*{scale_parameter.scalarSumPT_lsb.value()}", float, doc="HT"),
0201 )
0202 )
0203
0204
0205 p2GTL1TablesTask = cms.Task(
0206 l1tP2GTTrigConvert,
0207 gtTkPhoTable,
0208 gtTkEleTable,
0209 gtTkMuTable,
0210 gtSaMuTable, gtSaDispMuTable,
0211
0212 gtSC4JetsTable,
0213 gtSC8JetsTable,
0214 gtNNTauTable,
0215 gtEtSumTable,
0216 gtHtSumTable,
0217 gtVtxTable,
0218 gtPvTable,
0219 )