ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetConfig
python
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):
6
acc = ComponentAccumulator()
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)
14
acc.merge(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
43
def
TRTSegmentFinding_Phase_Cfg
(flags):
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)
52
acc.merge(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)
67
acc.merge(SegmentDriftCircleAssValidationCfg(
68
flags,
69
name =
"InDetSegmentDriftCircleAssValidation_Phase"
))
70
71
return
acc
72
73
def
TRTSegmentFinding_TrackSegments_Cfg
(flags):
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)
82
acc.merge(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)
89
acc.merge(TRT_TrackSegmentsFinder_TrackSegments_Cfg(flags))
90
91
#
92
# --- load TRT validation alg
93
#
94
95
if
flags.Tracking.doTruth:
96
from
InDetConfig.InDetSegmentDriftCircleAssValidationConfig
import
(
97
SegmentDriftCircleAssValidation_TrackSegments_Cfg)
98
acc.merge(SegmentDriftCircleAssValidation_TrackSegments_Cfg(flags))
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.TRTSegmentFindingConfig.TRTSegmentFindingCfg
TRTSegmentFindingCfg(flags, InputCollections=None)
Definition
TRTSegmentFindingConfig.py:5
python.TRTSegmentFindingConfig.TRTSegmentFinding_Phase_Cfg
TRTSegmentFinding_Phase_Cfg(flags)
Definition
TRTSegmentFindingConfig.py:43
python.TRTSegmentFindingConfig.TRTSegmentFinding_TrackSegments_Cfg
TRTSegmentFinding_TrackSegments_Cfg(flags)
Definition
TRTSegmentFindingConfig.py:73
Generated on
for ATLAS Offline Software by
1.17.0