3 from D3PDMakerCoreComps.flagTestLOD
import flagTestLOD, deferFlag
4 from D3PDMakerCoreComps.D3PDObject
import make_SGDataVector_D3PDObject
5 from D3PDMakerCoreComps.SimpleAssociation
import SimpleAssociation
6 from D3PDMakerCoreComps.ContainedVectorMultiAssociation
import ContainedVectorMultiAssociation
7 from D3PDMakerConfig.D3PDMakerFlags
import D3PDMakerFlags
8 from AthenaConfiguration.ComponentFactory
import CompFactory
10 D3PD = CompFactory.D3PD
16 flags = D3PDMakerFlags.Track):
19 object.defineBlock (
flagTestLOD(
'vertexPositionLevelOfDetails>=1', flags),
22 Vars = [
'x',
'y',
'z'])
25 CovarianceAssoc = SimpleAssociation \
28 level =
flagTestLOD(
'vertexPositionLevelOfDetails>=2', flags))
31 CovarianceAssoc.defineBlock (
32 flagTestLOD(
'vertexPositionLevelOfDetails>=2', flags),
35 Error = deferFlag (
'storeDiagonalCovarianceAsErrors', flags),
36 DiagCovariance =
deferFlag(
'not storeDiagonalCovarianceAsErrors',flags),
37 OffDiagCovariance =
False,
40 CovarianceAssoc.defineBlock (
flagTestLOD(
'vertexPositionLevelOfDetails>=3', flags),
44 DiagCovariance =
False,
45 OffDiagCovariance =
True,
49 object.defineBlock (
flagTestLOD(
'storeVertexType', flags),
52 Vars = [
'type = vertexType'])
55 object.defineBlock (
flagTestLOD(
'storeVertexFitQuality', flags),
58 Vars = [
'chi2 = chiSquared',
'ndof = numberDoF'])
61 object.defineBlock (
flagTestLOD(
'storeVertexKinematics', flags),
66 TrackAssoc = ContainedVectorMultiAssociation \
70 level = flagTestLOD (
'storeVertexTrackAssociation or storeVertexTrackIndexAssociation',
73 TrackAssoc.defineBlock (
74 flagTestLOD (
'storeVertexTrackAssociation or storeVertexTrackIndexAssociation', flags),
77 Vars = [
'chi2 = chiSquared'])
79 PerigeeAssoc = SimpleAssociation \
83 from TrackToVertex.TrackToVertexConfig
import InDetTrackToVertexCfg
84 c.Associator.TrackToVertexTool = acc.popToolsAndMerge (InDetTrackToVertexCfg (flags))
86 PerigeeAssoc.defineHook (_trackToVertexHook)
87 PerigeeAssoc.defineBlock (flagTestLOD (
'storeVertexTrackAssociation or storeVertexTrackIndexAssociation', flags),
91 TrackAssoc.defineBlock (
92 flagTestLOD (
'storeVertexTrackIndexAssociation', flags),
101 _sgkey=D3PDMakerFlags.VertexSGKey,
102 _object_name='PrimaryVertexD3PDObject',
106 object = make_SGDataVector_D3PDObject (
107 'DataVector<xAOD::Vertex_v1>',
112 allow_args = [
'storeVertexTrackAssociation',
113 'storeVertexTrackIndexAssociation',
114 'storeDiagonalCovarianceAsErrors',
116 'storeVertexFitQuality',
117 'storeVertexKinematics',
119 'vertexPositionLevelOfDetails',
137 _sgkey=
'VxPrimaryCandidate',
138 _object_name=
'PrimaryVertexD3PDObject',