ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetConfig
python
InDetHeavyIonSpecialConfig.py
Go to the documentation of this file.
1
#!/usr/bin/env python
2
# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
4
5
def
PesistifyTrackParticles
(flags,
6
*,
7
trackParticleCollections: list[str]):
8
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
9
acc = ComponentAccumulator()
10
11
toAOD = []
12
# excluded track aux data
13
excludedAuxData = (
'-clusterAssociation.-TTVA_AMVFVertices_forReco.-AssoClustersUFO'
14
'.-TTVA_AMVFWeights_forReco'
)
15
# remove track decorations used internally by FTAG software
16
from
InDetConfig.InDetTrackOutputConfig
import
FTAG_AUXDATA
17
excludedAuxData +=
'.-'
.join([
''
] + FTAG_AUXDATA)
18
19
# exclude TTVA decorations
20
excludedAuxData +=
'.-TTVA_AMVFVertices.-TTVA_AMVFWeights'
21
22
# exclude IDTIDE decorations
23
from
DerivationFrameworkInDet.IDTIDE
import
IDTIDE_AOD_EXCLUDED_AUXDATA
24
excludedAuxData +=
'.-'
.join([
''
] + IDTIDE_AOD_EXCLUDED_AUXDATA)
25
26
if
not
flags.Tracking.writeExtendedSi_PRDInfo:
27
excludedAuxData +=
'.-msosLink'
28
29
for
collection
in
trackParticleCollections:
30
print
(f
"* scheduling persistification of track particle collection: {collection}"
)
31
toAOD += [f
"xAOD::TrackParticleContainer#{collection}"
,
32
f
"xAOD::TrackParticleAuxContainer#{collection}Aux.{excludedAuxData}"
]
33
34
if
len(toAOD) == 0:
35
return
acc
36
37
from
OutputStreamAthenaPool.OutputStreamConfig
import
addToAOD
38
acc.merge(addToAOD(flags, toAOD))
39
return
acc
40
41
42
def
PersistifyVertexes
(flags,
43
*,
44
vertexCollections: list[str]):
45
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
46
acc = ComponentAccumulator()
47
48
excludedVtxAuxData =
"-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV.-TruthEventMatchingInfos.-TruthEventRawMatchingInfos.-VertexMatchType"
49
for
collection
in
vertexCollections:
50
to_AOD = [
51
f
"xAOD::VertexContainer#{collection}"
,
52
f
"xAOD::VertexAuxContainer#{collection}Aux."
+ excludedVtxAuxData]
53
54
from
OutputStreamAthenaPool.OutputStreamConfig
import
addToAOD
55
acc.merge(addToAOD(flags, to_AOD))
56
return
acc
57
58
59
def
lowPtPassCfg
(flags):
60
flags = flags.cloneAndReplace(
"Tracking.ActiveConfig"
,
61
"Tracking.HeavyIonLowPtPass"
)
62
63
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
64
acc = ComponentAccumulator()
65
66
from
InDetConfig.TrackRecoConfig
import
TrackRecoPassCfg
67
ClusterSplitProbContainer =
"InDetAmbiguityProcessorSplitProbHeavyIon"
68
result, ClusterSplitProbContainer = TrackRecoPassCfg(flags,
69
extension=
"HeavyIonLowPt"
,
70
InputExtendedInDetTracks=[
"CombinedInDetTracks"
],
71
doTrackingSiPattern=
True
,
72
ClusterSplitProbContainer=ClusterSplitProbContainer)
73
acc.merge(result)
74
TrackContainer =
"CombinedInDetTracksWithSecondPass"
75
from
TrkConfig.TrkTrackCollectionMergerConfig
import
TrackCollectionMergerAlgCfg
76
acc.merge(TrackCollectionMergerAlgCfg(flags,
77
name=
"TrackCollectionMergerLowPtAlg"
,
78
InputCombinedTracks=[
'ResolvedHeavyIonLowPtTracks'
],
79
OutputCombinedTracks=TrackContainer,
80
AssociationMapName=f
"PRDtoTrackMapMerge_{TrackContainer}"
))
81
82
if
flags.Tracking.doTruth:
83
from
InDetConfig.TrackTruthConfig
import
InDetTrackTruthCfg
84
acc.merge(InDetTrackTruthCfg(flags,
85
Tracks=TrackContainer,
86
DetailedTruth=f
"{TrackContainer}DetailedTruth"
,
87
TracksTruth=f
"{TrackContainer}TruthCollection"
))
88
89
# create Track particle collection
90
TrackParticleContainer =
"InDetHeavyIonLowPtTrackParticles"
91
from
xAODTrackingCnv.xAODTrackingCnvConfig
import
TrackParticleCnvAlgCfg
92
acc.merge(TrackParticleCnvAlgCfg(flags,
93
name=
"InDetTrackParticlesLowPtAlg"
,
94
TrackContainerName=TrackContainer,
95
xAODTrackParticlesFromTracksContainerName=TrackParticleContainer,
96
ClusterSplitProbabilityName=
"InDetAmbiguityProcessorSplitProbHeavyIonLowPt"
,
97
AssociationMapName=f
"PRDtoTrackMapMerge_{TrackContainer}"
))
98
99
acc.merge(
PesistifyTrackParticles
(flags,
100
trackParticleCollections=[TrackParticleContainer]))
101
102
return
acc
103
104
105
def
InDetHeavyIonSpecialCfg
(flags,
106
**kwargs):
107
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
108
acc = ComponentAccumulator()
109
110
# Scheduling low pt pass for heavy ion
111
acc.merge(
lowPtPassCfg
(flags))
112
return
acc
print
void print(char *figname, TCanvas *c1)
Definition
TRTCalib_StrawStatusPlots.cxx:26
python.InDetHeavyIonSpecialConfig.lowPtPassCfg
lowPtPassCfg(flags)
Definition
InDetHeavyIonSpecialConfig.py:59
python.InDetHeavyIonSpecialConfig.PersistifyVertexes
PersistifyVertexes(flags, *, list[str] vertexCollections)
Definition
InDetHeavyIonSpecialConfig.py:44
python.InDetHeavyIonSpecialConfig.PesistifyTrackParticles
PesistifyTrackParticles(flags, *, list[str] trackParticleCollections)
Definition
InDetHeavyIonSpecialConfig.py:7
python.InDetHeavyIonSpecialConfig.InDetHeavyIonSpecialCfg
InDetHeavyIonSpecialCfg(flags, **kwargs)
Definition
InDetHeavyIonSpecialConfig.py:106
Generated on
for ATLAS Offline Software by
1.17.0