ATLAS Offline Software
TrkTruthTrackAlgsConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2 # Configuration of TrkTruthTrackAlgs package
3 
4 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5 from AthenaConfiguration.ComponentFactory import CompFactory
6 
7 
8 def TruthTrackingCfg(flags, name='InDetTruthTrackCreation', **kwargs):
10 
11  if "PRD_TruthTrajectoryBuilder" not in kwargs:
12  from InDetConfig.InDetTruthToolsConfig import (
13  InDetPRD_TruthTrajectoryBuilderCfg)
14  InDetPRD_TruthTrajectoryBuilder = acc.popToolsAndMerge(
16  acc.addPublicTool(InDetPRD_TruthTrajectoryBuilder)
17  kwargs.setdefault('PRD_TruthTrajectoryBuilder',
18  InDetPRD_TruthTrajectoryBuilder)
19 
20  if "TruthTrackBuilder" not in kwargs:
21  from InDetConfig.InDetTruthToolsConfig import InDetTruthTrackBuilderCfg
22  InDetTruthTrackBuilder = acc.popToolsAndMerge(
24  acc.addPublicTool(InDetTruthTrackBuilder)
25  kwargs.setdefault('TruthTrackBuilder', InDetTruthTrackBuilder)
26 
27  kwargs.setdefault('OutputTrackCollection', 'InDetPseudoTracks')
28 
29  if "AssociationTool" not in kwargs:
30  from InDetConfig.InDetAssociationToolsConfig import (
31  InDetPRDtoTrackMapToolGangedPixelsCfg)
32  kwargs.setdefault('AssociationTool', acc.popToolsAndMerge(
34 
35  if "TrackSummaryTool" not in kwargs:
36  from TrkConfig.TrkTrackSummaryToolConfig import (
37  InDetTrackSummaryToolCfg)
38  TrackSummaryTool = acc.popToolsAndMerge(
40  acc.addPublicTool(TrackSummaryTool)
41  kwargs.setdefault('TrackSummaryTool', TrackSummaryTool)
42 
43  if "PRD_TruthTrajectorySelectors" not in kwargs:
44  trajectoryselectors = []
45  if not flags.Tracking.doIdealPseudoTracking:
46  from InDetConfig.InDetTruthToolsConfig import (
47  InDetPRD_TruthTrajectorySelectorCfg)
48  trajectoryselectors.append(acc.popToolsAndMerge(
50  kwargs.setdefault('PRD_TruthTrajectorySelectors', trajectoryselectors)
51 
52  acc.addEventAlgo(CompFactory.Trk.TruthTrackCreation(name, **kwargs))
53  return acc
54 
55 
56 if __name__ == "__main__":
57  from AthenaConfiguration.AllConfigFlags import initConfigFlags
58  flags = initConfigFlags()
59 
60  # Disable calo for this test
61  flags.Detector.EnableCalo = False
62 
63  from AthenaConfiguration.TestDefaults import defaultTestFiles
64  flags.Input.Files = defaultTestFiles.RDO_RUN2
65  flags.lock()
66 
67  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
68  top_acc = MainServicesCfg(flags)
69 
70  from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
71  top_acc.merge(PoolReadCfg(flags))
72 
73 
74  top_acc.merge(TruthTrackingCfg(flags))
75  if flags.Tracking.doIdealPseudoTracking:
76  from InDetConfig.TrackTruthConfig import InDetTrackTruthCfg
77  top_acc.merge(InDetTrackTruthCfg(
78  flags,
79  Tracks='InDetPseudoTrackParticles',
80  DetailedTruth='InDetPseudoTrackDetailedTruth',
81  TracksTruth='InDetPseudoTrackTruthCollection'))
82 
83  flags.dump()
84 
85  ComponentAccumulator.debugMode = "trackCA trackEventAlgo ..."
86 
87  from AthenaCommon.Constants import DEBUG
88  top_acc.foreach_component("AthEventSeq/*").OutputLevel = DEBUG
89  top_acc.printConfig(withDetails=True, summariseProps=True)
90  top_acc.store(open("TruthTrackingConfig.pkl", "wb"))
91 
92  import sys
93  if "--norun" not in sys.argv:
94  sc = top_acc.run(1)
95  if sc.isFailure():
96  sys.exit(-1)
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.TrkTruthTrackAlgsConfig.TruthTrackingCfg
def TruthTrackingCfg(flags, name='InDetTruthTrackCreation', **kwargs)
Definition: TrkTruthTrackAlgsConfig.py:8
python.InDetTruthToolsConfig.InDetPRD_TruthTrajectoryBuilderCfg
def InDetPRD_TruthTrajectoryBuilderCfg(flags, name='InDetPRD_TruthTrajectoryBuilder', **kwargs)
Definition: InDetTruthToolsConfig.py:65
python.InDetTruthToolsConfig.InDetTruthTrackBuilderCfg
def InDetTruthTrackBuilderCfg(flags, name='InDetTruthTrackBuilder', **kwargs)
Definition: InDetTruthToolsConfig.py:33
python.TrackTruthConfig.InDetTrackTruthCfg
def InDetTrackTruthCfg(flags, Tracks="CombinedInDetTracks", DetailedTruth="CombinedInDetTracksDetailedTruth", TracksTruth="CombinedInDetTracksTruthCollection")
Definition: TrackTruthConfig.py:11
python.TrkTrackSummaryToolConfig.InDetTrackSummaryToolCfg
def InDetTrackSummaryToolCfg(flags, name='InDetTrackSummaryTool', **kwargs)
Definition: TrkTrackSummaryToolConfig.py:22
python.InDetAssociationToolsConfig.InDetPRDtoTrackMapToolGangedPixelsCfg
def InDetPRDtoTrackMapToolGangedPixelsCfg(flags, name='PRDtoTrackMapToolGangedPixels', **kwargs)
Definition: InDetAssociationToolsConfig.py:29
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:256
Constants
some useful constants -------------------------------------------------—
Trk::open
@ open
Definition: BinningType.h:40
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.InDetTruthToolsConfig.InDetPRD_TruthTrajectorySelectorCfg
def InDetPRD_TruthTrajectorySelectorCfg(flags, name='InDetTruthTrajectorySelector', **kwargs)
Definition: InDetTruthToolsConfig.py:91
python.PoolReadConfig.PoolReadCfg
def PoolReadCfg(flags)
Definition: PoolReadConfig.py:69