From 0ad92bfe584ba7417c5097d2d2fe1c55e28fabbc Mon Sep 17 00:00:00 2001
From: Bastian Schlag <bastian.schlag@cern.ch>
Date: Wed, 25 Mar 2020 13:43:50 +0100
Subject: [PATCH] merge VertexFitterOptions and VertexFinderOptions to
 VertexingOptions

---
 .../Vertexing/AdaptiveMultiVertexFinder.hpp   | 17 ++++---
 .../Vertexing/AdaptiveMultiVertexFinder.ipp   | 24 +++++-----
 .../Vertexing/AdaptiveMultiVertexFitter.hpp   | 18 ++++----
 .../Vertexing/AdaptiveMultiVertexFitter.ipp   | 20 ++++-----
 .../Acts/Vertexing/DummyVertexFitter.hpp      |  4 +-
 .../Vertexing/FullBilloirVertexFitter.hpp     |  6 +--
 .../Vertexing/FullBilloirVertexFitter.ipp     | 35 ++++++++-------
 .../Acts/Vertexing/IterativeVertexFinder.hpp  | 18 ++++----
 .../Acts/Vertexing/IterativeVertexFinder.ipp  | 41 +++++++----------
 .../Vertexing/TrackDensityVertexFinder.hpp    |  6 +--
 .../Vertexing/TrackDensityVertexFinder.ipp    |  6 +--
 .../Acts/Vertexing/VertexFinderConcept.hpp    |  4 +-
 .../Acts/Vertexing/VertexFitterConcept.hpp    |  4 +-
 .../Acts/Vertexing/VertexFitterOptions.hpp    | 44 -------------------
 ...FinderOptions.hpp => VertexingOptions.hpp} |  8 ++--
 .../Acts/Vertexing/ZScanVertexFinder.hpp      |  6 +--
 .../Acts/Vertexing/ZScanVertexFinder.ipp      | 16 +++----
 .../AdaptiveMultiVertexFinderTests.cpp        |  8 ++--
 .../AdaptiveMultiVertexFitterTests.cpp        | 10 ++---
 .../FullBilloirVertexFitterTests.cpp          | 16 +++----
 .../Vertexing/IterativeVertexFinderTests.cpp  |  8 ++--
 .../TrackDensityVertexFinderTests.cpp         | 22 +++++-----
 .../Core/Vertexing/ZScanVertexFinderTests.cpp |  8 ++--
 23 files changed, 147 insertions(+), 202 deletions(-)
 delete mode 100644 Core/include/Acts/Vertexing/VertexFitterOptions.hpp
 rename Core/include/Acts/Vertexing/{VertexFinderOptions.hpp => VertexingOptions.hpp} (91%)

diff --git a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.hpp b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.hpp
index 1ef31dd6a..65337fc60 100644
--- a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.hpp
+++ b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.hpp
@@ -15,8 +15,7 @@
 #include "Acts/Utilities/Units.hpp"
 #include "Acts/Vertexing/AMVFInfo.hpp"
 #include "Acts/Vertexing/TrackToVertexIPEstimator.hpp"
