diff --git a/Neutrino/NeutrinoRecAlgs/src/NeutrinoRecAlgs.cxx b/Neutrino/NeutrinoRecAlgs/src/NeutrinoRecAlgs.cxx
index 9aa8340b23742dca635703df70be9a9f6af45918..f6bee3da6c914ab6318a0ba9635292617bd4830e 100644
--- a/Neutrino/NeutrinoRecAlgs/src/NeutrinoRecAlgs.cxx
+++ b/Neutrino/NeutrinoRecAlgs/src/NeutrinoRecAlgs.cxx
@@ -4,6 +4,7 @@
 #include "NeutrinoReadoutGeometry/EmulsionDetectorManager.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "NeutrinoIdentifier/EmulsionID.h"
+#include "NeutrinoSimEvent/NeutrinoHitIdHelper.h"
 #include "GeoPrimitives/CLHEPtoEigenConverter.h"
 
 NeutrinoRecAlgs::NeutrinoRecAlgs(const std::string& name, ISvcLocator* pSvcLocator)
@@ -231,8 +232,17 @@ StatusCode NeutrinoRecAlgs::execute()
     m_trackid_begin_out_particle = 0;
     m_trackid_end_in_particle = 0;
     m_trackid_end_out_particle = 0;
-    m_num_in_particle = 0;
-    m_num_out_particle = 0;
+
+    m_num_in_particle = -1;
+    m_num_out_particle = -1;
+
+    m_vx_prod = -1;
+    m_vy_prod = -1;
+    m_vz_prod = -1;
+
+    m_vx_decay = -1;
+    m_vy_decay = -1;
+    m_vz_decay = -1;
 
     m_pdg_in_particle.clear();
     m_pdg_out_particle.clear();
@@ -321,14 +331,22 @@ StatusCode NeutrinoRecAlgs::execute()
             // hit.print();
 
         Double_t thickness_base = 0.21;//mm
-        Double_t thickness_plate = 1.;//mm
-        Double_t thickness_film = 0.07;//mm
+        Double_t thickness_plate = 1.087;//mm
+        Double_t thickness_film = 0.065;//mm
 
         //module_num * base_num = 770 plates
         //Int_t module_num = 35;
-        Int_t base_num = 22;
+        Int_t base_num = 10;
 
+	if (m_sID == nullptr || m_sID->dictionaryVersion() == "FASERNU-03-770" || m_sID->dictionaryVersion() == "")
+  {
+        thickness_base = 0.21;//mm
+	thickness_plate = 1.;//mm
+        thickness_film = 0.07;//mm	
 
+        base_num = 22;
+  }
+	
         //x, y : local coordinate
 	    //z : converted to the global coorfinate.	    
         m_x_start = hit.localStartPosition()[0];