diff --git a/clustering/options/calorimeter_clustering.py b/clustering/options/calorimeter_clustering.py
index 281a201ab329a279b7ce9fe17e1cbc3babec8d75..95d585310a94ec56b070b69f565bb8648272d34a 100644
--- a/clustering/options/calorimeter_clustering.py
+++ b/clustering/options/calorimeter_clustering.py
@@ -35,16 +35,29 @@ from Configurables import Jug__Reco__ClusterRecoCoG as RecoCoG
 podioinput = PodioInput("PodioReader", collections=["mcparticles","CrystalEcalHits","EcalBarrelHits"], OutputLevel=DEBUG)
 
 ## copiers to get around input --> output copy bug. Note the "2" appended to the output collection.
-copier = MCCopier("MCCopier", inputCollection="mcparticles", outputCollection="mcparticles2",OutputLevel=DEBUG) 
-calcopier = CalCopier("CalCopier", inputCollection="CrystalEcalHits", outputCollection="CrystalEcalHits2",OutputLevel=DEBUG) 
-
-emcaldigi = CrystalEndcapsDigi("ecal_digi", inputHitCollection="CrystalEcalHits", outputHitCollection="RawDigiEcalHits")
-ecdigi = EMCalorimeterDigi("ec_barrel_digi", inputHitCollection="EcalBarrelHits", outputHitCollection="RawEcalBarrelHits")
-
-crystal_ec_reco = CrystalEndcapsReco("crystal_ec_reco", inputHitCollection="RawDigiEcalHits", outputHitCollection="RecoEcalHits",
-                               minModuleEdep=1.0*units.MeV,OutputLevel=DEBUG)
-ecal_reco = EMCalReconstruction("ecal_reco", inputHitCollection="RawEcalBarrelHits", outputHitCollection="RecEcalBarrelHits",
-                               minModuleEdep=0.0*units.MeV,OutputLevel=DEBUG)
+copier = MCCopier("MCCopier", 
+        inputCollection="mcparticles", 
+        outputCollection="mcparticles2") 
+calcopier = CalCopier("CalCopier", 
+        inputCollection="CrystalEcalHits", 
+        outputCollection="CrystalEcalHits2") 
+
+emcaldigi = CrystalEndcapsDigi("ecal_digi",
+        inputHitCollection="CrystalEcalHits", 
+        outputHitCollection="RawDigiEcalHits")
+ecdigi = EMCalorimeterDigi("ec_barrel_digi", 
+        inputHitCollection="EcalBarrelHits", 
+        outputHitCollection="RawEcalBarrelHits")
+
+crystal_ec_reco = CrystalEndcapsReco("crystal_ec_reco", 
+        inputHitCollection="RawDigiEcalHits", 
+        outputHitCollection="RecoEcalHits",
+        minModuleEdep=1.0*units.MeV)
+
+ecal_reco = EMCalReconstruction("ecal_reco", 
+        inputHitCollection="RawEcalBarrelHits", 
+        outputHitCollection="RecEcalBarrelHits",
+        minModuleEdep=0.0*units.MeV)
 
 ec_barrel_cluster = IslandCluster("ec_barrel_cluster", 
         inputHitCollection="RecEcalBarrelHits", 
diff --git a/tracking/options/tracker_reconstruction.py b/tracking/options/tracker_reconstruction.py
index 2d2fe8c02fa47e7fdb365f9ff01d69d8b82250f2..721f88cc40190cfb7b398012adb443aa19aab6b4 100644
--- a/tracking/options/tracker_reconstruction.py
+++ b/tracking/options/tracker_reconstruction.py
@@ -26,7 +26,9 @@ from Configurables import Jug__Digi__UFSDTrackerDigi as UFSDTrackerDigi
 from Configurables import Jug__Digi__EMCalorimeterDigi as EMCalorimeterDigi
 
 from Configurables import Jug__Reco__TrackerHitReconstruction as TrackerHitReconstruction
+
 from Configurables import Jug__Reco__TrackerSourceLinker as TrackerSourceLinker
+from Configurables import Jug__Reco__TrackingHitsSourceLinker as TrackingHitsSourceLinker
 from Configurables import Jug__Reco__TrackParamTruthInit as TrackParamTruthInit
 from Configurables import Jug__Reco__TrackParamClusterInit as TrackParamClusterInit
 from Configurables import Jug__Reco__TrackParamVertexClusterInit as TrackParamVertexClusterInit
@@ -68,12 +70,15 @@ vtx_digi = UFSDTrackerDigi("vtx_digi",
 ecal_reco = EMCalReconstruction("ecal_reco", 
         inputHitCollection="RawEcalBarrelHits", 
         outputHitCollection="RecEcalBarrelHits",
-        minModuleEdep=1.0*units.MeV)
+        minModuleEdep=0.0*units.MeV,
+        OutputLevel=DEBUG)
 
 simple_cluster = SimpleClustering("simple_cluster", 
         inputHitCollection="RecEcalBarrelHits", 
         outputClusters="SimpleClusters",
-        minModuleEdep=1.0*units.MeV,OutputLevel=DEBUG)
+        minModuleEdep=1.0*units.MeV,
+        maxDistance=50.0*units.cm,
+        OutputLevel=DEBUG)
 
 trk_barrel_reco = TrackerHitReconstruction("trk_barrel_reco",
         inputHitCollection="SiTrackerBarrelRawHits",
@@ -86,7 +91,13 @@ vtx_barrel_reco = TrackerHitReconstruction("vtx_barrel_reco",
 # Source linker 
 sourcelinker = TrackerSourceLinker("trk_srclinker",
         inputHitCollection="TrackerBarrelRecHits",
-        outputSourceLinks="BarrelTrackSourceLinks")
+        outputSourceLinks="BarrelTrackSourceLinks",
+        OutputLevel=DEBUG)
+
+trk_hits_srclnkr = TrackingHitsSourceLinker("trk_hits_srclnkr",
+        inputTrackerCollections=["TrackerBarrelRecHits","VertexBarrelRecHits"],
+        outputSourceLinks="BarrelSourceLinks",
+        OutputLevel=DEBUG)
 
 ## Track param init
 truth_trk_init = TrackParamTruthInit("truth_trk_init",
@@ -129,7 +140,7 @@ parts_from_fit1 = ParticlesFromTrackFit("parts_from_fit1",
         OutputLevel=DEBUG)
 
 trk_find_alg2 = TrackFindingAlgorithm("trk_find_alg2",
-        inputSourceLinks="BarrelTrackSourceLinks",
+        inputSourceLinks="BarrelSourceLinks",
         inputInitialTrackParameters= "InitTrackParamsFromVtxClusters", 
         outputTrajectories="trajectories2",
         OutputLevel=DEBUG)
@@ -176,7 +187,7 @@ ApplicationMgr(
               simple_cluster,
               trk_barrel_reco, 
               vtx_barrel_reco, 
-              sourcelinker, 
+              sourcelinker, trk_hits_srclnkr,
               clust_trk_init, 
               truth_trk_init, 
               vtxcluster_trk_init, 
diff --git a/tracking/scripts/rec_central_electrons.cxx b/tracking/scripts/rec_central_electrons.cxx
index 69b999528505aa1c04605cdcfbba8b38bf04368a..9983c76b0cde926c7e83a1958c01774664a7e39e 100644
--- a/tracking/scripts/rec_central_electrons.cxx
+++ b/tracking/scripts/rec_central_electrons.cxx
@@ -111,8 +111,10 @@ int rec_central_electrons(const char* fname = "topside/rec_central_electrons.roo
 
   auto h_nTracks = df0.Histo1D({"h_nTracks", "; N tracks ", 10, 0, 10}, "nTracks");
   auto h_pTracks = df0.Histo1D({"h_pTracks", "; GeV/c ", 100, 0, 10}, "p_track");
-  auto h_delta_p = df0.Histo1D({"h_delta_p", "; GeV/c ", 100, -10, 10}, "delta_p");
+
+  auto h_delta_p  = df0.Histo1D({"h_delta_p", "; GeV/c ",  100, -10, 10}, "delta_p");
   auto h_delta_p1 = df0.Histo1D({"h_delta_p1", "; GeV/c ", 100, -10, 10}, "delta_p1");
+  auto h_delta_p2 = df0.Histo1D({"h_delta_p2", "; GeV/c ", 100, -10, 10}, "delta_p2");
 
   auto c = new TCanvas();
 
@@ -130,6 +132,11 @@ int rec_central_electrons(const char* fname = "topside/rec_central_electrons.roo
   h1 = (TH1D*) h_delta_p1->Clone();
   h1->SetLineColor(2);
   hs->Add(h1);
+  h1 = (TH1D*) h_delta_p2->Clone();
+  h1->SetLineColor(4);
+  h1->SetFillStyle(3001);
+  h1->SetFillColor(4);
+  hs->Add(h1);
   hs->Draw("nostack");
   c->SaveAs("results/tracking/rec_central_electrons_delta_p.png");
   c->SaveAs("results/tracking/rec_central_electrons_delta_p.pdf");