ATLAS Offline Software
Loading...
Searching...
No Matches
PrecisionTrackingMenuSequences.py
Go to the documentation of this file.
2# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3#
4
5# menu components
6from ..Config.MenuComponents import MenuSequence, SelectionCA, InViewRecoCA
7from AthenaConfiguration.AccumulatorCache import AccumulatorCache
8from AthenaConfiguration.ComponentFactory import CompFactory
9
10def tag(ion):
11 return 'precision' + ('HI' if ion is True else '') + 'Tracking'
12
13
14@AccumulatorCache
15def precisionTrackingSequenceGenCfg(flags, ion=False, variant='', is_probe_leg = False):
16 """ fourth step: precision electron....."""
17
18 inViewRoIs = "precisionTracking" + variant
19
20 from TriggerMenuMT.HLT.Electron.PrecisionTrackingRecoSequences import precisionTracking
21 precisionTrackingReco = precisionTracking(flags, inViewRoIs, ion, variant)
22
23 # preparing roiTool
24 roiTool = CompFactory.ViewCreatorPreviousROITool()
25
26 viewName = tag(ion)+variant
27 precisionInDetReco = InViewRecoCA(viewName,
28 RoITool=roiTool, # view maker args
29 ViewFallThrough = True,
30 RequireParentView=True,
31 mergeUsingFeature=True,
32 InViewRoIs=inViewRoIs,
33 isProbe=is_probe_leg)
34
35 precisionInDetReco.mergeReco(precisionTrackingReco)
36 selAcc=SelectionCA(viewName, isProbe=is_probe_leg)
37 selAcc.mergeReco(precisionInDetReco)
38
39
40 precisionElectronHypoAlg = CompFactory.TrigStreamerHypoAlg("Electron"+tag(ion)+"Hypo"+variant)
41 precisionElectronHypoAlg.FeatureIsROI = False
42 selAcc.addHypoAlgo(precisionElectronHypoAlg)
43 def acceptAllHypoToolGen(flags, chainDict):
44 return CompFactory.TrigStreamerHypoTool(chainDict["chainName"], Pass = True)
45 return MenuSequence(flags,selAcc,HypoToolGen=acceptAllHypoToolGen)
46
47
48def precisionTracking_LRTSequenceGenCfg(flags, is_probe_leg=False):
49 return precisionTrackingSequenceGenCfg(flags, is_probe_leg=is_probe_leg, ion=False, variant='_LRT')
precisionTrackingSequenceGenCfg(flags, ion=False, variant='', is_probe_leg=False)