diff --git a/NPAnalysis/10He_Riken/Analysis b/NPAnalysis/10He_Riken/Analysis
index e9398425686fe76955511aabcdfd989585e265d7..4971deaa460a2813721916eea8cdb3f2d6cec81b 100755
Binary files a/NPAnalysis/10He_Riken/Analysis and b/NPAnalysis/10He_Riken/Analysis differ
diff --git a/NPAnalysis/10He_Riken/include/ObjectManager.hh b/NPAnalysis/10He_Riken/include/ObjectManager.hh
index 0e6cd2b569689527a0b221415fdd7ba0f6a3dd4e..01328403c184a28c276191c6bf3ee44d45d37992 100644
--- a/NPAnalysis/10He_Riken/include/ObjectManager.hh
+++ b/NPAnalysis/10He_Riken/include/ObjectManager.hh
@@ -106,23 +106,23 @@ namespace ENERGYLOSS
 	
 		//	Declare your Energy loss here	:
 			EnergyLoss He3TargetWind = EnergyLoss 	(	"3He_Mylar.txt" 		,
-														1000	 				,
+														1000	 					,
 														1						,
 														3						);
 		
-			EnergyLoss He3TargetGaz = EnergyLoss 	(	"3He_D2gaz_1b_26K.txt" 	,
+			EnergyLoss He3TargetGaz = EnergyLoss 	(	"xxx.txt" 	,
 														1000	 				,
 														1						,
 														3						);
 			
 			EnergyLoss He3StripAl   = EnergyLoss 	(	"3He_Al.txt" 			,
-														1000					,
+														1000						,
 														1						,
 														3						);
 														
 			EnergyLoss He3StripSi   = EnergyLoss 	(	"3He_Si.txt" 			,
-														1000					,
-														1						,
+														1000						,
+														3						,
 														3						);
 	
 	}
diff --git a/NPAnalysis/10He_Riken/src/Analysis.cc b/NPAnalysis/10He_Riken/src/Analysis.cc
index a5994dbe2e865ca321137b851fbd009dde41d0f6..0590389099f7fa15289dabc9fdcabb8f66eb1e05 100644
--- a/NPAnalysis/10He_Riken/src/Analysis.cc
+++ b/NPAnalysis/10He_Riken/src/Analysis.cc
@@ -78,25 +78,20 @@ double TrueE=0 ; double TrueTheta=0 ;
 			TVector3 BeamDirection = TVector3(0,0,1) ;  BeamDirection.SetTheta(BeamTheta) ; BeamDirection.SetPhi(BeamPhi) ;
 			double Theta  = ThetaCalculation ( HitDirection , BeamDirection   ) ;				
 			double ThetaN = ThetaCalculation ( HitDirection , TVector3(0,0,1) ) ;
