ATLAS Offline Software
PrecisionTrackingMenuSequences.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 ..Config.MenuComponents import MenuSequenceCA, SelectionCA, InViewRecoCA
7 from AthenaConfiguration.AccumulatorCache import AccumulatorCache
8 from AthenaConfiguration.ComponentFactory import CompFactory
9 
10 def tag(ion):
11  return 'precision' + ('HI' if ion is True else '') + 'Tracking'
12 
13 
14 @AccumulatorCache
15 def 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(chainDict):
44  return CompFactory.TrigStreamerHypoTool(chainDict["chainName"], Pass = True)
45  return MenuSequenceCA(flags,selAcc,HypoToolGen=acceptAllHypoToolGen,isProbe=is_probe_leg)
46 
47 
48 def precisionTracking_LRTSequenceGenCfg(flags, is_probe_leg=False):
49  return precisionTrackingSequenceGenCfg(flags, is_probe_leg=is_probe_leg, ion=False, variant='_LRT')
python.HLT.Electron.PrecisionTrackingMenuSequences.tag
def tag(ion)
Definition: PrecisionTrackingMenuSequences.py:10
python.HLT.Electron.PrecisionTrackingRecoSequences.precisionTracking
def precisionTracking(inflags, RoIs, ion=False, variant='')
Definition: PrecisionTrackingRecoSequences.py:14
python.HLT.Electron.PrecisionTrackingMenuSequences.precisionTrackingSequenceGenCfg
def precisionTrackingSequenceGenCfg(flags, ion=False, variant='', is_probe_leg=False)
Definition: PrecisionTrackingMenuSequences.py:15
python.HLT.Electron.PrecisionTrackingMenuSequences.precisionTracking_LRTSequenceGenCfg
def precisionTracking_LRTSequenceGenCfg(flags, is_probe_leg=False)
Definition: PrecisionTrackingMenuSequences.py:48