ATLAS Offline Software
TRTSegmentFindingConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
3 from AthenaConfiguration.Enums import BeamType
4 
5 def TRTSegmentFindingCfg(flags, InputCollections = None):
7 
8  #
9  # --- get list of already associated hits (always do this, even if no other tracking ran before)
10  #
11  if InputCollections is not None:
12  from InDetConfig.InDetTrackPRD_AssociationConfig import (
13  InDetTrackPRD_AssociationCfg)
15  flags,
16  name = 'InDetSegmentTrackPRD_Association',
17  AssociationMapName = 'InDetSegmentPRDtoTrackMap',
18  TracksName = list(InputCollections)))
19 
20  #
21  # --- TRT track reconstruction
22  #
23  if flags.Beam.Type is BeamType.Cosmics:
24  from InDetConfig.TRT_TrackSegmentsFinderConfig import (
25  TRT_TrackSegmentsFinder_Cosmics_Cfg)
26  acc.merge(TRT_TrackSegmentsFinder_Cosmics_Cfg(flags))
27  else:
28  from InDetConfig.TRT_TrackSegmentsFinderConfig import (
29  TRT_TrackSegmentsFinderCfg)
30  acc.merge(TRT_TrackSegmentsFinderCfg(flags,
31  InputCollections = InputCollections))
32 
33  #
34  # --- load TRT validation alg
35  #
36  if flags.Tracking.doTruth:
37  from InDetConfig.InDetSegmentDriftCircleAssValidationConfig import (
38  SegmentDriftCircleAssValidationCfg)
39  acc.merge(SegmentDriftCircleAssValidationCfg(flags))
40 
41  return acc
42 
44  acc = ComponentAccumulator()
45 
46  #
47  # --- TRT track reconstruction
48  #
49  if flags.Beam.Type is BeamType.Cosmics:
50  from InDetConfig.TRT_TrackSegmentsFinderConfig import (
51  TRT_TrackSegmentsFinder_Cosmics_Cfg)
53  flags,
54  name='InDetTRT_TrackSegmentsFinder_Phase_Cosmics',
55  SegmentsLocation = 'TRTSegments_Phase'))
56  else:
57  from InDetConfig.TRT_TrackSegmentsFinderConfig import (
58  TRT_TrackSegmentsFinder_Phase_Cfg)
59  acc.merge(TRT_TrackSegmentsFinder_Phase_Cfg(flags))
60 
61  #
62  # --- load TRT validation alg
63  #
64  if flags.Tracking.doTruth:
65  from InDetConfig.InDetSegmentDriftCircleAssValidationConfig import (
66  SegmentDriftCircleAssValidationCfg)
68  flags,
69  name = "InDetSegmentDriftCircleAssValidation_Phase"))
70 
71  return acc
72 
74  acc = ComponentAccumulator()
75 
76  #
77  # --- TRT track reconstruction
78  #
79  if flags.Beam.Type is BeamType.Cosmics:
80  from InDetConfig.TRT_TrackSegmentsFinderConfig import (
81  TRT_TrackSegmentsFinder_Cosmics_Cfg)
83  flags,
84  name='InDetTRT_TrackSegmentsFinder_TrackSegments_Cosmics',
85  SegmentsLocation = 'TRTSegmentsTRT'))
86  else:
87  from InDetConfig.TRT_TrackSegmentsFinderConfig import (
88  TRT_TrackSegmentsFinder_TrackSegments_Cfg)
90 
91  #
92  # --- load TRT validation alg
93  #
94 
95  if flags.Tracking.doTruth:
96  from InDetConfig.InDetSegmentDriftCircleAssValidationConfig import (
97  SegmentDriftCircleAssValidation_TrackSegments_Cfg)
99 
100  return acc
101 
102 
103 if __name__ == "__main__":
104  from AthenaConfiguration.AllConfigFlags import initConfigFlags
105  flags = initConfigFlags()
106 
107  from AthenaConfiguration.TestDefaults import defaultTestFiles
108  flags.Input.Files=defaultTestFiles.RDO_RUN2
109 
110  # disable calo for this test
111  flags.Detector.EnableCalo = False
112 
113  numThreads=1
114  flags.Concurrency.NumThreads=numThreads
115  flags.Concurrency.NumConcurrentEvents=numThreads # Might change this later, but good enough for the moment.
116 
117  flags = flags.cloneAndReplace("Tracking.ActiveConfig","Tracking.MainPass")
118 
119  flags.lock()
120  flags.dump()
121 
122  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
123  top_acc = MainServicesCfg(flags)
124 
125  from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
126  top_acc.merge(PoolReadCfg(flags))
127 
128  from InDetConfig.TRTPreProcessing import TRTPreProcessingCfg
129  top_acc.merge(TRTPreProcessingCfg(flags))
130  top_acc.merge(TRTSegmentFindingCfg(flags))
131 
132  iovsvc = top_acc.getService('IOVDbSvc')
133  iovsvc.OutputLevel=5
134 
135  top_acc.store(open("test_TRTSegmentFinding.pkl", "wb"))
136 
137  import sys
138  if "--norun" not in sys.argv:
139  sc = top_acc.run(5)
140  sys.exit(not sc.isSuccess())
python.TRTPreProcessing.TRTPreProcessingCfg
def TRTPreProcessingCfg(flags)
Definition: TRTPreProcessing.py:11
python.InDetSegmentDriftCircleAssValidationConfig.SegmentDriftCircleAssValidationCfg
def SegmentDriftCircleAssValidationCfg(flags, name="InDetSegmentDriftCircleAssValidation", **kwargs)
Definition: InDetSegmentDriftCircleAssValidationConfig.py:6
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.InDetSegmentDriftCircleAssValidationConfig.SegmentDriftCircleAssValidation_TrackSegments_Cfg
def SegmentDriftCircleAssValidation_TrackSegments_Cfg(flags, name="InDetSegmentDriftCircleAssValidation_TrackSegments", **kwargs)
Definition: InDetSegmentDriftCircleAssValidationConfig.py:21
python.TRT_TrackSegmentsFinderConfig.TRT_TrackSegmentsFinderCfg
def TRT_TrackSegmentsFinderCfg(flags, name='InDetTRT_TrackSegmentsFinder', InputCollections=None, **kwargs)
Definition: TRT_TrackSegmentsFinderConfig.py:7
python.TRT_TrackSegmentsFinderConfig.TRT_TrackSegmentsFinder_Phase_Cfg
def TRT_TrackSegmentsFinder_Phase_Cfg(flags, name='InDetTRT_TrackSegmentsFinder_Phase', **kwargs)
Definition: TRT_TrackSegmentsFinderConfig.py:56
python.InDetTrackPRD_AssociationConfig.InDetTrackPRD_AssociationCfg
def InDetTrackPRD_AssociationCfg(flags, name='InDetTrackPRD_Association', **kwargs)
Definition: InDetTrackPRD_AssociationConfig.py:6
python.TRTSegmentFindingConfig.TRTSegmentFinding_Phase_Cfg
def TRTSegmentFinding_Phase_Cfg(flags)
Definition: TRTSegmentFindingConfig.py:43
python.TRTSegmentFindingConfig.TRTSegmentFinding_TrackSegments_Cfg
def TRTSegmentFinding_TrackSegments_Cfg(flags)
Definition: TRTSegmentFindingConfig.py:73
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:256
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
python.TRT_TrackSegmentsFinderConfig.TRT_TrackSegmentsFinder_Cosmics_Cfg
def TRT_TrackSegmentsFinder_Cosmics_Cfg(flags, name='InDetTRT_TrackSegmentsFinder_Cosmics', **kwargs)
Definition: TRT_TrackSegmentsFinderConfig.py:43
Trk::open
@ open
Definition: BinningType.h:40
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.TRTSegmentFindingConfig.TRTSegmentFindingCfg
def TRTSegmentFindingCfg(flags, InputCollections=None)
Definition: TRTSegmentFindingConfig.py:5
python.PoolReadConfig.PoolReadCfg
def PoolReadCfg(flags)
Definition: PoolReadConfig.py:69
python.TRT_TrackSegmentsFinderConfig.TRT_TrackSegmentsFinder_TrackSegments_Cfg
def TRT_TrackSegmentsFinder_TrackSegments_Cfg(flags, name='InDetTRT_TrackSegmentsFinder_TrackSegments', **kwargs)
Definition: TRT_TrackSegmentsFinderConfig.py:71