diff --git a/Inputs/DetectorConfiguration/Sharc.detector b/Inputs/DetectorConfiguration/Sharc.detector
index 321973bbb06ec46bae800c1ff7b47510a50d2730..a16b0589e6de301fb0a3f6c53f253af02510b1fa 100644
--- a/Inputs/DetectorConfiguration/Sharc.detector
+++ b/Inputs/DetectorConfiguration/Sharc.detector
@@ -17,22 +17,22 @@ Sharc
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %Upstream CD
   SharcQQQ
-    Z= -66
+    Z= -62
     R= 0
     Phi= 0
     ThicknessDector= 500
   SharcQQQ
-    Z= -66
+    Z= -62
     R= 0
     Phi= 90
     ThicknessDector= 500
   SharcQQQ
-    Z= -66
+    Z= -62
     R= 0
     Phi= 180
     ThicknessDector= 500
   SharcQQQ
-    Z= -66
+    Z= -62
     R= 0
     Phi= 270
     ThicknessDector= 500
diff --git a/NPAnalysis/RRC66/Analysis.cxx b/NPAnalysis/RRC66/Analysis.cxx
index 4fd81654b331b216d6dd1273b73e5adeda6d6d72..70af0f6b34c56a9220280af6a6f5c55abad0d471 100644
--- a/NPAnalysis/RRC66/Analysis.cxx
+++ b/NPAnalysis/RRC66/Analysis.cxx
@@ -1,4 +1,4 @@
-#include "Analysis.h"
+ #include "Analysis.h"
 using namespace std;
 
 int main(int argc, char** argv)
