diff --git a/DEF-files/SHMS/PRODUCTION/BLOCK/pblock_vars.def b/DEF-files/SHMS/PRODUCTION/BLOCK/pblock_vars.def
index 8122d39e5da92abe4eab651b0d6be126cd8a9a89..3ce711a031543c9d7833f41aaf1a6d9c86addcbb 100644
--- a/DEF-files/SHMS/PRODUCTION/BLOCK/pblock_vars.def
+++ b/DEF-files/SHMS/PRODUCTION/BLOCK/pblock_vars.def
@@ -6,3 +6,4 @@ block P.tr.*
 block P.gtr.*
 block P.kin.*
 block P.rb.*
+block P.react.*
diff --git a/DEF-files/SHMS/PRODUCTION/REACT/preact_histos.def b/DEF-files/SHMS/PRODUCTION/REACT/preact_histos.def
new file mode 100644
index 0000000000000000000000000000000000000000..b83001b4c0480d3956708cae0f0f1be6237b99e5
--- /dev/null
+++ b/DEF-files/SHMS/PRODUCTION/REACT/preact_histos.def
@@ -0,0 +1,3 @@
+TH1F preactx 'SHMS React x; React x (cm);' P.react.x 100 -5 5
+TH1F preacty 'SHMS React x; React y (cm);' P.react.y 100 -5 5
+TH1F preactz 'SHMS React x; React z (cm);' P.react.z 100 -15 15
diff --git a/DEF-files/SHMS/PRODUCTION/pstackana_production.def b/DEF-files/SHMS/PRODUCTION/pstackana_production.def
index a0e4095a9d0dc7efbd8aded91a01ceb0de0bb787..27087da63b04497d58be99647372da40e17f1d3e 100644
--- a/DEF-files/SHMS/PRODUCTION/pstackana_production.def
+++ b/DEF-files/SHMS/PRODUCTION/pstackana_production.def
@@ -18,4 +18,5 @@
 #include "DEF-files/SHMS/PRODUCTION/NGCER/pngcer_histos.def"
 #include "DEF-files/SHMS/PRODUCTION/RASTER/praster_histos.def"
 #include "DEF-files/SHMS/PRODUCTION/TRIG/ptrig_histos.def"
+#include "DEF-files/SHMS/PRODUCTION/REACT/preact_histos.def"
 
diff --git a/SCRIPTS/SHMS/PRODUCTION/replay_production_shms.C b/SCRIPTS/SHMS/PRODUCTION/replay_production_shms.C
index 4460e2b16d81bc5b9f3302f40c57106e7cfe6052..f8f6900ef4b42b1ff27ec1078889ddf25a9bd7e8 100644
--- a/SCRIPTS/SHMS/PRODUCTION/replay_production_shms.C
+++ b/SCRIPTS/SHMS/PRODUCTION/replay_production_shms.C
@@ -53,7 +53,7 @@ void replay_production_shms (Int_t RunNumber = 0, Int_t MaxEvent = 0) {
   TRG->AddDetector(shms);
 
   // Set up the equipment to be analyzed.
-  THaApparatus* SHMS = new THcHallCSpectrometer("P", "SHMS");
+  THcHallCSpectrometer* SHMS = new THcHallCSpectrometer("P", "SHMS");
   gHaApps->Add(SHMS);
   // Add Noble Gas Cherenkov to SHMS apparatus
   THcCherenkov* ngcer = new THcCherenkov("ngcer", "Noble Gas Cherenkov");
@@ -81,6 +81,8 @@ void replay_production_shms (Int_t RunNumber = 0, Int_t MaxEvent = 0) {
   // Add Rastered Beam Apparatus
   THaApparatus* beam = new THcRasteredBeam("P.rb", "Rastered Beamline");
   gHaApps->Add(beam);
+  THaReactionPoint* prp= new THaReactionPoint("P.react"," SHMS reaction point","P","P.rb");
+  gHaPhysics->Add(prp);
   // Add Physics Module to calculate primary (scattered beam - usually electrons) kinematics
   THcPrimaryKine* kin = new THcPrimaryKine("P.kin", "SHMS Single Arm Kinematics", "P", "P.rb");
   gHaPhysics->Add(kin);
@@ -96,6 +98,8 @@ void replay_production_shms (Int_t RunNumber = 0, Int_t MaxEvent = 0) {
   // Add event handler for scaler events
   THcScalerEvtHandler* pscaler = new THcScalerEvtHandler("P", "Hall C scaler event type 1");
   pscaler->AddEvtType(1);
+  pscaler->AddEvtType(129);
+  pscaler->SetDelayedType(129);
   pscaler->SetUseFirstEvent(kTRUE);
   gHaEvtHandlers->Add(pscaler);
 
@@ -113,7 +117,7 @@ void replay_production_shms (Int_t RunNumber = 0, Int_t MaxEvent = 0) {
 
   // Define the run(s) that we want to analyze.
   // We just set up one, but this could be many.
-  THaRun* run = new THaRun( pathList, Form(RunFileNamePattern, RunNumber) );
+  THcRun* run = new THcRun( pathList, Form(RunFileNamePattern, RunNumber) );
 
   // Set to read in Hall C run database parameters
   run->SetRunParamClass("THcRunParameters");