diff --git a/Trigger/EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/FPGATrackSimDataPrepAlg.cxx b/Trigger/EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/FPGATrackSimDataPrepAlg.cxx
index 97025aaa4bce96af239699822737bc9068bcde43..0eee73ec2858251f1565847387c99024fdf75652 100755
--- a/Trigger/EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/FPGATrackSimDataPrepAlg.cxx
+++ b/Trigger/EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/FPGATrackSimDataPrepAlg.cxx
@@ -75,6 +75,7 @@ StatusCode FPGATrackSimDataPrepAlg::initialize()
 
     ATH_MSG_DEBUG("initialize() Instantiating root objects");
     m_logicEventHeader_precluster = m_writeOutputTool->addInputBranch(m_preClusterBranch.value(), true);
+    m_logicEventHeader_cluster = m_writeOutputTool->addInputBranch(m_clusterBranch.value(), true);
     m_logicEventHeader = m_writeOutputTool->addInputBranch(m_postClusterBranch.value(), true);
     
     ATH_MSG_DEBUG("initialize() Setting branch");
@@ -253,7 +254,8 @@ StatusCode FPGATrackSimDataPrepAlg::execute()
     // Reset data pointers
     m_eventHeader.reset();
     m_logicEventHeader->reset();
-    m_logicEventHeader_precluster->reset()
+    m_logicEventHeader_precluster->reset();
+    m_logicEventHeader_cluster->reset();
 
     TIME(m_tfin);
     
@@ -319,6 +321,7 @@ StatusCode FPGATrackSimDataPrepAlg::processInputs(SG::WriteHandle<FPGATrackSimHi
     ATH_MSG_DEBUG("Running hits conversion");
     m_logicEventHeader->reset();
     m_logicEventHeader_precluster->reset();
+    m_logicEventHeader_cluster->reset();
     ATH_CHECK(m_hitMapTool->convert(1, m_eventHeader, *m_logicEventHeader));
 
     for (const FPGATrackSimHit& hit : m_hits_miss) FPGAHitUnmapped->push_back(hit);
@@ -345,6 +348,10 @@ StatusCode FPGATrackSimDataPrepAlg::processInputs(SG::WriteHandle<FPGATrackSimHi
       if (m_doHitFiltering) ATH_CHECK(m_hitFilteringTool->DoRandomRemoval(*m_logicEventHeader, false));
       for (const FPGATrackSimCluster& cluster : m_clusters_original) FPGAClusters->push_back(cluster);      
     }
+
+
+    // At this stage, copy the logicEventHeader.
+    *m_logicEventHeader_cluster = *m_logicEventHeader;
     
     // Filter hits/clusters (untested for hits, ie with m_clustering = false)
     if (m_doHitFiltering)
diff --git a/Trigger/EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/FPGATrackSimDataPrepAlg.h b/Trigger/EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/FPGATrackSimDataPrepAlg.h
index 984b8bbf441135453df826846d1eae20069779d7..d9782efb1ffe7c278b34079f68bd16bac199c317 100644
--- a/Trigger/EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/FPGATrackSimDataPrepAlg.h
+++ b/Trigger/EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/FPGATrackSimDataPrepAlg.h
@@ -92,12 +92,14 @@ class FPGATrackSimDataPrepAlg : public AthAlgorithm
 
         // Properties for the output header tool.
         Gaudi::Property<std::string> m_preClusterBranch      {this, "preClusterBranch", "LogicalEventInputHeader_PreCluster", "Name of the branch for pre-cluster input data in output ROOT file." };
+        Gaudi::Property<std::string> m_clusterBranch         {this, "clusterBranch", "LogicalEventInputHeader_Cluster", "Name of the branch for clustered input data in output ROOT file." };
         Gaudi::Property<std::string> m_postClusterBranch     {this, "postClusterBranch", "LogicalEventInputHeader_PostCluster", "Name of the branch for post-cluster input data in output ROOT file." };
 
         // ROOT pointers 
         FPGATrackSimEventInputHeader          m_eventHeader;
         FPGATrackSimEventInputHeader          m_firstInputHeader;
         FPGATrackSimLogicalEventInputHeader*  m_logicEventHeader_precluster = nullptr;
+        FPGATrackSimLogicalEventInputHeader*  m_logicEventHeader_cluster = nullptr;
         FPGATrackSimLogicalEventInputHeader*  m_logicEventHeader = nullptr;
 
         // Event storage