Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Phase-2 L1] Incorporate object threshold scalings, ID and isolation via dictionaries into the P2GT menu #46489

Merged
merged 1 commit into from
Jan 27, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion Configuration/Applications/python/ConfigBuilder.py
Original file line number Diff line number Diff line change
Expand Up @@ -1559,6 +1559,7 @@ def prepare_REPACK(self, stepSpec = None):
def loadPhase2GTMenu(self, menuFile: str):
import importlib
menuPath = f'L1Trigger.Configuration.Phase2GTMenus.{menuFile}'
print(f"Loading P2GT menu from {menuPath}")
menuModule = importlib.import_module(menuPath)

theMenu = menuModule.menu
Expand All @@ -1585,7 +1586,7 @@ def prepare_L1P2GT(self, stepSpec=None):
self.scheduleSequence('l1tGTProducerSequence', 'Phase2L1GTProducer')
self.scheduleSequence('l1tGTAlgoBlockProducerSequence', 'Phase2L1GTAlgoBlockProducer')
if stepSpec == None:
defaultMenuFile = "prototype_2023_v1_0_0"
defaultMenuFile = "step1_2024"
self.loadPhase2GTMenu(menuFile = defaultMenuFile)
else:
self.loadPhase2GTMenu(menuFile = stepSpec)
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import FWCore.ParameterSet.Config as cms

############################################################
# L1 Global Trigger Menu
############################################################

from L1Trigger.Configuration.Phase2GTMenus.SeedDefinitions.step1_2023.l1tGTMenu_lepSeeds_cff import *

from L1Trigger.Configuration.Phase2GTMenus.SeedDefinitions.step1_2023.l1tGTMenu_hadr_metSeeds_cff import *

from L1Trigger.Configuration.Phase2GTMenus.SeedDefinitions.step1_2023.l1tGTMenu_crossLepSeeds_cff import *

from L1Trigger.Configuration.Phase2GTMenus.SeedDefinitions.step1_2023.l1tGTMenu_hadr_crossLepSeeds_cff import *

from L1Trigger.Configuration.Phase2GTMenus.SeedDefinitions.step1_2023.l1tGTMenu_BTagSeeds_cff import *

Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
import FWCore.ParameterSet.Config as cms

############################################################
# Common objects for P2GT L1 seeds
############################################################

from L1Trigger.Configuration.Phase2GTMenus.SeedDefinitions.step1_2024.l1tGTObject_constants import *

############################################################
# Muons
############################################################

l1tGTtkMuon = cms.PSet(
tag = cms.InputTag("l1tGTProducer", "GMTTkMuons"),
minEta = cms.double(-2.4),
maxEta = cms.double(2.4),
regionsAbsEtaLowerBounds = get_object_etalowbounds("GMTTkMuons"),
)
l1tGTtkMuonLoose = l1tGTtkMuon.clone(
qualityFlags = get_object_ids("GMTTkMuons","Loose"),
)
l1tGTtkMuonVLoose = l1tGTtkMuonLoose.clone(
qualityFlags = get_object_ids("GMTTkMuons","VLoose"),
)

############################################################
# Jets
############################################################

l1tGTsc4Jet = cms.PSet(
tag = cms.InputTag("l1tGTProducer", "CL2JetsSC4"),
minEta = cms.double(-2.4),
maxEta = cms.double( 2.4),
regionsAbsEtaLowerBounds = get_object_etalowbounds("CL2JetsSC4"),
# minPt = cms.double(25), # safety cut - can be enabled everywhere (for now done in the get_threshold function)
)

l1tGTsc4Jet_er5 = l1tGTsc4Jet.clone(
minEta = cms.double(-5),
maxEta = cms.double(5),
)

############################################################
# Taus
############################################################
l1tGTnnTau = cms.PSet(
tag = cms.InputTag("l1tGTProducer", "CL2Taus"),
minEta = cms.double(-2.172),
maxEta = cms.double(2.172),
regionsAbsEtaLowerBounds = get_object_etalowbounds("CL2Taus"),
minQualityScore = get_object_ids("CL2Taus","default")
)

