diff --git a/Control/CalypsoExample/Digitization/scripts/faserMDC_digi.py b/Control/CalypsoExample/Digitization/scripts/faserMDC_digi.py
index 14a46818f6c334123f8f62f35212f72c57e25740..5730e63389b879801c08665c548bc376b726f1d2 100755
--- a/Control/CalypsoExample/Digitization/scripts/faserMDC_digi.py
+++ b/Control/CalypsoExample/Digitization/scripts/faserMDC_digi.py
@@ -88,7 +88,6 @@ else:
     print("Specify correct type or update list")
     sys.exit(-1)
 
-
 # Must use original input string here, as pathlib mangles double // in path names
 ConfigFlags.Input.Files = [ args.file_path ]
 
@@ -105,7 +104,6 @@ if len(args.tag) > 0:
         filestem += f"-{args.tag}"
 
 ConfigFlags.Output.RDOFileName = f"{filestem}-RDO.root"
-
 #
 # Play around with this?
 # ConfigFlags.Concurrency.NumThreads = 2
diff --git a/Control/CalypsoExample/Reconstruction/CMakeLists.txt b/Control/CalypsoExample/Reconstruction/CMakeLists.txt
index f821257234e5758a0c92a1d13e1b0d5df44f2843..b7329daa28e45b663f6ea7b33e8155b004ee2d6e 100644
--- a/Control/CalypsoExample/Reconstruction/CMakeLists.txt
+++ b/Control/CalypsoExample/Reconstruction/CMakeLists.txt
@@ -14,7 +14,7 @@ atlas_subdir( Reconstruction )
 
 # Install files from the package:
 #atlas_install_joboptions( share/*.py )
