ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
D3PDMaker
TrackD3PDMaker
python
TrackParticleImpactParameters.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3
#
4
# @file TrackD3PDMaker/python/TrackParticleImpactParameters.py
5
# @author scott snyder <snyder@bnl.gov>
6
# @date 2009
7
# @brief Add to a D3PD object blocks filling in impact parameter information.
8
#
9
10
11
from
D3PDMakerCoreComps.SimpleAssociation
import
SimpleAssociation
12
from
AthenaConfiguration.ComponentFactory
import
CompFactory
13
14
D3PD = CompFactory.D3PD
15
16
17
def
TrackParticleImpactParameters (TPD3PDObject,
18
prefix = 'track',
19
beam_suffix = 'beam',
20
pv_suffix = 'pv',
21
pvunbiased_suffix = 'pvunbiased'):
22
"""Add to a D3PD object blocks filling in impact parameter information.
23
24
TPD3PDObject should be a D3PD object for a TrackParticle
25
(could be an association). This will add information for impact
26
parameters with respect to the beam spot and the primary vertex,
27
and the unbiased impact parameter with respect to the primary vertex.
28
The variable names are constructed using the prefix and *_suffix
29
arguments."""
30
31
32
#
33
# Beamspot
34
#
35
BSPerigeeAssoc = SimpleAssociation \
36
(TPD3PDObject,
37
D3PD.TrackParticlePerigeeAtBSAssociationTool
,
38
blockname = prefix +
'BSPerigeeAssoc'
,
39
prefix = prefix)
40
def
_trackToVertexHook (c, flags, acc, prefix, *args, **kw):
41
from
BeamSpotConditions.BeamSpotConditionsConfig
import
BeamSpotCondAlgCfg
42
acc.merge(BeamSpotCondAlgCfg(flags))
43
from
TrackToVertex.TrackToVertexConfig
import
InDetTrackToVertexCfg
44
c.Associator.TrackToVertexTool = acc.popToolsAndMerge (InDetTrackToVertexCfg (flags))
45
return
46
BSPerigeeAssoc.defineHook (_trackToVertexHook)
47
BSPerigeeAssoc.defineBlock (1, prefix +
'Impact'
+ beam_suffix,
48
D3PD.PerigeeFillerTool
,
49
FillThetaAndQoverP =
False
,
50
FillPhi =
False
,
51
Suffix = beam_suffix,
52
DefaultValue = -9999)
53
BSCovarAssoc = SimpleAssociation \
54
(BSPerigeeAssoc,
55
D3PD.PerigeeCovarianceAssociationTool
,
56
blockname = prefix +
'BSPerigeeCovarAssoc'
)
57
BSCovarAssoc.defineBlock (1, prefix +
'ImpactSig'
+ beam_suffix,
58
D3PD.ImpactSigmaFillerTool
,
59
Suffix = beam_suffix)
60
61
#
62
# Primary vertex
63
#
64
PVPerigeeAssoc = SimpleAssociation \
65
(TPD3PDObject,
66
D3PD.TrackParticlePerigeeAtPVAssociationTool
,
67
blockname = prefix +
'PVPerigeeAssoc'
,
68
prefix = prefix)
69
PVPerigeeAssoc.defineHook (_trackToVertexHook)
70
PVPerigeeAssoc.defineBlock (1, prefix +
'Impact'
+ pv_suffix,
71
D3PD.PerigeeFillerTool
,
72
FillThetaAndQoverP =
False
,
73
FillPhi =
False
,
74
Suffix = pv_suffix,
75
DefaultValue = -9999)
76
PVCovarAssoc = SimpleAssociation \
77
(PVPerigeeAssoc,
78
D3PD.PerigeeCovarianceAssociationTool
,
79
blockname = prefix +
'PVPerigeeCovarAssoc'
)
80
PVCovarAssoc.defineBlock (1, prefix +
'ImpactSig'
+ pv_suffix,
81
D3PD.ImpactSigmaFillerTool
,
82
Suffix = pv_suffix)
83
D3PD::ImpactSigmaFillerTool
Fill d0/z0 uncertainties from an ErrorMatrix.
Definition
ImpactSigmaFillerTool.h:37
D3PD::PerigeeCovarianceAssociationTool
Associate from a Perigee to its ErrorMatrix.
Definition
PerigeeCovarianceAssociationTool.h:28
D3PD::PerigeeFillerTool
Definition
PerigeeFillerTool.h:15
D3PD::TrackParticlePerigeeAtBSAssociationTool
Associate from a VxCandidate to its perigee at the beam spot.
Definition
TrackParticlePerigeeAtBSAssociationTool.h:33
D3PD::TrackParticlePerigeeAtPVAssociationTool
Associate from a VxCandidate to its perigee at primary vertex.
Definition
TrackParticlePerigeeAtPVAssociationTool.h:33
Generated on
for ATLAS Offline Software by
1.17.0