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-2022 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 not flags.Overlay.DataOverlay:
19  from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
20  acc.merge(SGInputLoaderCfg(flags, [f'HGTD_RDO_Container#{kwargs["BkgInputKey"]}']))
21 
22  # Do HGTD overlay
23  acc.addEventAlgo(CompFactory.HGTD_Overlay(name, **kwargs))
24 
25  # Setup output
26  if flags.Output.doWriteRDO:
27  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
28  acc.merge(OutputStreamCfg(flags, "RDO", ItemList=[
29  "HGTD_RDO_Container#HGTD_RDOs"
30  ]))
31 
32  if flags.Output.doWriteRDO_SGNL:
33  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
34  acc.merge(OutputStreamCfg(flags, "RDO_SGNL", ItemList=[
35  f"HGTD_RDO_Container#{flags.Overlay.SigPrefix}HGTD_RDOs"
36  ]))
37 
38  return acc
39 
40 
41 def HGTD_TruthOverlayCfg(flags, name="HGTD_SDOOverlay", **kwargs):
42  """Return a ComponentAccumulator for the HGTD SDO overlay algorithm"""
43  acc = ComponentAccumulator()
44 
45  # We do not need background Pixel SDOs
46  kwargs.setdefault("BkgInputKey", "")
47 
48  kwargs.setdefault("SignalInputKey", f"{flags.Overlay.SigPrefix}HGTD_SDO_Map")
49  kwargs.setdefault("OutputKey", "HGTD_SDO_Map")
50 
51  # Do Pixel truth overlay
52  acc.addEventAlgo(CompFactory.InDetSDOOverlay(name, **kwargs))
53 
54  # Setup output
55  if flags.Output.doWriteRDO:
56  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
57  acc.merge(OutputStreamCfg(flags, "RDO", ItemList=[
58  "InDetSimDataCollection#HGTD_SDO_Map"
59  ]))
60 
61  if flags.Output.doWriteRDO_SGNL:
62  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
63  acc.merge(OutputStreamCfg(flags, "RDO_SGNL", ItemList=[
64  f"InDetSimDataCollection#{flags.Overlay.SigPrefix}HGTD_SDO_Map"
65  ]))
66 
67  return acc
68 
69 
70 def HGTD_OverlayCfg(flags):
71  """Configure and return a ComponentAccumulator for HGTD overlay"""
72  acc = ComponentAccumulator()
73 
74  # Add HGTD overlay digitization algorithm
75  from HGTD_Digitization.HGTD_DigitizationConfig import HGTD_OverlayDigitizationBasicCfg
76  acc.merge(HGTD_OverlayDigitizationBasicCfg(flags))
77  # Add HGTD overlay algorithm
78  acc.merge(HGTD_OverlayAlgCfg(flags))
79  # Add HGTD truth overlay
80  if flags.Digitization.EnableTruth:
81  acc.merge(HGTD_TruthOverlayCfg(flags))
82 
83  return acc
HGTD_OverlayConfig.HGTD_TruthOverlayCfg
def HGTD_TruthOverlayCfg(flags, name="HGTD_SDOOverlay", **kwargs)
Definition: HGTD_OverlayConfig.py:41
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:70