ATLAS Offline Software
Loading...
Searching...
No Matches
FastTrackingMenuSequences.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 TriggerMenuMT.HLT.Config.MenuComponents import MenuSequence, SelectionCA, InViewRecoCA
7from AthenaConfiguration.AccumulatorCache import AccumulatorCache
8from AthenaConfiguration.ComponentFactory import CompFactory
9
10
11@AccumulatorCache
12def fastTrackingSequenceGenCfg(flags, variant='', is_probe_leg = False):
13 """ second step: tracking....."""
14 from TriggerMenuMT.HLT.Egamma.TrigEgammaKeys import getTrigEgammaKeys
15 TrigEgammaKeys = getTrigEgammaKeys(flags, variant)
16 inViewRoIs = "EMIDRoIs"+variant
17
18 # calling the fastTracking Reco algo
19 from TriggerMenuMT.HLT.Electron.FastTrackingRecoSequences import fastTracking
20 fastTrackingReco, recoFlags = fastTracking(flags, inViewRoIs, variant)
21
22 # preparing roiTool
23 ViewCreatorCentredOnClusterROITool=CompFactory.ViewCreatorCentredOnClusterROITool
25 roiTool.AllowMultipleClusters = False # If True: SuperROI mode. If False: highest eT cluster in the L1 ROI
26 roiTool.RoisWriteHandleKey = TrigEgammaKeys.fastTrackingRoIContainer
27 roiTool.RoIEtaWidth = recoFlags.Tracking.ActiveConfig.etaHalfWidth
28 roiTool.RoIPhiWidth = recoFlags.Tracking.ActiveConfig.phiHalfWidth
29 if recoFlags.Tracking.ActiveConfig.zedHalfWidth > 0 :
30 roiTool.RoIZedWidth = recoFlags.Tracking.ActiveConfig.zedHalfWidth
31 viewName="EMFastTracking"+variant
32 fastInDetReco = InViewRecoCA(viewName,
33 RoITool=roiTool, # view maker args
34 RequireParentView=True,
35 InViewRoIs=inViewRoIs,
36 isProbe=is_probe_leg)
37
38 from TrigGenericAlgs.TrigGenericAlgsConfig import ROBPrefetchingAlgCfg_Si
39 robPrefetchAlg = ROBPrefetchingAlgCfg_Si(flags, nameSuffix='IM_'+fastInDetReco.name)
40
41 fastInDetReco.mergeReco(fastTrackingReco)
42 selAcc=SelectionCA('ElectronFTF'+variant, isProbe=is_probe_leg)
43 selAcc.mergeReco(fastInDetReco, robPrefetchCA=robPrefetchAlg)
44 fastElectronHypoAlg = CompFactory.TrigStreamerHypoAlg("ElectronfastTrackingHypo"+variant)
45 fastElectronHypoAlg.FeatureIsROI = False
46 selAcc.addHypoAlgo(fastElectronHypoAlg)
47 def acceptAllHypoToolGen(flags, chainDict):
48 return CompFactory.TrigStreamerHypoTool(chainDict["chainName"], Pass = True)
49 return MenuSequence(flags,selAcc,HypoToolGen=acceptAllHypoToolGen)
50
51
52def fastTracking_LRTSequenceGenCfg(flags, is_probe_leg=False):
53 # This is to call fastElectronMenuSequence for the _LRT variant
54 return fastTrackingSequenceGenCfg(flags, variant='_LRT', is_probe_leg=is_probe_leg)
Creates a new ROI centred on one or more xAOD::TrigEMCluster contained nominally within a L1 ROI.
fastTrackingSequenceGenCfg(flags, variant='', is_probe_leg=False)