diff --git a/options/reconstruction.py b/options/reconstruction.py
index 00da066a16175b33119ed3a323348f5ccb6e5b4d..66b449dcee6216d84dbd4143fc70df29ea70973c 100644
--- a/options/reconstruction.py
+++ b/options/reconstruction.py
@@ -58,7 +58,7 @@ from Configurables import Jug__Base__InputCopier_dd4pod__PhotoMultiplierHitColle
 
 from Configurables import Jug__Fast__MC2SmearedParticle as MC2DummyParticle
 from Configurables import Jug__Fast__ParticlesWithTruthPID as ParticlesWithTruthPID
-from Configurables import Jug__Fast__SmearedFarForwardParticles as SmearedFarForwardParticles
+from Configurables import Jug__Fast__SmearedFarForwardParticles as FFSmearedParticles
 from Configurables import Jug__Fast__MatchClusters as MatchClusters
 from Configurables import Jug__Fast__ClusterMerger as ClusterMerger
 from Configurables import Jug__Fast__TruthEnergyPositionClusterMerger as EnergyPositionClusterMerger
@@ -94,6 +94,8 @@ from Configurables import Jug__Reco__ImagingClusterReco as ImagingClusterReco
 from Configurables import Jug__Reco__PhotoMultiplierReco as PhotoMultiplierReco
 from Configurables import Jug__Reco__PhotoRingClusters as PhotoRingClusters
 
+from Configurables import Jug__Reco__ParticleCollector as ParticleCollector
+
 # branches needed from simulation root file
 sim_coll = [
     "mcparticles",
@@ -122,9 +124,8 @@ algorithms.append(podin)
 
 # Generated particles
 dummy = MC2DummyParticle("dummy",
-        inputCollection="mcparticles",
-        outputCollection="GeneratedParticles",
-        outputRelations="GeneratedParticleRelations",
+        inputParticles="mcparticles",
+        outputParticles="GeneratedParticles",
         smearing=0)
 algorithms.append(dummy)
 
@@ -574,14 +575,12 @@ algorithms.append(trajs_from_fit)
 parts_with_truth_pid = ParticlesWithTruthPID("parts_with_truth_pid",
         inputMCParticles = "mcparticles",
         inputTrackParameters = parts_from_fit.outputTrackParameters,
-        outputParticles = "ReconstructedChargedParticles",
-        outputRelations = "ReconstructedChargedParticleRelations")
+        outputParticles = "ReconstructedChargedParticles")
 algorithms.append(parts_with_truth_pid)
 
 match_clusters = MatchClusters("match_clusters",
         inputMCParticles = "mcparticles",
         inputParticles = parts_with_truth_pid.outputParticles,
-        inputRelations = parts_with_truth_pid.outputRelations,
         inputEcalClusters = [
                 str(ce_ecal_clmerger.outputClusters),
                 str(barrel_clus_merger.outputClusters),
@@ -592,10 +591,21 @@ match_clusters = MatchClusters("match_clusters",
                 str(cb_hcal_clreco.outputClusterCollection),
                 str(ci_hcal_clreco.outputClusterCollection)
         ],
-        outputParticles = "ReconstructedParticles",
-        outputRelations = "ReconstructedParticleRelations")
+        outputParticles = "ReconstructedParticles")
 algorithms.append(match_clusters)
 
+## Far Forward for now stored separately
+fast_ff = FFSmearedParticles("fast_ff",
+        inputMCParticles = "mcparticles",
+        outputParticles  = "ReconstructedFFParticles",
+        enableZDC        = True,
+        enableB0         = True,
+        enableRP         = True,
+        enableOMD        = True,
+        ionBeamEnergy    = 100,
+        crossingAngle    = -0.025)
+algorithms.append(fast_ff)
+
 # DRICH
 drich_digi = PhotoMultiplierDigi("drich_digi",
         inputHitCollection="DRICHHits",