-			
+			double ThetaMM2Surface = ThetaCalculation ( HitDirection , M2 -> GetPositionOfInteraction() );
+
 			if(E>-1000 && ThinSi>0 )	
 				{
-		 				
-						//E=E+ThinSi; 
+						E= He3StripAl.EvaluateInitialEnergy(	E 					, // Energy of the detected particle
+																2*0.4*micrometer	, // Target Thickness at 0 degree
+																ThetaMM2Surface		);
+						E = E + ThinSi ;
 						
-//						E= He3StripAl.EvaluateInitialEnergy(		E 					, // Energy of the detected particle
-//																	2*2*0.4*micrometer	, // One for ThinSi and one for Must
-//																	0					);	
-						 	
-						E= He3StripAl.EvaluateInitialEnergy(		E 					, // Energy of the detected particle
-																	0.4*micrometer		, // Target Thickness at 0 degree
-																	0					);
-//				
-//						double Eb= He3StripSi.EvaluateInitialEnergy( 	E 					, // Energy of the detected particle
-//																 		20*micrometer		, // Target Thickness at 0 degree
-//																		0					);
+						E= He3StripAl.EvaluateInitialEnergy(	E 					, // Energy of the detected particle
+																0.4*micrometer		, // Target Thickness at 0 degree
+																ThetaMM2Surface		);
 
-						//cout << E << "  " << Eb-E << " " << ThinSi << endl ;
+					//	cout << E << "  " << Eb-E << " " << ThinSi << endl ;
 
 						E= He3TargetWind.EvaluateInitialEnergy( 		E 					, // Energy of the detected particle
 																 		15*micrometer		, // Target Thickness at 0 degree
@@ -138,12 +133,10 @@ double TrueE=0 ; double TrueTheta=0 ;
 
 			else if(E>-1000 )
 				{
-				
-				
-				
+			
 				E= He3StripAl.EvaluateInitialEnergy(	E 					, // Energy of the detected particle
-														0.4*micrometer		, 
-														0					);	
+														0.4*micrometer		, // Target Thickness at 0 degree
+														ThetaMM2Surface		);
 			
 				E= He3TargetWind.EvaluateInitialEnergy( E 					, // Energy of the detected particle
 														15*micrometer		, // Target Thickness at 0 degree
diff --git a/NPLib/Tools/NPEnergyLoss.cxx b/NPLib/Tools/NPEnergyLoss.cxx
index 360ffe49b9658c6f98ee63dc21954d0d6f59cf2a..f7bd696f5ab6999c5b120360e1422d6f3ea20392 100644
--- a/NPLib/Tools/NPEnergyLoss.cxx
+++ b/NPLib/Tools/NPEnergyLoss.cxx
@@ -238,7 +238,7 @@ double EnergyLoss::EvaluateInitialEnergy(	double Energy 			, // Energy of the de
 		for (int i = 0; i < fNumberOfSlice ; i++) 
 			{
 			    double de = fInter->Eval(Energy) * SliceThickness	;
-			    Energy	+= de										;
+			    Energy	+= de/fNumberOfMass							;
 			}
 			
 		return (Energy*fNumberOfMass)	;
diff --git a/NPSimulation/src/MUST2Array.cc b/NPSimulation/src/MUST2Array.cc
index 2a8f46bf6cc86d82c5546232584735a52f8f2c18..78a36ec21be3071e8bf459482f26af4021321147 100644
--- a/NPSimulation/src/MUST2Array.cc
+++ b/NPSimulation/src/MUST2Array.cc
@@ -898,7 +898,6 @@ void MUST2Array::InitializeRootOutput()
 // Called at in the EventAction::EndOfEventAvtion
 void MUST2Array::ReadSensitive(const G4Event* event)
 {
-   bool checkSi = false     ;
    G4String DetectorNumber 	;
    m_Event->Clear()			;
    
@@ -939,7 +938,6 @@ void MUST2Array::ReadSensitive(const G4Event* event)
    G4THitsMap<G4double>* 				CsIEnergyHitMap 	;
 //////////////////////////////////////////////////////////////////////////////////////
 //////////////////////////////////////////////////////////////////////////////////////
-   checkSi = false;
 
     // Read the Scorer associate to the Silicon Strip
     
@@ -1017,11 +1015,9 @@ void MUST2Array::ReadSensitive(const G4Event* event)
         G4int ETrackID  =   Energy_itr->first     ;
         G4double E     = *(Energy_itr->second)    ;
         G4int N = 0								  ;
-        checkSi = false    						  ;
         
         if (E > 0) {
         
-	        checkSi = true   ;
 	        m_Event->SetMMStripXEEnergy(RandGauss::shoot(E, ResoStrip))    ;
 	        m_Event->SetMMStripYEEnergy(RandGauss::shoot(E, ResoStrip))    ;
 
diff --git a/NPSimulation/src/ThinSi.cc b/NPSimulation/src/ThinSi.cc
index 88e236f3fbb5029005967fb0747d278519f864d1..96794d603f1322e7a0af3e38fc7a6b865ac96f1d 100644
--- a/NPSimulation/src/ThinSi.cc
+++ b/NPSimulation/src/ThinSi.cc
@@ -588,7 +588,6 @@ void ThinSi::InitializeRootOutput()
 void ThinSi::ReadSensitive(const G4Event* event)
 {
    G4String DetectorNumber    ;
-   bool  checkSi  = false  ;
    m_Energy = 0 ;
 //////////////////////////////////////////////////////////////////////////////////////
 //////////////////////// Used to Read Event Map of detector //////////////////////////
@@ -602,7 +601,7 @@ void ThinSi::ReadSensitive(const G4Event* event)
 
 //////////////////////////////////////////////////////////////////////////////////////
 //////////////////////////////////////////////////////////////////////////////////////
-   G4int HitNumber = 0;
+
    G4int NumberOfDetector = m_DefinitionType.size()  ;
    for (G4int i = 0 ; i < NumberOfDetector ; i++) {
       G4int k = i + 1;
@@ -622,14 +621,9 @@ void ThinSi::ReadSensitive(const G4Event* event)
          G4double E     = *(Energy_itr->second)    ;
 
          if (E > 0) {
-            checkSi = true   ;
             m_Energy = RandGauss::shoot(E, ResoEnergy);
          }
 
-         Energy_itr++;
-         if (checkSi) {
-            HitNumber++ ;
-         }
       }
       // clear map for next event
       EnergyHitMap   ->clear()   ;