ATLAS Offline Software
Loading...
Searching...
No Matches
BphysicsMenuSequences.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3from AthenaCommon.Logging import logging
4log = logging.getLogger(__name__)
5
6from ..Config.MenuComponents import MenuSequence, SelectionCA, InEventRecoCA, InViewRecoCA
7from AthenaConfiguration.ComponentFactory import CompFactory
8from AthenaConfiguration.AccumulatorCache import AccumulatorCache
9from TrigEDMConfig.TriggerEDM import recordable
10
11
12@AccumulatorCache
14
15 RoIToolCreator = CompFactory.ViewCreatorMuonSuperROITool if flags.Trigger.InDetTracking.bmumux.SuperRoI else CompFactory.ViewCreatorCentredOnIParticleROITool
16
17 roiToolOptions = {
18 'RoIEtaWidth' : flags.Trigger.InDetTracking.bmumux.etaHalfWidth,
19 'RoIPhiWidth' : flags.Trigger.InDetTracking.bmumux.phiHalfWidth,
20 'RoIZedWidth' : flags.Trigger.InDetTracking.bmumux.zedHalfWidth,
21 'RoisWriteHandleKey' : recordable(flags.Trigger.InDetTracking.bmumux.roi) }
22
23 viewMakerOptions = {
24 'RoITool' : RoIToolCreator(**roiToolOptions),
25 'mergeUsingFeature' : True,
26 'PlaceMuonInView' : True,
27 'InViewMuonCandidates' : 'BmumuxMuonCandidates',
28 'InViewMuons' : 'HLT_Muons_Bmumux' }
29
30 reco = InViewRecoCA('Bmumux', **viewMakerOptions)
31 from .BphysicsRecoSequences import bmumuxRecoSequenceCfg
32 reco.mergeReco(bmumuxRecoSequenceCfg(flags, reco.inputMaker().InViewRoIs, reco.inputMaker().InViewMuons))
33
34 selAcc = SelectionCA('bmumuxSequence')
35
36 from TrigGenericAlgs.TrigGenericAlgsConfig import ROBPrefetchingAlgCfg_Si
37 selAcc.mergeReco(reco, robPrefetchCA=ROBPrefetchingAlgCfg_Si(flags, nameSuffix=reco.name))
38
39 hypoAlg = CompFactory.TrigBphysStreamerHypo('BmumuxStreamerHypoAlg')
40 selAcc.addHypoAlgo(hypoAlg)
41
42 from TrigBphysHypo.TrigBphysStreamerHypoConfig import TrigBphysStreamerHypoToolFromDict
43 return MenuSequence(flags, selAcc, HypoToolGen=TrigBphysStreamerHypoToolFromDict)
44
45
46@AccumulatorCache
48
49 roiToolOptions = {
50 'isBhh' : True,
51 'RoIEtaWidth' : flags.Trigger.InDetTracking.bhh.etaHalfWidth,
52 'RoIPhiWidth' : flags.Trigger.InDetTracking.bhh.phiHalfWidth,
53 'RoIZedWidth' : flags.Trigger.InDetTracking.bhh.zedHalfWidth,
54 'RoisWriteHandleKey' : recordable(flags.Trigger.InDetTracking.bhh.roi) }
55
56 viewMakerOptions = {
57 'RoITool' : CompFactory.ViewCreatorMuonSuperROITool(name='RoiTool_Bhh', **roiToolOptions),
58 'mergeUsingFeature' : True,
59 'PlaceMuonInView' : True,
60 'InViewMuonCandidates' : 'BhhMuonCandidates',
61 'InViewMuons' : 'HLT_Muons_Bhh' }
62
63 reco = InViewRecoCA('Bhh', **viewMakerOptions)
64 from .BphysicsRecoSequences import bhhRecoSequenceCfg
65 reco.mergeReco(bhhRecoSequenceCfg(flags, reco.inputMaker().InViewRoIs))
66
67 selAcc = SelectionCA('bhhSequence')
68
69 from TrigGenericAlgs.TrigGenericAlgsConfig import ROBPrefetchingAlgCfg_Si
70 selAcc.mergeReco(reco, robPrefetchCA=ROBPrefetchingAlgCfg_Si(flags, nameSuffix=reco.name))
71
72 hypoAlg = CompFactory.TrigBphysStreamerHypo('BhhStreamerHypoAlg')
73 selAcc.addHypoAlgo(hypoAlg)
74
75 from TrigBphysHypo.TrigBphysStreamerHypoConfig import TrigBphysStreamerHypoToolFromDict
76 return MenuSequence(flags, selAcc, HypoToolGen=TrigBphysStreamerHypoToolFromDict)
77
78
80 from ..Muon.MuonMenuSequences import muCombAlgSequenceCfg
81 from TrigBphysHypo.TrigBphysStreamerHypoConfig import TrigBphysStreamerHypoToolFromDict
82
83 sequence, combinedMuonContainerName = muCombAlgSequenceCfg(flags, "Bphys")
84 hypo = CompFactory.TrigBphysStreamerHypo('DimuL2StreamerHypoAlg',
85 triggerList = getNoL2CombChainNames(),
86 triggerLevel = 'L2')
87 sequence.addHypoAlgo(hypo)
88
89 return MenuSequence(flags, sequence, HypoToolGen=TrigBphysStreamerHypoToolFromDict)
90
91
92@AccumulatorCache
94 selAcc = SelectionCA('dimuSequence')
95
96 inputMakerAlg = CompFactory.InputMakerForRoI('IM_bphysStreamerDimuEF',
97 RoITool = CompFactory.ViewCreatorPreviousROITool(),
98 mergeUsingFeature = True)
99
100 reco = InEventRecoCA('bphysStreamerDimuEFReco', inputMaker=inputMakerAlg)
101 selAcc.mergeReco(reco)
102
103 hypoAlg = CompFactory.TrigBphysStreamerHypo('DimuEFStreamerHypoAlg', triggerLevel = 'EF')
104 selAcc.addHypoAlgo(hypoAlg)
105
106 from TrigBphysHypo.TrigBphysStreamerHypoConfig import TrigBphysStreamerHypoToolFromDict
107 return MenuSequence(flags, selAcc, HypoToolGen=TrigBphysStreamerHypoToolFromDict)
108
109
111 from ..Config.GenerateMenuMT import GenerateMenuMT
112 menu = GenerateMenuMT()
113 chains = [chain.name for chain in menu.chainsInMenu['Bphysics'] if 'noL2Comb' in chain.name]
114 return chains