ATLAS Offline Software
Loading...
Searching...
No Matches
MuonMatchingToolConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5
6from TriggerMenuMT.HLT.Muon.TrigMuonKeys import muonNames
7muNames = muonNames().getNames('RoI')
8muNamesFS = muonNames().getNames('FS')
9
10def MuonMatchingToolConfig(flags, **kwargs):
11
12 acc = ComponentAccumulator()
13
14 from TrigT1MuctpiPhase1.TrigT1MuctpiPhase1Config import TrigThresholdDecisionToolCfg
15 kwargs.setdefault("TrigThresholdDecisionTool",
16 acc.popToolsAndMerge(TrigThresholdDecisionToolCfg(flags,
17 name="TrigThresholdDecisionTool",
18 AODinput = flags.Trigger.triggerConfig == 'INFILE')))
19
20 kwargs.setdefault("isPhaseII", False)
21
22 # Set the containers that always exist but change name depending on whether we are running Phase II or not
23 kwargs.setdefault("L2StandAloneMuonContainerName", muNames.L2SAMuons)
24 kwargs.setdefault("L2CombinedMuonContainerName", muNames.L2CBMuons)
25 kwargs.setdefault("EFSAMuonContainerName", muNames.EFSAMuonsPhII if kwargs["isPhaseII"] else muNames.EFSAMuons)
26 kwargs.setdefault("EFCBMuonContainerName", muNames.EFCBMuons)
27 kwargs.setdefault("EFSAFSMuonContainerName", muNamesFS.EFSAMuonsPhII if kwargs["isPhaseII"] else muNamesFS.EFSAMuons)
28 kwargs.setdefault("EFCBFSMuonContainerName", muNamesFS.EFCBMuons)
29
30 # Set the containers that only exist when runing Phase II software & Run4 menu
31 from TrigConfigSvc.TriggerConfigAccess import getHLTMenuAccess
32 isPhIIAndR4Menu = kwargs["isPhaseII"] and "run4" in getHLTMenuAccess(flags).name()
33
34 kwargs.setdefault("FastRecoSAContainerName", muNames.L2SAMuonsPhII if isPhIIAndR4Menu else "")
35 kwargs.setdefault("EFSAMlbktMuonContainerName", muNames.EFSAMuonsPhIIMlbkt if isPhIIAndR4Menu else "")
36 kwargs.setdefault("EFSANewFastMuonContainerName", muNames.EFSAMuonsPhIINewFast if isPhIIAndR4Menu else "")
37 kwargs.setdefault("EFSAFSMlbktMuonContainerName", muNamesFS.EFSAMuonsPhIIMlbkt if isPhIIAndR4Menu else "")
38 kwargs.setdefault("EFSAFSNewFastMuonContainerName", muNamesFS.EFSAMuonsPhIINewFast if isPhIIAndR4Menu else "")
39
40 acc.setPrivateTools(CompFactory.MuonMatchingTool("MuonMatchingTool", **kwargs))
41
42 return acc