-#include "Acts/Vertexing/VertexFinderOptions.hpp"
-#include "Acts/Vertexing/VertexFitterOptions.hpp"
+#include "Acts/Vertexing/VertexingOptions.hpp"
 
 namespace Acts {
 /// @class AdaptiveMultiVertexFinder
@@ -68,7 +67,7 @@ class AdaptiveMultiVertexFinder {
     // Track linearizer
     Linearizer_t linearizer;
 
-    // Use a beam spot constraint, vertexConstraint in VertexFinderOptions
+    // Use a beam spot constraint, vertexConstraint in VertexingOptions
     // has to be set in this case
     bool useBeamSpotConstraint = true;
 
@@ -189,12 +188,12 @@ class AdaptiveMultiVertexFinder {
   /// multi-vertex finding
   ///
   /// @param allTracks Input track collection
-  /// @param vFinderOptions Vertex finder options
+  /// @param vertexingOptions Vertexing options
   ///
   /// @return Vector of all reconstructed vertices
   Result<std::vector<Vertex<InputTrack_t>>> find(
       const std::vector<const InputTrack_t*>& allTracks,
-      const VertexFinderOptions<InputTrack_t>& vFinderOptions) const;
+      const VertexingOptions<InputTrack_t>& vertexingOptions) const;
 
  private:
   /// Configuration object
@@ -218,13 +217,13 @@ class AdaptiveMultiVertexFinder {
   ///
   /// @param trackVector All tracks to be used for seeding
   /// @param currentConstraint Vertex constraint
-  /// @param vFinderOptions Vertex finder options
+  /// @param vertexingOptions Vertexing options
   ///
   /// @return The seed vertex
   Result<Vertex<InputTrack_t>> doSeeding(
       const std::vector<const InputTrack_t*>& trackVector,
       Vertex<InputTrack_t>& currentConstraint,
-      const VertexFinderOptions<InputTrack_t>& vFinderOptions) const;
+      const VertexingOptions<InputTrack_t>& vertexingOptions) const;
 
   /// @brief Estimates delta Z between a track and a vertex position
   ///
@@ -354,13 +353,13 @@ class AdaptiveMultiVertexFinder {
   /// @param allVerticesPtr Vector containing the actual addresses
   /// @param fitterState The current vertex fitter state
   /// @param oldFitterState The old vertex fitter state
-  /// @param vFitterOptions The vertex fitter options
+  /// @param vertexingOptions Vertexing options
   Result<void> deleteLastVertex(
       Vertex<InputTrack_t>& vtx,
       std::vector<std::unique_ptr<Vertex<InputTrack_t>>>& allVertices,
       std::vector<Vertex<InputTrack_t>*>& allVerticesPtr,
       FitterState_t& fitterState, FitterState_t& oldFitterState,
-      const VertexFitterOptions<InputTrack_t>& vFitterOptions) const;
+      const VertexingOptions<InputTrack_t>& vertexingOptions) const;
 
   /// @brief Prepares the output vector of vertices
   ///
diff --git a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp
index a3dd9dd6a..ff2610e51 100644
--- a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp
+++ b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp
@@ -11,7 +11,7 @@
 template <typename vfitter_t, typename sfinder_t>
 auto Acts::AdaptiveMultiVertexFinder<vfitter_t, sfinder_t>::find(
     const std::vector<const InputTrack_t*>& allTracks,
-    const VertexFinderOptions<InputTrack_t>& vFinderOptions) const
+    const VertexingOptions<InputTrack_t>& vertexingOptions) const
     -> Result<std::vector<Vertex<InputTrack_t>>> {
   if (allTracks.empty()) {
     return VertexingError::EmptyInput;
@@ -22,11 +22,6 @@ auto Acts::AdaptiveMultiVertexFinder<vfitter_t, sfinder_t>::find(
   // Seed tracks
   std::vector<const InputTrack_t*> seedTracks = allTracks;
 
-  // Construct the vertex fitter options from vertex finder options
-  VertexFitterOptions<InputTrack_t> vFitterOptions(
-      vFinderOptions.geoContext, vFinderOptions.magFieldContext,
-      vFinderOptions.vertexConstraint);
-
   FitterState_t fitterState;
 
   std::vector<std::unique_ptr<Vertex<InputTrack_t>>> allVertices;
@@ -47,9 +42,10 @@ auto Acts::AdaptiveMultiVertexFinder<vfitter_t, sfinder_t>::find(
     } else {
       allTracks = seedTracks;
     }
-    Vertex<InputTrack_t> currentConstraint = vFinderOptions.vertexConstraint;
+    Vertex<InputTrack_t> currentConstraint = vertexingOptions.vertexConstraint;
     // Retrieve seed vertex from all remaining seedTracks
-    auto seedResult = doSeeding(seedTracks, currentConstraint, vFinderOptions);
+    auto seedResult =
+        doSeeding(seedTracks, currentConstraint, vertexingOptions);
     if (!seedResult.ok()) {
       return seedResult.error();
     }
@@ -84,7 +80,7 @@ auto Acts::AdaptiveMultiVertexFinder<vfitter_t, sfinder_t>::find(
 
     // Perform the fit
     auto fitResult = m_cfg.vertexFitter.addVtxToFit(
-        fitterState, vtxCandidate, m_cfg.linearizer, vFitterOptions);
+        fitterState, vtxCandidate, m_cfg.linearizer, vertexingOptions);
     if (!fitResult.ok()) {
       return fitResult.error();
     }
@@ -118,7 +114,7 @@ auto Acts::AdaptiveMultiVertexFinder<vfitter_t, sfinder_t>::find(
     if (not keepVertex) {
       auto deleteVertexResult =
           deleteLastVertex(vtxCandidate, allVertices, allVerticesPtr,
-                           fitterState, oldFitterState, vFitterOptions);
+                           fitterState, oldFitterState, vertexingOptions);
       if (not deleteVertexResult.ok()) {
         return deleteVertexResult.error();
       }
@@ -133,9 +129,9 @@ template <typename vfitter_t, typename sfinder_t>
 auto Acts::AdaptiveMultiVertexFinder<vfitter_t, sfinder_t>::doSeeding(
     const std::vector<const InputTrack_t*>& trackVector,
     Vertex<InputTrack_t>& currentConstraint,
-    const VertexFinderOptions<InputTrack_t>& vFinderOptions) const
+    const VertexingOptions<InputTrack_t>& vertexingOptions) const
     -> Result<Vertex<InputTrack_t>> {
-  VertexFinderOptions<InputTrack_t> seedOptions = vFinderOptions;
+  VertexingOptions<InputTrack_t> seedOptions = vertexingOptions;
   seedOptions.vertexConstraint = currentConstraint;
   // Run seed finder
   auto seedResult = m_cfg.seedFinder.find(trackVector, seedOptions);
@@ -517,7 +513,7 @@ auto Acts::AdaptiveMultiVertexFinder<vfitter_t, sfinder_t>::deleteLastVertex(
     std::vector<std::unique_ptr<Vertex<InputTrack_t>>>& allVertices,
     std::vector<Vertex<InputTrack_t>*>& allVerticesPtr,
     FitterState_t& fitterState, FitterState_t& oldFitterState,
-    const VertexFitterOptions<InputTrack_t>& vFitterOptions) const
+    const VertexingOptions<InputTrack_t>& vertexingOptions) const
     -> Result<void> {
   allVertices.pop_back();
   allVerticesPtr.pop_back();
@@ -542,7 +538,7 @@ auto Acts::AdaptiveMultiVertexFinder<vfitter_t, sfinder_t>::deleteLastVertex(
 
     // Do the fit with removed vertex
     auto fitResult = m_cfg.vertexFitter.fit(fitterState, allVerticesPtr,
-                                            m_cfg.linearizer, vFitterOptions);
+                                            m_cfg.linearizer, vertexingOptions);
     if (!fitResult.ok()) {
       return fitResult.error();
     }
diff --git a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFitter.hpp b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFitter.hpp
index dc7c03bcc..28138de2e 100644
--- a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFitter.hpp
+++ b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFitter.hpp
@@ -18,7 +18,7 @@
 #include "Acts/Vertexing/LinearizerConcept.hpp"
 #include "Acts/Vertexing/TrackAtVertex.hpp"
 #include "Acts/Vertexing/Vertex.hpp"
-#include "Acts/Vertexing/VertexFitterOptions.hpp"
+#include "Acts/Vertexing/VertexingOptions.hpp"
 
 #include <functional>
 
@@ -162,13 +162,13 @@ class AdaptiveMultiVertexFitter {
   /// @param state The state object
   /// @param verticesToFit Vector containing all vertices to be fitted
   /// @param linearizer The track linearizer
-  /// @param vFitterOptions Vertex fitter options
+  /// @param vertexingOptions Vertexing options
   ///
   /// @return Result<void> object
   Result<void> fit(
       State& state, const std::vector<Vertex<InputTrack_t>*>& verticesToFit,
       const Linearizer_t& linearizer,
-      const VertexFitterOptions<InputTrack_t>& vFitterOptions) const;
+      const VertexingOptions<InputTrack_t>& vertexingOptions) const;
 
   /// @brief Adds new vertex to an existing multi-vertex fit
   /// and fits everything together (by invoking the fit_impl method):
@@ -190,13 +190,13 @@ class AdaptiveMultiVertexFitter {
   /// @param state The state object
   /// @param newVertex New vertex to be added to fit
   /// @param linearizer The track linearizer
-  /// @param vFitterOptions Vertex fitter options
+  /// @param vertexingOptions Vertexing options
   ///
   /// @return Result<void> object
   Result<void> addVtxToFit(
       State& state, Vertex<InputTrack_t>& newVertex,
       const Linearizer_t& linearizer,
-      const VertexFitterOptions<InputTrack_t>& vFitterOptions) const;
+      const VertexingOptions<InputTrack_t>& vertexingOptions) const;
 
  private:
   /// Configuration object
@@ -220,12 +220,12 @@ class AdaptiveMultiVertexFitter {
   ///
   /// @param state The state object
   /// @param linearizer The track linearizer
-  /// @param vFitterOptions Vertex fitter options
+  /// @param vertexingOptions Vertexing options
   ///
   /// @return Result<void> object
   Result<void> fitImpl(
       State& state, const Linearizer_t& linearizer,
-      const VertexFitterOptions<InputTrack_t>& vFitterOptions) const;
+      const VertexingOptions<InputTrack_t>& vertexingOptions) const;
 
   /// @brief Tests if vertex is already in list of vertices or not
   ///
@@ -244,10 +244,10 @@ class AdaptiveMultiVertexFitter {
   /// with different vertices
   ///
   /// @param vtx The vertex object
-  /// @param vFitterOptions Vertex fitter options
+  /// @param vertexingOptions Vertexing options
   Result<void> prepareVertexForFit(
       State& state, Vertex<InputTrack_t>* vtx,
-      const VertexFitterOptions<InputTrack_t>& vFitterOptions) const;
+      const VertexingOptions<InputTrack_t>& vertexingOptions) const;
 
   /// @brief Sets vertexCompatibility for all TrackAtVertex objects
   /// at current vertex
diff --git a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFitter.ipp b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFitter.ipp
index 4cdfd4732..bec24d78f 100644
--- a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFitter.ipp
+++ b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFitter.ipp
@@ -15,12 +15,12 @@ Acts::Result<void>
 Acts::AdaptiveMultiVertexFitter<input_track_t, linearizer_t>::fit(
     State& state, const std::vector<Vertex<input_track_t>*>& verticesToFit,
     const linearizer_t& linearizer,
-    const VertexFitterOptions<input_track_t>& vFitterOptions) const {
+    const VertexingOptions<input_track_t>& vertexingOptions) const {
   // Set all vertices to fit in the current state
   state.vertexCollection = verticesToFit;
 
   // Perform fit on all vertices simultaneously
-  auto fitRes = fitImpl(state, linearizer, vFitterOptions);
+  auto fitRes = fitImpl(state, linearizer, vertexingOptions);
 
   if (!fitRes.ok()) {
     return fitRes.error();
@@ -33,8 +33,8 @@ template <typename input_track_t, typename linearizer_t>
 Acts::Result<void>
 Acts::AdaptiveMultiVertexFitter<input_track_t, linearizer_t>::fitImpl(
     State& state, const linearizer_t& linearizer,
-    const VertexFitterOptions<input_track_t>& vFitterOptions) const {
-  auto& geoContext = vFitterOptions.geoContext;
+    const VertexingOptions<input_track_t>& vertexingOptions) const {
+  auto& geoContext = vertexingOptions.geoContext;
 
   // Reset annealing tool
   state.annealingState = AnnealingUtility::State();
@@ -71,7 +71,7 @@ Acts::AdaptiveMultiVertexFitter<input_track_t, linearizer_t>::fitImpl(
         // Relinearization needed, distance too big
         currentVtxInfo.relinearize = true;
         // Prepare for fit with new vertex position
-        prepareVertexForFit(state, currentVtx, vFitterOptions);
+        prepareVertexForFit(state, currentVtx, vertexingOptions);
       }
       // Determine if constraint vertex exist
       if (state.vtxInfoMap[currentVtx].constraintVertex.fullCovariance() !=
@@ -123,7 +123,7 @@ Acts::Result<void>
 Acts::AdaptiveMultiVertexFitter<input_track_t, linearizer_t>::addVtxToFit(
     State& state, Vertex<input_track_t>& newVertex,
     const linearizer_t& linearizer,
-    const VertexFitterOptions<input_track_t>& vFitterOptions) const {
+    const VertexingOptions<input_track_t>& vertexingOptions) const {
   if (state.vtxInfoMap[&newVertex].trackLinks.empty()) {
     return VertexingError::EmptyInput;
   }
@@ -132,7 +132,7 @@ Acts::AdaptiveMultiVertexFitter<input_track_t, linearizer_t>::addVtxToFit(
 
   // Prepares vtx and tracks for fast estimation method of their
   // compatibility with vertex
-  auto res = prepareVertexForFit(state, &newVertex, vFitterOptions);
+  auto res = prepareVertexForFit(state, &newVertex, vertexingOptions);
   if (!res.ok()) {
     return res.error();
   }
@@ -178,7 +178,7 @@ Acts::AdaptiveMultiVertexFitter<input_track_t, linearizer_t>::addVtxToFit(
   state.vertexCollection = verticesToFit;
 
   // Perform fit on all added vertices
-  auto fitRes = fitImpl(state, linearizer, vFitterOptions);
+  auto fitRes = fitImpl(state, linearizer, vertexingOptions);
   if (!fitRes.ok()) {
     return fitRes.error();
   }
@@ -199,12 +199,12 @@ template <typename input_track_t, typename linearizer_t>
 Acts::Result<void> Acts::
     AdaptiveMultiVertexFitter<input_track_t, linearizer_t>::prepareVertexForFit(
         State& state, Vertex<input_track_t>* vtx,
-        const VertexFitterOptions<input_track_t>& vFitterOptions) const {
+        const VertexingOptions<input_track_t>& vertexingOptions) const {
   // The current vertex info object
   auto& currentVtxInfo = state.vtxInfoMap[vtx];
   // The seed position
   const Vector3D& seedPos = currentVtxInfo.seedPosition.template head<3>();
-  auto& geoContext = vFitterOptions.geoContext;
+  auto& geoContext = vertexingOptions.geoContext;
 
   // Loop over all tracks at current vertex
   for (const auto& trk : currentVtxInfo.trackLinks) {
diff --git a/Core/include/Acts/Vertexing/DummyVertexFitter.hpp b/Core/include/Acts/Vertexing/DummyVertexFitter.hpp
index 2e4170db3..810536bed 100644
--- a/Core/include/Acts/Vertexing/DummyVertexFitter.hpp
+++ b/Core/include/Acts/Vertexing/DummyVertexFitter.hpp
@@ -11,7 +11,7 @@
 #include "Acts/EventData/TrackParameters.hpp"
 #include "Acts/Utilities/Result.hpp"
 #include "Acts/Vertexing/Vertex.hpp"
-#include "Acts/Vertexing/VertexFitterOptions.hpp"
+#include "Acts/Vertexing/VertexingOptions.hpp"
 
 namespace Acts {
 
@@ -36,7 +36,7 @@ class DummyVertexFitter {
   /// @brief Dummy fit method
   Result<Vertex<input_track_t>> fit(
       const std::vector<input_track_t>&, const linearizer_t&,
-      const VertexFitterOptions<input_track_t>&) const;
+      const VertexingOptions<input_track_t>&) const;
 };
 
 }  // namespace Acts
diff --git a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.hpp b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.hpp
index b7aee51db..0e08121c3 100644
--- a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.hpp
+++ b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.hpp
@@ -13,7 +13,7 @@
 #include "Acts/Vertexing/HelicalTrackLinearizer.hpp"
 #include "Acts/Vertexing/LinearizerConcept.hpp"
 #include "Acts/Vertexing/Vertex.hpp"
-#include "Acts/Vertexing/VertexFitterOptions.hpp"
+#include "Acts/Vertexing/VertexingOptions.hpp"
 namespace Acts {
 
 /// @class FullBilloirVertexFitter
@@ -65,13 +65,13 @@ class FullBilloirVertexFitter {
   ///
   /// @param paramVector Vector of track objects to fit vertex to
   /// @param linearizer The track linearizer
-  /// @param vFitterOptions Vertex fitter options
+  /// @param vertexingOptions Vertexing options
   ///
   /// @return Fitted vertex
   Result<Vertex<input_track_t>> fit(
       const std::vector<const input_track_t*>& paramVector,
       const linearizer_t& linearizer,
-      const VertexFitterOptions<input_track_t>& vFitterOptions) const;
+      const VertexingOptions<input_track_t>& vertexingOptions) const;
 
  private:
   /// Configuration object
diff --git a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp
index 5c65f5543..0c7ed4064 100644
--- a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp
+++ b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp
@@ -65,7 +65,7 @@ Acts::Result<Acts::Vertex<input_track_t>>
 Acts::FullBilloirVertexFitter<input_track_t, linearizer_t>::fit(
     const std::vector<const input_track_t*>& paramVector,
     const linearizer_t& linearizer,
-    const VertexFitterOptions<input_track_t>& vFitterOptions) const {
+    const VertexingOptions<input_track_t>& vertexingOptions) const {
   double chi2 = std::numeric_limits<double>::max();
   double newChi2 = 0;
   unsigned int nTracks = paramVector.size();
@@ -84,7 +84,7 @@ Acts::FullBilloirVertexFitter<input_track_t, linearizer_t>::fit(
   // Determine if we do contraint fit or not by checking if an
   // invertible non-zero constraint vertex covariance is given
   bool isConstraintFit = false;
-  if (vFitterOptions.vertexConstraint.covariance().determinant() != 0) {
+  if (vertexingOptions.vertexConstraint.covariance().determinant() != 0) {
     isConstraintFit = true;
     ndf += 3;
   }
@@ -93,7 +93,7 @@ Acts::FullBilloirVertexFitter<input_track_t, linearizer_t>::fit(
 
   std::vector<Vector3D> trackMomenta;
 
-  SpacePointVector linPoint(vFitterOptions.vertexConstraint.fullPosition());
+  SpacePointVector linPoint(vertexingOptions.vertexConstraint.fullPosition());
 
   Vertex<input_track_t> fittedVertex;
 
@@ -197,15 +197,15 @@ Acts::FullBilloirVertexFitter<input_track_t, linearizer_t>::fit(
       SpacePointVector posInBilloirFrame;
       // this will be 0 for first iteration but != 0 from second on
       posInBilloirFrame[0] =
-          vFitterOptions.vertexConstraint.position()[0] - linPoint[0];
+          vertexingOptions.vertexConstraint.position()[0] - linPoint[0];
       posInBilloirFrame[1] =
-          vFitterOptions.vertexConstraint.position()[1] - linPoint[1];
+          vertexingOptions.vertexConstraint.position()[1] - linPoint[1];
       posInBilloirFrame[2] =
-          vFitterOptions.vertexConstraint.position()[2] - linPoint[2];
+          vertexingOptions.vertexConstraint.position()[2] - linPoint[2];
 
-      Vdel += vFitterOptions.vertexConstraint.fullCovariance().inverse() *
+      Vdel += vertexingOptions.vertexConstraint.fullCovariance().inverse() *
               posInBilloirFrame;
-      VwgtMat += vFitterOptions.vertexConstraint.fullCovariance().inverse();
+      VwgtMat += vertexingOptions.vertexConstraint.fullCovariance().inverse();
     }
 
     // cov(deltaV) = VwgtMat^-1
@@ -288,15 +288,18 @@ Acts::FullBilloirVertexFitter<input_track_t, linearizer_t>::fit(
       // last term will also be 0 again but only in the first iteration
       // = calc. vtx in billoir frame - (    isConstraintFit pos. in billoir
       // frame )
-      deltaTrk[0] = deltaV[0] - (vFitterOptions.vertexConstraint.position()[0] -
-                                 linPoint[0]);
-      deltaTrk[1] = deltaV[1] - (vFitterOptions.vertexConstraint.position()[1] -
-                                 linPoint[1]);
-      deltaTrk[2] = deltaV[2] - (vFitterOptions.vertexConstraint.position()[2] -
-                                 linPoint[2]);
+      deltaTrk[0] =
+          deltaV[0] -
+          (vertexingOptions.vertexConstraint.position()[0] - linPoint[0]);
+      deltaTrk[1] =
+          deltaV[1] -
+          (vertexingOptions.vertexConstraint.position()[1] - linPoint[1]);
+      deltaTrk[2] =
+          deltaV[2] -
+          (vertexingOptions.vertexConstraint.position()[2] - linPoint[2]);
       newChi2 +=
           (deltaTrk.transpose())
-              .dot(vFitterOptions.vertexConstraint.covariance().inverse() *
+              .dot(vertexingOptions.vertexConstraint.covariance().inverse() *
                    deltaTrk);
     }
 
@@ -328,7 +331,7 @@ Acts::FullBilloirVertexFitter<input_track_t, linearizer_t>::fit(
         paramVec << 0., 0., trackMomenta[iTrack](0), trackMomenta[iTrack](1),
             trackMomenta[iTrack](2), 0.;
 
-        BoundParameters refittedParams(vFitterOptions.geoContext,
+        BoundParameters refittedParams(vertexingOptions.geoContext,
                                        covDeltaPmat[iTrack], paramVec, perigee);
 
         TrackAtVertex<input_track_t> trackVx(bTrack.chi2, refittedParams,
diff --git a/Core/include/Acts/Vertexing/IterativeVertexFinder.hpp b/Core/include/Acts/Vertexing/IterativeVertexFinder.hpp
index 9ba61ed22..1d3a0b2e6 100644
--- a/Core/include/Acts/Vertexing/IterativeVertexFinder.hpp
+++ b/Core/include/Acts/Vertexing/IterativeVertexFinder.hpp
@@ -17,8 +17,8 @@
 #include "Acts/Vertexing/HelicalTrackLinearizer.hpp"
 #include "Acts/Vertexing/ImpactPoint3dEstimator.hpp"
 #include "Acts/Vertexing/Vertex.hpp"
-#include "Acts/Vertexing/VertexFinderOptions.hpp"
 #include "Acts/Vertexing/VertexFitterConcept.hpp"
+#include "Acts/Vertexing/VertexingOptions.hpp"
 #include "Acts/Vertexing/ZScanVertexFinder.hpp"
 
 namespace Acts {
@@ -137,12 +137,12 @@ class IterativeVertexFinder {
   /// @brief Finds vertices corresponding to input trackVector
   ///
   /// @param trackVector Input tracks
-  /// @param vFinderOptions Vertex finder options
+  /// @param vertexingOptions Vertexing options
   ///
   /// @return Collection of vertices found by finder
   Result<std::vector<Vertex<InputTrack_t>>> find(
       const std::vector<const InputTrack_t*>& trackVector,
-      const VertexFinderOptions<InputTrack_t>& vFinderOptions) const;
+      const VertexingOptions<InputTrack_t>& vertexingOptions) const;
 
  private:
   /// Configuration object
@@ -164,10 +164,10 @@ class IterativeVertexFinder {
   /// @brief Method that calls seed finder to retrieve a vertex seed
   ///
   /// @param seedTracks Seeding tracks
-  /// @param vFinderOptions Vertex finder options
+  /// @param vertexingOptions Vertexing options
   Result<Vertex<InputTrack_t>> getVertexSeed(
       const std::vector<const InputTrack_t*>& seedTracks,
-      const VertexFinderOptions<InputTrack_t>& vFinderOptions) const;
+      const VertexingOptions<InputTrack_t>& vertexingOptions) const;
 
   /// @brief Removes all tracks in perigeesToFit from seedTracks
   ///
@@ -202,13 +202,13 @@ class IterativeVertexFinder {
   /// @param seedVertex Seed vertex
   /// @param perigeesToFitOut Perigees to fit
   /// @param perigeesToFitSplitVertexOut Perigees to fit split vertex
-  /// @param vFinderOptions Vertex finder options
+  /// @param vertexingOptions Vertexing options
   Result<void> fillPerigeesToFit(
       const std::vector<const InputTrack_t*>& perigeeList,
       const Vertex<InputTrack_t>& seedVertex,
       std::vector<const InputTrack_t*>& perigeesToFitOut,
       std::vector<const InputTrack_t*>& perigeesToFitSplitVertexOut,
-      const VertexFinderOptions<InputTrack_t>& vFinderOptions) const;
+      const VertexingOptions<InputTrack_t>& vertexingOptions) const;
 
   /// @brief Function that reassigns tracks from other vertices
   ///        to the current vertex if they are more compatible
@@ -218,7 +218,7 @@ class IterativeVertexFinder {
   /// @param perigeesToFit Perigees to fit vector
   /// @param seedTracks Seed tracks vector
   /// @param origTracks Vector of original track objects
-  /// @param vFitterOptions Vertex fitter options
+  /// @param vertexingOptions Vertexing options
   ///
   /// @return Bool if currentVertex is still a good vertex
   Result<bool> reassignTracksToNewVertex(
@@ -227,7 +227,7 @@ class IterativeVertexFinder {
       std::vector<const InputTrack_t*>& perigeesToFit,
       std::vector<const InputTrack_t*>& seedTracks,
       const std::vector<const InputTrack_t*>& origTracks,
-      const VertexFitterOptions<InputTrack_t>& vFitterOptions) const;
+      const VertexingOptions<InputTrack_t>& vertexingOptions) const;
 
   /// @brief Counts all tracks that are significant for a vertex
   ///
diff --git a/Core/include/Acts/Vertexing/IterativeVertexFinder.ipp b/Core/include/Acts/Vertexing/IterativeVertexFinder.ipp
index 83b16e07e..b67b17e5c 100644
--- a/Core/include/Acts/Vertexing/IterativeVertexFinder.ipp
+++ b/Core/include/Acts/Vertexing/IterativeVertexFinder.ipp
@@ -6,23 +6,16 @@
 // License, v. 2.0. If a copy of the MPL was not distributed with this
 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-#include "Acts/Vertexing/VertexFitterOptions.hpp"
-
 template <typename vfitter_t, typename sfinder_t>
 auto Acts::IterativeVertexFinder<vfitter_t, sfinder_t>::find(
     const std::vector<const InputTrack_t*>& trackVector,
-    const VertexFinderOptions<InputTrack_t>& vFinderOptions) const
+    const VertexingOptions<InputTrack_t>& vertexingOptions) const
     -> Result<std::vector<Vertex<InputTrack_t>>> {
   // Original tracks
   const std::vector<const InputTrack_t*>& origTracks = trackVector;
   // Tracks for seeding
   std::vector<const InputTrack_t*> seedTracks = trackVector;
 
-  // Construct the vertex fitter options from vertex finder options
-  VertexFitterOptions<InputTrack_t> vFitterOptions(
-      vFinderOptions.geoContext, vFinderOptions.magFieldContext,
-      vFinderOptions.vertexConstraint);
-
   // List of vertices to be filled below
   std::vector<Vertex<InputTrack_t>> vertexCollection;
 
@@ -30,7 +23,7 @@ auto Acts::IterativeVertexFinder<vfitter_t, sfinder_t>::find(
   // begin iterating
   while (seedTracks.size() > 1 && nInterations < m_cfg.maxVertices) {
     /// Begin seeding
-    auto seedRes = getVertexSeed(seedTracks, vFinderOptions);
+    auto seedRes = getVertexSeed(seedTracks, vertexingOptions);
     if (!seedRes.ok()) {
       return seedRes.error();
     }
@@ -45,7 +38,7 @@ auto Acts::IterativeVertexFinder<vfitter_t, sfinder_t>::find(
 
     // Fill vector with tracks to fit, only compatible with seed:
     auto res = fillPerigeesToFit(seedTracks, seedVertex, perigeesToFit,
-                                 perigeesToFitSplitVertex, vFinderOptions);
+                                 perigeesToFitSplitVertex, vertexingOptions);
 
     if (!res.ok()) {
       return res.error();
@@ -59,7 +52,7 @@ auto Acts::IterativeVertexFinder<vfitter_t, sfinder_t>::find(
 
     if (m_cfg.useBeamConstraint && !perigeesToFit.empty()) {
       auto fitResult = m_cfg.vertexFitter.fit(perigeesToFit, m_cfg.linearizer,
-                                              vFitterOptions);
+                                              vertexingOptions);
       if (fitResult.ok()) {
         currentVertex = std::move(*fitResult);
       } else {
@@ -67,7 +60,7 @@ auto Acts::IterativeVertexFinder<vfitter_t, sfinder_t>::find(
       }
     } else if (!m_cfg.useBeamConstraint && perigeesToFit.size() > 1) {
       auto fitResult = m_cfg.vertexFitter.fit(perigeesToFit, m_cfg.linearizer,
-                                              vFitterOptions);
+                                              vertexingOptions);
       if (fitResult.ok()) {
         currentVertex = std::move(*fitResult);
       } else {
@@ -75,8 +68,8 @@ auto Acts::IterativeVertexFinder<vfitter_t, sfinder_t>::find(
       }
     }
     if (m_cfg.createSplitVertices && perigeesToFitSplitVertex.size() > 1) {
-      auto fitResult = m_cfg.vertexFitter.fit(perigeesToFitSplitVertex,
-                                              m_cfg.linearizer, vFitterOptions);
+      auto fitResult = m_cfg.vertexFitter.fit(
+          perigeesToFitSplitVertex, m_cfg.linearizer, vertexingOptions);
       if (fitResult.ok()) {
         currentSplitVertex = std::move(*fitResult);
       } else {
@@ -107,7 +100,7 @@ auto Acts::IterativeVertexFinder<vfitter_t, sfinder_t>::find(
 
         auto result = reassignTracksToNewVertex(vertexCollection, currentVertex,
                                                 perigeesToFit, seedTracks,
-                                                origTracks, vFitterOptions);
+                                                origTracks, vertexingOptions);
         if (!result.ok()) {
           return result.error();
         }
@@ -155,9 +148,9 @@ auto Acts::IterativeVertexFinder<vfitter_t, sfinder_t>::find(
 template <typename vfitter_t, typename sfinder_t>
 auto Acts::IterativeVertexFinder<vfitter_t, sfinder_t>::getVertexSeed(
     const std::vector<const InputTrack_t*>& seedTracks,
-    const VertexFinderOptions<InputTrack_t>& vFinderOptions) const
+    const VertexingOptions<InputTrack_t>& vertexingOptions) const
     -> Result<Vertex<InputTrack_t>> {
-  auto res = m_cfg.seedFinder.find(seedTracks, vFinderOptions);
+  auto res = m_cfg.seedFinder.find(seedTracks, vertexingOptions);
   if (res.ok()) {
     auto vertexCollection = *res;
     if (vertexCollection.empty()) {
@@ -331,7 +324,7 @@ Acts::IterativeVertexFinder<vfitter_t, sfinder_t>::fillPerigeesToFit(
     const Vertex<InputTrack_t>& seedVertex,
     std::vector<const InputTrack_t*>& perigeesToFitOut,
     std::vector<const InputTrack_t*>& perigeesToFitSplitVertexOut,
-    const VertexFinderOptions<InputTrack_t>& vFinderOptions) const {
+    const VertexingOptions<InputTrack_t>& vertexingOptions) const {
   int numberOfTracks = perigeeList.size();
 
   // Count how many tracks are used for fit
@@ -360,7 +353,7 @@ Acts::IterativeVertexFinder<vfitter_t, sfinder_t>::fillPerigeesToFit(
       // check first that distance is not too large
       const BoundParameters& sTrackParams = m_extractParameters(*sTrack);
       auto distanceRes = m_cfg.ipEst.calculateDistance(
-          vFinderOptions.geoContext, sTrackParams, seedVertex.position());
+          vertexingOptions.geoContext, sTrackParams, seedVertex.position());
       if (!distanceRes.ok()) {
         return distanceRes.error();
       }
@@ -400,7 +393,7 @@ Acts::IterativeVertexFinder<vfitter_t, sfinder_t>::reassignTracksToNewVertex(
     std::vector<const InputTrack_t*>& perigeesToFit,
     std::vector<const InputTrack_t*>& seedTracks,
     const std::vector<const InputTrack_t*>& origTracks,
-    const VertexFitterOptions<InputTrack_t>& vFitterOptions) const {
+    const VertexingOptions<InputTrack_t>& vertexingOptions) const {
   int numberOfAddedTracks = 0;
 
   // iterate over all vertices and check if tracks need to be reassigned
@@ -478,16 +471,16 @@ Acts::IterativeVertexFinder<vfitter_t, sfinder_t>::reassignTracksToNewVertex(
   // later
   currentVertex = Vertex<InputTrack_t>();
   if (m_cfg.useBeamConstraint && !perigeesToFit.empty()) {
-    auto fitResult =
-        m_cfg.vertexFitter.fit(perigeesToFit, m_cfg.linearizer, vFitterOptions);
+    auto fitResult = m_cfg.vertexFitter.fit(perigeesToFit, m_cfg.linearizer,
+                                            vertexingOptions);
     if (fitResult.ok()) {
       currentVertex = std::move(*fitResult);
     } else {
       return Result<bool>::success(false);
     }
   } else if (!m_cfg.useBeamConstraint && perigeesToFit.size() > 1) {
-    auto fitResult =
-        m_cfg.vertexFitter.fit(perigeesToFit, m_cfg.linearizer, vFitterOptions);
+    auto fitResult = m_cfg.vertexFitter.fit(perigeesToFit, m_cfg.linearizer,
+                                            vertexingOptions);
     if (fitResult.ok()) {
       currentVertex = std::move(*fitResult);
     } else {
diff --git a/Core/include/Acts/Vertexing/TrackDensityVertexFinder.hpp b/Core/include/Acts/Vertexing/TrackDensityVertexFinder.hpp
index f85b29662..5f3265224 100644
--- a/Core/include/Acts/Vertexing/TrackDensityVertexFinder.hpp
+++ b/Core/include/Acts/Vertexing/TrackDensityVertexFinder.hpp
@@ -13,8 +13,8 @@
 #include "Acts/Utilities/Result.hpp"
 #include "Acts/Vertexing/GaussianTrackDensity.hpp"
 #include "Acts/Vertexing/Vertex.hpp"
-#include "Acts/Vertexing/VertexFinderOptions.hpp"
 #include "Acts/Vertexing/VertexFitterConcept.hpp"
+#include "Acts/Vertexing/VertexingOptions.hpp"
 
 namespace Acts {
 
@@ -51,13 +51,13 @@ class TrackDensityVertexFinder {
   /// @brief Function that finds single vertex candidate
   ///
   /// @param trackVector Input track collection
-  /// @param vFinderOptions Vertex finder options
+  /// @param vertexingOptions Vertexing options
   ///
   /// @return Vector of vertices, filled with a single
   ///         vertex (for consistent interfaces)
   Result<std::vector<Vertex<InputTrack_t>>> find(
       const std::vector<const InputTrack_t*>& trackVector,
-      const VertexFinderOptions<InputTrack_t>& vFinderOptions) const;
+      const VertexingOptions<InputTrack_t>& vertexingOptions) const;
 
   /// @brief Constructor used if InputTrack_t type == BoundParameters
   ///
diff --git a/Core/include/Acts/Vertexing/TrackDensityVertexFinder.ipp b/Core/include/Acts/Vertexing/TrackDensityVertexFinder.ipp
index ed26c5631..b24c1016b 100644
--- a/Core/include/Acts/Vertexing/TrackDensityVertexFinder.ipp
+++ b/Core/include/Acts/Vertexing/TrackDensityVertexFinder.ipp
@@ -9,7 +9,7 @@
 template <typename vfitter_t, typename track_density_t>
 auto Acts::TrackDensityVertexFinder<vfitter_t, track_density_t>::find(
     const std::vector<const InputTrack_t*>& trackVector,
-    const VertexFinderOptions<InputTrack_t>& vFinderOptions) const
+    const VertexingOptions<InputTrack_t>& vertexingOptions) const
     -> Result<std::vector<Vertex<InputTrack_t>>> {
   typename track_density_t::State densityState;
 
@@ -30,11 +30,11 @@ auto Acts::TrackDensityVertexFinder<vfitter_t, track_density_t>::find(
   // Calculate seed position
   // Note: constraint position is (0,0,0) if no constraint provided
   Vector3D seedPos =
-      vFinderOptions.vertexConstraint.position() + Vector3D(0., 0., z);
+      vertexingOptions.vertexConstraint.position() + Vector3D(0., 0., z);
 
   Vertex<InputTrack_t> returnVertex = Vertex<InputTrack_t>(seedPos);
 
-  ActsSymMatrixD<3> seedCov = vFinderOptions.vertexConstraint.covariance();
+  ActsSymMatrixD<3> seedCov = vertexingOptions.vertexConstraint.covariance();
 
   // Check if a constraint is provided and set the new z position constraint
   if (seedCov != ActsSymMatrixD<3>::Zero() && std::isnormal(zAndWidth.second)) {
diff --git a/Core/include/Acts/Vertexing/VertexFinderConcept.hpp b/Core/include/Acts/Vertexing/VertexFinderConcept.hpp
index 57e57ecca..11e0bbec4 100644
--- a/Core/include/Acts/Vertexing/VertexFinderConcept.hpp
+++ b/Core/include/Acts/Vertexing/VertexFinderConcept.hpp
@@ -12,7 +12,7 @@
 #include "Acts/Utilities/Result.hpp"
 #include "Acts/Utilities/TypeTraits.hpp"
 #include "Acts/Vertexing/Vertex.hpp"
-#include "Acts/Vertexing/VertexFinderOptions.hpp"
+#include "Acts/Vertexing/VertexingOptions.hpp"
 
 namespace Acts {
 
@@ -27,7 +27,7 @@ namespace concept {
         
         constexpr static bool find_exists = has_method<const S, Result<std::vector<Vertex<typename S::InputTrack_t>>>,
          find_t, const std::vector<const typename S::InputTrack_t*>&, 
-         const VertexFinderOptions<typename S::InputTrack_t>&>;
+         const VertexingOptions<typename S::InputTrack_t>&>;
         static_assert(find_exists, "find method not found");
 
         constexpr static bool value = require<find_exists>;
diff --git a/Core/include/Acts/Vertexing/VertexFitterConcept.hpp b/Core/include/Acts/Vertexing/VertexFitterConcept.hpp
index 9164c714d..af9529afa 100644
--- a/Core/include/Acts/Vertexing/VertexFitterConcept.hpp
+++ b/Core/include/Acts/Vertexing/VertexFitterConcept.hpp
@@ -12,7 +12,7 @@
 #include "Acts/Utilities/Result.hpp"
 #include "Acts/Utilities/TypeTraits.hpp"
 #include "Acts/Vertexing/Vertex.hpp"
-#include "Acts/Vertexing/VertexFitterOptions.hpp"
+#include "Acts/Vertexing/VertexingOptions.hpp"
 
 namespace Acts {
 
@@ -35,7 +35,7 @@ namespace concept {
          fit_t, 
          const std::vector<const typename S::InputTrack_t*>&, 
          const typename S::Linearizer_t&,
-         const VertexFitterOptions<typename S::InputTrack_t>&>;
+         const VertexingOptions<typename S::InputTrack_t>&>;
         static_assert(fit_exists, "fit method not found");
 
         constexpr static bool track_exists = exists<track_t, S>;
diff --git a/Core/include/Acts/Vertexing/VertexFitterOptions.hpp b/Core/include/Acts/Vertexing/VertexFitterOptions.hpp
deleted file mode 100644
index ad354dd09..000000000
--- a/Core/include/Acts/Vertexing/VertexFitterOptions.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-// This file is part of the Acts project.
-//
-// Copyright (C) 2019 CERN for the benefit of the Acts project
-//
-// This Source Code Form is subject to the terms of the Mozilla Public
-// License, v. 2.0. If a copy of the MPL was not distributed with this
-// file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#pragma once
-
-#include "Acts/Geometry/GeometryContext.hpp"
-#include "Acts/MagneticField/MagneticFieldContext.hpp"
-#include "Acts/Vertexing/Vertex.hpp"
-
-namespace Acts {
-
-/// @brief Vertex Fitter Options
-///
-template <typename input_track_t>
-struct VertexFitterOptions {
-  /// Default contstructor is deleted
-  VertexFitterOptions() = delete;
-
-  /// VertexFitterOptions with context
-  ///
-  /// @param gctx The goemetry context for this fit
-  /// @param mctx The magnetic context for this fit
-  /// @param vconstr The pointing contraint to a vertex
-  VertexFitterOptions(
-      std::reference_wrapper<const GeometryContext> gctx,
-      std::reference_wrapper<const MagneticFieldContext> mctx,
-      const Vertex<input_track_t>& vconstr = Vertex<input_track_t>())
-
-      : geoContext(gctx), magFieldContext(mctx), vertexConstraint(vconstr) {}
-
-  /// Context object for the geometry
-  std::reference_wrapper<const GeometryContext> geoContext;
-  /// Context object for the magnetic field
-  std::reference_wrapper<const MagneticFieldContext> magFieldContext;
-  /// The vertex constraint for the fitting
-  Vertex<input_track_t> vertexConstraint;
-};
-
-}  // namespace Acts
diff --git a/Core/include/Acts/Vertexing/VertexFinderOptions.hpp b/Core/include/Acts/Vertexing/VertexingOptions.hpp
similarity index 91%
rename from Core/include/Acts/Vertexing/VertexFinderOptions.hpp
rename to Core/include/Acts/Vertexing/VertexingOptions.hpp
index 5c0340771..bff6d97a3 100644
--- a/Core/include/Acts/Vertexing/VertexFinderOptions.hpp
+++ b/Core/include/Acts/Vertexing/VertexingOptions.hpp
@@ -17,16 +17,16 @@ namespace Acts {
 /// @brief Vertex Finder Options
 ///
 template <typename input_track_t>
-struct VertexFinderOptions {
+struct VertexingOptions {
   /// Default contstructor is deleted
-  VertexFinderOptions() = delete;
+  VertexingOptions() = delete;
 
-  /// VertexFinderOptions with context
+  /// VertexingOptions with context
   ///
   /// @param gctx The goemetry context for this fit
   /// @param mctx The magnetic context for this fit
   /// @param vconstr The pointing contraint to a vertex
-  VertexFinderOptions(
+  VertexingOptions(
       std::reference_wrapper<const GeometryContext> gctx,
       std::reference_wrapper<const MagneticFieldContext> mctx,
       const Vertex<input_track_t>& vconstr = Vertex<input_track_t>())
diff --git a/Core/include/Acts/Vertexing/ZScanVertexFinder.hpp b/Core/include/Acts/Vertexing/ZScanVertexFinder.hpp
index e738d705d..4d2812db8 100644
--- a/Core/include/Acts/Vertexing/ZScanVertexFinder.hpp
+++ b/Core/include/Acts/Vertexing/ZScanVertexFinder.hpp
@@ -18,8 +18,8 @@
 #include "Acts/Vertexing/FsmwMode1dFinder.hpp"
 #include "Acts/Vertexing/TrackToVertexIPEstimator.hpp"
 #include "Acts/Vertexing/Vertex.hpp"
-#include "Acts/Vertexing/VertexFinderOptions.hpp"
 #include "Acts/Vertexing/VertexFitterConcept.hpp"
+#include "Acts/Vertexing/VertexingOptions.hpp"
 
 namespace Acts {
 
@@ -103,13 +103,13 @@ class ZScanVertexFinder {
   /// using a Half Sample Mode algorithm
   ///
   /// @param trackVector Input track collection
-  /// @param vFinderOptions Vertex finder options
+  /// @param vertexingOptions Vertexing options
   ///
   /// @return Vector of vertices, filled with a single
   ///         vertex (for consistent interfaces)
   Result<std::vector<Vertex<InputTrack_t>>> find(
       const std::vector<const InputTrack_t*>& trackVector,
-      const VertexFinderOptions<InputTrack_t>& vFinderOptions) const;
+      const VertexingOptions<InputTrack_t>& vertexingOptions) const;
 
  private:
   Config m_cfg;
diff --git a/Core/include/Acts/Vertexing/ZScanVertexFinder.ipp b/Core/include/Acts/Vertexing/ZScanVertexFinder.ipp
index f15579ec2..7344f7d2a 100644
--- a/Core/include/Acts/Vertexing/ZScanVertexFinder.ipp
+++ b/Core/include/Acts/Vertexing/ZScanVertexFinder.ipp
@@ -9,11 +9,11 @@
 template <typename vfitter_t>
 auto Acts::ZScanVertexFinder<vfitter_t>::find(
     const std::vector<const InputTrack_t*>& trackVector,
-    const VertexFinderOptions<InputTrack_t>& vFinderOptions) const
+    const VertexingOptions<InputTrack_t>& vertexingOptions) const
     -> Result<std::vector<Vertex<InputTrack_t>>> {
   // Determine if we use constraint or not
   bool useConstraint = false;
-  if (vFinderOptions.vertexConstraint.fullCovariance().determinant() != 0) {
+  if (vertexingOptions.vertexConstraint.fullCovariance().determinant() != 0) {
     useConstraint = true;
   }
 
@@ -29,9 +29,9 @@ auto Acts::ZScanVertexFinder<vfitter_t>::find(
     std::pair<double, double> z0AndWeight;
     ImpactParametersAndSigma ipas;
     if (useConstraint &&
-        vFinderOptions.vertexConstraint.covariance()(0, 0) != 0) {
+        vertexingOptions.vertexConstraint.covariance()(0, 0) != 0) {
       auto estRes =
-          m_cfg.ipEstimator.estimate(params, vFinderOptions.vertexConstraint);
+          m_cfg.ipEstimator.estimate(params, vertexingOptions.vertexConstraint);
       if (estRes.ok()) {
         ipas = *estRes;
       } else {
@@ -42,7 +42,7 @@ auto Acts::ZScanVertexFinder<vfitter_t>::find(
     if (ipas.sigmad0 > 0) {
       // calculate z0
       z0AndWeight.first =
-          ipas.IPz0 + vFinderOptions.vertexConstraint.position().z();
+          ipas.IPz0 + vertexingOptions.vertexConstraint.position().z();
 
       // calculate chi2 of IP
       double chi2IP = std::pow(ipas.IPd0 / ipas.sigmad0, 2);
@@ -96,9 +96,9 @@ auto Acts::ZScanVertexFinder<vfitter_t>::find(
   }
 
   // constraint x()/y() equals 0 if no constraint
-  SpacePointVector output(vFinderOptions.vertexConstraint.position().x(),
-                          vFinderOptions.vertexConstraint.position().y(),
-                          ZResult, vFinderOptions.vertexConstraint.time());
+  SpacePointVector output(vertexingOptions.vertexConstraint.position().x(),
+                          vertexingOptions.vertexConstraint.position().y(),
+                          ZResult, vertexingOptions.vertexConstraint.time());
   Vertex<InputTrack_t> vtxResult = Vertex<InputTrack_t>(output);
 
   // Vector to be filled with one single vertex
diff --git a/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFinderTests.cpp b/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFinderTests.cpp
index 105c59607..7cd3ee8c9 100644
--- a/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFinderTests.cpp
+++ b/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFinderTests.cpp
@@ -53,8 +53,6 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_finder_test) {
   PropagatorOptions<> pOptions(tgContext, mfContext);
   pOptions.direction = backward;
 
-  VertexFitterOptions<BoundParameters> fitterOptions(tgContext, mfContext);
-
   // IP 3D Estimator
   using IPEstimator = ImpactPoint3dEstimator<BoundParameters, Propagator>;
 
@@ -122,7 +120,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_finder_test) {
     tracksPtr.push_back(&trk);
   }
 
-  VertexFinderOptions<BoundParameters> finderOptions(tgContext, mfContext);
+  VertexingOptions<BoundParameters> vertexingOptions(tgContext, mfContext);
 
   Vector3D constraintPos{0._mm, 0._mm, 0_mm};
   ActsSymMatrixD<3> constraintCov;
@@ -133,9 +131,9 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_finder_test) {
   constraintVtx.setPosition(constraintPos);
   constraintVtx.setCovariance(constraintCov);
 
-  finderOptions.vertexConstraint = constraintVtx;
+  vertexingOptions.vertexConstraint = constraintVtx;
 
-  auto findResult = finder.find(tracksPtr, finderOptions);
+  auto findResult = finder.find(tracksPtr, vertexingOptions);
 
   if (!findResult.ok()) {
     std::cout << findResult.error().message() << std::endl;
diff --git a/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp b/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp
index dffb8fc63..6d238d134 100644
--- a/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp
+++ b/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp
@@ -77,7 +77,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test) {
   auto propagator = std::make_shared<Propagator>(stepper);
   PropagatorOptions<> pOptions(tgContext, mfContext);
 
-  VertexFitterOptions<BoundParameters> fitterOptions(tgContext, mfContext);
+  VertexingOptions<BoundParameters> vertexingOptions(tgContext, mfContext);
 
   // IP 3D Estimator
   using IPEstimator = ImpactPoint3dEstimator<BoundParameters, Propagator>;
@@ -228,7 +228,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test) {
   std::vector<Vertex<BoundParameters>> seedListCopy = vtxList;
 
   auto res1 =
-      fitter.addVtxToFit(state, vtxList.at(0), linearizer, fitterOptions);
+      fitter.addVtxToFit(state, vtxList.at(0), linearizer, vertexingOptions);
   if (debugMode) {
     std::cout << "Tracks linked to each vertex AFTER fit: " << std::endl;
     int c = 0;
@@ -283,7 +283,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test) {
                   seedListCopy.at(1).fullPosition(), 1_mm);
 
   auto res2 =
-      fitter.addVtxToFit(state, vtxList.at(2), linearizer, fitterOptions);
+      fitter.addVtxToFit(state, vtxList.at(2), linearizer, vertexingOptions);
   BOOST_CHECK(res2.ok());
 
   // Now also the third vertex should have been modified and fitted
@@ -323,7 +323,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test_athena) {
   auto propagator = std::make_shared<Propagator>(stepper);
   PropagatorOptions<> pOptions(tgContext, mfContext);
 
-  VertexFitterOptions<BoundParameters> fitterOptions(tgContext, mfContext);
+  VertexingOptions<BoundParameters> vertexingOptions(tgContext, mfContext);
 
   // IP 3D Estimator
   using IPEstimator = ImpactPoint3dEstimator<BoundParameters, Propagator>;
@@ -483,7 +483,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test_athena) {
   state.addVertexToMultiMap(vtx2);
 
   // Fit vertices
-  fitter.fit(state, vtxList, linearizer, fitterOptions);
+  fitter.fit(state, vtxList, linearizer, vertexingOptions);
 
   auto vtx1Pos = state.vertexCollection.at(0)->position();
   auto vtx1Cov = state.vertexCollection.at(0)->covariance();
diff --git a/Tests/UnitTests/Core/Vertexing/FullBilloirVertexFitterTests.cpp b/Tests/UnitTests/Core/Vertexing/FullBilloirVertexFitterTests.cpp
index cf4c79332..e77c0b88d 100644
--- a/Tests/UnitTests/Core/Vertexing/FullBilloirVertexFitterTests.cpp
+++ b/Tests/UnitTests/Core/Vertexing/FullBilloirVertexFitterTests.cpp
@@ -72,8 +72,8 @@ BOOST_AUTO_TEST_CASE(billoir_vertex_fitter_empty_input_test) {
 
   const std::vector<const BoundParameters*> emptyVector;
 
-  VertexFitterOptions<BoundParameters> vfOptions(tgContext, mfContext,
-                                                 myConstraint);
+  VertexingOptions<BoundParameters> vfOptions(tgContext, mfContext,
+                                              myConstraint);
 
   Vertex<BoundParameters> fittedVertex =
       billoirFitter.fit(emptyVector, linearizer, vfOptions).value();
@@ -159,10 +159,10 @@ BOOST_AUTO_TEST_CASE(billoir_vertex_fitter_defaulttrack_test) {
     myCovMat(3, 3) = 30.;
     myConstraint.setFullCovariance(std::move(myCovMat));
     myConstraint.setFullPosition(SpacePointVector(0, 0, 0, 0));
-    VertexFitterOptions<BoundParameters> vfOptions(tgContext, mfContext);
+    VertexingOptions<BoundParameters> vfOptions(tgContext, mfContext);
 
-    VertexFitterOptions<BoundParameters> vfOptionsConstr(tgContext, mfContext,
-                                                         myConstraint);
+    VertexingOptions<BoundParameters> vfOptionsConstr(tgContext, mfContext,
+                                                      myConstraint);
     // Create position of vertex and perigee surface
     double x = vXYDist(gen);
     double y = vXYDist(gen);
@@ -298,10 +298,10 @@ BOOST_AUTO_TEST_CASE(billoir_vertex_fitter_usertrack_test) {
     myConstraint.setFullCovariance(std::move(myCovMat));
     myConstraint.setFullPosition(SpacePointVector(0, 0, 0, 0));
 
-    VertexFitterOptions<InputTrack> vfOptions(tgContext, mfContext);
+    VertexingOptions<InputTrack> vfOptions(tgContext, mfContext);
 
-    VertexFitterOptions<InputTrack> vfOptionsConstr(tgContext, mfContext,
-                                                    myConstraint);
+    VertexingOptions<InputTrack> vfOptionsConstr(tgContext, mfContext,
+                                                 myConstraint);
 
     // Create position of vertex and perigee surface
     double x = vXYDist(gen);
diff --git a/Tests/UnitTests/Core/Vertexing/IterativeVertexFinderTests.cpp b/Tests/UnitTests/Core/Vertexing/IterativeVertexFinderTests.cpp
index 99bf17eec..163eefd80 100644
--- a/Tests/UnitTests/Core/Vertexing/IterativeVertexFinderTests.cpp
+++ b/Tests/UnitTests/Core/Vertexing/IterativeVertexFinderTests.cpp
@@ -231,10 +231,10 @@ BOOST_AUTO_TEST_CASE(iterative_finder_test) {
       tracksPtr.push_back(trk.get());
     }
 
-    VertexFinderOptions<BoundParameters> vFinderOptions(tgContext, mfContext);
+    VertexingOptions<BoundParameters> vertexingOptions(tgContext, mfContext);
 
     // find vertices
-    auto res = finder.find(tracksPtr, vFinderOptions);
+    auto res = finder.find(tracksPtr, vertexingOptions);
 
     BOOST_CHECK(res.ok());
 
@@ -454,10 +454,10 @@ BOOST_AUTO_TEST_CASE(iterative_finder_test_user_track_type) {
       tracksPtr.push_back(trk.get());
     }
 
-    VertexFinderOptions<InputTrack> vFinderOptionsUT(tgContext, mfContext);
+    VertexingOptions<InputTrack> vertexingOptionsUT(tgContext, mfContext);
 
     // find vertices
-    auto res = finder.find(tracksPtr, vFinderOptionsUT);
+    auto res = finder.find(tracksPtr, vertexingOptionsUT);
 
     BOOST_CHECK(res.ok());
 
diff --git a/Tests/UnitTests/Core/Vertexing/TrackDensityVertexFinderTests.cpp b/Tests/UnitTests/Core/Vertexing/TrackDensityVertexFinderTests.cpp
index 607b77daa..ea6d61771 100644
--- a/Tests/UnitTests/Core/Vertexing/TrackDensityVertexFinderTests.cpp
+++ b/Tests/UnitTests/Core/Vertexing/TrackDensityVertexFinderTests.cpp
@@ -47,7 +47,7 @@ BOOST_AUTO_TEST_CASE(track_density_finder_test) {
   Vector3D pos1c{1.2_mm, 1.3_mm, -7_mm};
   Vector3D mom1c{300_MeV, 1000_MeV, 100_MeV};
 
-  VertexFinderOptions<BoundParameters> vFinderOptions(tgContext, mfContext);
+  VertexingOptions<BoundParameters> vertexingOptions(tgContext, mfContext);
 
   TrackDensityVertexFinder<DummyVertexFitter<>, GaussianTrackDensity> finder;
 
@@ -68,8 +68,8 @@ BOOST_AUTO_TEST_CASE(track_density_finder_test) {
   std::vector<const BoundParameters*> vec1 = {&params1a, &params1b, &params1c};
   std::vector<const BoundParameters*> vec2 = {&params1c, &params1a, &params1b};
 
-  auto res1 = finder.find(vec1, vFinderOptions);
-  auto res2 = finder.find(vec2, vFinderOptions);
+  auto res1 = finder.find(vec1, vertexingOptions);
+  auto res2 = finder.find(vec2, vertexingOptions);
 
   if (!res1.ok()) {
     std::cout << res1.error().message() << std::endl;
@@ -106,7 +106,7 @@ BOOST_AUTO_TEST_CASE(track_density_finder_constr_test) {
   double const expectedZResult = -13.013;
 
   // Finder options
-  VertexFinderOptions<BoundParameters> vFinderOptions(tgContext, mfContext);
+  VertexingOptions<BoundParameters> vertexingOptions(tgContext, mfContext);
 
   // Create constraint for seed finding
   Vector3D constraintPos{1.7_mm, 1.3_mm, -6_mm};
@@ -115,7 +115,7 @@ BOOST_AUTO_TEST_CASE(track_density_finder_constr_test) {
   Vertex<BoundParameters> vertexConstraint(constraintPos);
   vertexConstraint.setCovariance(constrCov);
 
-  vFinderOptions.vertexConstraint = vertexConstraint;
+  vertexingOptions.vertexConstraint = vertexConstraint;
 
   TrackDensityVertexFinder<DummyVertexFitter<>, GaussianTrackDensity> finder;
 
@@ -135,7 +135,7 @@ BOOST_AUTO_TEST_CASE(track_density_finder_constr_test) {
   // Vector of track parameters
   std::vector<const BoundParameters*> vec1 = {&params1a, &params1b, &params1c};
 
-  auto res = finder.find(vec1, vFinderOptions);
+  auto res = finder.find(vec1, vertexingOptions);
 
   if (!res.ok()) {
     std::cout << res.error().message() << std::endl;
@@ -179,7 +179,7 @@ BOOST_AUTO_TEST_CASE(track_density_finder_random_test) {
   std::shared_ptr<PerigeeSurface> perigeeSurface =
       Surface::makeShared<PerigeeSurface>(pos0);
 
-  VertexFinderOptions<BoundParameters> vFinderOptions(tgContext, mfContext);
+  VertexingOptions<BoundParameters> vertexingOptions(tgContext, mfContext);
 
   TrackDensityVertexFinder<DummyVertexFitter<>, GaussianTrackDensity> finder;
 
@@ -218,7 +218,7 @@ BOOST_AUTO_TEST_CASE(track_density_finder_random_test) {
     trackPtrVec.push_back(&trk);
   }
 
-  auto res3 = finder.find(trackPtrVec, vFinderOptions);
+  auto res3 = finder.find(trackPtrVec, vertexingOptions);
   if (!res3.ok()) {
     std::cout << res3.error().message() << std::endl;
   }
@@ -260,7 +260,7 @@ BOOST_AUTO_TEST_CASE(track_density_finder_usertrack_test) {
   double const expectedZResult = -13.013;
 
   // Finder options
-  VertexFinderOptions<InputTrack> vFinderOptions(tgContext, mfContext);
+  VertexingOptions<InputTrack> vertexingOptions(tgContext, mfContext);
 
   // Create constraint for seed finding
   Vector3D constraintPos{1.7_mm, 1.3_mm, -6_mm};
@@ -269,7 +269,7 @@ BOOST_AUTO_TEST_CASE(track_density_finder_usertrack_test) {
   Vertex<InputTrack> vertexConstraint(constraintPos);
   vertexConstraint.setCovariance(constrCov);
 
-  vFinderOptions.vertexConstraint = vertexConstraint;
+  vertexingOptions.vertexConstraint = vertexConstraint;
 
   std::function<BoundParameters(InputTrack)> extractParameters =
       [](InputTrack params) { return params.parameters(); };
@@ -293,7 +293,7 @@ BOOST_AUTO_TEST_CASE(track_density_finder_usertrack_test) {
   // Vector of track parameters
   std::vector<const InputTrack*> vec1 = {&params1a, &params1b, &params1c};
 
-  auto res = finder.find(vec1, vFinderOptions);
+  auto res = finder.find(vec1, vertexingOptions);
 
   if (!res.ok()) {
     std::cout << res.error().message() << std::endl;
diff --git a/Tests/UnitTests/Core/Vertexing/ZScanVertexFinderTests.cpp b/Tests/UnitTests/Core/Vertexing/ZScanVertexFinderTests.cpp
index c92a86641..4143b9116 100644
--- a/Tests/UnitTests/Core/Vertexing/ZScanVertexFinderTests.cpp
+++ b/Tests/UnitTests/Core/Vertexing/ZScanVertexFinderTests.cpp
@@ -153,9 +153,9 @@ BOOST_AUTO_TEST_CASE(zscan_finder_test) {
 
     VertexFinder finder(std::move(cfg));
 
-    VertexFinderOptions<BoundParameters> vFinderOptions(tgContext, mfContext);
+    VertexingOptions<BoundParameters> vertexingOptions(tgContext, mfContext);
 
-    auto res = finder.find(tracksPtr, vFinderOptions);
+    auto res = finder.find(tracksPtr, vertexingOptions);
 
     BOOST_CHECK(res.ok());
 
@@ -278,9 +278,9 @@ BOOST_AUTO_TEST_CASE(zscan_finder_usertrack_test) {
 
     VertexFinder finder(std::move(cfg), extractParameters);
 
-    VertexFinderOptions<InputTrack> vFinderOptions(tgContext, mfContext);
+    VertexingOptions<InputTrack> vertexingOptions(tgContext, mfContext);
 
-    auto res = finder.find(tracksPtr, vFinderOptions);
+    auto res = finder.find(tracksPtr, vertexingOptions);
 
     BOOST_CHECK(res.ok());
 
-- 
GitLab