-#atlas_install_python_modules( python/*.py )
+atlas_install_python_modules( python/*.py )
 atlas_install_scripts( scripts/*.sh scripts/*.py )
 
 atlas_add_test( ProdRecoTI12
diff --git a/Control/CalypsoExample/Reconstruction/python/xAODTruthCnvAlgConfig.py b/Control/CalypsoExample/Reconstruction/python/xAODTruthCnvAlgConfig.py
new file mode 100644
index 0000000000000000000000000000000000000000..9d166c2aeeae2c4aa2fa9c9d52cc575beab5b7b8
--- /dev/null
+++ b/Control/CalypsoExample/Reconstruction/python/xAODTruthCnvAlgConfig.py
@@ -0,0 +1,23 @@
+# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2022 CERN for the benefit of the FASER collaboration
+
+def xAODTruthCnvAlgCfg(flags, name="xAODTruthCnvAlg", **kwargs):
+    from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+    acc = ComponentAccumulator()
+
+    kwargs.setdefault('WriteTruthMetaData', False)
+    kwargs.setdefault('AODContainerName', 'TruthEvent')
+    kwargs.setdefault('EventInfo', 'McEventInfo')
+
+    from AthenaConfiguration.ComponentFactory import CompFactory
+    algo = CompFactory.xAODMaker.xAODTruthCnvAlg(name, **kwargs)
+    acc.addEventAlgo(algo, primary=True)
+
+    toAOD = ["xAOD::TruthEventContainer#*", "xAOD::TruthEventAuxContainer#*",
+             "xAOD::TruthVertexContainer#*", "xAOD::TruthVertexAuxContainer#*",
+             "xAOD::TruthParticleContainer#*", "xAOD::TruthParticleAuxContainer#*"]
+
+    from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
+    acc.merge(OutputStreamCfg(flags, "xAOD", ItemList=toAOD))
+
+    return acc
diff --git a/Control/CalypsoExample/Reconstruction/scripts/faserMDC_reco.py b/Control/CalypsoExample/Reconstruction/scripts/faserMDC_reco.py
index 19b6564d8fa5f8fb0784918c064049a7c9e4c00f..3d1b2a4856fc45948eb9cde8c6c862bb0206614e 100755
--- a/Control/CalypsoExample/Reconstruction/scripts/faserMDC_reco.py
+++ b/Control/CalypsoExample/Reconstruction/scripts/faserMDC_reco.py
@@ -105,6 +105,10 @@ else:
 ConfigFlags.Input.Files = [ args.file_path ]
 
 filestem = filepath.stem
+# Remove any filetype modifier
+if filestem[-4:] == "-RDO":
+    filestem = filestem[:-4]
+
 if len(args.reco) > 0:
     filestem += f"-{args.reco}"
 
@@ -146,8 +150,8 @@ from WaveRecAlgs.WaveRecAlgsConfig import WaveformReconstructionCfg
 acc.merge(WaveformReconstructionCfg(ConfigFlags))
 
 # Not ready for primetime
-# from CaloRecAlgs.CaloRecAlgsConfig import CalorimeterReconstructionCfg
-# acc.merge(CalorimeterReconstructionCfg(ConfigFlags))
+#from CaloRecAlgs.CaloRecAlgsConfig import CalorimeterReconstructionCfg
+#acc.merge(CalorimeterReconstructionCfg(ConfigFlags))
 
 # Tracker clusters
 from TrackerPrepRawDataFormation.TrackerPrepRawDataFormationConfig import FaserSCT_ClusterizationCfg
@@ -175,14 +179,6 @@ acc.merge(GhostBustersCfg(ConfigFlags))
 from FaserActsKalmanFilter.CKF2Config import CKF2Cfg
 acc.merge(CKF2Cfg(ConfigFlags, noDiagnostics=True))
 
-#
-# Try to write truth for mc
-#if args.isMC:
-#    xAODTruthCnvAlg = CompFactory.xAODMaker.xAODTruthCnvAlg
-#    acc.addEventAlgo(xAODTruthCnvAlg("AOD2xAOD", 
-#                                     AODContainerName="TruthEvent"), 
-#                     primary=True)
-
 #
 # Configure output
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
@@ -196,17 +192,16 @@ itemList = [ "xAOD::EventInfo#*"
              , "Tracker::FaserSCT_ClusterContainer#*"
              , "TrackCollection#*"
 ]
+
+#
 #
 if args.isMC:
-    # Add truth records here?
+    # Make xAOD versions of truth
+    from Reconstruction.xAODTruthCnvAlgConfig import xAODTruthCnvAlgCfg
+    acc.merge(xAODTruthCnvAlgCfg(ConfigFlags))
+
+    # Add MC information here
     itemList.extend( ["McEventCollection#*", "TrackerSimDataCollection#*"] )
-    # Try adding xAOD versions
-    #itemList.extend( ["xAOD::TruthEventContainer#TruthEvents", 
-    #                  "xAOD::TruthEventAuxContainer#TruthEventsAux.",
-    #                  "xAOD::TruthVertexContainer#TruthVertices", 
-    #                  "xAOD::TruthVertexAuxContainer#TruthVerticesAux.",
-    #                  "xAOD::TruthParticleContainer#TruthParticles", 
-    #                  "xAOD::TruthParticleAuxContainer#TruthParticlesAux."] )
 
 acc.merge(OutputStreamCfg(ConfigFlags, "xAOD", itemList))
 
diff --git a/xAOD/xAODFaserWaveform/Root/WaveformHitAuxContainer_v1.cxx b/xAOD/xAODFaserWaveform/Root/WaveformHitAuxContainer_v1.cxx
index 2cd4ffcf6859a6af5341683af8333e1ba57be1ed..be0f22b1090559419c3523707359c2f2efa6c946 100644
--- a/xAOD/xAODFaserWaveform/Root/WaveformHitAuxContainer_v1.cxx
+++ b/xAOD/xAODFaserWaveform/Root/WaveformHitAuxContainer_v1.cxx
@@ -11,7 +11,7 @@ namespace xAOD {
     : AuxContainerBase() {
 
     AUX_VARIABLE(channel);
-    AUX_VARIABLE(id);
+    AUX_VARIABLE(id32);
     AUX_VARIABLE(localtime);
     AUX_VARIABLE(peak);
     AUX_VARIABLE(width);
@@ -23,7 +23,7 @@ namespace xAOD {
     AUX_VARIABLE(baseline_mean);
     AUX_VARIABLE(baseline_rms);
 
-    AUX_VARIABLE(status);
+    AUX_VARIABLE(hit_status);
     AUX_VARIABLE(mean);
     AUX_VARIABLE(alpha);
     AUX_VARIABLE(nval);
diff --git a/xAOD/xAODFaserWaveform/Root/WaveformHit_v1.cxx b/xAOD/xAODFaserWaveform/Root/WaveformHit_v1.cxx
index 59562e632c5704d53ca09eec67b0d036c6ac45b0..41f406612fc63f04b8a705c5177b8ba792c22625 100644
--- a/xAOD/xAODFaserWaveform/Root/WaveformHit_v1.cxx
+++ b/xAOD/xAODFaserWaveform/Root/WaveformHit_v1.cxx
@@ -15,7 +15,7 @@ namespace xAOD {
 
   AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( WaveformHit_v1, unsigned int, channel, set_channel )
 
-  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( WaveformHit_v1, unsigned int, id, set_id )
+  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( WaveformHit_v1, unsigned int, id32, set_id32 )
 
   AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( WaveformHit_v1, float, localtime, set_localtime )
 
@@ -37,7 +37,7 @@ namespace xAOD {
 
   AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( WaveformHit_v1, float, baseline_rms, set_baseline_rms )
 
-  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( WaveformHit_v1, unsigned int, status, set_status )
+  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( WaveformHit_v1, unsigned int, hit_status, set_hit_status )
 
   AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( WaveformHit_v1, float, mean, set_mean )
 
diff --git a/xAOD/xAODFaserWaveform/xAODFaserWaveform/versions/WaveformHitAuxContainer_v1.h b/xAOD/xAODFaserWaveform/xAODFaserWaveform/versions/WaveformHitAuxContainer_v1.h
index c272fcd2c8d8ce8323b819ea8ca02ceeb02b45f9..86dce49eb0e329c06ec9650d31feb1a0616e1e25 100644
--- a/xAOD/xAODFaserWaveform/xAODFaserWaveform/versions/WaveformHitAuxContainer_v1.h
+++ b/xAOD/xAODFaserWaveform/xAODFaserWaveform/versions/WaveformHitAuxContainer_v1.h
@@ -29,7 +29,7 @@ namespace xAOD {
     /// @name Basic variables
     ///@ {
     std::vector<unsigned int> channel;
-    std::vector<unsigned int> id;
+    std::vector<unsigned int> id32;
     std::vector<float> localtime;
     std::vector<float> peak;
     std::vector<float> width;
@@ -42,7 +42,7 @@ namespace xAOD {
     std::vector<float> baseline_mean;
     std::vector<float> baseline_rms;
 
-    std::vector<unsigned int> status;
+    std::vector<unsigned int> hit_status;
 
     std::vector<float> mean;
     std::vector<float> alpha;
diff --git a/xAOD/xAODFaserWaveform/xAODFaserWaveform/versions/WaveformHit_v1.h b/xAOD/xAODFaserWaveform/xAODFaserWaveform/versions/WaveformHit_v1.h
index e3615dbedd60ab1863d1d749cd7595dc961cacb2..4f15e8152fa7ea2d00ae6eed970d9341ffc6fba4 100644
--- a/xAOD/xAODFaserWaveform/xAODFaserWaveform/versions/WaveformHit_v1.h
+++ b/xAOD/xAODFaserWaveform/xAODFaserWaveform/versions/WaveformHit_v1.h
@@ -49,15 +49,15 @@ namespace xAOD {
 
     /// 32-bit version of channel identifier
     /// From Identifier::get_identifier32()::get_compact()
-    unsigned int id() const;
-    void set_id(unsigned int value);
+    unsigned int id32() const;
+    void set_id32(unsigned int value);
 
     /// Interface for proper identifier
     Identifier identify() const {
-      return Identifier(this->id());
+      return Identifier(this->id32());
     }
     void set_identifier(const Identifier& id) {
-      set_id(id.get_identifier32().get_compact());
+      set_id32(id.get_identifier32().get_compact());
     }
 
     /// All values are in units of ns and mV
@@ -99,8 +99,8 @@ namespace xAOD {
     void set_baseline_rms(float value);
 
     /// Status word
-    unsigned int status() const;
-    void set_status(unsigned int value);
+    unsigned int hit_status() const;
+    void set_hit_status(unsigned int value);
 
     /// Other fit results
     float mean() const;
@@ -122,10 +122,10 @@ namespace xAOD {
 
     /// Status bit access functions
     void set_status_bit(WaveformStatus bit) {
-      this->set_status(this->status() | (1<<bit));
+      this->set_hit_status(this->hit_status() | (1<<bit));
     }
     bool status_bit(WaveformStatus bit) const {
-      return (this->status() & (1<<bit));
+      return (this->hit_status() & (1<<bit));
     }
 
     bool threshold() const {