diff --git a/Hlt/RecoConf/options/hlt2_particles_baseline.py b/Hlt/RecoConf/options/hlt2_particles_baseline.py
index acb3676b4e7fae2a7bfe6f452b5c876644bff032..650e94994cce3b69a3ee7433a63147971847209a 100644
--- a/Hlt/RecoConf/options/hlt2_particles_baseline.py
+++ b/Hlt/RecoConf/options/hlt2_particles_baseline.py
@@ -35,9 +35,9 @@ from RecoConf.standard_particles import (
 
 
 # make KS0_LL
-def make_KsLL(pions, pvs):
+def make_KsLL(pions):
     descriptors = "KS0 -> pi+ pi-"
-    return _make_V0LL(particles=[pions, pions], descriptors=descriptors, pv_maker=pvs)
+    return _make_V0LL(particles=[pions, pions], descriptors=descriptors)
 
 
 # make JPsi
@@ -89,7 +89,7 @@ def standalone_hlt2_particles(print_protos=False):
         Cut=F.FILTER(F.require_all(F.PT > 200.0 * MeV, F.ISMUON, F.PROBNN_MU > 0.5)),
     )
 
-    ksll = make_KsLL(long_detached_pions, pvs)
+    ksll = make_KsLL(long_detached_pions)
     jpsi = make_JPsi(long_muons)
 
     long_protos = make_charged_protoparticles(track_type="Long")
