diff --git a/Projects/e793s/Analysis.cxx b/Projects/e793s/Analysis.cxx
index 630354c87dcbab42abbd472cb09467fb83a441fc..60fa8381bdb67c3c232c67f9e4a466fdef6f0fd4 100755
--- a/Projects/e793s/Analysis.cxx
+++ b/Projects/e793s/Analysis.cxx
@@ -174,9 +174,6 @@ void Analysis::TreatEvent(){
     ThetaM2Surface = HitDirection.Angle(- M2->GetTelescopeNormal(countMust2) );
     ThetaNormalTarget = HitDirection.Angle( TVector3(XBeam,YBeam,1) ) ;
 
-   // cout<<"Must2 Znormal:"<<M2 -> GetTelescopeNormal(countMust2).Z()<<endl;
-  //  cout<<"Must2 telescope:"<<M2->TelescopeNumber[countMust2]<<endl;
-
     /************************************************/
     // Part 2 : Impact Energy
     Energy = 0;
@@ -195,9 +192,7 @@ void Analysis::TreatEvent(){
     else
       Energy = Si_E_M2;
 
-
-    RawEnergy.push_back(Energy); //CPx ADDITION
-
+    RawEnergy.push_back(Energy);
 
     // Evaluate energy using the thickness
     elab_tmp = LightAl.EvaluateInitialEnergy(Energy, 0.4*micrometer, ThetaM2Surface);
@@ -243,30 +238,32 @@ void Analysis::TreatEvent(){
     Y.push_back( MG -> GetPositionOfInteraction(countMugast).Y());
     Z.push_back( MG -> GetPositionOfInteraction(countMugast).Z());
 
-    //ThetaMGSurface = HitDirection.Angle( TVector3(0,0,1) ) ;
     ThetaMGSurface = HitDirection.Angle( MG -> GetTelescopeNormal(countMugast) );
     ThetaNormalTarget = HitDirection.Angle( TVector3(XBeam,YBeam,-1) ) ;
 
     // Part 2 : Impact Energy
     Energy = elab_tmp = 0;
     Energy = MG->GetEnergyDeposit(countMugast);
-
     RawEnergy.push_back(Energy);
 
-    elab_tmp = LightAl.EvaluateInitialEnergy(Energy, 0.4*micrometer, ThetaMGSurface);
-   
-    elab_tmp = LightTarget.EvaluateInitialEnergy(elab_tmp, 0.5*TargetThickness, 0.);
-    //elab_tmp   = LightTarget.EvaluateInitialEnergy( elab_tmp ,TargetThickness*0.5, ThetaNormalTarget);
+    elab_tmp = LightAl.EvaluateInitialEnergy(
+		    Energy,              //particle energy after Al
+		    0.4*micrometer,      //thickness of Al
+		    ThetaMGSurface);     //angle of impingement
+    elab_tmp = LightTarget.EvaluateInitialEnergy(
+		    elab_tmp,            //particle energy after leaving target
+		    TargetThickness*0.5, //distance passed through target
+		    ThetaNormalTarget);  //angle of exit from target
     ELab.push_back(elab_tmp);
 
     // Part 3 : Excitation Energy Calculation
     Ex.push_back(reaction.ReconstructRelativistic(elab_tmp,thetalab_tmp));
     Ecm.push_back(elab_tmp*(AHeavy+ALight)/(4*AHeavy*cos(thetalab_tmp)*cos(thetalab_tmp)));
+    
     // Part 4 : Theta CM Calculation
-    ThetaCM.push_back(reaction.EnergyLabToThetaCM(elab_tmp, thetalab_tmp)/deg);
     ThetaLab.push_back(thetalab_tmp/deg);
-     
     PhiLab.push_back(philab_tmp/deg);
+    ThetaCM.push_back(reaction.EnergyLabToThetaCM(elab_tmp, thetalab_tmp)/deg);
 
     if(sizeMG==1){
       MG_T = MG->DSSD_T[0];
diff --git a/Projects/e793s/macro/BeamSpot/BeamSpot.C b/Projects/e793s/macro/BeamSpot/BeamSpot.C
index c60835c103efd4d46a4bcd7b84c0a66e40bc4f83..7d9eaa2cc525877cc534cbcc47cc4d391d9abb37 100755
--- a/Projects/e793s/macro/BeamSpot/BeamSpot.C
+++ b/Projects/e793s/macro/BeamSpot/BeamSpot.C
@@ -29,21 +29,23 @@ void BeamSpot(){
   double ELab = 0.0, Ex = 0.0;
   vector <double> Xd, Yd, Zd;      //Vector of particle direction. Calculated as Xp-Xb, Yp-Yb...
   ifstream MugastDataFile;
+  double ThetaNormalTarget;
+
 
   gErrorIgnoreLevel = kWarning; // Suppress ".pdf created" lines
 
   /*** ITERATIVE GRID CONTROLS ***/
   /***** pos varied as offset ****/
-  /**/ double xmin = +0.000;   /**/
-  /**/ double xmax = +0.100;   /**/
-  /**/ unsigned int xdiv = 10; /**/
+  /**/ double xmin = +0.020;   /**/
+  /**/ double xmax = +0.080;   /**/
+  /**/ unsigned int xdiv = 12; /**/
   /**/                         /**/
-  /**/ double ymin = -0.100;   /**/
-  /**/ double ymax = +0.100;   /**/
+  /**/ double ymin = -0.050;   /**/
+  /**/ double ymax = +0.050;   /**/
   /**/ unsigned int ydiv = 10; /**/
   /**/                         /**/
-  /**/ double zmin = -0.100;   /**/
-  /**/ double zmax = +0.100;   /**/
+  /**/ double zmin = -0.050;   /**/
+  /**/ double zmax = +0.050;   /**/
   /**/ unsigned int zdiv =  2; /**/
   /**/                         /**/
   /***** thick varied as %ge *****/
@@ -58,9 +60,9 @@ void BeamSpot(){
   /*******************************/
 
   // File name controls
-  const char* XYZE_file = "XYZE_gammaGated_Run63.txt";
-  const char* outputMetric = "output_Run63_metrics.txt";
-  const char* outputHisto = "output_Run63_histograms.root";
+  const char* XYZE_file = "XYZE_gammaGated_Full_TestThetaNormalTarget.txt";
+  const char* outputMetric = "output_Run63_metrics_ThetaNormal.txt";
+  const char* outputHisto = "output_Run63_histograms_ThetaNormal.root";
 
   // Calculate size of iteratve steps
   double xstp = (xmax-xmin)/ ((double) xdiv);
@@ -153,7 +155,8 @@ void BeamSpot(){
   	 	                  Yp[i] - beamSpot.Y(),   //Yd
 			          Zp[i] - beamSpot.Z() }; //Zd
 	  
-	    tempTheta = ELab = Ex = 0.0;
+            ThetaNormalTarget = tempTheta = ELab = Ex = 0.0;
+
 
 	    switch(DetNum[i]){
 	      case 1:
@@ -179,13 +182,23 @@ void BeamSpot(){
 	        return; // Exit code
 	    }
 
+            // Change beam spot vector to inverse beam direction vector
+            beamSpot.SetZ(-1.0);
+            ThetaNormalTarget = particleDir.Angle(beamSpot);
+
 	    //micrometer defined in NPSystemOfUnits.h
-	    ELab = LightAl.EvaluateInitialEnergy(Ep[i], 0.4*micrometer, tempTheta); 
-	    ELab = LightTarget.EvaluateInitialEnergy(ELab, 0.5*TargetThickness, 0.);
+	    ELab = LightAl.EvaluateInitialEnergy(
+			    Ep[i],               //energy after Al 
+			    0.4*micrometer,      //thickness of Al
+			    tempTheta);          //angle of impingement
+	    ELab = LightTarget.EvaluateInitialEnergy(
+			    ELab,                //energy after leaving target 
+			    0.5*TargetThickness, //pass through half target
+			    ThetaNormalTarget);  //angle leaving target
 
             // Change beam spot vector to beam direction vector
 	    beamSpot.SetZ(1.0);
-            Ex = reaction.ReconstructRelativistic( ELab, particleDir.Angle(beamSpot) );
+            Ex = reaction.ReconstructRelativistic(ELab, particleDir.Angle(beamSpot));
 
 	    // Fill Ex histograms
 	    tempHist->Fill(Ex);