ATLAS Offline Software
FastTrackingMenuSequences.py
Go to the documentation of this file.
1 #
2 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 #
4 
5 # menu components
6 from TriggerMenuMT.HLT.Config.MenuComponents import MenuSequenceCA, SelectionCA, InViewRecoCA
7 from AthenaConfiguration.AccumulatorCache import AccumulatorCache
8 from AthenaConfiguration.ComponentFactory import CompFactory
9 
10 
11 @AccumulatorCache
12 def 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(chainDict):
48  return CompFactory.TrigStreamerHypoTool(chainDict["chainName"], Pass = True)
49  return MenuSequenceCA(flags,selAcc,HypoToolGen=acceptAllHypoToolGen,isProbe=is_probe_leg)
50 
51 
52 def 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)
python.HLT.Electron.FastTrackingRecoSequences.fastTracking
def fastTracking(inflags, RoIs, variant='')
Definition: FastTrackingRecoSequences.py:8
ViewCreatorCentredOnClusterROITool
Definition: ViewCreatorCentredOnClusterROITool.h:27
python.HLT.Electron.FastTrackingMenuSequences.fastTrackingSequenceGenCfg
def fastTrackingSequenceGenCfg(flags, variant='', is_probe_leg=False)
Definition: FastTrackingMenuSequences.py:12
python.TrigGenericAlgsConfig.ROBPrefetchingAlgCfg_Si
def ROBPrefetchingAlgCfg_Si(flags, nameSuffix, **kwargs)
Definition: TrigGenericAlgsConfig.py:57
python.HLT.Egamma.TrigEgammaKeys.getTrigEgammaKeys
def getTrigEgammaKeys(AthConfigFlags flags, name='', ion=False)
Definition: TrigEgammaKeys.py:138
python.HLT.Electron.FastTrackingMenuSequences.fastTracking_LRTSequenceGenCfg
def fastTracking_LRTSequenceGenCfg(flags, is_probe_leg=False)
Definition: FastTrackingMenuSequences.py:52