diff --git a/NPAnalysis/macros/GeometricalEfficiency.C b/NPAnalysis/macros/GeometricalEfficiency.C
index 777d2a8c287ac387741db96f34f0248f5db982f5..11bda32f9bbda59f1fd22e9f7d4b49723128ac89 100644
--- a/NPAnalysis/macros/GeometricalEfficiency.C
+++ b/NPAnalysis/macros/GeometricalEfficiency.C
@@ -89,24 +89,21 @@ void GeometricalEfficiency(const char * fname = "myResult"){
   TCanvas* c1 = new TCanvas("c1", "c1");
   // Compute relative efficiency in %
   TH1F *efficiency = new TH1F("hEfficiency", "Efficiency", 180, 0, 180);
-  //   efficiency->SetTitle("Efficiency GASPARD (Spheric version);#Theta [deg];#epsilon [%]");
   efficiency->SetTitle("Efficiency;#Theta [deg];#epsilon [%]");
   efficiency->Divide(hDetecTheta,hEmittTheta,100);
   efficiency->SetMaximum(110);
   efficiency->Draw();
   
-  
   TCanvas* c2 = new TCanvas("c2", "c2");
   hEmittTheta->Draw();
   hDetecTheta->SetLineColor(kRed);
   hDetecTheta->Draw("same");
   
-  TCanvas* c3 = new TCanvas("c3", "c3");
+  TCanvas* c3 = new TCanvas("c3", "Lab Frame (use with source)");
   TH1F* SolidA = new TH1F(*hDetecTheta);
   SolidA->Sumw2();
   TF1* C = new TF1("C",Form("%i /(4*%f)",nentries,M_PI),0,180);
   SolidA->Divide(C,1);
-  // SolidA->Rebin(2);
   SolidA->Draw();
   TF1* f = new TF1("f",Form("2 * %f * sin(x*%f/180.) *2*%f/180.",M_PI,M_PI,M_PI),0,180);
   f->Draw("SAME");
@@ -114,14 +111,14 @@ void GeometricalEfficiency(const char * fname = "myResult"){
   SolidA->GetYaxis()->SetTitle("d#Omega (sr) ");
   c3->Update();
   
-  
-  ofstream output;
-  output.open("data.txt");
-  
-  for(int i = 1 ; i < 90 ; i++)
-    output << hDetecThetaCM->GetBinCenter(i) << " "
-           << hDetecThetaCM->GetBinContent(i)<< endl ;
-  
-  
-  output.close();
+  TCanvas* c4 = new TCanvas("c4", "CM Frame (use with reaction)");
+  TH1F* SolidACM = new TH1F(*hDetecThetaCM);
+  SolidACM->Sumw2();
+  TF1* CCM = new TF1("CCM",Form("%i /(4*%f)",nentries,M_PI),0,180);
+  SolidACM->Divide(C,1);
+  SolidACM->Draw();
+  f->Draw("SAME");
+  SolidACM->GetXaxis()->SetTitle("#theta_{Lab} (deg)");
+  SolidACM->GetYaxis()->SetTitle("d#Omega (sr) ");
+  c4->Update();
 }
diff --git a/NPLib/Sharc/TSharcPhysics.cxx b/NPLib/Sharc/TSharcPhysics.cxx
index 040b268ca76245b91cf69c91d0926f3baa3a386c..e2b3d5b5b8f42a3b9338c81aa1af5d5839ad65c4 100644
--- a/NPLib/Sharc/TSharcPhysics.cxx
+++ b/NPLib/Sharc/TSharcPhysics.cxx
@@ -695,10 +695,10 @@ void TSharcPhysics::AddBoxDetector(double Z)
     m_NumberOfDetector++;
     if(Z<0){// Up Stream
       
-      if(i==0)      {U=TVector3(1,0,0);V=TVector3(0,0,1);  Strip_1_1=TVector3(-36.,42.5,-56.)   ;}
-      else if(i==1) {U=TVector3(0,1,0);V=TVector3(0,0,1);  Strip_1_1=TVector3(-42.5,-36.,-56.)  ;}
-      else if(i==2) {U=TVector3(-1,0,0);V=TVector3(0,0,1); Strip_1_1=TVector3(36.,-42.5,-56.)   ;}
-      else if(i==3) {U=TVector3(0,-1,0);V=TVector3(0,0,1); Strip_1_1=TVector3(42.5,36.,-56.)    ;}
+      if(i==0)      {U=TVector3(1,0,0);V=TVector3(0,0,1);  Strip_1_1=TVector3(-36.,40.5,-60)   ;}
+      else if(i==1) {U=TVector3(0,1,0);V=TVector3(0,0,1);  Strip_1_1=TVector3(-40.5,-36.,-60.)  ;}
+      else if(i==2) {U=TVector3(-1,0,0);V=TVector3(0,0,1); Strip_1_1=TVector3(36.,-40.5,-60.)   ;}
+      else if(i==3) {U=TVector3(0,-1,0);V=TVector3(0,0,1); Strip_1_1=TVector3(40.5,36.,-60.)    ;}
     }
     
     if(Z>0){//Down Stream
diff --git a/NPSimulation/Makefile b/NPSimulation/Makefile
index e7de1373b8a932315dbe35af7d6d8a5172b97f83..10c08a528aa629a5b7c9381fcf384f39b43766da 100644
--- a/NPSimulation/Makefile
+++ b/NPSimulation/Makefile
@@ -12,7 +12,7 @@ DelIncSrcFiles:
 	./scripts/deletefiles.sh
 
 NPSimulation:
-	make -f Makefile.geant4
+	make -j -f Makefile.geant4
 
 clean:
 	./scripts/deletefiles.sh
diff --git a/NPSimulation/Sharc/Sharc.hh b/NPSimulation/Sharc/Sharc.hh
index 2f12f08019074f6885ecbb17818331b5bb1846bc..5249029eada050e8a20a90ecef5c180b08f61161 100644
--- a/NPSimulation/Sharc/Sharc.hh
+++ b/NPSimulation/Sharc/Sharc.hh
@@ -46,7 +46,9 @@ namespace SHARC
 {
   // Energy and time Resolution
   const G4double ResoTime    = 0      ;
-  const G4double ResoEnergy  = 0.035*MeV ;// = zzkeV of Resolution   //   Unit is MeV/2.35
+  //const G4double ResoEnergy  = 0.035*MeV ;// = zzkeV of Resolution   //   Unit is MeV/2.35
+  const G4double ResoEnergy  = 0.042*MeV ;// = zzkeV of Resolution   //   Unit is MeV/2.35
+
   //const G4double EnergyThreshold = 0.4*MeV;
   
   // Change for TRex simulations
diff --git a/NPSimulation/src/EventGeneratorBeam.cc b/NPSimulation/src/EventGeneratorBeam.cc
index 79dd44710bb2709ec6ceb2b32f5814a227b5b281..0354bbeaffc42912020fcd5a84ded519f43e4977 100644
--- a/NPSimulation/src/EventGeneratorBeam.cc
+++ b/NPSimulation/src/EventGeneratorBeam.cc
@@ -77,7 +77,7 @@ void EventGeneratorBeam::GenerateEvent(G4Event* anEvent){
     // Define the particle to be shoot
     m_particle = G4ParticleTable::GetParticleTable()->GetIon(m_Beam->GetZ(), m_Beam->GetA() , 0.);
     if(m_Target!=0 ){
-      m_Target->WriteDEDXTable(m_particle ,0, m_Beam->GetEnergy()+4*m_Beam->GetSigmaEnergy());
+      m_Target->WriteDEDXTable(m_particle ,0, m_Beam->GetEnergy()+4*m_Beam->GetSigmaEnergy()+50*MeV);
     }
   }