ATLAS Offline Software
FastElectronMenuSequences.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 from TriggerMenuMT.HLT.Egamma.TrigEgammaKeys import getTrigEgammaKeys
6 
7 # menu components
8 from TriggerMenuMT.HLT.Config.MenuComponents import MenuSequenceCA, SelectionCA, InViewRecoCA
9 from AthenaConfiguration.ComponentFactory import CompFactory
10 from AthenaConfiguration.AccumulatorCache import AccumulatorCache
11 
12 @AccumulatorCache
13 def fastElectronSequenceGenCfg(flags, name='FastElectron', variant='', is_probe_leg = False):
14  """ second step: tracking....."""
15 
16  InViewRoIs = "EMFastElectronRoIs"+variant
17 
18  roiTool = CompFactory.ViewCreatorPreviousROITool()
19  reco = InViewRecoCA("EMElectron"+variant, RoITool = roiTool, InViewRoIs = InViewRoIs, RequireParentView = True, isProbe=is_probe_leg)
20 
21  # Configure the reconstruction algorithm sequence
22  from TriggerMenuMT.HLT.Electron.FastElectronRecoSequences import fastElectronRecoSequence
23 
24  from TrigGenericAlgs.TrigGenericAlgsConfig import ROBPrefetchingAlgCfg_Si
25 
26  robPrefetchAlg = ROBPrefetchingAlgCfg_Si(flags, nameSuffix='IM_'+reco.name)
27 
28  reco.mergeReco(fastElectronRecoSequence(flags, name, InViewRoIs, variant))
29 
30  theFastElectronHypo = CompFactory.TrigEgammaFastElectronHypoAlg("TrigEgammaFastElectronHypoAlg"+variant)
31  TrigEgammaKeys = getTrigEgammaKeys(flags, variant)
32  theFastElectronHypo.Electrons = TrigEgammaKeys.fastElectronContainer
33  theFastElectronHypo.RunInView = True
34  from TrigEgammaHypo.TrigEgammaFastElectronHypoTool import TrigEgammaFastElectronHypoToolFromDict
35 
36  selAcc = SelectionCA('FastElectronMenuSequence'+variant,isProbe=is_probe_leg)
37  selAcc.mergeReco(reco, robPrefetchCA=robPrefetchAlg)
38  selAcc.addHypoAlgo(theFastElectronHypo)
39 
40  return MenuSequenceCA(flags,selAcc,HypoToolGen=TrigEgammaFastElectronHypoToolFromDict,isProbe=is_probe_leg)
41 
42 
43 def fastElectron_LRTSequenceGenCfg(flags, name='FastElectron', is_probe_leg=False):
44  # This is to call fastElectronMenuSequence for the _LRT variant
45  return fastElectronSequenceGenCfg(flags, name, is_probe_leg=is_probe_leg, variant='_LRT')
python.HLT.Electron.FastElectronMenuSequences.fastElectron_LRTSequenceGenCfg
def fastElectron_LRTSequenceGenCfg(flags, name='FastElectron', is_probe_leg=False)
Definition: FastElectronMenuSequences.py:43
python.HLT.Electron.FastElectronRecoSequences.fastElectronRecoSequence
def fastElectronRecoSequence(flags, name, RoIs, variant='')
Definition: FastElectronRecoSequences.py:13
python.TrigGenericAlgsConfig.ROBPrefetchingAlgCfg_Si
def ROBPrefetchingAlgCfg_Si(flags, nameSuffix, **kwargs)
Definition: TrigGenericAlgsConfig.py:57
python.HLT.Electron.FastElectronMenuSequences.fastElectronSequenceGenCfg
def fastElectronSequenceGenCfg(flags, name='FastElectron', variant='', is_probe_leg=False)
Definition: FastElectronMenuSequences.py:13
python.HLT.Egamma.TrigEgammaKeys.getTrigEgammaKeys
def getTrigEgammaKeys(AthConfigFlags flags, name='', ion=False)
Definition: TrigEgammaKeys.py:138