54def 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