diff --git a/Simulation/TruthJiveXML/CMakeLists.txt b/Simulation/TruthJiveXML/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..62b6e13403b3aeac6804a4b6de3d7d99cbb13c4b
--- /dev/null
+++ b/Simulation/TruthJiveXML/CMakeLists.txt
@@ -0,0 +1,34 @@
+################################################################################
+# Package: TruthJiveXML
+################################################################################
+
+# Declare the package name:
+atlas_subdir( TruthJiveXML )
+
+# Declare the package's dependencies:
+atlas_depends_on_subdirs( PUBLIC
+                          Control/AthenaBaseComps
+                          GaudiKernel
+                          graphics/JiveXML
+                          PRIVATE
+                          Control/StoreGate
+                          Event/EventPrimitives
+                          Generators/GeneratorObjects
+                          Simulation/G4Sim/TrackRecord )
+
+# External dependencies:
+find_package( CLHEP )
+find_package( HepMC )
+find_package( HepPDT )
+
+# Component(s) in the package:
+atlas_add_component( TruthJiveXML
+                     src/*.cxx
+                     src/components/*.cxx
+                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel JiveXMLLib StoreGateLib SGtests EventPrimitives GeneratorObjects )
+
+# Install files from the package:
+atlas_install_headers( TruthJiveXML )
+atlas_install_joboptions( share/*.py )
+
diff --git a/Simulation/TruthJiveXML/TruthJiveXML/TruthMuonTrackRetriever.h b/Simulation/TruthJiveXML/TruthJiveXML/TruthMuonTrackRetriever.h
index d26c42c70af1e121402eb46435a95fbff284db6f..ff70f07e71fa4df0601fe777b756aafcaa6451cf 100755
--- a/Simulation/TruthJiveXML/TruthJiveXML/TruthMuonTrackRetriever.h
+++ b/Simulation/TruthJiveXML/TruthJiveXML/TruthMuonTrackRetriever.h
@@ -43,7 +43,7 @@ namespace JiveXML{
     TruthMuonTrackRetriever(const std::string& type ,const std::string& name,const IInterface* parent);
 
     /// Retrieve all the data
-    virtual StatusCode retrieve(ToolHandle<IFormatTool> FormatTool);
+    virtual StatusCode retrieve(ToolHandle<IFormatTool> &FormatTool);
 
     /// Return the name of the data type
     virtual std::string dataTypeName() const { return typeName; };
diff --git a/Simulation/TruthJiveXML/TruthJiveXML/TruthTrackRetriever.h b/Simulation/TruthJiveXML/TruthJiveXML/TruthTrackRetriever.h
index a96237c05fe94fcb8189fcb2c18ffe23d11a40ff..685d818d21b1f5b9e09e736a8546a39f9a607ed1 100755
--- a/Simulation/TruthJiveXML/TruthJiveXML/TruthTrackRetriever.h
+++ b/Simulation/TruthJiveXML/TruthJiveXML/TruthTrackRetriever.h
@@ -46,7 +46,7 @@ namespace JiveXML{
     TruthTrackRetriever(const std::string& type, const std::string& name, const IInterface* parent);
   
     /// Retrieve all the data
-    virtual StatusCode retrieve(ToolHandle<IFormatTool> FormatTool);
+    virtual StatusCode retrieve(ToolHandle<IFormatTool> &FormatTool);
 
     /// Return the name of the data type
     virtual std::string dataTypeName() const { return typeName; };
diff --git a/Simulation/TruthJiveXML/src/TruthMuonTrackRetriever.cxx b/Simulation/TruthJiveXML/src/TruthMuonTrackRetriever.cxx
index 9584796fc6e5ddb5b7073e27a52c87c8a6bdd4fa..b2438e3670c160b1a8a37341aec7ef8dd4d4767f 100755
--- a/Simulation/TruthJiveXML/src/TruthMuonTrackRetriever.cxx
+++ b/Simulation/TruthJiveXML/src/TruthMuonTrackRetriever.cxx
@@ -57,7 +57,7 @@ namespace JiveXML {
    * Loop over all true particles, find the muons and get their basic parameters
    * @param FormatTool the tool that will create formated output from the DataMap
    */
-  StatusCode TruthMuonTrackRetriever::retrieve(ToolHandle<IFormatTool> FormatTool) {
+  StatusCode TruthMuonTrackRetriever::retrieve(ToolHandle<IFormatTool> &FormatTool) {
 
     ATH_MSG_DEBUG( "Retrieving " << dataTypeName() ); 
 
diff --git a/Simulation/TruthJiveXML/src/TruthTrackRetriever.cxx b/Simulation/TruthJiveXML/src/TruthTrackRetriever.cxx
index 05df5b8232fa59de6c03e8130ed266545268deee..c818413af240b01f8029388198e4d6460731a3c8 100755
--- a/Simulation/TruthJiveXML/src/TruthTrackRetriever.cxx
+++ b/Simulation/TruthJiveXML/src/TruthTrackRetriever.cxx
@@ -47,7 +47,7 @@ namespace JiveXML {
    * Loop over all true particles and get their basic parameters
    * @param FormatTool the tool that will create formated output from the DataMap
    */
-  StatusCode TruthTrackRetriever::retrieve(ToolHandle<IFormatTool> FormatTool) {
+  StatusCode TruthTrackRetriever::retrieve(ToolHandle<IFormatTool> &FormatTool) {
 
     //be verbose
     if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Retrieving " << dataTypeName() << endreq;