diff --git a/MooreOnlineConf/options/velo.py b/MooreOnlineConf/options/velo.py
index 302c02563a739926f8269b7a12ba46f1f2bef964..68b0722397b5e243fcf9d5def2efb8e5d74df41a 100644
--- a/MooreOnlineConf/options/velo.py
+++ b/MooreOnlineConf/options/velo.py
@@ -10,22 +10,53 @@
 #############################################################################
 from PyConf.application import default_raw_event
 from Moore import options, run_reconstruction
-from PyConf.Algorithms import VPClusterMonitors, VPClusFull
+from PyConf.Algorithms import VPClusterMonitors, VPClusFull, VPTrackMonitor, TrackEventFitter
+from PyConf.Algorithms import TrackPV2HalfAlignMonitor as TrackPV2HalfMonitor
 from Moore.config import Reconstruction
 from RecoConf.standalone import reco_prefilters
+from RecoConf.hlt1_tracking import make_VPClus_location_and_offsets, all_velo_track_types, get_track_master_fitter, default_ft_decoding_version
+from RecoConf.hlt2_tracking import make_hlt2_tracks
+from PyConf.application import make_odin
+
+default_ft_decoding_version.global_bind(value=6)
 
 
 def velo_mon():
     raw = default_raw_event(["VP"])
 
     clusters = VPClusFull(RawEventLocation=raw).ClusterLocation
-    monitor = VPClusterMonitors(ClusterLocation=clusters)
+    cluster_monitor = VPClusterMonitors(ClusterLocation=clusters)
 
     algs = []
     if options.input_type.lower() == 'online':
         from MooreOnlineConf.utils import update_and_reset
         algs.append(update_and_reset())
-    algs.append(monitor)
+    algs.append(cluster_monitor)
+
+    all_tracks = TrackEventFitter(
+        TracksInContainer=all_velo_track_types()["v1"],
+        Fitter=get_track_master_fitter()).TracksOutContainer
+
+    best_tracks = make_hlt2_tracks()["Best"]["v1"]
+
+    velo_clusters = make_VPClus_location_and_offsets()
+
+    track_monitor_all = VPTrackMonitor(
+        name="VPTrackMonitorAll",
+        TrackContainer=all_tracks,
+        ClusterContainer=velo_clusters["Location"])
+
+    track_monitor_best = VPTrackMonitor(
+        name="VPTrackMonitorBest",
+        TrackContainer=best_tracks,
+        ClusterContainer=velo_clusters["Location"])
+
+    vertex_monitor = TrackPV2HalfMonitor(
+        TrackContainer=all_velo_track_types()["v1"], ODINLocation=make_odin())
+
+    algs.append(track_monitor_all)
+    algs.append(track_monitor_best)
+    algs.append(vertex_monitor)
 
     return Reconstruction('velo_mon', algs, reco_prefilters(gec=False))