Index: cards/FCC/FCChh_PileUpVtx.tcl
===================================================================
--- cards/FCC/FCChh_PileUpVtx.tcl	(revision 584e2e9bbeee34dc09ba47066432cefa57daa11d)
+++ cards/FCC/FCChh_PileUpVtx.tcl	(revision 03b9c0fbe7936bb91f439038c258bdfab33241c3)
@@ -17,5 +17,4 @@
 set ExecutionPath {
 
-  BeamSpotFilter
   PileUpMerger
   ParticlePropagator
@@ -32,16 +31,21 @@
 
   TrackSmearing
-  TimeSmearing  
-
-  VertexFinderDA4D  
-
-  TrackTimingPileUpSubtractor  
+  TimeSmearing      
 
   ECal
   HCal
+
+  TimeSmearingMIP
+  TimeSmearingPhotons
+  TimeSmearingNH  
 
   Calorimeter
   EFlowMerger
   EFlowFilter
+
+  VertexFinderDA4D
+  TrackTimingPileUpSubtractor
+
+  HighMassVertexRecover    
 
   PhotonEfficiency
@@ -78,15 +82,4 @@
 
   TreeWriter
-}
-
-#######################
-# GenBeamSpotFilter
-# Saves a particle intended to represent the beamspot
-#######################
-
-module BeamSpotFilter BeamSpotFilter {
-    set InputArray Delphes/stableParticles
-    set OutputArray beamSpotParticle
-
 }
 
@@ -288,54 +281,5 @@
 
   # assume 20 ps resolution for now
-  set TimeResolution 20E-12
-}
-
-##################################
-# Primary vertex reconstruction
-##################################
-
-
-module VertexFinderDA4D VertexFinderDA4D {
-  set InputArray TimeSmearing/tracks
-
-  set OutputArray tracks
-  set VertexOutputArray vertices
-
-  set Verbose 0
-  set MinPT 1.0
-
-  # in mm
-  set VertexSpaceSize 0.5
-
-  # in s
-  set VertexTimeSize 10E-12
-
-  set UseTc 1
-  set BetaMax 0.1
-  set BetaStop 1.0
-  set CoolingFactor 0.8
-  set MaxIterations 100
-
-  # in mm
-  set DzCutOff 40
-  set D0CutOff 30
-
-}
-
-##########################
-# Track pile-up subtractor
-##########################
-
-module TrackTimingPileUpSubtractor TrackTimingPileUpSubtractor {
-# add InputArray InputArray OutputArray
-
-  add InputArray ChargedHadronMomentumSmearing/chargedHadrons
-  add InputArray ElectronMomentumSmearing/electrons
-  add InputArray MuonMomentumSmearing/muons
-  
-  set VertexInputArray VertexFinderDA4D/vertices
-  # assume perfect pile-up subtraction for tracks with |z| > fZVertexResolution
-  # Z vertex resolution in m
-  set ZVertexResolution {0.0001}
+  set TimeResolution {20E-12}
 }
 
@@ -506,4 +450,37 @@
 }
 
+########################################
+#   Time Smearing Neutral MIP
+########################################
+
+module TimeSmearingNeutral TimeSmearingMIP {
+  set InputArray HCal/eflowTracks
+  set OutputArray timeSmearingMIP
+
+  # assume 20 ps resolution for now
+  set TimeResolution {30E-12}
+}
+
+########################################
+#   Time Smearing Neutral Photons
+########################################
+
+module TimeSmearingNeutral TimeSmearingPhotons {
+  set InputArray HCal/eflowTracks
+  set OutputArray timeSmearingPhotons
+}
+
+########################################
+#   Time Smearing Neutral NeutralHadrons
+########################################
+
+module TimeSmearingNeutral TimeSmearingNH {
+  set InputArray HCal/eflowTracks
+  set OutputArray timeSmearingNH
+
+  # assume 20 ps resolution for now
+  set TimeResolution {30E-12}
+}
+
 
 #################
@@ -573,4 +550,68 @@
 }
 
+##################################
+# Primary vertex reconstruction
+##################################
+
+
+module VertexFinderDA4D VertexFinderDA4D {
+  set InputArray TimeSmearing/tracks
+
+  set OutputArray tracks
+  set VertexOutputArray vertices
+
+  set Verbose 0
+  set MinPT 1.0
+
+  # in mm
+  set VertexSpaceSize 0.5
+
+  # in s
+  set VertexTimeSize 10E-12
+
+  set UseTc 1
+  set BetaMax 0.1
+  set BetaStop 1.0
+  set CoolingFactor 0.8
+  set MaxIterations 100
+
+  # in mm
+  set DzCutOff 40
+  set D0CutOff 30
+
+}
+
+##########################
+# Track pile-up subtractor
+##########################
+
+module TrackTimingPileUpSubtractor TrackTimingPileUpSubtractor {
+# add InputArray InputArray OutputArray
+
+  add InputArray ChargedHadronMomentumSmearing/chargedHadrons
+  add InputArray ElectronMomentumSmearing/electrons
+  add InputArray MuonMomentumSmearing/muons
+  add InputArray EFlowMerger/eflow
+
+  set VertexInputArray VertexFinderDA4D/vertices
+
+  set ZVertexResolution {3}
+  set TVertexResolution {3}
+}
+
+######################################
+# Heavy(slow) particles vertex recover
+######################################
+
+module HighMassVertexRecover HighMassVertexRecover {
+  set TrackInputArray VertexFinderDA4D/tracks
+  set VertexInputArray VertexFinderDA4D/vertices
+
+  set TrackOutputArray tracks
+  set VertexOutputArray vertices
+
+  set Verbose 0
+
+}
 
 ###################
@@ -1024,4 +1065,6 @@
   add Branch ScalarHT/energy ScalarHT ScalarHT
   add Branch VertexFinderDA4D/vertices Vertex4D Vertex
-}
-
+
+  add Branch HighMassVertexRecover/tracks Track Track
+}
+
