ATLAS Offline Software
HGTD_OverlayConfig.py
Go to the documentation of this file.
1 """Define methods to construct configured HGTD overlay algorithms
2 
3 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
4 """
5 
6 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
7 from AthenaConfiguration.ComponentFactory import CompFactory
8 
9 
10 def HGTD_OverlayAlgCfg(flags, name="HGTD_Overlay", **kwargs):
11  """Return a ComponentAccumulator for HGTD overlay algorithm"""
12  acc = ComponentAccumulator()
13 
14  kwargs.setdefault("BkgInputKey", f"{flags.Overlay.BkgPrefix}HGTD_RDOs")
15  kwargs.setdefault("SignalInputKey", f"{flags.Overlay.SigPrefix}HGTD_RDOs")
16  kwargs.setdefault("OutputKey", "HGTD_RDOs")
17 
18  if flags.Overlay.ByteStream:
19  pass
20  else:
21  from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
22  acc.merge(SGInputLoaderCfg(flags, [f'HGTD_RDO_Container#{kwargs["BkgInputKey"]}']))
23 
24  # Do HGTD overlay
25  acc.addEventAlgo(CompFactory.HGTD_Overlay(name, **kwargs))
26 
27  # Setup output
28  if flags.Output.doWriteRDO:
29  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
30  acc.merge(OutputStreamCfg(flags, "RDO", ItemList=[
31  "HGTD_RDO_Container#HGTD_RDOs"
32  ]))
33 
34  if flags.Output.doWriteRDO_SGNL:
35  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
36  acc.merge(OutputStreamCfg(flags, "RDO_SGNL", ItemList=[
37  f"HGTD_RDO_Container#{flags.Overlay.SigPrefix}HGTD_RDOs"
38  ]))
39 
40  return acc
41 
42 
43 def HGTD_TruthOverlayCfg(flags, name="HGTD_SDOOverlay", **kwargs):
44  """Return a ComponentAccumulator for the HGTD SDO overlay algorithm"""
45  acc = ComponentAccumulator()
46 
47  # We do not need background HGTD SDOs
48  kwargs.setdefault("BkgInputKey", "")
49 
50  kwargs.setdefault("SignalInputKey", f"{flags.Overlay.SigPrefix}HGTD_SDO_Map")
51  kwargs.setdefault("OutputKey", "HGTD_SDO_Map")
52 
53  # Do HGTD truth overlay
54  acc.addEventAlgo(CompFactory.InDetSDOOverlay(name, **kwargs))
55 
56  # Setup output
57  if flags.Output.doWriteRDO:
58  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
59  acc.merge(OutputStreamCfg(flags, "RDO", ItemList=[
60  "InDetSimDataCollection#HGTD_SDO_Map"
61  ]))
62 
63  if flags.Output.doWriteRDO_SGNL:
64  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
65  acc.merge(OutputStreamCfg(flags, "RDO_SGNL", ItemList=[
66  f"InDetSimDataCollection#{flags.Overlay.SigPrefix}HGTD_SDO_Map"
67  ]))
68 
69  return acc
70 
71 
72 def HGTD_OverlayCfg(flags):
73  """Configure and return a ComponentAccumulator for HGTD overlay"""
74  acc = ComponentAccumulator()
75 
76  # Add HGTD overlay digitization algorithm
77  from HGTD_Digitization.HGTD_DigitizationConfig import HGTD_OverlayDigitizationBasicCfg
78  acc.merge(HGTD_OverlayDigitizationBasicCfg(flags))
79 
80  # Add HGTD overlay algorithm
81  acc.merge(HGTD_OverlayAlgCfg(flags))
82 
83  # Add HGTD truth overlay
84  if flags.Digitization.EnableTruth:
85  acc.merge(HGTD_TruthOverlayCfg(flags))
86 
87  return acc
HGTD_OverlayConfig.HGTD_TruthOverlayCfg
def HGTD_TruthOverlayCfg(flags, name="HGTD_SDOOverlay", **kwargs)
Definition: HGTD_OverlayConfig.py:43
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=[], MetadataItemList=[], disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, AcceptAlgs=[], HelperTools=[])
Definition: OutputStreamConfig.py:12
SGInputLoaderConfig.SGInputLoaderCfg
def SGInputLoaderCfg(flags, Load=None, **kwargs)
Definition: SGInputLoaderConfig.py:7
HGTD_DigitizationConfig.HGTD_OverlayDigitizationBasicCfg
def HGTD_OverlayDigitizationBasicCfg(flags, **kwargs)
Definition: HGTD_DigitizationConfig.py:131
HGTD_OverlayConfig.HGTD_OverlayAlgCfg
def HGTD_OverlayAlgCfg(flags, name="HGTD_Overlay", **kwargs)
Definition: HGTD_OverlayConfig.py:10
HGTD_OverlayConfig.HGTD_OverlayCfg
def HGTD_OverlayCfg(flags)
Definition: HGTD_OverlayConfig.py:72