21 pvunbiased_suffix = 'pvunbiased'):
22 """Add to a D3PD object blocks filling in impact parameter information.
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
35 BSPerigeeAssoc = SimpleAssociation \
38 blockname = prefix +
'BSPerigeeAssoc',
41 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
43 from TrackToVertex.TrackToVertexConfig
import InDetTrackToVertexCfg
44 c.Associator.TrackToVertexTool = acc.popToolsAndMerge (InDetTrackToVertexCfg (flags))
46 BSPerigeeAssoc.defineHook (_trackToVertexHook)
47 BSPerigeeAssoc.defineBlock (1, prefix +
'Impact' + beam_suffix,
49 FillThetaAndQoverP =
False,
53 BSCovarAssoc = SimpleAssociation \
56 blockname = prefix +
'BSPerigeeCovarAssoc')
57 BSCovarAssoc.defineBlock (1, prefix +
'ImpactSig' + beam_suffix,
64 PVPerigeeAssoc = SimpleAssociation \
67 blockname = prefix +
'PVPerigeeAssoc',
69 PVPerigeeAssoc.defineHook (_trackToVertexHook)
70 PVPerigeeAssoc.defineBlock (1, prefix +
'Impact' + pv_suffix,
72 FillThetaAndQoverP =
False,
76 PVCovarAssoc = SimpleAssociation \
79 blockname = prefix +
'PVPerigeeCovarAssoc')
80 PVCovarAssoc.defineBlock (1, prefix +
'ImpactSig' + pv_suffix,