############################################################
# Sums
############################################################

l1tGTHtSum = cms.PSet(
tag = cms.InputTag("l1tGTProducer", "CL2HtSum")
)

l1tGTEtSum = cms.PSet(
tag = cms.InputTag("l1tGTProducer", "CL2EtSum")
)

############################################################
# Electrons
############################################################

l1tGTtkElectronBase = cms.PSet(
tag = cms.InputTag("l1tGTProducer", "CL2Electrons"),
minEta = cms.double(-2.4),
maxEta = cms.double(2.4),
regionsAbsEtaLowerBounds = get_object_etalowbounds("CL2Electrons"),
)

l1tGTtkElectron = l1tGTtkElectronBase.clone(
regionsQualityFlags = get_object_ids("CL2Electrons","NoIso"),
)

l1tGTtkElectronLowPt = l1tGTtkElectronBase.clone(
regionsQualityFlags = get_object_ids("CL2Electrons","NoIsoLowPt"),
)

l1tGTtkIsoElectron = l1tGTtkElectronBase.clone(
regionsMaxRelIsolationPt = get_object_isos("CL2Electrons","Iso"),
)

############################################################
# Photons
############################################################

l1tGTtkPhoton = cms.PSet(
tag = cms.InputTag("l1tGTProducer", "CL2Photons"),
minEta = cms.double(-2.4),
maxEta = cms.double(2.4),
regionsAbsEtaLowerBounds = get_object_etalowbounds("CL2Photons"),
regionsQualityFlags = get_object_ids("CL2Photons","Iso"),
)

