ATLAS Offline Software
ISF_ActsToolsConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 """
3  ComponentAccumulator tool configuration for ISF_ActsTools
4 """
5 
6 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
7 from AthenaConfiguration.ComponentFactory import CompFactory
8 from AthenaCommon.Logging import logging
9 from ISF_Algorithms.CollectionMergerConfig import CollectionMergerCfg
10 
11 def ActsFatrasWriteHandlerCfg(flags, name="ActsFatrasWriteHandler", **kwargs):
12  """Return ActsFatrasWriteHandler configured with ComponentAccumulator"""
13  acc = ComponentAccumulator()
14  mlog = logging.getLogger(name)
15  mlog.info('Start configuration ActsFatrasWriteHandler')
16 
17  if flags.Detector.EnablePixel:
18  bare_collection_name = "PixelHits"
19  merger_input_property = "PixelHits"
20  region = "ID"
21  if flags.Detector.EnableITkPixel:
22  bare_collection_name = "ITkPixelHits"
23  merger_input_property = "ITkPixelHits"
24  region = "ITk"
25  mergeable_collection_suffix = "_Fatras"
26  acc_pixel, pixel_hits_collection_name = CollectionMergerCfg(flags,
27  bare_collection_name,
28  mergeable_collection_suffix,
29  merger_input_property,
30  region)
31  acc.merge(acc_pixel)
32 
33  if flags.Detector.EnableSCT:
34  bare_collection_name = "SCT_Hits"
35  merger_input_property = "SCTHits"
36  region = "ID"
37  if flags.Detector.EnableITkPixel:
38  bare_collection_name = "ITkStripHits"
39  merger_input_property = "ITkStripHits"
40  region = "ITk"
41  acc_sct, sct_hits_collection_name = CollectionMergerCfg(flags,
42  bare_collection_name,
43  mergeable_collection_suffix,
44  merger_input_property,
45  region)
46  acc.merge(acc_sct)
47 
48  kwargs.setdefault("PixelCollectionName", pixel_hits_collection_name)
49  kwargs.setdefault("SCTCollectionName", sct_hits_collection_name)
50 
51  acc.setPrivateTools(CompFactory.ActsFatrasWriteHandler(name=name, **kwargs))
52  return acc
53 
54 def ActsFatrasSimToolCfg(flags, name="ISF_ActsFatrasSimTool", **kwargs):
55  """Return ISF_FatrasSimHitCreatorID configured with ComponentAccumulator"""
56  acc = ComponentAccumulator()
57  mlog = logging.getLogger(name)
58  mlog.info('Start configuration ISF_ActsFatrasSimTool')
59  from ActsConfig.ActsGeometryConfig import ActsTrackingGeometryToolCfg
60  kwargs.setdefault('TrackingGeometryTool', acc.getPrimaryAndMerge(ActsTrackingGeometryToolCfg(flags)))
61 
62  kwargs.setdefault("MaxSteps", 2000)
63 
64  # added https://its.cern.ch/jira/browse/ATLASSIM-7245
65  from ISF_Services.ISF_ServicesConfig import TruthServiceCfg
66  kwargs.setdefault("TruthRecordService", acc.getPrimaryAndMerge(TruthServiceCfg(flags)))
67  from RngComps.RngCompsConfig import AthRNGSvcCfg
68  kwargs.setdefault("RNGService", acc.getPrimaryAndMerge(AthRNGSvcCfg(flags)))
69 
70  kwargs.setdefault("ActsFatrasWriteHandler", acc.popToolsAndMerge(ActsFatrasWriteHandlerCfg(flags)))
71  writtenContainers =[]
72  if flags.Detector.EnablePixel:
73  if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('ID', True)):
74  writtenContainers += [("SiHitCollection", "PixelHits_Fatras")]
75  if flags.Detector.EnableSCT:
76  if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('ID', True)):
77  writtenContainers += [("SiHitCollection", "SCT_Hits_Fatras")]
78  if flags.Detector.EnableITkPixel:
79  if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('ITk', True)):
80  writtenContainers += [("SiHitCollection", "ITkPixelHits_Fatras")]
81  if flags.Detector.EnableITkStrip:
82  if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('ITk', True)):
83  writtenContainers += [("SiHitCollection", "ITkStripHits_Fatras")]
84 
85  kwargs.setdefault("ExtraOutputs", writtenContainers)
86  acc.setPrivateTools(CompFactory.ISF.ActsFatrasSimTool(name, **kwargs))
87  return acc
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:342
ISF_ActsToolsConfig.ActsFatrasWriteHandlerCfg
def ActsFatrasWriteHandlerCfg(flags, name="ActsFatrasWriteHandler", **kwargs)
Definition: ISF_ActsToolsConfig.py:11
ActsGeometryConfig.ActsTrackingGeometryToolCfg
ComponentAccumulator ActsTrackingGeometryToolCfg(flags, str name="ActsTrackingGeometryTool")
Definition: ActsGeometryConfig.py:140
ISF_ServicesConfig.TruthServiceCfg
def TruthServiceCfg(flags, **kwargs)
Definition: ISF_ServicesConfig.py:80
ISF_ActsToolsConfig.ActsFatrasSimToolCfg
def ActsFatrasSimToolCfg(flags, name="ISF_ActsFatrasSimTool", **kwargs)
Definition: ISF_ActsToolsConfig.py:54
CollectionMergerConfig.CollectionMergerCfg
def CollectionMergerCfg(flags, bare_collection_name, mergeable_collection_suffix, merger_input_property, region)
Definition: CollectionMergerConfig.py:66
RngCompsConfig.AthRNGSvcCfg
def AthRNGSvcCfg(flags, name="AthRNGSvc")
Definition: RngCompsConfig.py:51