ATLAS Offline Software
Loading...
Searching...
No Matches
PrecisionTracks_GSFRefittedMenuSequences.py
Go to the documentation of this file.
2# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3#
4
5from TriggerMenuMT.HLT.Config.MenuComponents import MenuSequence, SelectionCA, InViewRecoCA
6from AthenaConfiguration.AccumulatorCache import AccumulatorCache
7from AthenaConfiguration.ComponentFactory import CompFactory
8
9
10def tag(ion):
11 return 'precision' + ('HI' if ion is True else '') + 'Tracking_GSFRefitted'
12
13@AccumulatorCache
14def precisionTracks_GSFRefittedSequenceGenCfg(flags, name='Electron', ion=False, variant='_GSF', is_probe_leg = False):
15 """ sixth step: GSF refitting of precision track....."""
16
17 inViewRoIs = "precisionTracks_GSFRefitted"+variant
18
19 roiTool = CompFactory.ViewCreatorPreviousROITool()
20 reco = InViewRecoCA(tag(ion)+variant,
21 RoITool = roiTool,
22 InViewRoIs = inViewRoIs,
23 RequireParentView = True,
24 mergeUsingFeature = True,
25 ViewFallThrough = True,
26 isProbe=is_probe_leg)
27
28 # calling GSF refitter
29 from TriggerMenuMT.HLT.Electron.PrecisionTracks_GSFRefittedSequence import precisionTracks_GSFRefitted
30 precisionTracks_GSFRefittedInViewSequence = precisionTracks_GSFRefitted(flags, inViewRoIs, ion, variant)
31
32 reco.mergeReco(precisionTracks_GSFRefittedInViewSequence)
33
34 selAcc = SelectionCA(name + tag(ion) +variant, isProbe=is_probe_leg)
35 selAcc.mergeReco(reco)
36
37 thePrecisionTrack_GSFRefittedHypo = CompFactory.TrigStreamerHypoAlg(name + tag(ion) + "Hypo" + variant)
38 thePrecisionTrack_GSFRefittedHypo.FeatureIsROI = False
39 selAcc.addHypoAlgo(thePrecisionTrack_GSFRefittedHypo)
40 def acceptAllHypoToolGen(flags, chainDict):
41 return CompFactory.TrigStreamerHypoTool(chainDict["chainName"], Pass = True)
42 return MenuSequence(flags,selAcc,HypoToolGen=acceptAllHypoToolGen)
43
44
45def precisionTracks_GSFRefitted_LRTSequenceGenCfg(flags, name='Electron', is_probe_leg=False):
46 return precisionTracks_GSFRefittedSequenceGenCfg(flags, name, is_probe_leg=is_probe_leg, ion=False, variant='_LRTGSF')
precisionTracks_GSFRefittedSequenceGenCfg(flags, name='Electron', ion=False, variant='_GSF', is_probe_leg=False)