diff --git a/Hlt/RecoConf/python/RecoConf/standard_particles.py b/Hlt/RecoConf/python/RecoConf/standard_particles.py
index 7af3b6fbb96a6ecb9662c088897cde0000a23d2f..ea61516f18a9f33aecb65812be9d8fd6f38115e3 100644
--- a/Hlt/RecoConf/python/RecoConf/standard_particles.py
+++ b/Hlt/RecoConf/python/RecoConf/standard_particles.py
@@ -852,8 +852,6 @@ def make_detached_dielectron(
         DecayDescriptor = f"[{dilepton_ID} -> e+ e+]cc"
         name = __add_suffix(name, "_ws")
 
-    pvs = pv_maker()
-
     electrons = filter_leptons_loose(
         particles=electron_maker(),
         lepton="electron",
@@ -864,9 +862,7 @@ def make_detached_dielectron(
         trghostprob=trghostprob,
     )
     combination_code = F.require_all(F.MAXSDOCACHI2CUT(float(adocachi2cut)))
-    vertex_code = F.require_all(
-        F.CHI2DOF < vfaspfchi2ndof, F.BPVFDCHI2(pvs) > bpvvdchi2
-    )
+    vertex_code = F.require_all(F.CHI2DOF < vfaspfchi2ndof, F.OWNPVFDCHI2 > bpvvdchi2)
     return ParticleCombiner(
         Inputs=[electrons, electrons],
         name=name,
@@ -957,7 +953,7 @@ def make_prompt_dielectron_with_brem(
         F.MAXSDOCACHI2CUT(float(adocachi2cut)), F.CHI2DOF < vfaspfchi2ndof
     )
     if bpvvdchi2 is not None:
-        code_dielectron = code_dielectron & (F.BPVFDCHI2(pvs) < bpvvdchi2)
+        code_dielectron = code_dielectron & (F.OWNPVFDCHI2 < bpvvdchi2)
 
     return ParticleFilter(prompt_dielectron_with_brem, F.FILTER(code_dielectron))
 
@@ -991,7 +987,6 @@ def make_detached_dielectron_with_brem(
         "Invalid number of fake electrons in builder, fake_electrons must be an integer between 0 and 2."
     )
 
-    pvs = pv_maker()
     electrons = filter_leptons_loose(
         particles=electron_maker(),
         lepton="electron",
@@ -1015,7 +1010,7 @@ def make_detached_dielectron_with_brem(
     code_dielectron = F.require_all(
         F.MAXSDOCACHI2CUT(float(adocachi2cut)),
         F.CHI2DOF < vfaspfchi2ndof,
-        F.BPVFDCHI2(pvs) > bpvvdchi2,
+        F.OWNPVFDCHI2 > bpvvdchi2,
     )
 
     if fake_electrons == 1:
@@ -1048,7 +1043,6 @@ def make_detached_mue(
     dilepton_ID="J/psi(1S)",
     fake_electrons=0,
     fake_muons=0,
-    pv_maker=_make_pvs,
     pid_mu=0.2,
     probnn_mu=None,
     pt_mu=0.0 * GeV,
@@ -1075,7 +1069,6 @@ def make_detached_mue(
         DecayDescriptor = f"[{dilepton_ID} -> mu+ e+]cc"
         name = __add_suffix(name, "_ws")
 
-    pvs = pv_maker()
     electrons = filter_leptons_loose(
         particles=make_long_electrons_no_brem(),
         lepton="electron",
@@ -1097,9 +1090,7 @@ def make_detached_mue(
         trghostprob=trghostprob,
     )
     combination_code = F.require_all(F.MAXSDOCACHI2CUT(float(adocachi2cut)))
-    vertex_code = F.require_all(
-        F.CHI2DOF < vfaspfchi2ndof, F.BPVFDCHI2(pvs) > bpvvdchi2
-    )
+    vertex_code = F.require_all(F.CHI2DOF < vfaspfchi2ndof, F.OWNPVFDCHI2 > bpvvdchi2)
 
     return ParticleCombiner(
         Inputs=[muons, electrons],
@@ -1117,7 +1108,6 @@ def make_detached_mue_with_brem(
     dilepton_ID="J/psi(1S)",
     fake_electrons=0,
     fake_muons=0,
-    pv_maker=_make_pvs,
     min_probnn_mu=None,
     min_PIDmu=0.0,
     IsMuon=False,
@@ -1148,8 +1138,6 @@ def make_detached_mue_with_brem(
         DecayDescriptor = f"[{dilepton_ID} -> mu+ e+]cc"
         name = __add_suffix(name, "_ws")
 
-    pvs = pv_maker()
-
     electrons = filter_leptons_loose(
         particles=make_long_electrons_with_brem(),
         lepton="electron",
@@ -1173,7 +1161,7 @@ def make_detached_mue_with_brem(
     )
     combination_code = F.require_all(F.MAXSDOCACHI2CUT(float(max_adocachi2)))
     vertex_code = F.require_all(
-        F.CHI2DOF < max_vchi2ndof, F.BPVFDCHI2(pvs) > min_bpvvdchi2
+        F.CHI2DOF < max_vchi2ndof, F.OWNPVFDCHI2 > min_bpvvdchi2
     )
     return ParticleCombiner(
         Inputs=[muons, electrons],
@@ -1190,7 +1178,6 @@ def make_detached_mumu(
     opposite_sign=True,
     fake_muons=0,
     dilepton_ID="J/psi(1S)",
-    pv_maker=_make_pvs,
     pid_mu=2,
     IsMuon=False,
     probnn_mu=None,
@@ -1214,8 +1201,6 @@ def make_detached_mumu(
         DecayDescriptor = f"[{dilepton_ID} -> mu+ mu+]cc"
         name = __add_suffix(name, "_ws")
 
-    pvs = pv_maker()
-
     if fake_muons == 1:
         particles = [
             filter_leptons_loose(
@@ -1248,9 +1233,7 @@ def make_detached_mumu(
         particles = [muons, muons]
 
     combination_code = F.require_all(F.MAXSDOCACHI2CUT(float(adocachi2cut)))
-    vertex_code = F.require_all(
-        F.CHI2DOF < vfaspfchi2ndof, F.BPVFDCHI2(pvs) > bpvvdchi2
-    )
+    vertex_code = F.require_all(F.CHI2DOF < vfaspfchi2ndof, F.OWNPVFDCHI2 > bpvvdchi2)
     return ParticleCombiner(
         Inputs=particles,
         name=name,
@@ -1338,6 +1321,7 @@ def make_phi2kk(
     name="std_make_phi2kk_{hash}",
 ):
     pvs = pv_maker()
+
     kaons = ParticleFilter(
         make_has_rich_long_kaons(),
         F.FILTER(
@@ -1414,7 +1398,6 @@ def make_up_protons_for_V0():
 def _make_V0LL(
     particles,
     descriptors,
-    pv_maker=_make_pvs,
     name="std_make_V0LL_{hash}",
     nominal_mass=masses["KS0"],
     am_dmass=50 * MeV,
@@ -1425,7 +1408,6 @@ def _make_V0LL(
     """Make long-long V0 -> h+ h'- candidates
     Initial implementation a replication of the old Hlt2SharedParticles
     """
-    pvs = pv_maker()
     combination_code = F.require_all(
         in_range(nominal_mass - am_dmass, F.MASS, nominal_mass + am_dmass)
     )
@@ -1433,7 +1415,7 @@ def _make_V0LL(
         vertex_code = F.require_all(
             in_range(nominal_mass - am_dmass, F.MASS, nominal_mass + am_dmass),
             F.CHI2DOF < vchi2pdof_max,
-            F.BPVLTIME(pvs) > bpvltime_min,
+            F.OWNPVLTIME > bpvltime_min,
         )
     else:
         vertex_code = F.require_all(
@@ -1454,7 +1436,6 @@ def _make_V0LL(
 def _make_V0DD(
     particles,
     descriptors,
-    pv_maker=_make_pvs,
     name="std_make_V0DD_{hash}",
     nominal_mass=masses["KS0"],
     am_dmass=80 * MeV,
@@ -1465,14 +1446,13 @@ def _make_V0DD(
     """Make down-down V0 -> h+ h'- candidates
     Initial implementation a replication of the old Hlt2SharedParticles
     """
-    pvs = pv_maker()
     combination_code = F.require_all(
         in_range(nominal_mass - am_dmass, F.MASS, nominal_mass + am_dmass)
     )
     vertex_code = F.require_all(
         in_range(nominal_mass - m_dmass, F.MASS, nominal_mass + m_dmass),
         F.CHI2DOF < vchi2pdof_max,
-        F.BPVVDZ(pvs) > bpvvdz_min,
+        F.OWNPVVDZ > bpvvdz_min,
     )
     return ParticleCombiner(
         Inputs=particles,
@@ -1487,7 +1467,6 @@ def _make_V0DD(
 def _make_V0LD_UL(
     particles,
     descriptors,
-    pv_maker=_make_pvs,
     name="std_make_V0LD_{hash}",
     nominal_mass=masses["KS0"],
     am_dmass=80 * MeV,
@@ -1496,7 +1475,7 @@ def _make_V0LD_UL(
 ):
     """Make long-down or long-up V0 -> h+ h'- candidates
     Initial implementation a replication of the _make_V0DD function without
-    the BPVVDZ() requirement
+    the OWNPVVDZ requirement
     """
     combination_code = in_range(
         nominal_mass - am_dmass, F.MASS, nominal_mass + am_dmass
@@ -1518,18 +1497,14 @@ def make_KsLL(pions_long=None):
     if pions_long is None:
         pions_long = make_long_pions_for_V0()
     descriptors = "KS0 -> pi+ pi-"
-    return _make_V0LL(
-        particles=[pions_long, pions_long], descriptors=descriptors, pv_maker=_make_pvs
-    )
+    return _make_V0LL(particles=[pions_long, pions_long], descriptors=descriptors)
 
 
 def make_KsDD(pions_down=None):
     if pions_down is None:
         pions_down = make_down_pions_for_V0()
     descriptors = "KS0 -> pi+ pi-"
-    return _make_V0DD(
-        particles=[pions_down, pions_down], descriptors=descriptors, pv_maker=_make_pvs
-    )
+    return _make_V0DD(particles=[pions_down, pions_down], descriptors=descriptors)
 
 
 def make_KsLD(pions_down=None, pions_long=None):
@@ -1538,9 +1513,7 @@ def make_KsLD(pions_down=None, pions_long=None):
     if pions_long is None:
         pions_long = make_long_pions_for_V0()
     descriptors = "KS0 -> pi+ pi-"
-    return _make_V0LD_UL(
-        particles=[pions_long, pions_down], descriptors=descriptors, pv_maker=_make_pvs
-    )
+    return _make_V0LD_UL(particles=[pions_long, pions_down], descriptors=descriptors)
 
 
 def make_KsUL(pions_long=None, pions_up=None):
@@ -1549,9 +1522,7 @@ def make_KsUL(pions_long=None, pions_up=None):
     if pions_long is None:
         pions_long = make_long_pions_for_V0()
     descriptors = "KS0 -> pi+ pi-"
-    return _make_V0LD_UL(
-        particles=[pions_long, pions_up], descriptors=descriptors, pv_maker=_make_pvs
-    )
+    return _make_V0LD_UL(particles=[pions_long, pions_up], descriptors=descriptors)
 
 
 def make_KsLL_fromSV():
@@ -1560,7 +1531,6 @@ def make_KsLL_fromSV():
     return _make_V0LL(
         particles=[pions_long, pions_long],
         descriptors=descriptors,
-        pv_maker=_make_pvs,
         vchi2pdof_max=25.0,
         bpvltime_min=None,
     )
@@ -1572,7 +1542,6 @@ def make_KsDD_fromSV():
     return _make_V0DD(
         particles=[pions_down, pions_down],
         descriptors=descriptors,
-        pv_maker=_make_pvs,
         vchi2pdof_max=25.0,
     )
 
@@ -1584,7 +1553,6 @@ def make_LambdaLL():
     return _make_V0LL(
         particles=[protons, pions],
         descriptors=descriptors,
-        pv_maker=_make_pvs,
         nominal_mass=masses["Lambda0"],
         am_dmass=50 * MeV,
         m_dmass=20 * MeV,
@@ -1601,7 +1569,6 @@ def make_LambdaDD():
     return _make_V0DD(
         particles=[protons, pions],
         descriptors=descriptors,
-        pv_maker=_make_pvs,
         nominal_mass=masses["Lambda0"],
         am_dmass=80 * MeV,
         m_dmass=24 * MeV,
@@ -1673,7 +1640,6 @@ def make_mva_filtered_ttrack_protons_for_V0():
 def _make_V0TT(
     particles,
     descriptors,
-    make_pvs=_make_pvs,
     yz_intersection_z_min=1000.0,
     maxdoca=50.0,
     maxdocachi2=300.0,
@@ -1693,7 +1659,6 @@ def _make_V0TT(
     Make T-T V0 -> h+ h'- candidates.
     It does not make sense to cut on combination mass, since the first measurement can be metres away from decay position.
     """
-    pvs = make_pvs()
 
     combination_code = F.require_all(
         F.TWOBODY_YZ_INTERSECTION_Z
@@ -1710,10 +1675,10 @@ def _make_V0TT(
         F.P > p_min,
         F.PT > pt_min,
         F.CHI2 < max_chi2,
-        F.BPVDIRA(pvs) > bpv_dira_min,
-        F.BPVIP(pvs) < bpv_ip_max,
-        F.BPVIPCHI2(pvs) < bpv_ip_chi2_max,
-        F.BPVVDRHO(pvs) > bpv_vdrho_min,
+        F.OWNPVDIRA > bpv_dira_min,
+        F.OWNPVIP < bpv_ip_max,
+        F.OWNPVIPCHI2 < bpv_ip_chi2_max,
+        F.OWNPVVDRHO > bpv_vdrho_min,
         in_range(vertex_z_min, F.END_VZ, vertex_z_max),
     )