|
ATLAS Offline Software
|
#include <AdaptiveMultiPriVtxFinderTool.h>
|
std::unique_ptr< const Acts::Logger > | m_logger {nullptr} |
| logging instance More...
|
|
std::shared_ptr< VertexFinder > | m_vertexFinder = nullptr |
|
std::shared_ptr< Propagator > | m_propagator = nullptr |
|
std::optional< TrackLinearizer > | m_linearizer = std::nullopt |
|
ToolHandle< IActsTrackingGeometryTool > | m_trackingGeometryTool {this, "TrackingGeometryTool", "", "ActsTrackingGeometryTool"} |
|
ToolHandle< IActsExtrapolationTool > | m_extrapolationTool {this, "ExtrapolationTool", "", "ActsExtrapolationTool"} |
|
ToolHandle< InDet::IInDetTrackSelectionTool > | m_trkFilter {this, "TrackSelector", "", "InDetTrackSelectionTool"} |
|
SG::ReadCondHandleKey< InDet::BeamSpotData > | m_beamSpotKey {this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot"} |
|
DoubleArrayProperty | m_annealingTemps {this, "annealingTemps", {1.0}, "Annealing temperatures"} |
|
DoubleProperty | m_annealingCutOff {this, "annealingCutOff", 9., "Annealing cut-off value"} |
|
UnsignedIntegerProperty | m_fitterMaxIterations {this, "fitterMaxIterations", 30, "Vertex fitter max. iterations"} |
|
DoubleProperty | m_fitterMaxDistToLinPoint {this, "fitterMaxDistToLinPoint", 0.5, "Vertex fitter max. distance to LinPoint"} |
|
DoubleProperty | m_fitterMaxRelativeShift {this, "fitterMaxRelativeShift", 0.01, "Vertex fitter max. relative shift"} |
|
BooleanProperty | m_fitterDoSmoothing {this, "fitterDoSmoothing", true, "Vertex fitter doSmoothing"} |
|
DoubleProperty | m_minWeightFitter {this, "minWeightFitter", 0.001, "Min track weight for fitter"} |
|
BooleanProperty | m_useBeamConstraint {this, "useBeamConstraint", true, "Use beam constraint"} |
|
DoubleProperty | m_tracksMaxZinterval {this, "tracksMaxZinterval", 1., "Tracks max. Z-interval"} |
|
DoubleProperty | m_tracksMaxSignificance {this, "tracksMaxSignificance", 5., "Tracks max. significance"} |
|
DoubleProperty | m_maxVertexChi2 {this, "maxVertexChi2", 18.42, "Max vertex chi2"} |
|
BooleanProperty | m_doRealMultiVertex {this, "doRealMultiVertex", true, "Do real multivertex fit"} |
|
BooleanProperty | m_useFastCompatibility {this, "useFastCompatibility", true, "Use fast compatibility estimation"} |
|
DoubleProperty | m_maxMergeVertexSignificance {this, "maxMergeVertexSignificance", 3., "Max merge vertex significance"} |
|
DoubleProperty | m_minWeight {this, "minWeight", 0.0001, "Min track weight for finder"} |
|
UnsignedIntegerProperty | m_maxIterations {this, "maxIterations", 100, "Vertex finder max. iterations"} |
|
BooleanProperty | m_addSingleTrackVertices {this, "addSingleTrackVertices", false, "Add single-track vertices"} |
|
BooleanProperty | m_doFullSplitting {this, "doFullSplitting", false, "Do full-splitting"} |
|
DoubleProperty | m_maximumVertexContamination {this, "maximumVertexContamination", 0.5, "Max. vertex contamination"} |
|
DoubleProperty | m_looseConstrValue {this, "looseConstrValue", 1e+8, "Loose constraint value"} |
|
BooleanProperty | m_useVertexCovForIPEstimation {this, "useVertexCovForIPEstimation", false, "Use seed vertex cov for IPEstimation"} |
|
BooleanProperty | m_useSeedConstraint {this, "useSeedConstraint", false, "Use seed constraint in fit"} |
|
DoubleProperty | m_finalCutMaxVertexChi2 {this, "finalCutMaxVertexChi2", 18.42, "Final cut max. vertex chi2"} |
|
DoubleProperty | m_gaussianMaxD0Significance {this, "gaussianMaxD0Significance", 3.5, "Gaussian seeder max d0 track significance"} |
|
DoubleProperty | m_gaussianMaxZ0Significance {this, "gaussianMaxDZSignificance", 12.0, "Gaussian seeder max z0 track significance"} |
|
UnsignedIntegerProperty | m_ipEstMaxIterations {this, "ipEstMaxIterations", 20, "IpEstimator max. iterations"} |
|
DoubleProperty | m_ipEstPrecision {this, "ipEstPrecision", 1e-10, "IpEstimator precision"} |
|
◆ Propagator
◆ TrackLinearizer
◆ VertexFinder
◆ VertexFitter
◆ VertexSeedFinder
◆ AdaptiveMultiPriVtxFinderTool()
ActsTrk::AdaptiveMultiPriVtxFinderTool::AdaptiveMultiPriVtxFinderTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ actsBoundToTrkPerigee()
Trk::Perigee * ActsTrk::AdaptiveMultiPriVtxFinderTool::actsBoundToTrkPerigee |
( |
const Acts::BoundTrackParameters & |
bound, |
|
|
const Acts::Vector3 & |
surfCenter |
|
) |
| const |
|
private |
◆ estimateSignalCompatibility()
double ActsTrk::AdaptiveMultiPriVtxFinderTool::estimateSignalCompatibility |
( |
xAOD::Vertex * |
vtx | ) |
const |
|
private |
Definition at line 415 of file AdaptiveMultiPriVtxFinderTool.cxx.
418 unsigned int nTracks = 0;
426 if (trk.perigeeAtVertex() !=
nullptr) {
427 perigee = trk.perigeeAtVertex();
430 perigee = trk.initialPerigee();
432 if (perigee ==
nullptr) {
433 ATH_MSG_ERROR(
"Neutrals are not supported. Skipping track in pT calculation...");
441 return totalPt2 * std::sqrt((
double) nTracks);
◆ findVertex() [1/3]
Definition at line 219 of file AdaptiveMultiPriVtxFinderTool.cxx.
222 using namespace Acts::UnitLiterals;
225 const Acts::Vector3& beamSpotPos = beamSpotHandle->beamVtx().position();
227 beamSpotConstraintVtx.setCovariance(beamSpotHandle->beamVtx().covariancePosition());
230 Acts::MagneticFieldContext magFieldContext =
m_extrapolationTool->getMagneticFieldContext(ctx);
237 theVertexContainer->setStore(theVertexAuxContainer);
239 if(trackVector.empty()){
241 theVertexContainer->
push_back(dummyxAODVertex);
242 dummyxAODVertex->
setPosition(beamSpotHandle->beamVtx().position());
246 return std::make_pair(theVertexContainer, theVertexAuxContainer);
249 std::shared_ptr<Acts::PerigeeSurface> perigeeSurface =
250 Acts::Surface::makeShared<Acts::PerigeeSurface>((trackVector[0])->
parameters()->associatedSurface().
transform());
253 std::vector<TrackWrapper> allTracks;
255 for (
const auto& trk : trackVector) {
256 const auto& trkParams = trk->parameters();
257 const auto&
params = trkParams->parameters();
259 Acts::BoundVector actsParams;
262 if(trkParams->covariance() ==
nullptr){
266 auto cov = *(trkParams->covariance());
271 Acts::BoundSquareMatrix covMat;
272 covMat <<
cov(0,0) ,
cov(0,1) ,
cov(0,2) ,
cov(0,3) ,
cov(0,4) *1./(1_MeV), 0
273 ,
cov(1,0) ,
cov(1,1) ,
cov(1,2) ,
cov(1,3) ,
cov(1,4) *1./(1_MeV) , 0
274 ,
cov(2,0) ,
cov(2,1) ,
cov(2,2) ,
cov(2,3) ,
cov(2,4) *1./(1_MeV) , 0
275 ,
cov(3,0) ,
cov(3,1) ,
cov(3,2) ,
cov(3,3) ,
cov(3,4) *1./(1_MeV) , 0
276 ,
cov(4,0) *1./(1_MeV) ,
cov(4,1) *1./(1_MeV) ,
cov(4,2) *1./(1_MeV) ,
cov(4,3) *1./(1_MeV) ,
cov(4,4) *1./(1_MeV*1_MeV), 0
277 , 0. , 0. , 0. , 0., 0., 1.;
282 std::vector<Acts::InputTrack> allTrackPtrs;
283 allTrackPtrs.reserve(allTracks.size());
285 for(
const auto& trk : allTracks){
286 allTrackPtrs.emplace_back(&trk);
289 Acts::VertexingOptions vertexingOptions( geoContext, magFieldContext );
294 looseConstraintCovariance.setIdentity();
295 looseConstraintCovariance = looseConstraintCovariance * 1
e+8;
296 beamSpotConstraintVtx.setCovariance(looseConstraintCovariance);
300 vertexingOptions.constraint = beamSpotConstraintVtx;
304 auto findResult =
m_vertexFinder->find(allTrackPtrs, vertexingOptions, finderState);
306 if(!findResult.ok()){
308 theVertexContainer->
push_back(dummyxAODVertex);
309 dummyxAODVertex->
setPosition(beamSpotHandle->beamVtx().position());
312 return std::make_pair(theVertexContainer, theVertexAuxContainer);
315 std::vector<Acts::Vertex> allVertices = *findResult;
317 std::vector<VertexAndSignalComp> vtxList;
320 vtxList.reserve(allVertices.size());
322 for(
const auto& vtx : allVertices){
324 if(vtx.covariance()(0,0)<0||vtx.covariance()(1,1)<0||vtx.covariance()(2,2)<0)
330 xAODVtx->
setFitQuality(vtx.fitQuality().first, vtx.fitQuality().second);
332 const auto& tracks = vtx.tracks();
333 std::vector<Trk::VxTrackAtVertex>* trkAtVtxVec = &(xAODVtx->
vxTrackAtVertex());
334 for(
const auto& trk : tracks){
344 const TrackWrapper* originalParams = trk.originalParams.template as<TrackWrapper>();
348 trkAtVtx.setPerigeeAtVertex(fittedPerigee);
350 trkAtVtx.setVtxCompatibility(trk.vertexCompatibility);
351 trkAtVtx.setWeight(trk.trackWeight);
352 trkAtVtxVec->push_back(trkAtVtx);
363 VertexAndSignalComp vertexAndSig(xAODVtx, sigComp);
364 auto it = std::lower_bound( vtxList.begin(), vtxList.end(), vertexAndSig );
365 vtxList.insert(
it, vertexAndSig );
368 for(
unsigned int i = 0;
i < vtxList.size();
i++){
369 auto vtx = vtxList[
i].first;
381 theVertexContainer->
push_back(dummyxAODVertex);
383 if(!vtxList.empty()){
391 dummyxAODVertex->
setPosition(beamSpotHandle->beamVtx().position());
396 return std::make_pair(theVertexContainer, theVertexAuxContainer);
◆ findVertex() [2/3]
Definition at line 143 of file AdaptiveMultiPriVtxFinderTool.cxx.
149 std::vector<std::unique_ptr<Trk::ITrackLink>> selectedTracks;
153 bool selectionPassed;
154 for (TrackDataVecIter itr = (*trackTES).begin(); itr != (*trackTES).end(); ++itr) {
156 selectionPassed =
static_cast<bool>(
m_trkFilter->accept(**itr, &beamposition));
159 selectionPassed =
static_cast<bool>(
m_trkFilter->accept(**itr, &
null));
161 if (selectionPassed) {
164 auto trkPtr = std::make_unique<Trk::LinkToTrack>(link);
165 trkPtr->setStorableObject(*trackTES);
166 selectedTracks.push_back(std::move(trkPtr));
170 std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*> returnContainers =
findVertex(ctx, std::move(selectedTracks));
172 return returnContainers;
◆ findVertex() [3/3]
Definition at line 176 of file AdaptiveMultiPriVtxFinderTool.cxx.
180 std::vector<std::unique_ptr<Trk::ITrackLink>> selectedTracks;
184 beamposition.
setPosition(beamSpotHandle->beamVtx().position());
189 bool selectionPassed;
190 for (TrackParticleDataVecIter itr = (*trackParticles).begin(); itr != (*trackParticles).end(); ++itr) {
192 selectionPassed =
static_cast<bool>(
m_trkFilter->accept(**itr, &beamposition));
198 vertexError.setZero();
199 null.setCovariancePosition(vertexError);
203 if (selectionPassed) {
206 auto trkPtr = std::make_unique<Trk::LinkToXAODTrackParticle>(link);
207 trkPtr->setStorableObject(*trackParticles);
208 selectedTracks.push_back(std::move(trkPtr));
212 std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*> returnContainers =
findVertex(ctx, std::move(selectedTracks));
214 return returnContainers;
◆ initialize()
StatusCode ActsTrk::AdaptiveMultiPriVtxFinderTool::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 50 of file AdaptiveMultiPriVtxFinderTool.cxx.
52 using namespace std::literals::string_literals;
59 std::shared_ptr<const Acts::TrackingGeometry> trackingGeometry
68 logger().cloneWithSuffix(
"Navigator"));
70 auto bField = std::make_shared<ATLASMagneticFieldWrapper>();
71 auto stepper = Acts::EigenStepper<>(bField);
72 m_propagator = std::make_shared<Propagator>(std::move(stepper),
74 logger().cloneWithSuffix(
"Prop"));
77 Acts::ImpactPointEstimator::Config ipEstCfg(bField,
m_propagator);
80 Acts::ImpactPointEstimator ipEst(ipEstCfg,
81 logger().cloneWithSuffix(
"ImpactPointEstimator"));
83 Acts::AnnealingUtility::Config annealingConfig;
86 Acts::AnnealingUtility annealingUtility(annealingConfig);
89 TrackLinearizer::Config ltConfig;
90 ltConfig.bField = bField;
95 VertexFitter::Config fitterCfg(ipEst);
96 fitterCfg.annealingTool = annealingUtility;
103 fitterCfg.trackLinearizer.connect<&TrackLinearizer::linearizeTrack>(&*
m_linearizer);
107 Acts::GaussianTrackDensity::Config trackDensityConfig;
111 Acts::GaussianTrackDensity trackDensity(trackDensityConfig);
114 VertexSeedFinder::Config seedFinderConfig{trackDensity};
115 auto seedFinder = std::make_shared<VertexSeedFinder>(seedFinderConfig);
116 VertexFinder::Config finderConfig(std::move(
fitter), seedFinder,
135 m_vertexFinder = std::make_shared<VertexFinder>(std::move(finderConfig),
136 logger().cloneWithSuffix(
"Finder"));
138 ATH_MSG_INFO(
"ACTS AMVF tool successfully initialized");
139 return StatusCode::SUCCESS;
◆ logger()
const Acts::Logger& ActsTrk::AdaptiveMultiPriVtxFinderTool::logger |
( |
| ) |
const |
|
inlineprivate |
◆ trackingGeometryTool()
◆ m_addSingleTrackVertices
BooleanProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_addSingleTrackVertices {this, "addSingleTrackVertices", false, "Add single-track vertices"} |
|
private |
◆ m_annealingCutOff
DoubleProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_annealingCutOff {this, "annealingCutOff", 9., "Annealing cut-off value"} |
|
private |
◆ m_annealingTemps
DoubleArrayProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_annealingTemps {this, "annealingTemps", {1.0}, "Annealing temperatures"} |
|
private |
◆ m_beamSpotKey
◆ m_doFullSplitting
BooleanProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_doFullSplitting {this, "doFullSplitting", false, "Do full-splitting"} |
|
private |
◆ m_doRealMultiVertex
BooleanProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_doRealMultiVertex {this, "doRealMultiVertex", true, "Do real multivertex fit"} |
|
private |
◆ m_extrapolationTool
◆ m_finalCutMaxVertexChi2
DoubleProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_finalCutMaxVertexChi2 {this, "finalCutMaxVertexChi2", 18.42, "Final cut max. vertex chi2"} |
|
private |
◆ m_fitterDoSmoothing
BooleanProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_fitterDoSmoothing {this, "fitterDoSmoothing", true, "Vertex fitter doSmoothing"} |
|
private |
◆ m_fitterMaxDistToLinPoint
DoubleProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_fitterMaxDistToLinPoint {this, "fitterMaxDistToLinPoint", 0.5, "Vertex fitter max. distance to LinPoint"} |
|
private |
◆ m_fitterMaxIterations
UnsignedIntegerProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_fitterMaxIterations {this, "fitterMaxIterations", 30, "Vertex fitter max. iterations"} |
|
private |
◆ m_fitterMaxRelativeShift
DoubleProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_fitterMaxRelativeShift {this, "fitterMaxRelativeShift", 0.01, "Vertex fitter max. relative shift"} |
|
private |
◆ m_gaussianMaxD0Significance
DoubleProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_gaussianMaxD0Significance {this, "gaussianMaxD0Significance", 3.5, "Gaussian seeder max d0 track significance"} |
|
private |
◆ m_gaussianMaxZ0Significance
DoubleProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_gaussianMaxZ0Significance {this, "gaussianMaxDZSignificance", 12.0, "Gaussian seeder max z0 track significance"} |
|
private |
◆ m_ipEstMaxIterations
UnsignedIntegerProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_ipEstMaxIterations {this, "ipEstMaxIterations", 20, "IpEstimator max. iterations"} |
|
private |
◆ m_ipEstPrecision
DoubleProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_ipEstPrecision {this, "ipEstPrecision", 1e-10, "IpEstimator precision"} |
|
private |
◆ m_linearizer
std::optional<TrackLinearizer> ActsTrk::AdaptiveMultiPriVtxFinderTool::m_linearizer = std::nullopt |
|
private |
◆ m_logger
std::unique_ptr<const Acts::Logger> ActsTrk::AdaptiveMultiPriVtxFinderTool::m_logger {nullptr} |
|
private |
◆ m_looseConstrValue
DoubleProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_looseConstrValue {this, "looseConstrValue", 1e+8, "Loose constraint value"} |
|
private |
◆ m_maximumVertexContamination
DoubleProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_maximumVertexContamination {this, "maximumVertexContamination", 0.5, "Max. vertex contamination"} |
|
private |
◆ m_maxIterations
UnsignedIntegerProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_maxIterations {this, "maxIterations", 100, "Vertex finder max. iterations"} |
|
private |
◆ m_maxMergeVertexSignificance
DoubleProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_maxMergeVertexSignificance {this, "maxMergeVertexSignificance", 3., "Max merge vertex significance"} |
|
private |
◆ m_maxVertexChi2
DoubleProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_maxVertexChi2 {this, "maxVertexChi2", 18.42, "Max vertex chi2"} |
|
private |
◆ m_minWeight
DoubleProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_minWeight {this, "minWeight", 0.0001, "Min track weight for finder"} |
|
private |
◆ m_minWeightFitter
DoubleProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_minWeightFitter {this, "minWeightFitter", 0.001, "Min track weight for fitter"} |
|
private |
◆ m_propagator
std::shared_ptr<Propagator> ActsTrk::AdaptiveMultiPriVtxFinderTool::m_propagator = nullptr |
|
private |
◆ m_trackingGeometryTool
◆ m_tracksMaxSignificance
DoubleProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_tracksMaxSignificance {this, "tracksMaxSignificance", 5., "Tracks max. significance"} |
|
private |
◆ m_tracksMaxZinterval
DoubleProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_tracksMaxZinterval {this, "tracksMaxZinterval", 1., "Tracks max. Z-interval"} |
|
private |
◆ m_trkFilter
◆ m_useBeamConstraint
BooleanProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_useBeamConstraint {this, "useBeamConstraint", true, "Use beam constraint"} |
|
private |
◆ m_useFastCompatibility
BooleanProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_useFastCompatibility {this, "useFastCompatibility", true, "Use fast compatibility estimation"} |
|
private |
◆ m_useSeedConstraint
BooleanProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_useSeedConstraint {this, "useSeedConstraint", false, "Use seed constraint in fit"} |
|
private |
◆ m_useVertexCovForIPEstimation
BooleanProperty ActsTrk::AdaptiveMultiPriVtxFinderTool::m_useVertexCovForIPEstimation {this, "useVertexCovForIPEstimation", false, "Use seed vertex cov for IPEstimation"} |
|
private |
◆ m_vertexFinder
std::shared_ptr<VertexFinder> ActsTrk::AdaptiveMultiPriVtxFinderTool::m_vertexFinder = nullptr |
|
private |
The documentation for this class was generated from the following files:
const ShapeFitter * fitter
void setPosition(const Amg::Vector3D &position)
Sets the 3-position.
Const iterator class for DataVector/DataList.
void setFitQuality(float chiSquared, float numberDoF)
Set the 'Fit Quality' information.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Temporary container used until we have I/O for AuxStoreInternal.
The VxTrackAtVertex is a common class for all present TrkVertexFitters The VxTrackAtVertex is designe...
Vertex_v1 Vertex
Define the latest version of the vertex class.
Acts::Navigator Navigator
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
StatusCode accept(const xAOD::Muon *mu)
const Amg::Vector3D & position() const
Returns the 3-pos.
#define ATH_MSG_VERBOSE(x)
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
@ NoVtx
Dummy vertex. TrackParticle was not used in vertex fit.
#define AmgSymMatrix(dim)
Trk::RecVertex inherits from Trk::Vertex.
std::unique_ptr< const Acts::Logger > makeActsAthenaLogger(IMessageSvc *svc, const std::string &name, int level, std::optional< std::string > parent_name)
void setVertexType(VxType::VertexType vType)
Set the type of the vertex.
void addTrackAtVertex(const ElementLink< TrackParticleContainer > &tr, float weight=1.0)
Add a new track to the vertex.
VertexAuxContainer_v1 VertexAuxContainer
Definition of the current jet auxiliary container.
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
const T * front() const
Access the first element in the collection as an rvalue.
Element link to XAOD TrackParticle.
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
bool setElement(ElementType element)
Set to point to an element.
std::string head(std::string s, const std::string &pattern)
head of a string
Ensure that the ATLAS eigen extensions are properly loaded.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
StatusCode initialize(bool used=true)
void makePrivateStore()
Create a new (empty) private store for this object.
Eigen::Matrix< double, 3, 1 > Vector3D
Class describing a Vertex.
std::vector< Trk::VxTrackAtVertex > & vxTrackAtVertex()
Non-const access to the VxTrackAtVertex vector.
constexpr int pow(int base, int exp) noexcept
void setCovariancePosition(const AmgSymMatrix(3)&covariancePosition)
Sets the vertex covariance matrix.