diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/JETM12.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/JETM12.py index 7a77b32ace970b5606eb88174324d570c4dd5c9b..dd92989934448a9b54f839b04ca8fdd2087eec3f 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/JETM12.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/JETM12.py @@ -17,21 +17,6 @@ def JETM12SkimmingToolCfg(flags): elTriggers = TriggerLists.single_el_Trig(flags) muTriggers = TriggerLists.single_mu_Trig(flags) - addRun3METTriggers = ["HLT_xe55_cell_xe70_tcpufit_xe90_pfsum_vssk_L1XE50","HLT_xe55_cell_xe70_tcpufit_xe95_pfsum_cssk_L1XE50","HLT_xe60_cell_xe95_pfsum_cssk_L1XE50","HLT_xe65_cell_xe100_mhtpufit_pf_L1XE50","HLT_xe65_cell_xe105_mhtpufit_em_L1XE50","HLT_xe75_cell_xe65_tcpufit_xe90_trkmht_L1XE50","HLT_xe65_cell_xe90_pfopufit_L1XE50","HLT_xe80_cell_xe115_tcpufit_L1XE50"] - - addRun3ElectronTriggers = ["HLT_e17_lhvloose_L1EM15VHI","HLT_e20_lhvloose_L1EM15VH", "HLT_e250_etcut_L1EM22VHI", - "HLT_e26_lhtight_ivarloose_L1EM22VHI","HLT_e26_lhtight_ivarloose_L1eEM26M", - "HLT_e60_lhmedium_L1EM22VHI","HLT_e60_lhmedium_L1eEM26M", - "HLT_e140_lhloose_L1EM22VHI","HLT_e140_lhloose_L1eEM26M", - "HLT_e300_etcut_L1EM22VHI","HLT_e300_etcut_L1eEM26M", - "HLT_e140_lhloose_noringer_L1EM22VHI","HLT_e140_lhloose_noringer_L1eEM26M"] - - addRund3MuonTriggers = ["HLT_mu24_ivarmedium_L1MU14FCH","HLT_mu50_L1MU14FCH","HLT_mu60_0eta105_msonly_L1MU14FCH","HLT_mu60_L1MU14FCH","HLT_mu80_msonly_3layersEC_L1MU14FCH"] - - metTriggers = metTriggers+addRun3METTriggers - elTriggers = elTriggers+addRun3ElectronTriggers - muTriggers = muTriggers+addRund3MuonTriggers - addTtbarEvents = True if not flags.Input.isMC: # Check if the solenoid was turned on to define skimming @@ -125,11 +110,15 @@ def JETM12AugmentationToolsForSkimmingCfg(flags): acc.addPublicTool(TrackIsoTool) from xAODPrimitives.xAODIso import xAODIso as isoPar - Pt1000IsoTrackDecorator = CompFactory.DerivationFramework.trackIsolationDecorator(name = "Pt1000IsoTrackDecorator", - TrackIsolationTool = TrackIsoTool, - TargetContainer = "InDetTrackParticles", - ptcones = [isoPar.ptcone40,isoPar.ptcone30,isoPar.ptcone20], - Prefix = 'TrkIsoPt1000_') + + from DerivationFrameworkInDet.InDetToolsConfig import IsolationTrackDecoratorCfg + Pt1000IsoTrackDecorator = acc.getPrimaryAndMerge(IsolationTrackDecoratorCfg(flags, + name = "Pt1000IsoTrackDecorator", + TrackIsolationTool = TrackIsoTool, + TargetContainer = "InDetTrackParticles", + iso = [isoPar.ptcone40, isoPar.ptcone30, isoPar.ptcone20], + isoSuffix = ["ptcone40", "ptcone30", "ptcone20"], + Prefix = "TrkIsoPt1000_")) acc.addPublicTool(Pt1000IsoTrackDecorator, primary=True) @@ -154,11 +143,14 @@ def JETM12AugmentationToolsCfg(flags): acc.addPublicTool(TrackIsoTool) from xAODPrimitives.xAODIso import xAODIso as isoPar - Pt500IsoTrackDecorator = CompFactory.DerivationFramework.trackIsolationDecorator(name = "Pt500IsoTrackDecorator", - TrackIsolationTool = TrackIsoTool, - TargetContainer = "InDetTrackParticles", - ptcones = [isoPar.ptcone40,isoPar.ptcone30,isoPar.ptcone20], - Prefix = 'TrkIsoPt500_') + from DerivationFrameworkInDet.InDetToolsConfig import IsolationTrackDecoratorCfg + Pt500IsoTrackDecorator = acc.getPrimaryAndMerge(IsolationTrackDecoratorCfg(flags, + name = "Pt500IsoTrackDecorator", + TrackIsolationTool = TrackIsoTool, + TargetContainer = "InDetTrackParticles", + iso = [isoPar.ptcone40, isoPar.ptcone30, isoPar.ptcone20], + isoSuffix = ["ptcone40", "ptcone30", "ptcone20"], + Prefix = "TrkIsoPt500_")) acc.addPublicTool(Pt500IsoTrackDecorator, primary=True) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/TriggerLists.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/TriggerLists.py index 48473de880a6067c0cd8df2febb77a8d12d511ea..111b83975c22630d1632f6c470703224f413eb5c 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/TriggerLists.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/TriggerLists.py @@ -1,6 +1,7 @@ # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration from TriggerMenuMT.TriggerAPI.TriggerAPI import TriggerAPI from TriggerMenuMT.TriggerAPI.TriggerEnums import TriggerPeriod, TriggerType +from DerivationFrameworkPhys.TriggerListsHelper import getTapisSession from AthenaConfiguration.AutoConfigFlags import GetFileMD from AthenaConfiguration.Enums import LHCPeriod import re @@ -21,9 +22,16 @@ def jetTrig(flags): # electron triggers (unprescaled) def single_el_Trig(flags): - TriggerAPI.setConfigFlags(flags) - API_singleElTriggers = TriggerAPI.getLowestUnprescaled(TriggerPeriod.y2015, TriggerType.el_single) + TriggerAPI.getLowestUnprescaled(TriggerPeriod.y2016, TriggerType.el_single) + TriggerAPI.getLowestUnprescaled(TriggerPeriod.y2017, TriggerType.el_single) + TriggerAPI.getLowestUnprescaled(TriggerPeriod.y2018, TriggerType.el_single) + TriggerAPI.getLowestUnprescaled(TriggerPeriod.future, TriggerType.el_single) - return API_singleElTriggers + if flags.Trigger.EDMVersion <= 2: + TriggerAPI.setConfigFlags(flags) + allperiods = TriggerPeriod.y2015 | TriggerPeriod.y2016 | TriggerPeriod.y2017 | TriggerPeriod.y2018 | TriggerPeriod.future2e34 + trigger_names = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.el, livefraction=0.8) + else: + session = getTapisSession(flags) + lf = 0.8 # Prescale weighted life fraction of the GRL's LBs + trigger_names = set() + trigger_names = list(session.getLowestUnprescaled(triggerType=TriggerType.el, livefraction=lf).union(trigger_names)) + return trigger_names def multi_el_Trig(flags): TriggerAPI.setConfigFlags(flags) @@ -32,9 +40,16 @@ def multi_el_Trig(flags): # single muon triggers (unprescaled) def single_mu_Trig(flags): - TriggerAPI.setConfigFlags(flags) - API_singleMuTriggers = TriggerAPI.getLowestUnprescaled(TriggerPeriod.y2015, TriggerType.mu_single) + TriggerAPI.getLowestUnprescaled(TriggerPeriod.y2016, TriggerType.mu_single) + TriggerAPI.getLowestUnprescaled(TriggerPeriod.y2017, TriggerType.mu_single) + TriggerAPI.getLowestUnprescaled(TriggerPeriod.y2018, TriggerType.mu_single) + TriggerAPI.getLowestUnprescaled(TriggerPeriod.future, TriggerType.mu_single) - return API_singleMuTriggers + if flags.Trigger.EDMVersion <= 2: + TriggerAPI.setConfigFlags(flags) + allperiods = TriggerPeriod.y2015 | TriggerPeriod.y2016 | TriggerPeriod.y2017 | TriggerPeriod.y2018 | TriggerPeriod.future2e34 + trigger_names = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.mu, livefraction=0.8) + else: + session = getTapisSession(flags) + lf = 0.8 # Prescale weighted life fraction of the GRL's LBs + trigger_names = set() + trigger_names = list(session.getLowestUnprescaled(triggerType=TriggerType.mu, livefraction=lf).union(trigger_names)) + return trigger_names def multi_mu_Trig(flags): TriggerAPI.setConfigFlags(flags) @@ -43,15 +58,29 @@ def multi_mu_Trig(flags): # xe triggers (unprescaled) def MET_Trig(flags): - TriggerAPI.setConfigFlags(flags) - API_MET_Triggers = TriggerAPI.getLowestUnprescaled(TriggerPeriod.y2015, TriggerType.xe) + TriggerAPI.getLowestUnprescaled(TriggerPeriod.y2016, TriggerType.xe) + TriggerAPI.getLowestUnprescaled(TriggerPeriod.y2017, TriggerType.xe) + TriggerAPI.getLowestUnprescaled(TriggerPeriod.y2018, TriggerType.xe) + TriggerAPI.getLowestUnprescaled(TriggerPeriod.future, TriggerType.xe) - return API_MET_Triggers + if flags.Trigger.EDMVersion <= 2: + TriggerAPI.setConfigFlags(flags) + allperiods = TriggerPeriod.y2015 | TriggerPeriod.y2016 | TriggerPeriod.y2017 | TriggerPeriod.y2018 | TriggerPeriod.future2e34 + trigger_names = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.xe, livefraction=0.8) + else: + session = getTapisSession(flags) + lf = 0.8 # Prescale weighted life fraction of the GRL's LBs + trigger_names = set() + trigger_names = list(session.getLowestUnprescaled(triggerType=TriggerType.xe, livefraction=lf).union(trigger_names)) + return trigger_names # photon triggers (prescaled and unprescaled) def single_photon_Trig(flags): - TriggerAPI.setConfigFlags(flags) - API_singlePhotonTriggers = TriggerAPI.getActive(TriggerPeriod.y2015 | TriggerPeriod.y2016 | TriggerPeriod.y2017 | TriggerPeriod.y2018 | TriggerPeriod.future, TriggerType.g_single) - return API_singlePhotonTriggers + if flags.Trigger.EDMVersion <= 2: + TriggerAPI.setConfigFlags(flags) + allperiods = TriggerPeriod.y2015 | TriggerPeriod.y2016 | TriggerPeriod.y2017 | TriggerPeriod.y2018 | TriggerPeriod.future2e34 + trigger_names = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.g, livefraction=0.8) + else: + session = getTapisSession(flags) + lf = 0.8 # Prescale weighted life fraction of the GRL's LBs + trigger_names = set() + trigger_names = list(session.getLowestUnprescaled(triggerType=TriggerType.g, livefraction=lf).union(trigger_names)) + return trigger_names # get jet triggers # Run 2: returns list returned by trigAPI