File indexing completed on 2025-05-04 22:50:32
0001 import FWCore.ParameterSet.Config as cms
0002 from PhysicsTools.NanoAOD.common_cff import *
0003 from PhysicsTools.NanoAOD.l1trig_cff import *
0004
0005
0006 vtxTable = cms.EDProducer(
0007 "SimpleL1VtxWordCandidateFlatTableProducer",
0008 src = cms.InputTag('l1tVertexFinderEmulator','L1VerticesEmulation'),
0009 cut = cms.string(""),
0010 name = cms.string("L1Vertex"),
0011 doc = cms.string("GTT Vertices"),
0012 singleton = cms.bool(False),
0013 variables = cms.PSet(
0014 z0 = Var("z0()",float, doc = "primary vertex position z coordinate"),
0015 sumPt = Var("pt()",float, doc = "sum pt of tracks"),
0016 hwValid = Var("validBits()", bool, doc = "hardware vertex valid bit"),
0017 hwPt = Var("ptBits()", "uint", doc = "hardware pt"),
0018 hwZ0 = Var("z0Bits()", "uint", doc = "hardware z0 vertex position"),
0019 hwQual = Var("qualityBits()", "uint", doc = "hardware qual"),
0020 hwNTracksIn = Var("multiplicityBits()", "uint", doc = "hardware track multiplicity in the vertex"),
0021 hwNTracksOut = Var("inverseMultiplicityBits()", "uint", doc = "hardware track multiplicity out of the vertex"),
0022
0023
0024 )
0025 )
0026
0027 gttTrackJetsTable = cms.EDProducer(
0028 "SimpleL1TkJetWordCandidateFlatTableProducer",
0029 src = cms.InputTag("l1tTrackJetsEmulation","L1TrackJets"),
0030 name = cms.string("L1TrackJet"),
0031 doc = cms.string("GTT Track Jets"),
0032 singleton = cms.bool(False),
0033 variables = cms.PSet(
0034 pt = Var("pt()", float, doc="pt"),
0035 eta = Var("glbeta()", float, doc="eta"),
0036 phi = Var("glbphi()", float, doc="phi"),
0037 z0 = Var("z0()", float, doc="z0"),
0038 hwPt = Var("ptBits()", "uint", doc="hardware pt"),
0039 hwEta = Var("glbEtaBits()", "uint", doc="hardware eta"),
0040 hwPhi = Var("glbPhiBits()", "uint", doc="hardware eta"),
0041 hwZ0 = Var("z0Bits()", "uint", doc="hardware z0"),
0042 hwNTracks = Var("ntBits()", "uint", doc="hardware number of tracks"),
0043 hwNDisplacedTracks = Var("xtBits()", "uint", doc="hardware number of tracks"),
0044 hwDisplacedFlagBits = Var("dispFlagBits()", "uint", doc="hardware displaced flag bits"),
0045
0046
0047
0048
0049 )
0050 )
0051
0052 gttExtTrackJetsTable = gttTrackJetsTable.clone(
0053 src = cms.InputTag("l1tTrackJetsExtendedEmulation", "L1TrackJetsExtended"),
0054 name = cms.string("L1ExtTrackJet"),
0055 doc = cms.string("GTT Extended Track Jets"),
0056 )
0057
0058 gttTripletTable = cms.EDProducer(
0059 "SimpleTkTripletWordCandidateFlatTableProducer",
0060 src = cms.InputTag("l1tTrackTripletEmulation","L1TrackTripletWord"),
0061 name = cms.string("L1TrackTripletWord"),
0062 doc = cms.string("GTT Triplets"),
0063 singleton = cms.bool(False),
0064 variables = cms.PSet(
0065 valid = Var("valid()", float, doc="valid"),
0066 pt = Var("pt()", float, doc="pt"),
0067 eta = Var("glbeta()", float, doc="eta"),
0068 phi = Var("glbphi()", float, doc="phi"),
0069 mass = Var("mass()", float, doc="mass"),
0070 charge = Var("charge()", float, doc="charge"),
0071 ditrackMinMass = Var("ditrackMinMass()", float, doc="ditrackMinMass"),
0072 ditrackMaxMass = Var("ditrackMaxMass()", float, doc="ditrackMaxMass"),
0073 ditrackMinZ0 = Var("ditrackMinZ0()", float, doc="ditrackMinZ0"),
0074 ditrackMaxZ0 = Var("ditrackMaxZ0()", float, doc="ditrackMaxZ0"),
0075 hwValid = Var("validBits()", "uint", doc="hardware valid"),
0076 hwPt = Var("ptBits()", "uint", doc="hardware pt"),
0077 hwEta = Var("glbEtaBits()", "uint", doc="hardware eta"),
0078 hwPhi = Var("glbPhiBits()", "uint", doc="hardware eta"),
0079 hwMass = Var("massBits()", "uint", doc="hardware mass"),
0080 hwCharge = Var("chargeBits()", "uint", doc="hardware charge"),
0081 hwDitrackMinMass = Var("ditrackMinMassBits()", "uint", doc="hardware DitrackMinMass"),
0082 hwDitrackMaxMass = Var("ditrackMaxMassBits()", "uint", doc="hardware DitrackMaxMass"),
0083 hwDitrackMinZ0 = Var("ditrackMinZ0Bits()", "uint", doc="hardware DitrackMinZ0"),
0084 hwDitrackMaxZ0 = Var("ditrackMaxZ0Bits()", "uint", doc="hardware DitrackMaxZ0")
0085 )
0086 )
0087
0088 gttEtSumTable = cms.EDProducer(
0089 "SimpleTriggerL1CandidateFlatTableProducer",
0090 src = cms.InputTag("l1tTrackerEmuEtMiss", "L1TrackerEmuEtMiss"),
0091 name = cms.string("L1TrackMET"),
0092 doc = cms.string("GTT Track MET"),
0093 singleton = cms.bool(True),
0094 variables = cms.PSet(
0095
0096 pt = Var("et", float, doc = "Track MET"),
0097
0098 phi = Var("hwPhi() * 0.00076699039", float, doc = "Track MET Phi"),
0099 hwValid = Var("hwQual() > 0", bool, doc = "hardware Missing Et valid bit"),
0100 hwPt = Var("hwPt()", "int", doc = "hardware pt track MET"),
0101 hwPhi = Var("hwPhi()", "int", doc = "hardware Missing Et phi"),
0102 )
0103 )
0104
0105 gttHtSumTable = cms.EDProducer(
0106 "SimpleTriggerL1CandidateFlatTableProducer",
0107 src = cms.InputTag("l1tTrackerEmuHTMiss", "L1TrackerEmuHTMiss"),
0108 name = cms.string("L1TrackHT"),
0109 doc = cms.string("GTT Track Missing HT"),
0110 singleton = cms.bool(True),
0111 variables = cms.PSet(
0112
0113 mht = Var(f"p4().energy()", float, doc="Track MHT vector sum"),
0114
0115 phi = Var("?hwPhi * 0.00076699039 > 3.1415926535?hwPhi * 0.00076699039 - 2 * 3.1415926535:hwPhi * 0.00076699039", float, doc = "Track MHT Phi"),
0116
0117 ht = Var("hwPt() * 0.03125", float, doc = "Track HT scalar sum"),
0118 hwValid = Var("hwQual() > 0", bool, doc = "hardware Track MHT valid bit"),
0119 hwPt = Var("hwPt()", "int", doc = "hardware Track HT scalar sum"),
0120 hwPhi = Var("hwPhi()", "int", doc = "hardware Track MHT phi"),
0121 )
0122 )
0123
0124 gttExtHtSumTable = gttHtSumTable.clone(
0125 src = cms.InputTag("l1tTrackerEmuHTMissExtended","L1TrackerEmuHTMissExtended"),
0126 name = cms.string("L1ExtTrackHT"),
0127 doc = cms.string("GTT Extended Track Missing HT"),
0128 )
0129
0130
0131 pvtxTable = vtxTable.clone(
0132 maxLen = cms.uint32(1),
0133 name = cms.string("L1PV"),
0134 doc = cms.string("GTT Leading Primary Vertex"),
0135 )
0136
0137
0138 tkPhotonTable = cms.EDProducer(
0139 "SimpleTriggerL1TkEmFlatTableProducer",
0140 src = cms.InputTag('l1tLayer2EG','L1CtTkEm'),
0141 cut = cms.string("pt > 5"),
0142 name = cms.string("L1tkPhoton"),
0143 doc = cms.string("Tk Photons (EM)"),
0144
0145 variables = cms.PSet(
0146 l1ObjVars,
0147 relIso = Var("trkIsol", float, doc = "relative Isolation based on trkIsol variable"),
0148
0149
0150
0151
0152
0153 saId = Var("test_bit(hwQual(),0)", bool, doc = "standalone ID, bit 0 of hwQual"),
0154 eleId = Var("test_bit(hwQual(),1)", bool, doc = "electron ID, bit 1 of hwQual"),
0155 phoId = Var("test_bit(hwQual(),2)", bool, doc = "photon ID, bit 2 of hwQual"),
0156 )
0157 )
0158
0159 tkEleTable = cms.EDProducer(
0160 "SimpleTriggerL1TkElectronFlatTableProducer",
0161 src = cms.InputTag('l1tLayer2EG','L1CtTkElectron'),
0162 name = cms.string("L1tkElectron"),
0163 doc = cms.string("Tk Electrons"),
0164 cut = cms.string("pt > 5"),
0165
0166 variables = cms.PSet(
0167 tkPhotonTable.variables.clone(),
0168 z0 = Var("trkzVtx", float, "track vertex z0"),
0169 charge = Var("charge", int, doc="charge"),
0170 )
0171 )
0172
0173
0174
0175
0176
0177
0178
0179
0180 staEGmerged = cms.EDProducer("CandViewMerger",
0181 src = cms.VInputTag(
0182 cms.InputTag('l1tPhase2L1CaloEGammaEmulator','GCTEGammas'),
0183 cms.InputTag('l1tLayer2EG','L1CtEgEE'),
0184 )
0185 )
0186
0187 staEGTable = cms.EDProducer(
0188 "SimpleCandidateFlatTableProducer",
0189 src = cms.InputTag("staEGmerged"),
0190 cut = cms.string("pt > 5"),
0191 name = cms.string("L1EG"),
0192 doc = cms.string("standalone EG merged endcap and barrel"),
0193
0194 variables = cms.PSet(
0195 l1P3Vars,
0196
0197
0198
0199
0200
0201
0202
0203
0204 )
0205 )
0206
0207 staEGebTable = cms.EDProducer(
0208 "SimpleTriggerL1EGFlatTableProducer",
0209 src = cms.InputTag('l1tPhase2L1CaloEGammaEmulator','GCTEGammas'),
0210 cut = cms.string("pt > 5"),
0211 name = cms.string("L1EGbarrel"),
0212 doc = cms.string("standalone EG barrel"),
0213
0214 variables = cms.PSet(
0215 l1P3Vars,
0216
0217
0218 hwQual = Var("hwQual",int,doc="hardware qual"),
0219
0220 saId = Var("test_bit(hwQual(),0)", bool, doc = "standalone ID, bit 0 of hwQual"),
0221 eleId = Var("test_bit(hwQual(),1)", bool, doc = "electron ID, bit 1 of hwQual"),
0222 phoId = Var("test_bit(hwQual(),2)", bool, doc = "photon ID, bit 2 of hwQual"),
0223 )
0224 )
0225
0226 staEGeeTable = staEGebTable.clone(
0227 src = cms.InputTag('l1tLayer2EG','L1CtEgEE'),
0228 name = cms.string("L1EGendcap"),
0229 doc = cms.string("standalone EG endcap"),
0230 )
0231
0232
0233
0234 staMuTable = cms.EDProducer(
0235 "SimpleTriggerL1SAMuonFlatTableProducer",
0236 src = cms.InputTag('l1tSAMuonsGmt','prompt'),
0237 name = cms.string("L1gmtMuon"),
0238 doc = cms.string("GMT standalone Muons, origin: GMT"),
0239 cut = cms.string(""),
0240
0241 variables = cms.PSet(
0242
0243
0244
0245 chargeNoPh = Var("charge", int, doc="charge id"),
0246
0247
0248 charge = Var("phCharge", int, doc="charge id"),
0249 pt = Var("phPt()",float),
0250 eta = Var("phEta()",float),
0251 phi = Var("phPhi()",float),
0252 z0 = Var("phZ0()",float),
0253 d0 = Var("phD0()",float),
0254
0255
0256
0257 hwPt = Var("hwPt()",int,doc="hardware pt"),
0258 hwEta = Var("hwEta()",int,doc="hardware eta"),
0259 hwPhi = Var("hwPhi()",int,doc="hardware phi"),
0260 hwQual = Var("hwQual()",int,doc="hardware qual"),
0261 hwIso = Var("hwIso()",int,doc="hardware iso"),
0262 hwBeta = Var("hwBeta()",int,doc="hardware beta"),
0263
0264
0265
0266 )
0267 )
0268
0269 staDisplacedMuTable = staMuTable.clone(
0270 src = cms.InputTag("l1tSAMuonsGmt", "displaced"),
0271 name = cms.string("L1gmtDispMuon"),
0272 doc = cms.string("GMT standalone displaced Muons, origin: GMT"),
0273 )
0274
0275 gmtTkMuTable = cms.EDProducer(
0276 "SimpleTriggerL1TrackerMuonFlatTableProducer",
0277 src = cms.InputTag('l1tTkMuonsGmt'),
0278 name = cms.string("L1gmtTkMuon"),
0279 doc = cms.string("GMT Tk Muons, origin: GMT"),
0280 cut = cms.string(""),
0281
0282 variables = cms.PSet(
0283 staMuTable.variables.clone(),
0284
0285
0286 vlooseId = Var("test_bit(hwQual(),0)", bool, doc = "VLoose ID, bit 0 of hwQual"),
0287 looseId = Var("test_bit(hwQual(),1)", bool, doc = "Loose ID, bit 1 of hwQual"),
0288 mediumId = Var("test_bit(hwQual(),2)", bool, doc = "Medium ID, bit 2 of hwQual"),
0289 tightId = Var("test_bit(hwQual(),3)", bool, doc = "Tight ID, bit 3 of hwQual")
0290
0291
0292
0293 )
0294 )
0295
0296
0297
0298 KMTFpromptMuTable = staMuTable.clone(
0299 src = cms.InputTag("l1tKMTFMuonsGmt", "prompt"),
0300 name = cms.string("L1MuonKMTF"),
0301 doc = cms.string("GMT KMTF prompt Muons, origin: GMT"),
0302 )
0303
0304 KMTFDisplaceMuTable = staMuTable.clone(
0305 src = cms.InputTag("l1tKMTFMuonsGmt", "displaced"),
0306 name = cms.string("L1DispMuonKMTF"),
0307 doc = cms.string("GMT KMTF Displaced Muons, origin: GMT"),
0308 )
0309
0310 OMTFpromptMuTable = staMuTable.clone(
0311 src = cms.InputTag("l1tFwdMuonsGmt", "prompt"),
0312 cut = cms.string("tfType() == 1 | tfType() == 2"),
0313 name = cms.string("L1MuonOMTF"),
0314 doc = cms.string("GMT OMTF prompt Muons, origin: GMT"),
0315 )
0316
0317 OMTFDisplaceMuTable = staMuTable.clone(
0318 src = cms.InputTag("l1tFwdMuonsGmt", "displaced"),
0319 cut = cms.string("tfType() == 1 | tfType() == 2"),
0320 name = cms.string("L1DispMuonOMTF"),
0321 doc = cms.string("GMT OMTF displaced Muons, origin: GMT"),
0322 )
0323
0324 EMTFpromptMuTable = staMuTable.clone(
0325 src = cms.InputTag("l1tFwdMuonsGmt", "prompt"),
0326 cut = cms.string("tfType() == 3 | tfType() == 4"),
0327 name = cms.string("L1MuonEMTF"),
0328 doc = cms.string("GMT EMTF prompt Muons, origin: GMT"),
0329 )
0330
0331 EMTFDisplaceMuTable = staMuTable.clone(
0332 src = cms.InputTag("l1tFwdMuonsGmt", "displaced"),
0333 cut = cms.string("tfType() == 3 | tfType() == 4"),
0334 name = cms.string("L1DispMuonEMTF"),
0335 doc = cms.string("GMT EMTF displaced Muons, origin: GMT"),
0336 )
0337
0338
0339 sc4JetTable = cms.EDProducer(
0340 "SimpleCandidateFlatTableProducer",
0341 src = cms.InputTag('l1tSC4PFL1PuppiCorrectedEmulator'),
0342 cut = cms.string(""),
0343 name = cms.string("L1puppiJetSC4"),
0344 doc = cms.string("SeededCone 0.4 Puppi jet, origin: Correlator"),
0345 singleton = cms.bool(False),
0346 variables = cms.PSet(
0347 l1P3Vars,
0348 et = Var("et",float),
0349
0350 )
0351 )
0352
0353 sc8JetTable = sc4JetTable.clone(
0354 src = 'l1tSC8PFL1PuppiCorrectedEmulator',
0355 name = "L1puppiJetSC8",
0356 doc = "SeededCone 0.8 Puppi jet, origin: Correlator"
0357 )
0358
0359 sc4ExtJetTable = sc4JetTable.clone(
0360 src = cms.InputTag('l1tSC4PFL1PuppiExtendedCorrectedEmulator'),
0361 name = cms.string("L1puppiExtJetSC4"),
0362 doc = cms.string("SeededCone 0.4 Puppi jet from extended Puppi, origin: Correlator"),
0363 externalVariables = cms.PSet(
0364 btagScore = ExtVar(cms.InputTag("l1tBJetProducerPuppiCorrectedEmulator", "L1PFBJets"),float, doc="NNBtag score"),
0365 llpTagScore = ExtVar(cms.InputTag("l1tTOoLLiPProducerCorrectedEmulator", "L1PFLLPJets"),float, doc="NN LLP Tag score"),
0366 ),
0367 )
0368
0369 histoJetTable = sc4JetTable.clone(
0370 src = cms.InputTag("l1tPhase1JetCalibrator9x9trimmed" , "Phase1L1TJetFromPfCandidates"),
0371 name = cms.string("L1puppiJetHisto"),
0372 doc = cms.string("Puppi Jets histogrammed 9x9, trimmed, origin: Correlator"),
0373 )
0374
0375
0376 caloJetTable = sc4JetTable.clone(
0377 src = cms.InputTag("l1tPhase2CaloJetEmulator","GCTJet"),
0378 name = cms.string("L1caloJet"),
0379 doc = cms.string("Calo Jets, origin: GCT"),
0380 cut = cms.string("pt > 5"),
0381 )
0382
0383
0384
0385 puppiMetTable = cms.EDProducer(
0386 "SimpleCandidateFlatTableProducer",
0387 src = cms.InputTag("l1tMETPFProducer",""),
0388 name = cms.string("L1puppiMET"),
0389 doc = cms.string("Puppi MET, origin: Correlator"),
0390 singleton = cms.bool(True),
0391 variables = cms.PSet(
0392 l1PtVars,
0393 et = Var("et",float)
0394 )
0395 )
0396
0397 puppiMLMetTable = cms.EDProducer(
0398 "SimpleCandidateFlatTableProducer",
0399 src = cms.InputTag("l1tMETMLProducer",""),
0400 name = cms.string("L1puppiMLMET"),
0401 doc = cms.string("Puppi ML MET, origin: Correlator"),
0402 singleton = cms.bool(True),
0403 variables = cms.PSet(
0404 l1PtVars,
0405 et = Var("et",float)
0406 )
0407 )
0408
0409 sc4SumsTable = cms.EDProducer(
0410 "SimpleCandidateFlatTableProducer",
0411 src = cms.InputTag("l1tSC4PFL1PuppiCorrectedEmulatorMHT",""),
0412 name = cms.string("L1puppiJetSC4sums"),
0413 doc = cms.string("HT and MHT from SeededCone Radius 0.8 jets; idx 0 is HT, idx 1 is MHT, origin: Correlator"),
0414 singleton = cms.bool(False),
0415 cut = cms.string(""),
0416 variables = cms.PSet(
0417 l1PtVars,
0418
0419 )
0420 )
0421
0422 histoSumsTable = sc4SumsTable.clone(
0423 src = cms.InputTag("l1tPhase1JetSumsProducer9x9trimmed","Sums"),
0424 name = cms.string("L1puppiHistoJetSums"),
0425 doc = cms.string("HT and MHT from histogrammed 9x9 jets, origin: Correlator"),
0426 )
0427
0428
0429
0430 caloTauTable = cms.EDProducer(
0431 "SimpleTriggerL1CaloJetFlatTableProducer",
0432 src = cms.InputTag("l1tPhase2CaloJetEmulator","GCTJet"),
0433 cut = cms.string("pt > 5"),
0434 name = cms.string("L1caloTau"),
0435 doc = cms.string("Calo Taus"),
0436
0437 variables = cms.PSet(
0438 pt = Var("tauEt", float, precision=l1_float_precision_),
0439 phi = Var("phi", float, precision=l1_float_precision_),
0440 eta = Var("eta", float, precision=l1_float_precision_),
0441 )
0442 )
0443
0444
0445 nnCaloTauTable = cms.EDProducer(
0446 "SimpleTriggerL1CandidateFlatTableProducer",
0447 src = cms.InputTag("l1tNNCaloTauEmulator","L1NNCaloTauCollectionBXV"),
0448 cut = cms.string("pt > 5"),
0449 name = cms.string("L1nnCaloTau"),
0450 doc = cms.string("NN Calo Taus"),
0451 singleton = cms.bool(False),
0452 variables = cms.PSet(
0453 l1P3Vars,
0454 hwQual = Var("hwQual",int,doc="Tau ID working point, 90% --> 3, 95% --> 2, 99% --> 1, anything else --> 0"),
0455 hwIso = Var("hwIso",int,doc="Tau ID * 10E4")
0456 )
0457 )
0458
0459 nnPuppiTauTable = cms.EDProducer(
0460 "SimpleTriggerL1PFTauFlatTableProducer",
0461 src = cms.InputTag("l1tNNTauProducerPuppi","L1PFTausNN"),
0462 cut = cms.string(""),
0463 name = cms.string("L1nnPuppiTau"),
0464 doc = cms.string("NN Puppi Taus"),
0465
0466 variables = cms.PSet(
0467 l1P3Vars,
0468 charge = Var("charge", int),
0469 z0 = Var("z0", float, "vertex z0"),
0470
0471 chargedIso = Var("chargedIso", float),
0472 fullIso = Var("fullIso", float),
0473 id = Var("id", int),
0474 passLooseNN = Var("passLooseNN", int),
0475 passLoosePF = Var("passLoosePF", int),
0476 passTightPF = Var("passTightPF", int),
0477 passTightNN = Var("passTightNN", int),
0478 passLooseNNMass = Var("passLooseNNMass", int),
0479 passTightNNMass = Var("passTightNNMass", int),
0480 passMass = Var("passMass", int),
0481 dXY = Var("dxy", float),
0482 )
0483 )
0484
0485 hpsTauTable = cms.EDProducer(
0486 "SimpleTriggerL1HPSPFTauFlatTableProducer",
0487 src = cms.InputTag("l1tHPSPFTauProducerPuppi",""),
0488 cut = cms.string(""),
0489 name = cms.string("L1hpsTau"),
0490 doc = cms.string("HPS Taus"),
0491 singleton = cms.bool(False),
0492 variables = cms.PSet(
0493 l1P3Vars
0494 )
0495 )
0496
0497
0498 p2L1TablesTask = cms.Task(
0499
0500 gmtTkMuTable,
0501 staMuTable, staDisplacedMuTable,
0502
0503
0504 KMTFpromptMuTable,
0505 KMTFDisplaceMuTable,
0506 OMTFpromptMuTable,
0507 OMTFDisplaceMuTable,
0508 EMTFpromptMuTable,
0509 EMTFDisplaceMuTable,
0510
0511
0512 tkEleTable,
0513 tkPhotonTable,
0514 staEGmerged, staEGTable,
0515 staEGebTable, staEGeeTable,
0516
0517 sc4JetTable,
0518 sc8JetTable,
0519 sc4ExtJetTable,
0520 histoJetTable,
0521 caloJetTable,
0522
0523 puppiMetTable,
0524 puppiMLMetTable,
0525 sc4SumsTable,
0526 histoSumsTable,
0527
0528 caloTauTable,
0529 nnCaloTauTable,
0530 nnPuppiTauTable,
0531 hpsTauTable,
0532
0533 vtxTable,
0534 pvtxTable,
0535 gttTrackJetsTable,
0536 gttExtTrackJetsTable,
0537 gttTripletTable,
0538 gttEtSumTable,
0539 gttHtSumTable,
0540 gttExtHtSumTable,
0541 )
0542