l1tGTtkIsoPhoton = l1tGTtkPhoton.clone(
regionsMaxRelIsolationPt = get_object_isos("CL2Photons","Iso"),
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
import FWCore.ParameterSet.Config as cms

############################################################
# L1 Global Trigger Emulation
############################################################

# Conditions

from L1Trigger.Phase2L1GT.l1tGTProducer_cff import l1tGTProducer

from L1Trigger.Phase2L1GT.l1tGTSingleObjectCond_cfi import l1tGTSingleObjectCond
from L1Trigger.Phase2L1GT.l1tGTDoubleObjectCond_cfi import l1tGTDoubleObjectCond
from L1Trigger.Phase2L1GT.l1tGTTripleObjectCond_cfi import l1tGTTripleObjectCond
from L1Trigger.Phase2L1GT.l1tGTQuadObjectCond_cfi import l1tGTQuadObjectCond

from L1Trigger.Phase2L1GT.l1tGTAlgoBlockProducer_cff import algorithms

from L1Trigger.Configuration.Phase2GTMenus.SeedDefinitions.step1_2024.l1tGTObject_constants import *
from L1Trigger.Configuration.Phase2GTMenus.SeedDefinitions.step1_2024.l1tGTMenuObjects_cff import *

DoubleTkMuonOSEr1p5Dr1p4 = l1tGTDoubleObjectCond.clone(
collection1 = l1tGTtkMuonLoose.clone(
minEta = cms.double(-1.5),
maxEta = cms.double(1.5),
),
collection2 = l1tGTtkMuonLoose.clone(
minEta = cms.double(-1.5),
maxEta = cms.double(1.5),
),
minDR = cms.double(0),
maxDR =cms.double(1.4),
maxDz = cms.double(1),
os = cms.bool(True),
)
pDoubleTkMuon_OS_Er1p5_Dr1p4 = cms.Path(DoubleTkMuonOSEr1p5Dr1p4)
algorithms.append(cms.PSet(expression = cms.string("pDoubleTkMuon_OS_Er1p5_Dr1p4")))

DoubleTkMuon44OSDr1p2 = l1tGTDoubleObjectCond.clone(
collection1 = l1tGTtkMuonLoose.clone(
minPt = cms.double(4),
),
collection2 = l1tGTtkMuonLoose.clone(
minPt = cms.double(4),
),
minDR = cms.double(0),
maxDR = cms.double(1.2),
maxDz = cms.double(1),
os = cms.bool(True),
)
pDoubleTkMuon_4_4_OS_Dr1p2 = cms.Path(DoubleTkMuon44OSDr1p2)
algorithms.append(cms.PSet(expression = cms.string("pDoubleTkMuon_4_4_OS_Dr1p2")))

DoubleTkMuon4p5OSEr2Mass7to18 = l1tGTDoubleObjectCond.clone(
collection1 = l1tGTtkMuonLoose.clone(
minEta = cms.double(-2.0),
maxEta = cms.double(2.0),
minPt = cms.double(4),
),
collection2 = l1tGTtkMuonLoose.clone(
minEta = cms.double(-2.0),
maxEta = cms.double(2.0),
minPt = cms.double(4),
),
minDR = cms.double(0),
minInvMass = cms.double(7),
maxInvMass = cms.double(18),
maxDz = cms.double(1),
os = cms.bool(True),
)
pDoubleTkMuon_4p5_4p5_OS_Er2_Mass7to18 = cms.Path(DoubleTkMuon4p5OSEr2Mass7to18)
algorithms.append(cms.PSet(expression = cms.string("pDoubleTkMuon_4p5_4p5_OS_Er2_Mass7to18")))

TripleTkMuon530OSMassMax9 = l1tGTTripleObjectCond.clone(
collection1 = l1tGTtkMuonLoose.clone(
minPt = cms.double(5),
),
collection2 = l1tGTtkMuonLoose.clone(
minPt = cms.double(3),
),
collection3 = l1tGTtkMuonLoose.clone(
minPt = cms.double(0),
),
correl12 = cms.PSet(
minDR = cms.double(0),
maxDz = cms.double(1),
os = cms.bool(True),
maxInvMass = cms.double(9),
),
correl13 = cms.PSet(
minDR = cms.double(0),
maxDz = cms.double(1)
),
correl23 = cms.PSet(
minDR = cms.double(0),
)
)
pTripleTkMuon_5_3_0_DoubleTkMuon_5_3_OS_MassTo9 = cms.Path(TripleTkMuon530OSMassMax9)
algorithms.append(cms.PSet(expression = cms.string("pTripleTkMuon_5_3_0_DoubleTkMuon_5_3_OS_MassTo9")))

TripleTkMuon53p52p5OSMass5to17 = l1tGTTripleObjectCond.clone(
collection1 = l1tGTtkMuonLoose.clone(
minPt = cms.double(5),
),
collection2 = l1tGTtkMuonLoose.clone(
minPt = cms.double(4),
),
collection3 = l1tGTtkMuonLoose.clone(
minPt = cms.double(2),
),
correl12 = cms.PSet(
minDR = cms.double(0),
maxDz = cms.double(1),
),
correl13 = cms.PSet(
minDR = cms.double(0),
maxDz = cms.double(1),
os = cms.bool(True),
minInvMass = cms.double(5),
maxInvMass = cms.double(17),
),
correl23 = cms.PSet(
minDR = cms.double(0),
)
)
pTripleTkMuon_5_3p5_2p5_OS_Mass5to17 = cms.Path(TripleTkMuon53p52p5OSMass5to17)
algorithms.append(cms.PSet(expression = cms.string("pTripleTkMuon_5_3p5_2p5_OS_Mass5to17")))
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import FWCore.ParameterSet.Config as cms

############################################################
# L1 Global Trigger Menu
############################################################

from L1Trigger.Configuration.Phase2GTMenus.SeedDefinitions.step1_2024.l1tGTMenu_lepSeeds_cff import *

from L1Trigger.Configuration.Phase2GTMenus.SeedDefinitions.step1_2024.l1tGTMenu_hadr_metSeeds_cff import *

from L1Trigger.Configuration.Phase2GTMenus.SeedDefinitions.step1_2024.l1tGTMenu_crossLepSeeds_cff import *

from L1Trigger.Configuration.Phase2GTMenus.SeedDefinitions.step1_2024.l1tGTMenu_hadr_crossLepSeeds_cff import *

from L1Trigger.Configuration.Phase2GTMenus.SeedDefinitions.step1_2024.l1tGTMenu_BTagSeeds_cff import *

Loading