diff --git a/Inputs/DetectorConfiguration/SPcoincW1.detector b/Inputs/DetectorConfiguration/SPcoincW1.detector
index 915cdcbf7e23d41081625a333a974f03c8be256f..ee60cd86468922148d09f9ab4233040167a94a00 100644
--- a/Inputs/DetectorConfiguration/SPcoincW1.detector
+++ b/Inputs/DetectorConfiguration/SPcoincW1.detector
@@ -8,6 +8,10 @@ Target
    X= 0
    Y= 0
    Z= 0
+
+
+
+
 %%%%%%% Detector 1 %%%%%%%			
 W1
 	THETA= 150
@@ -52,6 +56,8 @@ W1
 	VIS= all					
 
 
-
 %%%%%%% Splitpole  %%%%%%%
 SplitPole
+
+
+
diff --git a/Inputs/DetectorConfiguration/W1.detector b/Inputs/DetectorConfiguration/W1.detector
index bf59637e844e8e609e5bafcd70895ca509fdcb6e..6359de1cb3ea6a9c75a623124b9d70fff3a44c5a 100644
--- a/Inputs/DetectorConfiguration/W1.detector
+++ b/Inputs/DetectorConfiguration/W1.detector
@@ -8,6 +8,11 @@ Target
    X= 0
    Y= 0
    Z= 0
+
+
+
+
+
 %%%%%%% Detector 1 %%%%%%%			
 W1
 	THETA= 150
@@ -15,3 +20,40 @@ W1
 	R= 150
 	BETA= 0 0 0
 	VIS= all					
+%%%%%%% Detector 2 %%%%%%%			
+W1
+	THETA= 150
+	PHI= 0
+	R= 150
+	BETA= 0 0 0
+	VIS= all					
+%%%%%%% Detector 3 %%%%%%%			
+W1
+	THETA= 150
+	PHI= 0
+	R= 150
+	BETA= 0 0 0
+	VIS= all					
+%%%%%%% Detector 4 %%%%%%%			
+W1
+	THETA= 150
+	PHI= 0
+	R= 150
+	BETA= 0 0 0
+	VIS= all					
+%%%%%%% Detector 5 %%%%%%%			
+W1
+	THETA= 150
+	PHI= 0
+	R= 150
+	BETA= 0 0 0
+	VIS= all					
+%%%%%%% Detector 6 %%%%%%%			
+W1
+	THETA= 150
+	PHI= 0
+	R= 150
+	BETA= 0 0 0
+	VIS= all					
+
+
diff --git a/Inputs/DetectorConfiguration/csi.detector b/Inputs/DetectorConfiguration/csi.detector
index 6abde491bf2743e5ecc6c404f87b292d1aee212b..13e38411fe6a94d6f74da4f20c14ad3476284a70 100644
--- a/Inputs/DetectorConfiguration/csi.detector
+++ b/Inputs/DetectorConfiguration/csi.detector
@@ -5,8 +5,8 @@ GeneralTarget
 % Radius in mm
 % Temperature in K, Pressure in bar
 Target
-	THICKNESS= 0.1
-  	ANGLE= 0
+	THICKNESS= 0.001
+  ANGLE= 0
 	RADIUS=	2
 	MATERIAL= CH2
 	X= 0
@@ -19,67 +19,68 @@ CsI
 	THETA= 0
 	PHI= 0
 	R= 0
-  	X= 0
-  	Y= 0
-  	Z= 450
+  X= 0
+  Y= 0
+  Z= 58
 	Thickness= 100
-	Shape= Trapezoidal
-  	FaceFront= 22
-  	FaceBack= 27
-  	Radius= 0
-	Scintillator= CsI
+	Shape= Cylinder
+  FaceFront= 0
+  FaceBack= 0
+  Radius= 17
+	Scintillator= CsI_Scintillator
 	LeadThickness= 0
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 ScintillatorPlastic
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Plastic
-	THETA= 0
-	PHI= 0
-	R= 0
- 	X= 0
-  	Y= 0
-  	Z= 389.25
-	Thickness= 1.5
-  	Shape= Square
-  	Height= 22
-  	Width= 22
-	Radius= 0
-	Scintillator= Si
-	LeadThickness= 0
+%Plastic
+%	THETA= 0
+%	PHI= 0
+%	R= 0
+% 	X= 0
+%  	Y= 0
+%  	Z= 389.25
+%	Thickness= 1.5
+%  	Shape= Square
+%  	Height= 22
+%  	Width= 22
+%	Radius= 0
+%	Scintillator= Si
+%	LeadThickness= 0
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Plastic
-	THETA= 0
-	PHI= 0
-	R= 0
-	X= 0
-  	Y= 0
-  	Z= 505
-	Thickness= 10
-  	Shape= Square
-  	Height= 27
-  	Width= 27
-	Radius= 0
-	Scintillator= Epoxy
-	LeadThickness= 0
+%Plastic
+%	THETA= 0
+%	PHI= 0
+%	R= 0
+%	X= 0
+%  	Y= 0
+%
+%  	Z= 505
+%	Thickness= 10
+%  	Shape= Square
+%  	Height= 27
+%  	Width= 27
+%	Radius= 0
+%	Scintillator= Epoxy
+%	LeadThickness= 0
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Plastic
-	THETA= 0
-	PHI= 0
-	R= 0
- 	X= 0
-  	Y= 0
-  	Z= 510.15
-	Thickness= 0.3
-  	Shape= Square
-  	Height= 27
-  	Width= 27
-	Radius= 0
-	Scintillator= Si
-	LeadThickness= 0
-
-
+%Plastic
+%	THETA= 0
+%	PHI= 0
+%	R= 0
+% 	X= 0
+%  	Y= 0
+%  	Z= 510.15
+%	Thickness= 0.3
+%  	Shape= Square
+%  	Height= 27
+%  	Width= 27
+%	Radius= 0
+%	Scintillator= Si
+%	LeadThickness= 0
+%
+%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % Avaible material:
 % BC400
diff --git a/Inputs/DetectorConfiguration/e552.detector b/Inputs/DetectorConfiguration/e552.detector
index 107753b2850f4958547cd214cd2eea1799ed2072..40d822ea54d2bfcefb61d18039e80da502bdf021 100755
--- a/Inputs/DetectorConfiguration/e552.detector
+++ b/Inputs/DetectorConfiguration/e552.detector
@@ -8,7 +8,7 @@ GeneralTarget
 % Temperature in K, Pressure in bar
 Target
 	THICKNESS= 3.2
-    	ANGLE= 28
+  ANGLE= 20
 	RADIUS=	24
 	MATERIAL= CD2
 	X= 0
diff --git a/Inputs/EventGenerator/3He.source b/Inputs/EventGenerator/3He.source
index 22957a57d0c16cf6c69813e071d726986534ad59..66b22a966b951845f8a627fb5d72aa51efb728fd 100644
--- a/Inputs/EventGenerator/3He.source
+++ b/Inputs/EventGenerator/3He.source
@@ -5,12 +5,12 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 Isotropic
 	EnergyLow=  0	
-	EnergyHigh= 300
+	EnergyHigh= 26
 	HalfOpenAngleMin= 0
-	HalfOpenAngleMax= 90
+	HalfOpenAngleMax= 45
 	x0= 0	
 	y0= 0	
 	z0= 0	
-	particle= He3
+	particle= 3He
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % Supported particle type: proton, neutron, deuton, triton, He3 , alpha 
diff --git a/Inputs/EventGenerator/alpha.source b/Inputs/EventGenerator/alpha.source
index 8d3a34d18ef057126dcf04c78f665ea78f474261..1fed2da9732e26e71a224917753c257bb81ffbde 100644
--- a/Inputs/EventGenerator/alpha.source
+++ b/Inputs/EventGenerator/alpha.source
@@ -4,10 +4,10 @@
 %			   Energy are given in MeV , Position in mm				  %	
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 Isotropic
-  EnergyLow= 5.84
-  EnergyHigh= 5.84
+  EnergyLow= 5.2
+  EnergyHigh= 5.2
   HalfOpenAngleMin= 0
-  HalfOpenAngleMax= 180
+  HalfOpenAngleMax= 45
   x0= 0
   y0= 0
   z0= 0
diff --git a/Inputs/EventGenerator/deuton.source b/Inputs/EventGenerator/deuton.source
index 5b70824ee282272201156d17720b5f7e96ad5637..fd3680952d6534a10546409e9382b10f7139cc39 100644
--- a/Inputs/EventGenerator/deuton.source
+++ b/Inputs/EventGenerator/deuton.source
@@ -5,9 +5,9 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 Isotropic
 	EnergyLow=  0	
-	EnergyHigh= 100
+	EnergyHigh= 9
 	HalfOpenAngleMin= 0
-	HalfOpenAngleMax= 90
+	HalfOpenAngleMax= 45
 	x0= 0	
 	y0= 0	
 	z0= 0	
diff --git a/Inputs/EventGenerator/proton.source b/Inputs/EventGenerator/proton.source
index 052193a50c07ae4d271518d0501bbf0cd1928ead..cf3a617525e74a14a0cd143ba0045201d79f8599 100644
--- a/Inputs/EventGenerator/proton.source
+++ b/Inputs/EventGenerator/proton.source
@@ -5,9 +5,9 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 Isotropic
 	EnergyLow=  0	
-	EnergyHigh= 190
+	EnergyHigh= 17
 	HalfOpenAngleMin= 0
-	HalfOpenAngleMax= 100
+	HalfOpenAngleMax= 45
 	x0= 0	
 	y0= 0	
 	z0= 0	
diff --git a/Inputs/EventGenerator/triton.source b/Inputs/EventGenerator/triton.source
index 191488a051b3921f2de3769279bf749c6a650b59..5a9aa2a5ac98c86b273827760b695cd43ae8986d 100644
--- a/Inputs/EventGenerator/triton.source
+++ b/Inputs/EventGenerator/triton.source
@@ -5,9 +5,9 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 Isotropic
 	EnergyLow=  0	
-	EnergyHigh= 100
+	EnergyHigh= 12
 	HalfOpenAngleMin= 0
-	HalfOpenAngleMax= 90
+	HalfOpenAngleMax= 45
 	x0= 0	
 	y0= 0	
 	z0= 0	
diff --git a/NPAnalysis/SPcoincW1/Analysis.cxx b/NPAnalysis/SPcoincW1/Analysis.cxx
index d5a927dccc2230af144fe9eddcd14970d0fefe5c..040051e7fc315e8628e7822194478ec6bbafb7f2 100644
--- a/NPAnalysis/SPcoincW1/Analysis.cxx
+++ b/NPAnalysis/SPcoincW1/Analysis.cxx
@@ -31,9 +31,21 @@ using namespace std;
 #include"NPAnalysisFactory.h"
 #include"NPDetectorManager.h"
 
+// ROOT headers
+#include "TFile.h"
+
+
 
 ////////////////////////////////////////////////////////////////////////////////
 Analysis::Analysis()
+   : m_cutg_SP_p(new TCutG),
+     fEnergy(-1),
+     fDetector(-1),
+     fStripFront(-1),
+     fStripBack(-1),
+     fBrhoSingle(-1),
+     fBrhoCoinc(-1),
+     fTime(-10000)
 {
 }
 
@@ -49,7 +61,15 @@ Analysis::~Analysis()
 ////////////////////////////////////////////////////////////////////////////////
 void Analysis::Init()
 {
-//   m_W1 = (TW1Physics*)        m_DetectorManager->GetDetector("W1");
+   // initialize branches with analysis information
+   InitOutputBranch();
+
+   // Load graphical cuts
+   TFile *fcutg = new TFile("./cuts/cutg_SelectionProtons.root");
+   m_cutg_SP_p = (TCutG*) fcutg->Get("run108_plasppos");
+
+   // Get Physical objects
+   m_W1 = (TW1Physics*)        m_DetectorManager->GetDetector("W1");
    m_SP = (TSplitPolePhysics*) m_DetectorManager->GetDetector("SplitPole");
 }
 
@@ -58,7 +78,35 @@ void Analysis::Init()
 ////////////////////////////////////////////////////////////////////////////////
 void Analysis::TreatEvent()
 {
-//   cout << "pipo" << endl;
+   // Clear data
+   Clear();
+
+   // select protons in SP (PlasticP vs Position)
+   if (m_cutg_SP_p->IsInside(m_SP->GetPlasticG(), m_SP->GetPlasticP())) {
+      fBrhoSingle    = m_SP->GetBrho();
+      // select multiplicity 1 for SP ref time
+      if (m_SP->GetTime2Multiplicity() == 1) {
+         // select multiplicity 1 for W1's
+         if (m_W1->GetEventMultiplicity() == 1) {
+            // select event in W1's
+            if (m_W1->GetFrontEnergy(0) > 0) {
+               // calculate relative time between SP and W1
+               Double_t time = m_W1->GetFrontTime(0)- m_SP->GetTime2(0);
+               fTime = time;
+               // W1
+               fEnergy     = m_W1->GetFrontEnergy(0);
+               fDetector   = m_W1->GetDetectorNumber(0);
+               fStripFront = m_W1->GetFrontStrip(0);
+               fStripBack  = m_W1->GetBackStrip(0);
+               // SP
+               fBrhoCoinc  = m_SP->GetBrho();
+               // apply timing selection
+               if (time > 160 && time < 280) {
+               }
+            }
+         }
+      }
+   }
 }
 
 
@@ -70,6 +118,44 @@ void Analysis::End()
 
 
 
+////////////////////////////////////////////////////////////////////////////////
+void Analysis::Clear()
+{
+   // W1's
+   fEnergy     = -1;
+   fDetector   = -1;
+   fStripFront = -1;
+   fStripBack  = -1;
+   // SP
+   fBrhoSingle = -1;
+   fBrhoCoinc  = -1;
+   // time
+   fTime       = -10000;
+}
+
+
+
+////////////////////////////////////////////////////////////////////////////////
+void Analysis::InitOutputBranch()
+{
+   RootOutput::getInstance()->GetTree()->Branch("fEnergy",     &fEnergy,     "fEnergy/D");
+   RootOutput::getInstance()->GetTree()->Branch("fTime",       &fTime,       "fTime/D");
+   RootOutput::getInstance()->GetTree()->Branch("fDetector",   &fDetector,   "fDetector/I");
+   RootOutput::getInstance()->GetTree()->Branch("fStripFront", &fStripFront, "fStripFront/I");
+   RootOutput::getInstance()->GetTree()->Branch("fStripBack",  &fStripBack,  "fStripBack/I");
+   RootOutput::getInstance()->GetTree()->Branch("fBrhoSingle", &fBrhoSingle, "fBrhoSingle/D");
+   RootOutput::getInstance()->GetTree()->Branch("fBrhoCoinc",  &fBrhoSingle, "fBrhoCoinc/D");
+}
+
+
+
+////////////////////////////////////////////////////////////////////////////////
+void Analysis::InitInputBranch()
+{
+}
+
+
+
 ////////////////////////////////////////////////////////////////////////////////
 //            Construct Method to be pass to the DetectorFactory              //
 ////////////////////////////////////////////////////////////////////////////////
diff --git a/NPAnalysis/SPcoincW1/Analysis.h b/NPAnalysis/SPcoincW1/Analysis.h
index 25758734800fd3e64dcfdc05f549c48ffa7d7eb3..f4b76b6ce0965e4f83e59ae9824bfb4668a7e96c 100644
--- a/NPAnalysis/SPcoincW1/Analysis.h
+++ b/NPAnalysis/SPcoincW1/Analysis.h
@@ -23,10 +23,15 @@
  *****************************************************************************/
 #include "NPVAnalysis.h"
 
+// NPTool headers
 #include "TW1Physics.h"
 #include "TSplitPolePhysics.h"
+#include "RootOutput.h"
 
 
+// ROOT headers
+#include "TCutG.h"
+
 
 class Analysis: public NPL::VAnalysis
 {
@@ -38,11 +43,30 @@ class Analysis: public NPL::VAnalysis
     void Init();
     void TreatEvent();
     void End();
+    void Clear();
 
+    void InitInputBranch();
+    void InitOutputBranch();
     static NPL::VAnalysis* Construct();
 
   private:
     TW1Physics        *m_W1;
     TSplitPolePhysics *m_SP;
+
+  private:
+    TCutG *m_cutg_SP_p;
+
+  private:
+    // W1's
+    Double_t fEnergy;
+    Int_t    fDetector;
+    Int_t    fStripFront;
+    Int_t    fStripBack;
+    // SP
+    Double_t fBrhoSingle;
+    Double_t fBrhoCoinc;
+    // time
+    Double_t fTime;
+
 };
 #endif
diff --git a/NPAnalysis/SPcoincW1/Calibration.txt b/NPAnalysis/SPcoincW1/Calibration.txt
index 7186ebc1b8ae37ae9b9e82d3d5ad26eabec6bfb1..b818e0ecc21dc275998baef0aa177212fbfb0522 100644
--- a/NPAnalysis/SPcoincW1/Calibration.txt
+++ b/NPAnalysis/SPcoincW1/Calibration.txt
@@ -1,3 +1,4 @@
 CalibrationFilePath
 %   ./calibs/W1CalibrationBefore.txt
    ./calibs/W1CalibrationAfter.txt
+   ./calibs/W1CalibrationTime_runs50-74.txt
diff --git a/NPAnalysis/SPcoincW1/RunToTreat.txt b/NPAnalysis/SPcoincW1/RunToTreat.txt
index 2758d9ff15a389902bfcf8e719c0056979d058a9..3fd8d3e5e88adc120d55e0764cb31fe7e0011809 100644
--- a/NPAnalysis/SPcoincW1/RunToTreat.txt
+++ b/NPAnalysis/SPcoincW1/RunToTreat.txt
@@ -2,5 +2,11 @@ TTreeName
   EGTree
 RootFileName
 %  /scratch/gypaos/data/al27pp/oct2015/midas/root/R25_0_new.root
-  /scratch/gypaos/data/al27pp/oct2015/midas/root/R131_0.root
+%  /scratch/gypaos/data/al27pp/oct2015/midas/root/R50_0_W1only.root
+%  /scratch/gypaos/data/al27pp/oct2015/midas/root/R50_0_SPonly.root
+%  /scratch/gypaos/data/al27pp/oct2015/midas/root/R50_0.root
+%  /scratch/gypaos/data/al27pp/oct2015/midas/root/R131_0_test.root
+%  /scratch/gypaos/data/al27pp/oct2015/midas/root/R108_0_test.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R74_0.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R72_0.root
 
diff --git a/NPAnalysis/SPcoincW1/RunToTreat_AlignTdc.txt b/NPAnalysis/SPcoincW1/RunToTreat_AlignTdc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5e892c2904fd3e720ccfd58559dde50ff2ef6122
--- /dev/null
+++ b/NPAnalysis/SPcoincW1/RunToTreat_AlignTdc.txt
@@ -0,0 +1,22 @@
+TTreeName
+  EGTree
+RootFileName
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R50_0.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R51_0.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R52_0.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R53_0.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R54_0.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R55_0.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R56_0.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R57_0.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R58_0.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R59_0.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R60_0.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R67_0.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R69_0.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R70_0.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R71_0.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R72_0.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R73_0.root
+  /scratch/gypaos/data/al27pp/oct2015/midas/root/R74_0.root
+
diff --git a/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter.txt b/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter.txt
deleted file mode 100644
index 23d198ecc65d51b70f24b5448473dde7e50b4dce..0000000000000000000000000000000000000000
--- a/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter.txt
+++ /dev/null
@@ -1,189 +0,0 @@
-W1_D1_FRONT0_E	-0.0409549	0.00313435
-W1_D1_FRONT1_E	-0.0410288	0.00310898
-W1_D1_FRONT2_E	-0.051105	0.00306224
-W1_D1_FRONT3_E	-0.0426837	0.00306197
-W1_D1_FRONT4_E	-0.0397345	0.00304634
-W1_D1_FRONT5_E	-0.0417703	0.00299834
-W1_D1_FRONT6_E	-0.0381822	0.00290766
-W1_D1_FRONT7_E	-0.0478144	0.0031674
-W1_D1_FRONT8_E	0.164374	0.00301689
-W1_D1_FRONT9_E	0.170624	0.00312019
-W1_D1_FRONT10_E	0.162643	0.00308745
-W1_D1_FRONT11_E	0.160185	0.00297558
-W1_D1_FRONT12_E	0.173052	0.00304833
-W1_D1_FRONT13_E	0.172715	0.00307804
-W1_D1_FRONT14_E	0.169941	0.00303517
-W1_D1_FRONT15_E	0.15915	0.00300656
-W1_D2_FRONT0_E	-0.0941011	0.0058907
-W1_D2_FRONT1_E	-0.0500382	0.00293438
-W1_D2_FRONT2_E	-0.0514812	0.00295577
-W1_D2_FRONT3_E	-0.054977	0.00303588
-W1_D2_FRONT4_E	-0.0445269	0.00268978
-W1_D2_FRONT5_E	-0.0469042	0.00299963
-W1_D2_FRONT6_E	-0.0624968	0.00311032
-W1_D2_FRONT7_E	-0.0549835	0.00314182
-W1_D2_FRONT8_E	0.0918539	0.00311626
-W1_D2_FRONT9_E	0.0833332	0.00276323
-W1_D2_FRONT10_E	0.0745729	0.00266832
-W1_D2_FRONT11_E	0.0949944	0.00308344
-W1_D2_FRONT12_E	0.082602	0.00264991
-W1_D2_FRONT15_E	0.0881102	0.00301
-W1_D3_FRONT0_E	-0.100997	0.00309023
-W1_D3_FRONT1_E	-0.0990846	0.00293334
-W1_D3_FRONT2_E	-0.0973923	0.00307503
-W1_D3_FRONT3_E	-0.0937818	0.00288903
-W1_D3_FRONT4_E	-0.104433	0.00315917
-W1_D3_FRONT5_E	-0.0963817	0.00313659
-W1_D3_FRONT6_E	-0.0916308	0.00311327
-W1_D3_FRONT7_E	-0.0972906	0.00290672
-W1_D3_FRONT8_E	0.11131	0.00301604
-W1_D3_FRONT9_E	0.106849	0.0029876
-W1_D3_FRONT10_E	0.115998	0.00318336
-W1_D3_FRONT11_E	0.105618	0.00304804
-W1_D3_FRONT12_E	0.112477	0.0029977
-W1_D3_FRONT13_E	0.107869	0.00303139
-W1_D3_FRONT14_E	0.111101	0.00311916
-W1_D3_FRONT15_E	0.0942706	0.00294839
-W1_D4_FRONT0_E	-0.106237	0.00320462
-W1_D4_FRONT1_E	-0.107556	0.00322946
-W1_D4_FRONT2_E	-0.105548	0.00321298
-W1_D4_FRONT3_E	-0.0994305	0.00324256
-W1_D4_FRONT4_E	-0.106019	0.00333701
-W1_D4_FRONT5_E	-0.0968631	0.00322453
-W1_D4_FRONT6_E	-0.090939	0.00325191
-W1_D4_FRONT7_E	-0.0977092	0.00319298
-W1_D4_FRONT8_E	0.108767	0.00313147
-W1_D4_FRONT9_E	0.103813	0.00320612
-W1_D4_FRONT10_E	0.099437	0.0031782
-W1_D4_FRONT11_E	0.107628	0.00323347
-W1_D4_FRONT12_E	0.1074	0.00313039
-W1_D4_FRONT13_E	0.108668	0.00321249
-W1_D4_FRONT14_E	0.107253	0.00311194
-W1_D4_FRONT15_E	0.105792	0.00319968
-W1_D5_FRONT0_E	-0.0926958	0.00313827
-W1_D5_FRONT1_E	-0.0781478	0.0029972
-W1_D5_FRONT2_E	-0.0875684	0.00308871
-W1_D5_FRONT3_E	-0.0864434	0.00303376
-W1_D5_FRONT4_E	-0.0995084	0.00307485
-W1_D5_FRONT5_E	-0.0935788	0.00307598
-W1_D5_FRONT6_E	-0.0784211	0.00281207
-W1_D5_FRONT7_E	-0.0938343	0.00301414
-W1_D5_FRONT8_E	0.108972	0.00313808
-W1_D5_FRONT9_E	0.0902796	0.0030484
-W1_D5_FRONT10_E	0.108855	0.00325328
-W1_D5_FRONT11_E	0.10609	0.00297507
-W1_D5_FRONT12_E	0.114456	0.00308329
-W1_D5_FRONT13_E	0.111039	0.00302106
-W1_D5_FRONT14_E	0.106395	0.00309729
-W1_D5_FRONT15_E	0.100863	0.00299315
-W1_D6_FRONT0_E	-0.0937002	0.00308873
-W1_D6_FRONT1_E	-0.0955129	0.00310464
-W1_D6_FRONT2_E	-0.093867	0.00304304
-W1_D6_FRONT3_E	-0.0930797	0.00288798
-W1_D6_FRONT4_E	-0.105773	0.00308994
-W1_D6_FRONT5_E	-0.115415	0.00328086
-W1_D6_FRONT6_E	-0.105691	0.00319607
-W1_D6_FRONT7_E	-0.0986715	0.00291589
-W1_D6_FRONT8_E	0.0458834	0.00317465
-W1_D6_FRONT9_E	0.042146	0.00314579
-W1_D6_FRONT10_E	0.0478421	0.00320616
-W1_D6_FRONT11_E	0.0442898	0.00291247
-W1_D6_FRONT12_E	0.0588161	0.003171
-W1_D6_FRONT13_E	0.0582349	0.00318583
-W1_D6_FRONT14_E	0.0540115	0.00310784
-W1_D6_FRONT15_E	0.0490092	0.00303186
-W1_D1_BACK0_E	0.141285	0.00315736
-W1_D1_BACK1_E	0.136085	0.00310353
-W1_D1_BACK2_E	0.121734	0.00299648
-W1_D1_BACK3_E	0.134276	0.00310799
-W1_D1_BACK4_E	0.133094	0.00307772
-W1_D1_BACK5_E	0.136267	0.00298096
-W1_D1_BACK6_E	0.126339	0.00307072
-W1_D1_BACK7_E	0.130258	0.00305
-W1_D1_BACK8_E	0.138809	0.00301516
-W1_D1_BACK9_E	0.136812	0.00288719
-W1_D1_BACK10_E	0.136392	0.00307875
-W1_D1_BACK11_E	0.13789	0.00307363
-W1_D1_BACK12_E	0.142436	0.00305627
-W1_D1_BACK13_E	0.144578	0.00313217
-W1_D1_BACK14_E	0.150611	0.00320886
-W1_D1_BACK15_E	0.138998	0.00299589
-W1_D2_BACK0_E	0.108039	0.00294835
-W1_D2_BACK1_E	0.110474	0.00306965
-W1_D2_BACK2_E	0.0929269	0.00276709
-W1_D2_BACK3_E	0.105873	0.00295243
-W1_D2_BACK4_E	0.111305	0.0030714
-W1_D2_BACK6_E	0.101776	0.00287688
-W1_D2_BACK7_E	0.103488	0.00306627
-W1_D2_BACK8_E	0.0949924	0.00282114
-W1_D2_BACK9_E	0.0967456	0.00285955
-W1_D2_BACK10_E	0.0954087	0.00301817
-W1_D2_BACK11_E	0.0914745	0.00289314
-W1_D2_BACK12_E	0.0943133	0.00303329
-W1_D2_BACK13_E	0.109057	0.00316903
-W1_D2_BACK14_E	0.096039	0.00299386
-W1_D2_BACK15_E	0.100283	0.0030925
-W1_D3_BACK0_E	0.0593946	0.00311773
-W1_D3_BACK1_E	0.0539663	0.00313847
-W1_D3_BACK2_E	0.0545688	0.00310109
-W1_D3_BACK3_E	0.053254	0.00306743
-W1_D3_BACK4_E	0.0583823	0.00307701
-W1_D3_BACK5_E	0.0547078	0.00302021
-W1_D3_BACK6_E	0.0572073	0.00313382
-W1_D3_BACK7_E	0.0571082	0.0029948
-W1_D3_BACK8_E	0.0426816	0.00307163
-W1_D3_BACK9_E	0.0407515	0.00306729
-W1_D3_BACK10_E	0.0408687	0.00312192
-W1_D3_BACK11_E	0.0439494	0.0029869
-W1_D3_BACK12_E	0.0397818	0.00311219
-W1_D3_BACK13_E	0.0423886	0.00315811
-W1_D3_BACK14_E	0.0402498	0.0030188
-W1_D3_BACK15_E	0.0377333	0.00295917
-W1_D4_BACK0_E	0.0787049	0.00314301
-W1_D4_BACK1_E	0.083133	0.00324427
-W1_D4_BACK2_E	0.0822891	0.00321996
-W1_D4_BACK3_E	0.0764736	0.00312723
-W1_D4_BACK4_E	0.089532	0.00314633
-W1_D4_BACK5_E	0.0862089	0.00318996
-W1_D4_BACK6_E	0.0848565	0.00315434
-W1_D4_BACK7_E	0.0899332	0.00329949
-W1_D4_BACK8_E	0.0855566	0.00324691
-W1_D4_BACK9_E	0.0802422	0.0028576
-W1_D4_BACK10_E	0.0814808	0.00296588
-W1_D4_BACK11_E	0.0774855	0.00309764
-W1_D4_BACK12_E	0.0916775	0.00322433
-W1_D4_BACK13_E	0.0879226	0.00308798
-W1_D4_BACK14_E	0.0786999	0.00316074
-W1_D4_BACK15_E	0.0890562	0.00315636
-W1_D5_BACK0_E	0.0497013	0.00303831
-W1_D5_BACK1_E	0.0558789	0.00305851
-W1_D5_BACK2_E	0.0593762	0.00306661
-W1_D5_BACK3_E	0.0608869	0.00291325
-W1_D5_BACK4_E	0.0619463	0.00311969
-W1_D5_BACK5_E	0.0572087	0.00313044
-W1_D5_BACK6_E	0.0608907	0.00314642
-W1_D5_BACK7_E	0.0530383	0.00273615
-W1_D5_BACK8_E	0.0628523	0.00316916
-W1_D5_BACK9_E	0.0573754	0.00331551
-W1_D5_BACK10_E	0.0608419	0.00323566
-W1_D5_BACK11_E	0.0542677	0.00314917
-W1_D5_BACK12_E	0.0512325	0.00307527
-W1_D5_BACK13_E	0.0587194	0.00316172
-W1_D5_BACK14_E	0.0542702	0.00322527
-W1_D5_BACK15_E	0.0548464	0.00294143
-W1_D6_BACK0_E	-0.132254	0.00316646
-W1_D6_BACK1_E	-0.113267	0.00280362
-W1_D6_BACK2_E	-0.120358	0.00299015
-W1_D6_BACK3_E	-0.114231	0.0031603
-W1_D6_BACK4_E	-0.116273	0.00292868
-W1_D6_BACK5_E	-0.107985	0.00296106
-W1_D6_BACK6_E	-0.129998	0.00312986
-W1_D6_BACK7_E	-0.115625	0.00288843
-W1_D6_BACK8_E	-0.1424	0.00305965
-W1_D6_BACK9_E	-0.135977	0.00300418
-W1_D6_BACK10_E	-0.15632	0.00309986
-W1_D6_BACK11_E	-0.14696	0.00296463
-W1_D6_BACK12_E	-0.136747	0.00310974
-W1_D6_BACK13_E	-0.141839	0.00326506
-W1_D6_BACK14_E	-0.14619	0.00319616
-W1_D6_BACK15_E	-0.135861	0.00323235
diff --git a/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter.txt b/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter.txt
new file mode 120000
index 0000000000000000000000000000000000000000..ac955b039ece87086a64d014ef4271c4c568c431
--- /dev/null
+++ b/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter.txt
@@ -0,0 +1 @@
+W1CalibrationAfter_Alphas.txt
\ No newline at end of file
diff --git a/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter_Alphas.txt b/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter_Alphas.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c77dd600e6f844beb5b22ada076e10480d35d32f
--- /dev/null
+++ b/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter_Alphas.txt
@@ -0,0 +1,189 @@
+W1_D1_FRONT0_E	-0.0374946	0.00313435
+W1_D1_FRONT1_E	-0.0346214	0.00310898
+W1_D1_FRONT2_E	-0.0392679	0.00306224
+W1_D1_FRONT3_E	-0.0336455	0.00306197
+W1_D1_FRONT4_E	-0.026271	0.00304634
+W1_D1_FRONT5_E	-0.0290291	0.00299834
+W1_D1_FRONT6_E	-0.0327041	0.00290766
+W1_D1_FRONT7_E	-0.0483566	0.0031674
+W1_D1_FRONT8_E	0.170032	0.00301689
+W1_D1_FRONT9_E	0.176806	0.00312019
+W1_D1_FRONT10_E	0.176549	0.00308745
+W1_D1_FRONT11_E	0.176353	0.00297558
+W1_D1_FRONT12_E	0.186028	0.00304833
+W1_D1_FRONT13_E	0.187662	0.00307804
+W1_D1_FRONT14_E	0.187221	0.00303517
+W1_D1_FRONT15_E	0.161276	0.00300656
+W1_D2_FRONT0_E	-0.0979193	0.0058907
+W1_D2_FRONT1_E	-0.0532691	0.00293438
+W1_D2_FRONT2_E	-0.0498002	0.00295577
+W1_D2_FRONT3_E	-0.0508993	0.00303588
+W1_D2_FRONT4_E	-0.0343367	0.00268978
+W1_D2_FRONT5_E	-0.047335	0.00299963
+W1_D2_FRONT6_E	-0.0640107	0.00311032
+W1_D2_FRONT7_E	-0.0493701	0.00314182
+W1_D2_FRONT8_E	0.103224	0.00311626
+W1_D2_FRONT9_E	0.0823711	0.00276323
+W1_D2_FRONT10_E	0.072795	0.00266832
+W1_D2_FRONT11_E	0.100432	0.00308344
+W1_D2_FRONT12_E	0.0763245	0.00264991
+W1_D2_FRONT15_E	0.0889782	0.00301
+W1_D3_FRONT0_E	0.055114	0.00309023
+W1_D3_FRONT1_E	0.0569066	0.00293334
+W1_D3_FRONT2_E	0.0510186	0.00307503
+W1_D3_FRONT3_E	0.0691202	0.00288903
+W1_D3_FRONT4_E	0.0585733	0.00315917
+W1_D3_FRONT5_E	0.063849	0.00313659
+W1_D3_FRONT6_E	0.0743761	0.00311327
+W1_D3_FRONT7_E	0.0721962	0.00290672
+W1_D3_FRONT8_E	0.290764	0.00301604
+W1_D3_FRONT9_E	0.281278	0.0029876
+W1_D3_FRONT10_E	0.291379	0.00318336
+W1_D3_FRONT11_E	0.273846	0.00304804
+W1_D3_FRONT12_E	0.272905	0.0029977
+W1_D3_FRONT13_E	0.27668	0.00303139
+W1_D3_FRONT14_E	0.300862	0.00311916
+W1_D3_FRONT15_E	0.251018	0.00294839
+W1_D4_FRONT0_E	-0.113648	0.00320462
+W1_D4_FRONT1_E	-0.0977797	0.00322946
+W1_D4_FRONT2_E	-0.0940088	0.00321298
+W1_D4_FRONT3_E	-0.106082	0.00324256
+W1_D4_FRONT4_E	-0.114355	0.00333701
+W1_D4_FRONT5_E	-0.104598	0.00322453
+W1_D4_FRONT6_E	-0.103045	0.00325191
+W1_D4_FRONT7_E	-0.103857	0.00319298
+W1_D4_FRONT8_E	0.111306	0.00313147
+W1_D4_FRONT9_E	0.112831	0.00320612
+W1_D4_FRONT10_E	0.110719	0.0031782
+W1_D4_FRONT11_E	0.109432	0.00323347
+W1_D4_FRONT12_E	0.10889	0.00313039
+W1_D4_FRONT13_E	0.108809	0.00321249
+W1_D4_FRONT14_E	0.111386	0.00311194
+W1_D4_FRONT15_E	0.110918	0.00319968
+W1_D5_FRONT0_E	-0.0699718	0.00313827
+W1_D5_FRONT1_E	-0.0705268	0.0029972
+W1_D5_FRONT2_E	-0.0736351	0.00308871
+W1_D5_FRONT3_E	-0.0778383	0.00303376
+W1_D5_FRONT4_E	-0.0903923	0.00307485
+W1_D5_FRONT5_E	-0.0900784	0.00307598
+W1_D5_FRONT6_E	-0.0759948	0.00281207
+W1_D5_FRONT7_E	-0.0892116	0.00301414
+W1_D5_FRONT8_E	0.109218	0.00313808
+W1_D5_FRONT9_E	0.0980776	0.0030484
+W1_D5_FRONT10_E	0.115222	0.00325328
+W1_D5_FRONT11_E	0.105662	0.00297507
+W1_D5_FRONT12_E	0.113681	0.00308329
+W1_D5_FRONT13_E	0.101671	0.00302106
+W1_D5_FRONT14_E	0.105752	0.00309729
+W1_D5_FRONT15_E	0.0960869	0.00299315
+W1_D6_FRONT0_E	-0.089103	0.00308873
+W1_D6_FRONT1_E	-0.0964397	0.00310464
+W1_D6_FRONT2_E	-0.0965548	0.00304304
+W1_D6_FRONT3_E	-0.0901087	0.00288798
+W1_D6_FRONT4_E	-0.10573	0.00308994
+W1_D6_FRONT5_E	-0.0920198	0.00328086
+W1_D6_FRONT6_E	-0.101256	0.00319607
+W1_D6_FRONT7_E	-0.0955271	0.00291589
+W1_D6_FRONT8_E	0.0667678	0.00317465
+W1_D6_FRONT9_E	0.0502573	0.00314579
+W1_D6_FRONT10_E	0.0645581	0.00320616
+W1_D6_FRONT11_E	0.0414857	0.00291247
+W1_D6_FRONT12_E	0.0667631	0.003171
+W1_D6_FRONT13_E	0.0678395	0.00318583
+W1_D6_FRONT14_E	0.0640303	0.00310784
+W1_D6_FRONT15_E	0.0595904	0.00303186
+W1_D1_BACK0_E	0.173483	0.00315736
+W1_D1_BACK1_E	0.137622	0.00310353
+W1_D1_BACK2_E	0.129469	0.00299648
+W1_D1_BACK3_E	0.161282	0.00310799
+W1_D1_BACK4_E	0.1424	0.00307772
+W1_D1_BACK5_E	0.14556	0.00298096
+W1_D1_BACK6_E	0.131341	0.00307072
+W1_D1_BACK7_E	0.145144	0.00305
+W1_D1_BACK8_E	0.162712	0.00301516
+W1_D1_BACK9_E	0.144573	0.00288719
+W1_D1_BACK10_E	0.151379	0.00307875
+W1_D1_BACK11_E	0.16862	0.00307363
+W1_D1_BACK12_E	0.151293	0.00305627
+W1_D1_BACK13_E	0.165298	0.00313217
+W1_D1_BACK14_E	0.174689	0.00320886
+W1_D1_BACK15_E	0.143586	0.00299589
+W1_D2_BACK0_E	0.135287	0.00294835
+W1_D2_BACK1_E	0.124781	0.00306965
+W1_D2_BACK2_E	0.0847689	0.00276709
+W1_D2_BACK3_E	0.118689	0.00295243
+W1_D2_BACK4_E	0.164057	0.0030714
+W1_D2_BACK6_E	0.131955	0.00287688
+W1_D2_BACK7_E	0.106528	0.00306627
+W1_D2_BACK8_E	0.111893	0.00282114
+W1_D2_BACK9_E	0.0871934	0.00285955
+W1_D2_BACK10_E	0.130607	0.00301817
+W1_D2_BACK11_E	0.10835	0.00289314
+W1_D2_BACK12_E	0.13728	0.00303329
+W1_D2_BACK13_E	0.123628	0.00316903
+W1_D2_BACK14_E	0.115932	0.00299386
+W1_D2_BACK15_E	0.167929	0.0030925
+W1_D3_BACK0_E	0.221194	0.00311773
+W1_D3_BACK1_E	0.211406	0.00313847
+W1_D3_BACK2_E	0.223881	0.00310109
+W1_D3_BACK3_E	0.235672	0.00306743
+W1_D3_BACK4_E	0.219353	0.00307701
+W1_D3_BACK5_E	0.208886	0.00302021
+W1_D3_BACK6_E	0.228751	0.00313382
+W1_D3_BACK7_E	0.217137	0.0029948
+W1_D3_BACK8_E	0.205286	0.00307163
+W1_D3_BACK9_E	0.213658	0.00306729
+W1_D3_BACK10_E	0.224095	0.00312192
+W1_D3_BACK11_E	0.217107	0.0029869
+W1_D3_BACK12_E	0.210618	0.00311219
+W1_D3_BACK13_E	0.215078	0.00315811
+W1_D3_BACK14_E	0.215376	0.0030188
+W1_D3_BACK15_E	0.216017	0.00295917
+W1_D4_BACK0_E	0.0830018	0.00314301
+W1_D4_BACK1_E	0.0880262	0.00324427
+W1_D4_BACK2_E	0.10008	0.00321996
+W1_D4_BACK3_E	0.0886359	0.00312723
+W1_D4_BACK4_E	0.110151	0.00314633
+W1_D4_BACK5_E	0.0978007	0.00318996
+W1_D4_BACK6_E	0.104021	0.00315434
+W1_D4_BACK7_E	0.101043	0.00329949
+W1_D4_BACK8_E	0.106799	0.00324691
+W1_D4_BACK9_E	0.0856496	0.0028576
+W1_D4_BACK10_E	0.08172	0.00296588
+W1_D4_BACK11_E	0.0943651	0.00309764
+W1_D4_BACK12_E	0.105963	0.00322433
+W1_D4_BACK13_E	0.110138	0.00308798
+W1_D4_BACK14_E	0.104546	0.00316074
+W1_D4_BACK15_E	0.103607	0.00315636
+W1_D5_BACK0_E	0.0661491	0.00303831
+W1_D5_BACK1_E	0.0720499	0.00305851
+W1_D5_BACK2_E	0.0737563	0.00306661
+W1_D5_BACK3_E	0.0797965	0.00291325
+W1_D5_BACK4_E	0.0808423	0.00311969
+W1_D5_BACK5_E	0.0862007	0.00313044
+W1_D5_BACK6_E	0.082346	0.00314642
+W1_D5_BACK7_E	0.0670972	0.00273615
+W1_D5_BACK8_E	0.0804597	0.00316916
+W1_D5_BACK9_E	0.074122	0.00331551
+W1_D5_BACK10_E	0.0809874	0.00323566
+W1_D5_BACK11_E	0.0782995	0.00314917
+W1_D5_BACK12_E	0.0711633	0.00307527
+W1_D5_BACK13_E	0.0775965	0.00316172
+W1_D5_BACK14_E	0.069109	0.00322527
+W1_D5_BACK15_E	0.0713914	0.00294143
+W1_D6_BACK0_E	-0.109198	0.00316646
+W1_D6_BACK1_E	-0.0949444	0.00280362
+W1_D6_BACK2_E	-0.103846	0.00299015
+W1_D6_BACK3_E	-0.0931834	0.0031603
+W1_D6_BACK4_E	-0.0987492	0.00292868
+W1_D6_BACK5_E	-0.097186	0.00296106
+W1_D6_BACK6_E	-0.106213	0.00312986
+W1_D6_BACK7_E	-0.108175	0.00288843
+W1_D6_BACK8_E	-0.120279	0.00305965
+W1_D6_BACK9_E	-0.1186	0.00300418
+W1_D6_BACK10_E	-0.133702	0.00309986
+W1_D6_BACK11_E	-0.127593	0.00296463
+W1_D6_BACK12_E	-0.113575	0.00310974
+W1_D6_BACK13_E	-0.115547	0.00326506
+W1_D6_BACK14_E	-0.119331	0.00319616
+W1_D6_BACK15_E	-0.107169	0.00323235
diff --git a/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter_PulserAlphas.txt b/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter_PulserAlphas.txt
new file mode 100644
index 0000000000000000000000000000000000000000..23d198ecc65d51b70f24b5448473dde7e50b4dce
--- /dev/null
+++ b/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter_PulserAlphas.txt
@@ -0,0 +1,189 @@
+W1_D1_FRONT0_E	-0.0409549	0.00313435
+W1_D1_FRONT1_E	-0.0410288	0.00310898
+W1_D1_FRONT2_E	-0.051105	0.00306224
+W1_D1_FRONT3_E	-0.0426837	0.00306197
+W1_D1_FRONT4_E	-0.0397345	0.00304634
+W1_D1_FRONT5_E	-0.0417703	0.00299834
+W1_D1_FRONT6_E	-0.0381822	0.00290766
+W1_D1_FRONT7_E	-0.0478144	0.0031674
+W1_D1_FRONT8_E	0.164374	0.00301689
+W1_D1_FRONT9_E	0.170624	0.00312019
+W1_D1_FRONT10_E	0.162643	0.00308745
+W1_D1_FRONT11_E	0.160185	0.00297558
+W1_D1_FRONT12_E	0.173052	0.00304833
+W1_D1_FRONT13_E	0.172715	0.00307804
+W1_D1_FRONT14_E	0.169941	0.00303517
+W1_D1_FRONT15_E	0.15915	0.00300656
+W1_D2_FRONT0_E	-0.0941011	0.0058907
+W1_D2_FRONT1_E	-0.0500382	0.00293438
+W1_D2_FRONT2_E	-0.0514812	0.00295577
+W1_D2_FRONT3_E	-0.054977	0.00303588
+W1_D2_FRONT4_E	-0.0445269	0.00268978
+W1_D2_FRONT5_E	-0.0469042	0.00299963
+W1_D2_FRONT6_E	-0.0624968	0.00311032
+W1_D2_FRONT7_E	-0.0549835	0.00314182
+W1_D2_FRONT8_E	0.0918539	0.00311626
+W1_D2_FRONT9_E	0.0833332	0.00276323
+W1_D2_FRONT10_E	0.0745729	0.00266832
+W1_D2_FRONT11_E	0.0949944	0.00308344
+W1_D2_FRONT12_E	0.082602	0.00264991
+W1_D2_FRONT15_E	0.0881102	0.00301
+W1_D3_FRONT0_E	-0.100997	0.00309023
+W1_D3_FRONT1_E	-0.0990846	0.00293334
+W1_D3_FRONT2_E	-0.0973923	0.00307503
+W1_D3_FRONT3_E	-0.0937818	0.00288903
+W1_D3_FRONT4_E	-0.104433	0.00315917
+W1_D3_FRONT5_E	-0.0963817	0.00313659
+W1_D3_FRONT6_E	-0.0916308	0.00311327
+W1_D3_FRONT7_E	-0.0972906	0.00290672
+W1_D3_FRONT8_E	0.11131	0.00301604
+W1_D3_FRONT9_E	0.106849	0.0029876
+W1_D3_FRONT10_E	0.115998	0.00318336
+W1_D3_FRONT11_E	0.105618	0.00304804
+W1_D3_FRONT12_E	0.112477	0.0029977
+W1_D3_FRONT13_E	0.107869	0.00303139
+W1_D3_FRONT14_E	0.111101	0.00311916
+W1_D3_FRONT15_E	0.0942706	0.00294839
+W1_D4_FRONT0_E	-0.106237	0.00320462
+W1_D4_FRONT1_E	-0.107556	0.00322946
+W1_D4_FRONT2_E	-0.105548	0.00321298
+W1_D4_FRONT3_E	-0.0994305	0.00324256
+W1_D4_FRONT4_E	-0.106019	0.00333701
+W1_D4_FRONT5_E	-0.0968631	0.00322453
+W1_D4_FRONT6_E	-0.090939	0.00325191
+W1_D4_FRONT7_E	-0.0977092	0.00319298
+W1_D4_FRONT8_E	0.108767	0.00313147
+W1_D4_FRONT9_E	0.103813	0.00320612
+W1_D4_FRONT10_E	0.099437	0.0031782
+W1_D4_FRONT11_E	0.107628	0.00323347
+W1_D4_FRONT12_E	0.1074	0.00313039
+W1_D4_FRONT13_E	0.108668	0.00321249
+W1_D4_FRONT14_E	0.107253	0.00311194
+W1_D4_FRONT15_E	0.105792	0.00319968
+W1_D5_FRONT0_E	-0.0926958	0.00313827
+W1_D5_FRONT1_E	-0.0781478	0.0029972
+W1_D5_FRONT2_E	-0.0875684	0.00308871
+W1_D5_FRONT3_E	-0.0864434	0.00303376
+W1_D5_FRONT4_E	-0.0995084	0.00307485
+W1_D5_FRONT5_E	-0.0935788	0.00307598
+W1_D5_FRONT6_E	-0.0784211	0.00281207
+W1_D5_FRONT7_E	-0.0938343	0.00301414
+W1_D5_FRONT8_E	0.108972	0.00313808
+W1_D5_FRONT9_E	0.0902796	0.0030484
+W1_D5_FRONT10_E	0.108855	0.00325328
+W1_D5_FRONT11_E	0.10609	0.00297507
+W1_D5_FRONT12_E	0.114456	0.00308329
+W1_D5_FRONT13_E	0.111039	0.00302106
+W1_D5_FRONT14_E	0.106395	0.00309729
+W1_D5_FRONT15_E	0.100863	0.00299315
+W1_D6_FRONT0_E	-0.0937002	0.00308873
+W1_D6_FRONT1_E	-0.0955129	0.00310464
+W1_D6_FRONT2_E	-0.093867	0.00304304
+W1_D6_FRONT3_E	-0.0930797	0.00288798
+W1_D6_FRONT4_E	-0.105773	0.00308994
+W1_D6_FRONT5_E	-0.115415	0.00328086
+W1_D6_FRONT6_E	-0.105691	0.00319607
+W1_D6_FRONT7_E	-0.0986715	0.00291589
+W1_D6_FRONT8_E	0.0458834	0.00317465
+W1_D6_FRONT9_E	0.042146	0.00314579
+W1_D6_FRONT10_E	0.0478421	0.00320616
+W1_D6_FRONT11_E	0.0442898	0.00291247
+W1_D6_FRONT12_E	0.0588161	0.003171
+W1_D6_FRONT13_E	0.0582349	0.00318583
+W1_D6_FRONT14_E	0.0540115	0.00310784
+W1_D6_FRONT15_E	0.0490092	0.00303186
+W1_D1_BACK0_E	0.141285	0.00315736
+W1_D1_BACK1_E	0.136085	0.00310353
+W1_D1_BACK2_E	0.121734	0.00299648
+W1_D1_BACK3_E	0.134276	0.00310799
+W1_D1_BACK4_E	0.133094	0.00307772
+W1_D1_BACK5_E	0.136267	0.00298096
+W1_D1_BACK6_E	0.126339	0.00307072
+W1_D1_BACK7_E	0.130258	0.00305
+W1_D1_BACK8_E	0.138809	0.00301516
+W1_D1_BACK9_E	0.136812	0.00288719
+W1_D1_BACK10_E	0.136392	0.00307875
+W1_D1_BACK11_E	0.13789	0.00307363
+W1_D1_BACK12_E	0.142436	0.00305627
+W1_D1_BACK13_E	0.144578	0.00313217
+W1_D1_BACK14_E	0.150611	0.00320886
+W1_D1_BACK15_E	0.138998	0.00299589
+W1_D2_BACK0_E	0.108039	0.00294835
+W1_D2_BACK1_E	0.110474	0.00306965
+W1_D2_BACK2_E	0.0929269	0.00276709
+W1_D2_BACK3_E	0.105873	0.00295243
+W1_D2_BACK4_E	0.111305	0.0030714
+W1_D2_BACK6_E	0.101776	0.00287688
+W1_D2_BACK7_E	0.103488	0.00306627
+W1_D2_BACK8_E	0.0949924	0.00282114
+W1_D2_BACK9_E	0.0967456	0.00285955
+W1_D2_BACK10_E	0.0954087	0.00301817
+W1_D2_BACK11_E	0.0914745	0.00289314
+W1_D2_BACK12_E	0.0943133	0.00303329
+W1_D2_BACK13_E	0.109057	0.00316903
+W1_D2_BACK14_E	0.096039	0.00299386
+W1_D2_BACK15_E	0.100283	0.0030925
+W1_D3_BACK0_E	0.0593946	0.00311773
+W1_D3_BACK1_E	0.0539663	0.00313847
+W1_D3_BACK2_E	0.0545688	0.00310109
+W1_D3_BACK3_E	0.053254	0.00306743
+W1_D3_BACK4_E	0.0583823	0.00307701
+W1_D3_BACK5_E	0.0547078	0.00302021
+W1_D3_BACK6_E	0.0572073	0.00313382
+W1_D3_BACK7_E	0.0571082	0.0029948
+W1_D3_BACK8_E	0.0426816	0.00307163
+W1_D3_BACK9_E	0.0407515	0.00306729
+W1_D3_BACK10_E	0.0408687	0.00312192
+W1_D3_BACK11_E	0.0439494	0.0029869
+W1_D3_BACK12_E	0.0397818	0.00311219
+W1_D3_BACK13_E	0.0423886	0.00315811
+W1_D3_BACK14_E	0.0402498	0.0030188
+W1_D3_BACK15_E	0.0377333	0.00295917
+W1_D4_BACK0_E	0.0787049	0.00314301
+W1_D4_BACK1_E	0.083133	0.00324427
+W1_D4_BACK2_E	0.0822891	0.00321996
+W1_D4_BACK3_E	0.0764736	0.00312723
+W1_D4_BACK4_E	0.089532	0.00314633
+W1_D4_BACK5_E	0.0862089	0.00318996
+W1_D4_BACK6_E	0.0848565	0.00315434
+W1_D4_BACK7_E	0.0899332	0.00329949
+W1_D4_BACK8_E	0.0855566	0.00324691
+W1_D4_BACK9_E	0.0802422	0.0028576
+W1_D4_BACK10_E	0.0814808	0.00296588
+W1_D4_BACK11_E	0.0774855	0.00309764
+W1_D4_BACK12_E	0.0916775	0.00322433
+W1_D4_BACK13_E	0.0879226	0.00308798
+W1_D4_BACK14_E	0.0786999	0.00316074
+W1_D4_BACK15_E	0.0890562	0.00315636
+W1_D5_BACK0_E	0.0497013	0.00303831
+W1_D5_BACK1_E	0.0558789	0.00305851
+W1_D5_BACK2_E	0.0593762	0.00306661
+W1_D5_BACK3_E	0.0608869	0.00291325
+W1_D5_BACK4_E	0.0619463	0.00311969
+W1_D5_BACK5_E	0.0572087	0.00313044
+W1_D5_BACK6_E	0.0608907	0.00314642
+W1_D5_BACK7_E	0.0530383	0.00273615
+W1_D5_BACK8_E	0.0628523	0.00316916
+W1_D5_BACK9_E	0.0573754	0.00331551
+W1_D5_BACK10_E	0.0608419	0.00323566
+W1_D5_BACK11_E	0.0542677	0.00314917
+W1_D5_BACK12_E	0.0512325	0.00307527
+W1_D5_BACK13_E	0.0587194	0.00316172
+W1_D5_BACK14_E	0.0542702	0.00322527
+W1_D5_BACK15_E	0.0548464	0.00294143
+W1_D6_BACK0_E	-0.132254	0.00316646
+W1_D6_BACK1_E	-0.113267	0.00280362
+W1_D6_BACK2_E	-0.120358	0.00299015
+W1_D6_BACK3_E	-0.114231	0.0031603
+W1_D6_BACK4_E	-0.116273	0.00292868
+W1_D6_BACK5_E	-0.107985	0.00296106
+W1_D6_BACK6_E	-0.129998	0.00312986
+W1_D6_BACK7_E	-0.115625	0.00288843
+W1_D6_BACK8_E	-0.1424	0.00305965
+W1_D6_BACK9_E	-0.135977	0.00300418
+W1_D6_BACK10_E	-0.15632	0.00309986
+W1_D6_BACK11_E	-0.14696	0.00296463
+W1_D6_BACK12_E	-0.136747	0.00310974
+W1_D6_BACK13_E	-0.141839	0.00326506
+W1_D6_BACK14_E	-0.14619	0.00319616
+W1_D6_BACK15_E	-0.135861	0.00323235
diff --git a/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore.txt b/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore.txt
deleted file mode 100644
index 29c23d87954f4bde4b008d5cfd5e7ef2160ba7ed..0000000000000000000000000000000000000000
--- a/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore.txt
+++ /dev/null
@@ -1,189 +0,0 @@
-W1_D1_FRONT0_E	-0.0470911	0.00313546
-W1_D1_FRONT1_E	-0.0472021	0.00310803
-W1_D1_FRONT2_E	-0.0567854	0.00306771
-W1_D1_FRONT3_E	-0.0487093	0.00306373
-W1_D1_FRONT4_E	-0.0457374	0.00304835
-W1_D1_FRONT5_E	-0.0478813	0.0030036
-W1_D1_FRONT6_E	-0.0445097	0.00290749
-W1_D1_FRONT7_E	-0.05315	0.00316182
-W1_D1_FRONT8_E	0.158632	0.00301553
-W1_D1_FRONT9_E	0.164661	0.00311887
-W1_D1_FRONT10_E	0.157124	0.00308769
-W1_D1_FRONT11_E	0.155147	0.00298356
-W1_D1_FRONT12_E	0.167161	0.00305057
-W1_D1_FRONT13_E	0.166866	0.00307911
-W1_D1_FRONT14_E	0.164171	0.0030383
-W1_D1_FRONT15_E	0.153155	0.00300049
-W1_D2_FRONT0_E	-0.101508	0.00587286
-W1_D2_FRONT1_E	-0.0566293	0.00292841
-W1_D2_FRONT2_E	-0.0579355	0.00295637
-W1_D2_FRONT3_E	-0.0613248	0.00303792
-W1_D2_FRONT4_E	-0.0522171	0.0026988
-W1_D2_FRONT5_E	-0.0546572	0.00299806
-W1_D2_FRONT6_E	-0.0695951	0.00310432
-W1_D2_FRONT7_E	-0.0620475	0.00314018
-W1_D2_FRONT8_E	0.0846581	0.00311718
-W1_D2_FRONT9_E	0.0755482	0.00276272
-W1_D2_FRONT10_E	0.066936	0.00266734
-W1_D2_FRONT11_E	0.0870825	0.00308409
-W1_D2_FRONT12_E	0.0749603	0.00264834
-W1_D2_FRONT15_E	0.0814968	0.00300648
-W1_D3_FRONT0_E	-0.109522	0.00306779
-W1_D3_FRONT1_E	-0.106606	0.00293079
-W1_D3_FRONT2_E	-0.104135	0.00307037
-W1_D3_FRONT3_E	-0.100592	0.00289104
-W1_D3_FRONT4_E	-0.111389	0.00315779
-W1_D3_FRONT5_E	-0.103317	0.00313203
-W1_D3_FRONT6_E	-0.098922	0.0031127
-W1_D3_FRONT7_E	-0.104371	0.00290834
-W1_D3_FRONT8_E	0.10367	0.00302263
-W1_D3_FRONT9_E	0.0982524	0.00299323
-W1_D3_FRONT10_E	0.107239	0.00318111
-W1_D3_FRONT11_E	0.0965583	0.00302867
-W1_D3_FRONT12_E	0.104487	0.00298896
-W1_D3_FRONT13_E	0.0993702	0.00301803
-W1_D3_FRONT14_E	0.10402	0.0031208
-W1_D3_FRONT15_E	0.0866901	0.00293154
-W1_D4_FRONT0_E	-0.11129	0.00319853
-W1_D4_FRONT1_E	-0.112696	0.00323375
-W1_D4_FRONT2_E	-0.110449	0.00321639
-W1_D4_FRONT3_E	-0.105076	0.00324373
-W1_D4_FRONT4_E	-0.112102	0.00333712
-W1_D4_FRONT5_E	-0.102868	0.00322568
-W1_D4_FRONT6_E	-0.0965613	0.00324832
-W1_D4_FRONT7_E	-0.103067	0.00319706
-W1_D4_FRONT8_E	0.104136	0.00313063
-W1_D4_FRONT9_E	0.0986798	0.00320655
-W1_D4_FRONT10_E	0.0951968	0.00317805
-W1_D4_FRONT11_E	0.103234	0.0032335
-W1_D4_FRONT12_E	0.102574	0.00313109
-W1_D4_FRONT13_E	0.104326	0.00320961
-W1_D4_FRONT14_E	0.102583	0.00310959
-W1_D4_FRONT15_E	0.101478	0.00319826
-W1_D5_FRONT0_E	-0.101882	0.00314355
-W1_D5_FRONT1_E	-0.0862697	0.00299523
-W1_D5_FRONT2_E	-0.100383	0.00308853
-W1_D5_FRONT3_E	-0.0960272	0.00303352
-W1_D5_FRONT4_E	-0.108107	0.00307528
-W1_D5_FRONT5_E	-0.102504	0.00307282
-W1_D5_FRONT6_E	-0.088432	0.00281239
-W1_D5_FRONT7_E	-0.103457	0.00301596
-W1_D5_FRONT8_E	0.0987793	0.00313671
-W1_D5_FRONT9_E	0.081488	0.00304994
-W1_D5_FRONT10_E	0.0979433	0.00325377
-W1_D5_FRONT11_E	0.0952734	0.00297725
-W1_D5_FRONT12_E	0.102606	0.00308396
-W1_D5_FRONT13_E	0.0999738	0.00301704
-W1_D5_FRONT14_E	0.0962652	0.00309873
-W1_D5_FRONT15_E	0.0905447	0.00299466
-W1_D6_FRONT0_E	-0.103244	0.00309189
-W1_D6_FRONT1_E	-0.104557	0.0031018
-W1_D6_FRONT2_E	-0.10336	0.00304171
-W1_D6_FRONT3_E	-0.0985242	0.00288986
-W1_D6_FRONT4_E	-0.115152	0.00308888
-W1_D6_FRONT5_E	-0.123671	0.00328476
-W1_D6_FRONT6_E	-0.115025	0.00319241
-W1_D6_FRONT7_E	-0.108393	0.00291834
-W1_D6_FRONT8_E	0.0365876	0.00317769
-W1_D6_FRONT9_E	0.0322429	0.00314283
-W1_D6_FRONT10_E	0.0378282	0.00320613
-W1_D6_FRONT11_E	0.034341	0.00290946
-W1_D6_FRONT12_E	0.0486957	0.00316346
-W1_D6_FRONT13_E	0.0478775	0.00318126
-W1_D6_FRONT14_E	0.0446913	0.00310525
-W1_D6_FRONT15_E	0.0398171	0.00303139
-W1_D1_BACK0_E	0.144942	0.00315811
-W1_D1_BACK1_E	0.139773	0.00309514
-W1_D1_BACK2_E	0.125306	0.00299183
-W1_D1_BACK3_E	0.138545	0.0031121
-W1_D1_BACK4_E	0.13634	0.00307154
-W1_D1_BACK5_E	0.140243	0.00297871
-W1_D1_BACK6_E	0.130033	0.00306213
-W1_D1_BACK7_E	0.132952	0.00304629
-W1_D1_BACK8_E	0.142242	0.00301924
-W1_D1_BACK9_E	0.142315	0.00288188
-W1_D1_BACK10_E	0.139735	0.00307449
-W1_D1_BACK11_E	0.141553	0.00307546
-W1_D1_BACK12_E	0.14596	0.00304931
-W1_D1_BACK13_E	0.148247	0.00312813
-W1_D1_BACK14_E	0.154079	0.00321109
-W1_D1_BACK15_E	0.142503	0.00296339
-W1_D2_BACK0_E	0.114555	0.00296018
-W1_D2_BACK1_E	0.113755	0.00307106
-W1_D2_BACK2_E	0.0981691	0.00275731
-W1_D2_BACK3_E	0.108195	0.0029538
-W1_D2_BACK4_E	0.114694	0.00308908
-W1_D2_BACK6_E	0.107892	0.00289905
-W1_D2_BACK7_E	0.10566	0.00306807
-W1_D2_BACK8_E	0.0996713	0.00282487
-W1_D2_BACK9_E	0.101278	0.0028536
-W1_D2_BACK10_E	0.098844	0.00301949
-W1_D2_BACK11_E	0.0962195	0.00289884
-W1_D2_BACK12_E	0.0967221	0.00304685
-W1_D2_BACK13_E	0.110764	0.00316417
-W1_D2_BACK14_E	0.0986761	0.00298733
-W1_D2_BACK15_E	0.103461	0.00312077
-W1_D3_BACK0_E	0.0557252	0.00310457
-W1_D3_BACK1_E	0.0506927	0.00312213
-W1_D3_BACK2_E	0.0539748	0.00308992
-W1_D3_BACK3_E	0.0532231	0.00306339
-W1_D3_BACK4_E	0.0546146	0.00306567
-W1_D3_BACK5_E	0.049928	0.00300604
-W1_D3_BACK6_E	0.0536454	0.00312716
-W1_D3_BACK7_E	0.0510576	0.00298797
-W1_D3_BACK8_E	0.0385472	0.00306228
-W1_D3_BACK9_E	0.0472383	0.00305881
-W1_D3_BACK10_E	0.045564	0.00311952
-W1_D3_BACK11_E	0.0469718	0.00298503
-W1_D3_BACK12_E	0.0441573	0.00310813
-W1_D3_BACK13_E	0.0455146	0.00315068
-W1_D3_BACK14_E	0.0446752	0.00301757
-W1_D3_BACK15_E	0.0413732	0.00295464
-W1_D4_BACK0_E	0.0843994	0.00312618
-W1_D4_BACK1_E	0.0893547	0.00323695
-W1_D4_BACK2_E	0.088054	0.0032212
-W1_D4_BACK3_E	0.0818549	0.00312569
-W1_D4_BACK4_E	0.0937239	0.00314846
-W1_D4_BACK5_E	0.0909748	0.00318859
-W1_D4_BACK6_E	0.0897291	0.00315863
-W1_D4_BACK7_E	0.0951684	0.00329822
-W1_D4_BACK8_E	0.0910699	0.00324943
-W1_D4_BACK9_E	0.0837377	0.0028592
-W1_D4_BACK10_E	0.0848928	0.00295914
-W1_D4_BACK11_E	0.0825768	0.00309815
-W1_D4_BACK12_E	0.0968595	0.00322098
-W1_D4_BACK13_E	0.0932317	0.00308784
-W1_D4_BACK14_E	0.084557	0.00316336
-W1_D4_BACK15_E	0.0936079	0.00314289
-W1_D5_BACK0_E	0.051925	0.00303819
-W1_D5_BACK1_E	0.0577513	0.00305989
-W1_D5_BACK2_E	0.0606664	0.00306752
-W1_D5_BACK3_E	0.0626186	0.00292008
-W1_D5_BACK4_E	0.0651779	0.00311829
-W1_D5_BACK5_E	0.0604308	0.00313221
-W1_D5_BACK6_E	0.0626782	0.00315154
-W1_D5_BACK7_E	0.0543598	0.00273612
-W1_D5_BACK8_E	0.0650053	0.00317205
-W1_D5_BACK9_E	0.0599825	0.0033174
-W1_D5_BACK10_E	0.0636803	0.00323966
-W1_D5_BACK11_E	0.0571116	0.00315416
-W1_D5_BACK12_E	0.0544097	0.00307805
-W1_D5_BACK13_E	0.0613223	0.00316234
-W1_D5_BACK14_E	0.0573792	0.00322286
-W1_D5_BACK15_E	0.0573742	0.00294563
-W1_D6_BACK0_E	-0.12658	0.00316839
-W1_D6_BACK1_E	-0.1064	0.00280906
-W1_D6_BACK2_E	-0.116376	0.00299054
-W1_D6_BACK3_E	-0.111267	0.00316048
-W1_D6_BACK4_E	-0.111381	0.00293191
-W1_D6_BACK5_E	-0.101893	0.00296066
-W1_D6_BACK6_E	-0.126391	0.00313242
-W1_D6_BACK7_E	-0.110646	0.00288933
-W1_D6_BACK8_E	-0.138263	0.00306012
-W1_D6_BACK9_E	-0.132171	0.00300561
-W1_D6_BACK10_E	-0.152657	0.00310294
-W1_D6_BACK11_E	-0.140951	0.00296906
-W1_D6_BACK12_E	-0.133489	0.00311119
-W1_D6_BACK13_E	-0.139044	0.00326406
-W1_D6_BACK14_E	-0.142715	0.00319736
-W1_D6_BACK15_E	-0.132293	0.00323413
diff --git a/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore.txt b/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore.txt
new file mode 120000
index 0000000000000000000000000000000000000000..0d413c258db4284a40541899268ee43090e80400
--- /dev/null
+++ b/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore.txt
@@ -0,0 +1 @@
+W1CalibrationBefore_Alphas.txt
\ No newline at end of file
diff --git a/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore_Alphas.txt b/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore_Alphas.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b9ad68303ce2827bbdc13ee053cceda2508466b3
--- /dev/null
+++ b/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore_Alphas.txt
@@ -0,0 +1,189 @@
+W1_D1_FRONT0_E	-0.0448862	0.00313546
+W1_D1_FRONT1_E	-0.0415625	0.00310803
+W1_D1_FRONT2_E	-0.0535406	0.00306771
+W1_D1_FRONT3_E	-0.0415368	0.00306373
+W1_D1_FRONT4_E	-0.0415308	0.00304835
+W1_D1_FRONT5_E	-0.043174	0.0030036
+W1_D1_FRONT6_E	-0.0372442	0.00290749
+W1_D1_FRONT7_E	-0.0430264	0.00316182
+W1_D1_FRONT8_E	0.167758	0.00301553
+W1_D1_FRONT9_E	0.175188	0.00311887
+W1_D1_FRONT10_E	0.171514	0.00308769
+W1_D1_FRONT11_E	0.157914	0.00298356
+W1_D1_FRONT12_E	0.17859	0.00305057
+W1_D1_FRONT13_E	0.181455	0.00307911
+W1_D1_FRONT14_E	0.177723	0.0030383
+W1_D1_FRONT15_E	0.166281	0.00300049
+W1_D2_FRONT0_E	-0.093888	0.00587286
+W1_D2_FRONT1_E	-0.0568984	0.00292841
+W1_D2_FRONT2_E	-0.0535348	0.00295637
+W1_D2_FRONT3_E	-0.0607089	0.00303792
+W1_D2_FRONT4_E	-0.0557778	0.0026988
+W1_D2_FRONT5_E	-0.0511223	0.00299806
+W1_D2_FRONT6_E	-0.0575184	0.00310432
+W1_D2_FRONT7_E	-0.0580339	0.00314018
+W1_D2_FRONT8_E	0.0957564	0.00311718
+W1_D2_FRONT9_E	0.0755482	0.00276272
+W1_D2_FRONT10_E	0.0699404	0.00266734
+W1_D2_FRONT11_E	0.0945361	0.00308409
+W1_D2_FRONT12_E	0.0758661	0.00264834
+W1_D2_FRONT15_E	0.0871373	0.00300648
+W1_D3_FRONT0_E	0.0597626	0.00306779
+W1_D3_FRONT1_E	0.0535111	0.00293079
+W1_D3_FRONT2_E	0.0575016	0.00307037
+W1_D3_FRONT3_E	0.0583479	0.00289104
+W1_D3_FRONT4_E	0.0564459	0.00315779
+W1_D3_FRONT5_E	0.0605975	0.00313203
+W1_D3_FRONT6_E	0.0663282	0.0031127
+W1_D3_FRONT7_E	0.064046	0.00290834
+W1_D3_FRONT8_E	0.266668	0.00302263
+W1_D3_FRONT9_E	0.259855	0.00299323
+W1_D3_FRONT10_E	0.283839	0.00318111
+W1_D3_FRONT11_E	0.266658	0.00302867
+W1_D3_FRONT12_E	0.276428	0.00298896
+W1_D3_FRONT13_E	0.272289	0.00301803
+W1_D3_FRONT14_E	0.287584	0.0031208
+W1_D3_FRONT15_E	0.267754	0.00293154
+W1_D4_FRONT0_E	-0.107011	0.00319853
+W1_D4_FRONT1_E	-0.109209	0.00323375
+W1_D4_FRONT2_E	-0.104319	0.00321639
+W1_D4_FRONT3_E	-0.112472	0.00324373
+W1_D4_FRONT4_E	-0.118238	0.00333712
+W1_D4_FRONT5_E	-0.111243	0.00322568
+W1_D4_FRONT6_E	-0.100945	0.00324832
+W1_D4_FRONT7_E	-0.115507	0.00319706
+W1_D4_FRONT8_E	0.107864	0.00313063
+W1_D4_FRONT9_E	0.107829	0.00320655
+W1_D4_FRONT10_E	0.106358	0.00317805
+W1_D4_FRONT11_E	0.105098	0.0032335
+W1_D4_FRONT12_E	0.102505	0.00313109
+W1_D4_FRONT13_E	0.109474	0.00320961
+W1_D4_FRONT14_E	0.110842	0.00310959
+W1_D4_FRONT15_E	0.107954	0.00319826
+W1_D5_FRONT0_E	-0.0880202	0.00314355
+W1_D5_FRONT1_E	-0.0776585	0.00299523
+W1_D5_FRONT2_E	-0.083754	0.00308853
+W1_D5_FRONT3_E	-0.0870093	0.00303352
+W1_D5_FRONT4_E	-0.100636	0.00307528
+W1_D5_FRONT5_E	-0.0954558	0.00307282
+W1_D5_FRONT6_E	-0.0865683	0.00281239
+W1_D5_FRONT7_E	-0.103378	0.00301596
+W1_D5_FRONT8_E	0.100377	0.00313671
+W1_D5_FRONT9_E	0.0840931	0.00304994
+W1_D5_FRONT10_E	0.103581	0.00325377
+W1_D5_FRONT11_E	0.0892529	0.00297725
+W1_D5_FRONT12_E	0.102566	0.00308396
+W1_D5_FRONT13_E	0.0977577	0.00301704
+W1_D5_FRONT14_E	0.092974	0.00309873
+W1_D5_FRONT15_E	0.083323	0.00299466
+W1_D6_FRONT0_E	-0.0936235	0.00309189
+W1_D6_FRONT1_E	-0.0941648	0.0031018
+W1_D6_FRONT2_E	-0.0999697	0.00304171
+W1_D6_FRONT3_E	-0.101098	0.00288986
+W1_D6_FRONT4_E	-0.110115	0.00308888
+W1_D6_FRONT5_E	-0.103371	0.00328476
+W1_D6_FRONT6_E	-0.100648	0.00319241
+W1_D6_FRONT7_E	-0.106577	0.00291834
+W1_D6_FRONT8_E	0.0553738	0.00317769
+W1_D6_FRONT9_E	0.049226	0.00314283
+W1_D6_FRONT10_E	0.0589021	0.00320613
+W1_D6_FRONT11_E	0.0404431	0.00290946
+W1_D6_FRONT12_E	0.0734172	0.00316346
+W1_D6_FRONT13_E	0.0697882	0.00318126
+W1_D6_FRONT14_E	0.0623486	0.00310525
+W1_D6_FRONT15_E	0.0544261	0.00303139
+W1_D1_BACK0_E	0.141419	0.00315811
+W1_D1_BACK1_E	0.142526	0.00309514
+W1_D1_BACK2_E	0.128216	0.00299183
+W1_D1_BACK3_E	0.145349	0.0031121
+W1_D1_BACK4_E	0.145013	0.00307154
+W1_D1_BACK5_E	0.142755	0.00297871
+W1_D1_BACK6_E	0.137755	0.00306213
+W1_D1_BACK7_E	0.14326	0.00304629
+W1_D1_BACK8_E	0.147072	0.00301924
+W1_D1_BACK9_E	0.145301	0.00288188
+W1_D1_BACK10_E	0.149556	0.00307449
+W1_D1_BACK11_E	0.156725	0.00307546
+W1_D1_BACK12_E	0.154892	0.00304931
+W1_D1_BACK13_E	0.164545	0.00312813
+W1_D1_BACK14_E	0.162602	0.00321109
+W1_D1_BACK15_E	0.160406	0.00296339
+W1_D2_BACK0_E	0.108053	0.00296018
+W1_D2_BACK1_E	0.114882	0.00307106
+W1_D2_BACK2_E	0.0968849	0.00275731
+W1_D2_BACK3_E	0.109123	0.0029538
+W1_D2_BACK4_E	0.125613	0.00308908
+W1_D2_BACK6_E	0.0856027	0.00289905
+W1_D2_BACK7_E	0.0987126	0.00306807
+W1_D2_BACK8_E	0.0965695	0.00282487
+W1_D2_BACK9_E	0.0930165	0.0028536
+W1_D2_BACK10_E	0.120296	0.00301949
+W1_D2_BACK11_E	0.0888989	0.00289884
+W1_D2_BACK12_E	0.105851	0.00304685
+W1_D2_BACK13_E	0.122183	0.00316417
+W1_D2_BACK14_E	0.120405	0.00298733
+W1_D2_BACK15_E	0.112028	0.00312077
+W1_D3_BACK0_E	0.223477	0.00310457
+W1_D3_BACK1_E	0.223037	0.00312213
+W1_D3_BACK2_E	0.227992	0.00308992
+W1_D3_BACK3_E	0.227288	0.00306339
+W1_D3_BACK4_E	0.219388	0.00306567
+W1_D3_BACK5_E	0.21514	0.00300604
+W1_D3_BACK6_E	0.221656	0.00312716
+W1_D3_BACK7_E	0.211746	0.00298797
+W1_D3_BACK8_E	0.203713	0.00306228
+W1_D3_BACK9_E	0.212651	0.00305881
+W1_D3_BACK10_E	0.210197	0.00311952
+W1_D3_BACK11_E	0.203928	0.00298503
+W1_D3_BACK12_E	0.204322	0.00310813
+W1_D3_BACK13_E	0.211001	0.00315068
+W1_D3_BACK14_E	0.204289	0.00301757
+W1_D3_BACK15_E	0.210944	0.00295464
+W1_D4_BACK0_E	0.0849477	0.00312618
+W1_D4_BACK1_E	0.0921646	0.00323695
+W1_D4_BACK2_E	0.0911839	0.0032212
+W1_D4_BACK3_E	0.0856143	0.00312569
+W1_D4_BACK4_E	0.0980353	0.00314846
+W1_D4_BACK5_E	0.0931139	0.00318859
+W1_D4_BACK6_E	0.0902859	0.00315863
+W1_D4_BACK7_E	0.0967602	0.00329822
+W1_D4_BACK8_E	0.0959724	0.00324943
+W1_D4_BACK9_E	0.0757669	0.0028592
+W1_D4_BACK10_E	0.0863512	0.00295914
+W1_D4_BACK11_E	0.0856807	0.00309815
+W1_D4_BACK12_E	0.104207	0.00322098
+W1_D4_BACK13_E	0.103936	0.00308784
+W1_D4_BACK14_E	0.0921103	0.00316336
+W1_D4_BACK15_E	0.102505	0.00314289
+W1_D5_BACK0_E	0.0579332	0.00303819
+W1_D5_BACK1_E	0.0583633	0.00305989
+W1_D5_BACK2_E	0.0629375	0.00306752
+W1_D5_BACK3_E	0.0581113	0.00292008
+W1_D5_BACK4_E	0.0754537	0.00311829
+W1_D5_BACK5_E	0.0747965	0.00313221
+W1_D5_BACK6_E	0.0664684	0.00315154
+W1_D5_BACK7_E	0.0597117	0.00273612
+W1_D5_BACK8_E	0.0677475	0.00317205
+W1_D5_BACK9_E	0.0645125	0.0033174
+W1_D5_BACK10_E	0.0689927	0.00323966
+W1_D5_BACK11_E	0.0620755	0.00315416
+W1_D5_BACK12_E	0.0604129	0.00307805
+W1_D5_BACK13_E	0.0725368	0.00316234
+W1_D5_BACK14_E	0.0691764	0.00322286
+W1_D5_BACK15_E	0.0599068	0.00294563
+W1_D6_BACK0_E	-0.116911	0.00316839
+W1_D6_BACK1_E	-0.109812	0.00280906
+W1_D6_BACK2_E	-0.10866	0.00299054
+W1_D6_BACK3_E	-0.0976813	0.00316048
+W1_D6_BACK4_E	-0.109465	0.00293191
+W1_D6_BACK5_E	-0.100056	0.00296066
+W1_D6_BACK6_E	-0.11375	0.00313242
+W1_D6_BACK7_E	-0.113694	0.00288933
+W1_D6_BACK8_E	-0.124564	0.00306012
+W1_D6_BACK9_E	-0.124402	0.00300561
+W1_D6_BACK10_E	-0.142332	0.00310294
+W1_D6_BACK11_E	-0.138855	0.00296906
+W1_D6_BACK12_E	-0.118915	0.00311119
+W1_D6_BACK13_E	-0.117208	0.00326406
+W1_D6_BACK14_E	-0.12433	0.00319736
+W1_D6_BACK15_E	-0.112887	0.00323413
diff --git a/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore_PulserAlphas.txt b/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore_PulserAlphas.txt
new file mode 100644
index 0000000000000000000000000000000000000000..29c23d87954f4bde4b008d5cfd5e7ef2160ba7ed
--- /dev/null
+++ b/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore_PulserAlphas.txt
@@ -0,0 +1,189 @@
+W1_D1_FRONT0_E	-0.0470911	0.00313546
+W1_D1_FRONT1_E	-0.0472021	0.00310803
+W1_D1_FRONT2_E	-0.0567854	0.00306771
+W1_D1_FRONT3_E	-0.0487093	0.00306373
+W1_D1_FRONT4_E	-0.0457374	0.00304835
+W1_D1_FRONT5_E	-0.0478813	0.0030036
+W1_D1_FRONT6_E	-0.0445097	0.00290749
+W1_D1_FRONT7_E	-0.05315	0.00316182
+W1_D1_FRONT8_E	0.158632	0.00301553
+W1_D1_FRONT9_E	0.164661	0.00311887
+W1_D1_FRONT10_E	0.157124	0.00308769
+W1_D1_FRONT11_E	0.155147	0.00298356
+W1_D1_FRONT12_E	0.167161	0.00305057
+W1_D1_FRONT13_E	0.166866	0.00307911
+W1_D1_FRONT14_E	0.164171	0.0030383
+W1_D1_FRONT15_E	0.153155	0.00300049
+W1_D2_FRONT0_E	-0.101508	0.00587286
+W1_D2_FRONT1_E	-0.0566293	0.00292841
+W1_D2_FRONT2_E	-0.0579355	0.00295637
+W1_D2_FRONT3_E	-0.0613248	0.00303792
+W1_D2_FRONT4_E	-0.0522171	0.0026988
+W1_D2_FRONT5_E	-0.0546572	0.00299806
+W1_D2_FRONT6_E	-0.0695951	0.00310432
+W1_D2_FRONT7_E	-0.0620475	0.00314018
+W1_D2_FRONT8_E	0.0846581	0.00311718
+W1_D2_FRONT9_E	0.0755482	0.00276272
+W1_D2_FRONT10_E	0.066936	0.00266734
+W1_D2_FRONT11_E	0.0870825	0.00308409
+W1_D2_FRONT12_E	0.0749603	0.00264834
+W1_D2_FRONT15_E	0.0814968	0.00300648
+W1_D3_FRONT0_E	-0.109522	0.00306779
+W1_D3_FRONT1_E	-0.106606	0.00293079
+W1_D3_FRONT2_E	-0.104135	0.00307037
+W1_D3_FRONT3_E	-0.100592	0.00289104
+W1_D3_FRONT4_E	-0.111389	0.00315779
+W1_D3_FRONT5_E	-0.103317	0.00313203
+W1_D3_FRONT6_E	-0.098922	0.0031127
+W1_D3_FRONT7_E	-0.104371	0.00290834
+W1_D3_FRONT8_E	0.10367	0.00302263
+W1_D3_FRONT9_E	0.0982524	0.00299323
+W1_D3_FRONT10_E	0.107239	0.00318111
+W1_D3_FRONT11_E	0.0965583	0.00302867
+W1_D3_FRONT12_E	0.104487	0.00298896
+W1_D3_FRONT13_E	0.0993702	0.00301803
+W1_D3_FRONT14_E	0.10402	0.0031208
+W1_D3_FRONT15_E	0.0866901	0.00293154
+W1_D4_FRONT0_E	-0.11129	0.00319853
+W1_D4_FRONT1_E	-0.112696	0.00323375
+W1_D4_FRONT2_E	-0.110449	0.00321639
+W1_D4_FRONT3_E	-0.105076	0.00324373
+W1_D4_FRONT4_E	-0.112102	0.00333712
+W1_D4_FRONT5_E	-0.102868	0.00322568
+W1_D4_FRONT6_E	-0.0965613	0.00324832
+W1_D4_FRONT7_E	-0.103067	0.00319706
+W1_D4_FRONT8_E	0.104136	0.00313063
+W1_D4_FRONT9_E	0.0986798	0.00320655
+W1_D4_FRONT10_E	0.0951968	0.00317805
+W1_D4_FRONT11_E	0.103234	0.0032335
+W1_D4_FRONT12_E	0.102574	0.00313109
+W1_D4_FRONT13_E	0.104326	0.00320961
+W1_D4_FRONT14_E	0.102583	0.00310959
+W1_D4_FRONT15_E	0.101478	0.00319826
+W1_D5_FRONT0_E	-0.101882	0.00314355
+W1_D5_FRONT1_E	-0.0862697	0.00299523
+W1_D5_FRONT2_E	-0.100383	0.00308853
+W1_D5_FRONT3_E	-0.0960272	0.00303352
+W1_D5_FRONT4_E	-0.108107	0.00307528
+W1_D5_FRONT5_E	-0.102504	0.00307282
+W1_D5_FRONT6_E	-0.088432	0.00281239
+W1_D5_FRONT7_E	-0.103457	0.00301596
+W1_D5_FRONT8_E	0.0987793	0.00313671
+W1_D5_FRONT9_E	0.081488	0.00304994
+W1_D5_FRONT10_E	0.0979433	0.00325377
+W1_D5_FRONT11_E	0.0952734	0.00297725
+W1_D5_FRONT12_E	0.102606	0.00308396
+W1_D5_FRONT13_E	0.0999738	0.00301704
+W1_D5_FRONT14_E	0.0962652	0.00309873
+W1_D5_FRONT15_E	0.0905447	0.00299466
+W1_D6_FRONT0_E	-0.103244	0.00309189
+W1_D6_FRONT1_E	-0.104557	0.0031018
+W1_D6_FRONT2_E	-0.10336	0.00304171
+W1_D6_FRONT3_E	-0.0985242	0.00288986
+W1_D6_FRONT4_E	-0.115152	0.00308888
+W1_D6_FRONT5_E	-0.123671	0.00328476
+W1_D6_FRONT6_E	-0.115025	0.00319241
+W1_D6_FRONT7_E	-0.108393	0.00291834
+W1_D6_FRONT8_E	0.0365876	0.00317769
+W1_D6_FRONT9_E	0.0322429	0.00314283
+W1_D6_FRONT10_E	0.0378282	0.00320613
+W1_D6_FRONT11_E	0.034341	0.00290946
+W1_D6_FRONT12_E	0.0486957	0.00316346
+W1_D6_FRONT13_E	0.0478775	0.00318126
+W1_D6_FRONT14_E	0.0446913	0.00310525
+W1_D6_FRONT15_E	0.0398171	0.00303139
+W1_D1_BACK0_E	0.144942	0.00315811
+W1_D1_BACK1_E	0.139773	0.00309514
+W1_D1_BACK2_E	0.125306	0.00299183
+W1_D1_BACK3_E	0.138545	0.0031121
+W1_D1_BACK4_E	0.13634	0.00307154
+W1_D1_BACK5_E	0.140243	0.00297871
+W1_D1_BACK6_E	0.130033	0.00306213
+W1_D1_BACK7_E	0.132952	0.00304629
+W1_D1_BACK8_E	0.142242	0.00301924
+W1_D1_BACK9_E	0.142315	0.00288188
+W1_D1_BACK10_E	0.139735	0.00307449
+W1_D1_BACK11_E	0.141553	0.00307546
+W1_D1_BACK12_E	0.14596	0.00304931
+W1_D1_BACK13_E	0.148247	0.00312813
+W1_D1_BACK14_E	0.154079	0.00321109
+W1_D1_BACK15_E	0.142503	0.00296339
+W1_D2_BACK0_E	0.114555	0.00296018
+W1_D2_BACK1_E	0.113755	0.00307106
+W1_D2_BACK2_E	0.0981691	0.00275731
+W1_D2_BACK3_E	0.108195	0.0029538
+W1_D2_BACK4_E	0.114694	0.00308908
+W1_D2_BACK6_E	0.107892	0.00289905
+W1_D2_BACK7_E	0.10566	0.00306807
+W1_D2_BACK8_E	0.0996713	0.00282487
+W1_D2_BACK9_E	0.101278	0.0028536
+W1_D2_BACK10_E	0.098844	0.00301949
+W1_D2_BACK11_E	0.0962195	0.00289884
+W1_D2_BACK12_E	0.0967221	0.00304685
+W1_D2_BACK13_E	0.110764	0.00316417
+W1_D2_BACK14_E	0.0986761	0.00298733
+W1_D2_BACK15_E	0.103461	0.00312077
+W1_D3_BACK0_E	0.0557252	0.00310457
+W1_D3_BACK1_E	0.0506927	0.00312213
+W1_D3_BACK2_E	0.0539748	0.00308992
+W1_D3_BACK3_E	0.0532231	0.00306339
+W1_D3_BACK4_E	0.0546146	0.00306567
+W1_D3_BACK5_E	0.049928	0.00300604
+W1_D3_BACK6_E	0.0536454	0.00312716
+W1_D3_BACK7_E	0.0510576	0.00298797
+W1_D3_BACK8_E	0.0385472	0.00306228
+W1_D3_BACK9_E	0.0472383	0.00305881
+W1_D3_BACK10_E	0.045564	0.00311952
+W1_D3_BACK11_E	0.0469718	0.00298503
+W1_D3_BACK12_E	0.0441573	0.00310813
+W1_D3_BACK13_E	0.0455146	0.00315068
+W1_D3_BACK14_E	0.0446752	0.00301757
+W1_D3_BACK15_E	0.0413732	0.00295464
+W1_D4_BACK0_E	0.0843994	0.00312618
+W1_D4_BACK1_E	0.0893547	0.00323695
+W1_D4_BACK2_E	0.088054	0.0032212
+W1_D4_BACK3_E	0.0818549	0.00312569
+W1_D4_BACK4_E	0.0937239	0.00314846
+W1_D4_BACK5_E	0.0909748	0.00318859
+W1_D4_BACK6_E	0.0897291	0.00315863
+W1_D4_BACK7_E	0.0951684	0.00329822
+W1_D4_BACK8_E	0.0910699	0.00324943
+W1_D4_BACK9_E	0.0837377	0.0028592
+W1_D4_BACK10_E	0.0848928	0.00295914
+W1_D4_BACK11_E	0.0825768	0.00309815
+W1_D4_BACK12_E	0.0968595	0.00322098
+W1_D4_BACK13_E	0.0932317	0.00308784
+W1_D4_BACK14_E	0.084557	0.00316336
+W1_D4_BACK15_E	0.0936079	0.00314289
+W1_D5_BACK0_E	0.051925	0.00303819
+W1_D5_BACK1_E	0.0577513	0.00305989
+W1_D5_BACK2_E	0.0606664	0.00306752
+W1_D5_BACK3_E	0.0626186	0.00292008
+W1_D5_BACK4_E	0.0651779	0.00311829
+W1_D5_BACK5_E	0.0604308	0.00313221
+W1_D5_BACK6_E	0.0626782	0.00315154
+W1_D5_BACK7_E	0.0543598	0.00273612
+W1_D5_BACK8_E	0.0650053	0.00317205
+W1_D5_BACK9_E	0.0599825	0.0033174
+W1_D5_BACK10_E	0.0636803	0.00323966
+W1_D5_BACK11_E	0.0571116	0.00315416
+W1_D5_BACK12_E	0.0544097	0.00307805
+W1_D5_BACK13_E	0.0613223	0.00316234
+W1_D5_BACK14_E	0.0573792	0.00322286
+W1_D5_BACK15_E	0.0573742	0.00294563
+W1_D6_BACK0_E	-0.12658	0.00316839
+W1_D6_BACK1_E	-0.1064	0.00280906
+W1_D6_BACK2_E	-0.116376	0.00299054
+W1_D6_BACK3_E	-0.111267	0.00316048
+W1_D6_BACK4_E	-0.111381	0.00293191
+W1_D6_BACK5_E	-0.101893	0.00296066
+W1_D6_BACK6_E	-0.126391	0.00313242
+W1_D6_BACK7_E	-0.110646	0.00288933
+W1_D6_BACK8_E	-0.138263	0.00306012
+W1_D6_BACK9_E	-0.132171	0.00300561
+W1_D6_BACK10_E	-0.152657	0.00310294
+W1_D6_BACK11_E	-0.140951	0.00296906
+W1_D6_BACK12_E	-0.133489	0.00311119
+W1_D6_BACK13_E	-0.139044	0.00326406
+W1_D6_BACK14_E	-0.142715	0.00319736
+W1_D6_BACK15_E	-0.132293	0.00323413
diff --git a/NPAnalysis/SPcoincW1/calibs/W1CalibrationTime_runs50-74.txt b/NPAnalysis/SPcoincW1/calibs/W1CalibrationTime_runs50-74.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cd71188b5092c349c1a148d15753282e6df1b7db
--- /dev/null
+++ b/NPAnalysis/SPcoincW1/calibs/W1CalibrationTime_runs50-74.txt
@@ -0,0 +1,110 @@
+W1_D1_FRONT0_T	-229.029	1
+W1_D1_FRONT1_T	-218.653	1
+W1_D1_FRONT2_T	-225.993	1
+W1_D1_FRONT3_T	-208.522	1
+W1_D1_FRONT4_T	-208.229	1
+W1_D1_FRONT5_T	-216.765	1
+W1_D1_FRONT6_T	-213.913	1
+W1_D1_FRONT7_T	-219.597	1
+W1_D1_FRONT8_T	-225.181	1
+W1_D1_FRONT9_T	-231.078	1
+W1_D1_FRONT10_T	-207.158	1
+W1_D1_FRONT11_T	-210.876	1
+W1_D1_FRONT12_T	-220.325	1
+W1_D1_FRONT13_T	-203.192	1
+W1_D1_FRONT14_T	-225.754	1
+W1_D1_FRONT15_T	-210.393	1
+W1_D2_FRONT0_T	-245.558	1
+W1_D2_FRONT1_T	-226.69	1
+W1_D2_FRONT2_T	-228.482	1
+W1_D2_FRONT3_T	-213.661	1
+W1_D2_FRONT4_T	-220.204	1
+W1_D2_FRONT5_T	-209.303	1
+W1_D2_FRONT6_T	-232.659	1
+W1_D2_FRONT7_T	-213.91	1
+W1_D2_FRONT8_T	-220.662	1
+W1_D2_FRONT9_T	-239.59	1
+W1_D2_FRONT10_T	-234.59	1
+W1_D2_FRONT11_T	-231.627	1
+W1_D2_FRONT12_T	-230.273	1
+W1_D2_FRONT15_T	-222.664	1
+W1_D3_FRONT0_T	-204.116	1
+W1_D3_FRONT1_T	-208.861	1
+W1_D3_FRONT2_T	-212.846	1
+W1_D3_FRONT3_T	-209.625	1
+W1_D3_FRONT4_T	-206.452	1
+W1_D3_FRONT5_T	-204.235	1
+W1_D3_FRONT6_T	-192.408	1
+W1_D3_FRONT7_T	-195.318	1
+W1_D3_FRONT8_T	-206.098	1
+W1_D3_FRONT9_T	-208.324	1
+W1_D3_FRONT10_T	-210.484	1
+W1_D3_FRONT11_T	-208.274	1
+W1_D3_FRONT12_T	-202.478	1
+W1_D3_FRONT13_T	-208.132	1
+W1_D3_FRONT14_T	-208.19	1
+W1_D3_FRONT15_T	-202.217	1
+W1_D4_FRONT0_T	-195.677	1
+W1_D4_FRONT1_T	-201.827	1
+W1_D4_FRONT2_T	-193.247	1
+W1_D4_FRONT3_T	-206.02	1
+W1_D4_FRONT4_T	-188.318	1
+W1_D4_FRONT5_T	-204.01	1
+W1_D4_FRONT6_T	-188.951	1
+W1_D4_FRONT7_T	-196.573	1
+W1_D4_FRONT8_T	-202.994	1
+W1_D4_FRONT9_T	-203.126	1
+W1_D4_FRONT10_T	-187.967	1
+W1_D4_FRONT11_T	-202.392	1
+W1_D4_FRONT12_T	-194.857	1
+W1_D4_FRONT13_T	-190.64	1
+W1_D4_FRONT14_T	-190.359	1
+W1_D4_FRONT15_T	-192.631	1
+W1_D5_FRONT0_T	-198.684	1
+W1_D5_FRONT1_T	-202.775	1
+W1_D5_FRONT2_T	-183.67	1
+W1_D5_FRONT3_T	-197.831	1
+W1_D5_FRONT4_T	-194.027	1
+W1_D5_FRONT5_T	-196.243	1
+W1_D5_FRONT6_T	-201.783	1
+W1_D5_FRONT7_T	-187.697	1
+W1_D5_FRONT8_T	-193.892	1
+W1_D5_FRONT9_T	-194.424	1
+W1_D5_FRONT10_T	-199.149	1
+W1_D5_FRONT11_T	-198.745	1
+W1_D5_FRONT12_T	-198.912	1
+W1_D5_FRONT13_T	-199.676	1
+W1_D5_FRONT14_T	-193.983	1
+W1_D5_FRONT15_T	-183.737	1
+W1_D6_FRONT0_T	-200.368	1
+W1_D6_FRONT1_T	-195.921	1
+W1_D6_FRONT2_T	-196.352	1
+W1_D6_FRONT3_T	-197.514	1
+W1_D6_FRONT4_T	-199.002	1
+W1_D6_FRONT5_T	-186.657	1
+W1_D6_FRONT6_T	-200.34	1
+W1_D6_FRONT7_T	-193.853	1
+W1_D6_FRONT8_T	-180.938	1
+W1_D6_FRONT9_T	-199.426	1
+W1_D6_FRONT10_T	-197.158	1
+W1_D6_FRONT11_T	-196.496	1
+W1_D6_FRONT12_T	-195.625	1
+W1_D6_FRONT13_T	-184.68	1
+W1_D6_FRONT14_T	-202.407	1
+W1_D6_FRONT15_T	-198.104	1
+W1_D1_BACK0_T	-214.429	1
+W1_D1_BACK1_T	-210.162	1
+W1_D1_BACK2_T	-226.164	1
+W1_D1_BACK3_T	-219.745	1
+W1_D1_BACK4_T	-213.15	1
+W1_D1_BACK5_T	-219.848	1
+W1_D1_BACK6_T	-217.605	1
+W1_D1_BACK7_T	-225.357	1
+W1_D1_BACK8_T	-208.213	1
+W1_D1_BACK9_T	-229.718	1
+W1_D1_BACK10_T	-216.674	1
+W1_D1_BACK11_T	-222.87	1
+W1_D1_BACK12_T	-223.642	1
+W1_D1_BACK13_T	-215.541	1
+W1_D1_BACK14_T	-225.862	1
+W1_D1_BACK15_T	-224.671	1
diff --git a/NPAnalysis/SPcoincW1/cuts/cutg_SelectionProtons.root b/NPAnalysis/SPcoincW1/cuts/cutg_SelectionProtons.root
new file mode 100644
index 0000000000000000000000000000000000000000..b2e0d37d430f8ddeac3a2c7bc04a34aec0af8dbf
Binary files /dev/null and b/NPAnalysis/SPcoincW1/cuts/cutg_SelectionProtons.root differ
diff --git a/NPLib/CATS/TCATSPhysics.cxx b/NPLib/CATS/TCATSPhysics.cxx
index 8804899bf92fd4cff7c5beea675f5c0f964f2a7a..d32630c3f12a808e8d2d74d706b7436177cebaeb 100644
--- a/NPLib/CATS/TCATSPhysics.cxx
+++ b/NPLib/CATS/TCATSPhysics.cxx
@@ -197,12 +197,18 @@ void TCATSPhysics::BuildPhysicalEvent(){
 
   for(unsigned int i  = 0 ; i < NumberOfCATSHit ; i++ ){       
     // Return the position in strip unit
+     // Convention: the collected charge is atrributed to the center of the strip
+     // (histogram convention) so that a reconstructed position for a single strip
+     // goes from strip index -0.5 to strip index +0.5
     double PosX =  ReconstructionFunctionX[DetMaxX[i]-1](Buffer_X_Q[i],StripMaxX[i]);
     double PosY =  ReconstructionFunctionY[DetMaxY[i]-1](Buffer_Y_Q[i],StripMaxY[i]);
     StripNumberX.push_back(PosX);
     StripNumberY.push_back(PosY);   
 
-    // Convert in mm by doing a linear interpolation
+    // a shift - -1 is made to have PosX in between -0.5 and 27.5
+    // for the following calculation of the position in the lab.
+    PosX = PosX -1;
+    PosY = PosY -1;
 
     // sx and sy are the X and Y strip number between which the PosX and PosY are
     int sx0 = (int) PosX;
diff --git a/NPLib/Core/NPVSpectra.cxx b/NPLib/Core/NPVSpectra.cxx
index bb7cfb899cccefb2409edb34930971e1df82e87d..04bae2d9fa1a54c4ef46b21a2673ec79dcc051a2 100644
--- a/NPLib/Core/NPVSpectra.cxx
+++ b/NPLib/Core/NPVSpectra.cxx
@@ -114,13 +114,20 @@ void VSpectra::WriteSpectra(string filename){
       f->cd();
    }
 
-   // created dedicated directory for spectra
-    string dirname = "ControlSpectra/"+m_name;
+   // creating top directory for spectra
+   string dirname = "ControlSpectra";
    TDirectory *dir = (TDirectory*) f->Get(dirname.c_str());
    if (!dir) {
-      f->mkdir(dirname.c_str());
+      dir = f->mkdir(dirname.c_str());
    }
-   f->cd(dirname.c_str());
+   dir->cd();
+
+   // creating sub directory for each detector spectra
+   TDirectory *dirdet = (TDirectory*) dir->Get(m_name.c_str());
+   if (!dirdet) {
+      dirdet = dir->mkdir(m_name.c_str());
+   }
+   dirdet->cd();
 
    // write all histos
    map< string, TH1* >::iterator it;
diff --git a/NPLib/CsI/TCsIData.h b/NPLib/CsI/TCsIData.h
index 45ead2b918b4001a85909f6842213d49b1663ec3..caf462896b0fce332e5aeb1d554b64578fcd92d2 100644
--- a/NPLib/CsI/TCsIData.h
+++ b/NPLib/CsI/TCsIData.h
@@ -28,12 +28,16 @@ using namespace std ;
 
 class TCsIData : public TObject {
  private:
-   // Energy 
-   vector<short>   fCsI_E_Number;
-   vector<double>  fCsI_E_Energy;   
-   // Time
-   vector<short>   fCsI_T_Number;
-   vector<double>  fCsI_T_Time;
+    // Energy
+    vector<short>   fCsI_E_Number;
+    vector<double>  fCsI_E_Energy;
+    vector<double>  fPhotoDiode_E_Energy;
+    vector<short>   fPhotoDiode_E_Number;
+    // Time
+    vector<short>   fCsI_T_Number;
+    vector<double>  fCsI_T_Time;
+    vector<double>  fPhotoDiode_T_Time;
+    vector<short>   fPhotoDiode_T_Number;
    
  public:
    TCsIData();
@@ -53,13 +57,17 @@ class TCsIData : public TObject {
    int            GetTNumber(int i) {return fCsI_T_Number[i];}
    double         GetTTime(int i)   {return fCsI_T_Time[i];}
 
-   /////////////////////           SETTERS           ////////////////////////
-   // Energy
-   void     SetENumber(int N)    {fCsI_E_Number.push_back(N);}
-   void     SetEEnergy(double E) {fCsI_E_Energy.push_back(E);}
-   // time
-   void     SetTNumber(int N)    {fCsI_T_Number.push_back(N);}
-   void     SetTTime(double T)   {fCsI_T_Time.push_back(T);}
+    /////////////////////           SETTERS           ////////////////////////
+    // Energy
+    void    SetENumber(int N)    {fCsI_E_Number.push_back(N);}
+    void    SetCsIEEnergy(double E) {fCsI_E_Energy.push_back(E);}
+    void    SetPhotoDiodeEnergy(double E) {fPhotoDiode_E_Energy.push_back(E);}
+    void    SetPhotoDiodeEDetectorNbr(int N) {fPhotoDiode_E_Number.push_back(N);}
+    // time
+    void    SetTNumber(int N)    {fCsI_T_Number.push_back(N);}
+    void    SetTTime(double T)   {fCsI_T_Time.push_back(T);}
+    void    SetPhotoDiodeTime(double T) {fPhotoDiode_T_Time.push_back(T);}
+    void    SetPhotoDiodeTDetectorNbr(int N) {fPhotoDiode_T_Number.push_back(N);}
 
    ClassDef(TCsIData,1)  // CsIData structure
 };
diff --git a/NPLib/Physics/nubtab03.asc b/NPLib/Physics/nubtab03.asc
index ff36e90df6acf0887671baf100b32c1beec5b6aa..b4860b280ec2ffd91876c0d999a0759be9ca2cf4 100644
--- a/NPLib/Physics/nubtab03.asc
+++ b/NPLib/Physics/nubtab03.asc
@@ -1338,7 +1338,7 @@
 100 0480   100Cd  -74250      100                             49.1    s 0.5    0+            97           B+=100
 100 0481   100Cdm -71700      100      2548.6     0.5         60     ns 3      (8)+          97           IT=100
 100 0490   100In  -64170      250                              5.9    s 0.2    (6,7)+        97 02Pl03tj  B+=100;B+p>3.9
-100 0500   100Sn  -56780      710                              1.1    s 0.4    0+            97           B+=100;B+p<17
+100 0500   100Sn  -57280      300                              1.1    s 0.4    0+            97           B+=100;B+p<17
 101 0370   101Rb  -43600      170                             32     ms 4      3/2+#         98           B-=100;B-n=28 4
 101 0380   101Sr  -55410      120                            118     ms 3      (5/2-)        98           B-=100;B-n=2.37 14
 101 0390   101Y   -64910      100                            426     ms 20     (5/2+)        98 96Me09t   B-=100;B-n=1.94 18
@@ -1357,7 +1357,7 @@
 101 0480   101Cd  -75750      150                              1.36   m 0.05   (5/2+)        98           B+=100
 101 0490   101In  -68610#     300#                            15.1    s 1.1    9/2+#         98           B+=100;B+p=?
 101 0491   101Inm -68060#     320#      550#    100#          10#     s        1/2-#                      B+=95#;IT=5#
-101 0500   101Sn  -59560#     300#                             3      s 1      5/2+#         98           B+=100;B+p=?
+101 0500   101Sn  -60310      300                             3      s 1      5/2+#         98           B+=100;B+p=?
 102 0370   102Rb  -38310#     500#                            37     ms 5                    98           B-=100;B-n=18 8
 102 0380   102Sr  -53080      110                             69     ms 6      0+            98 93Ru01d   B-=100;B-n=5.5 15
 102 0390   102Y   -61890       90                         *& 300     ms 10     low           98           B-=100;B-n=4.9 12
@@ -1395,7 +1395,7 @@
 103 0480   103Cd  -80649       15                              7.3    m 0.1    5/2+          01           B+=100
 103 0490   103In  -74599       25                             60      s 1      9/2+#         01 97Sz04t   B+=100
 103 0491   103Inm -73967       25       631.7     0.1         34      s 2      1/2-#         01 97Sz04etd B+=67;IT=33
-103 0500   103Sn  -66970#     300#                             7      s 3      5/2+#         01           B+=100;B+p=?
+103 0500   103Sn  -66970     300#                             7      s 3      5/2+#         01           B+=100;B+p=?
 103 0510   103Sb  -56180#     300#                           100#    ms >1.5us 5/2+#         01 95Ry03i   B+ ?
 104 0380   104Sr  -44400#     700#                            30#    ms >300ns 0+            00 97Be70i   B- ?
 104 0390   104Y   -54910#     400#                           180     ms 60                   00 99Wa09d   B-=100;B-n=?
@@ -1414,7 +1414,7 @@
 104 0480   104Cd  -83975        9                             57.7    m 1.0    0+            00           B+=100
 104 0490   104In  -76110       80                              1.80   m 0.03   5,6(+)        00           B+=100
 104 0491   104Inm -76020       80        93.48    0.10        15.7    s 0.5    (3+)          00           IT=80;B+=20
-104 0500   104Sn  -71590      100                             20.8    s 0.5    0+            00           B+=100
+104 0500   104Sn  -71627      100                             20.8    s 0.5    0+            00           B+=100
 104 0510   104Sb  -59180#     360#                           470     ms 130                  00 95Fa.Ad   B+=?;B+p<7;p<7;A ?
 105 0380   105Sr  -38580#     700#                            20#    ms >300ns               97 97Be70i   B- ?
 105 0390   105Y   -51350#     500#                            60#    ms >300ns 5/2+#         97 94Be24i   B- ?
@@ -1431,7 +1431,7 @@
 105 0480   105Cd  -84330       12                             55.5    m 0.4    5/2+          93           B+=100
 105 0490   105In  -79481       17                              5.07   m 0.07   9/2+          93 87Eb02j   B+=100
 105 0491   105Inm -78807       17       674.1     0.3         48      s 6      (1/2)-        93           IT=?;B+=25#
-105 0500   105Sn  -73260       80                             34      s 1      (5/2+)        93 95Pf01t   B+=100;B+p=?
+105 0500   105Sn  -73338       80                             34      s 1      (5/2+)        93 95Pf01t   B+=100;B+p=?
 105 0510   105Sb  -63820      100                              1.12   s 0.16   (5/2+)        02           B+ ?;p~1;B+p ?
 105 0520   105Te  -52500#     500#                             1#    us        5/2+#                      A ?;B+ ?
 106 0390   106Y   -46770#     700#                            50#    ms >300ns               97 97Be70i   B- ?
@@ -1448,7 +1448,7 @@
 106 0480   106Cd  -87132        6                            stbl       >410Ey 0+            94 02Tr04t   IS=1.25 6;2B+ ?
 106 0490   106In  -80606       12                              6.2    m 0.1    7+            94           B+=100
 106 0491   106Inm -80577       12        28.6     0.3          5.2    m 0.1    (3+)          94           B+=100
-106 0500   106Sn  -77430       50                              1.92   m 0.08   0+            94           B+=100
+106 0500   106Sn  -77354       50                              1.92   m 0.08   0+            94           B+=100
 106 0510   106Sb  -66330#     310#                           600     ms 200    (4+)          97 94Se01j   B+=100
 106 0511   106Sbm -65330#     590#     1000#    500#         220     ns 20                      98Li50t   IT=100
 106 0520   106Te  -58210      130                             70     us 20     0+            94 94Pa11t   A=100
@@ -1469,7 +1469,7 @@
 107 0480   107Cd  -86985        6                              6.50   h 0.02   5/2+          00           B+=100
 107 0490   107In  -83560       11                             32.4    m 0.3    9/2+          00           B+=100
 107 0491   107Inm -82882       11       678.5     0.3         50.4    s 0.6    1/2-          00           IT=100
-107 0500   107Sn  -78580       80                              2.90   m 0.05   (5/2+)        00           B+=100
+107 0500   107Sn  -78512       80                              2.90   m 0.05   (5/2+)        00           B+=100
 107 0510   107Sb  -70650#     300#                             4.6    s 0.8    5/2+#         00           B+=100
 107 0520   107Te  -60540#     300#                             3.1   ms 0.1    5/2+#         00           A=70 30;B+=30 30
 108 0390   108Y   -37740#     800#                            20#    ms >300ns               00 95Cz.Ai   B- ?;B-n ?
@@ -1486,7 +1486,7 @@
 108 0480   108Cd  -89252        6                            stbl       >410Py 0+            02 95Ge14t   IS=0.89 3;2B+ ?
 108 0490   108In  -84116       10                             58.0    m 1.2    7+            00           B+=100
 108 0491   108Inm -84086       10        29.75    0.05        39.6    m 0.7    2+            00           B+=100
-108 0500   108Sn  -82041       20                             10.30   m 0.08   0+            00           B+=100
+108 0500   108Sn  -82070       20                             10.30   m 0.08   0+            00           B+=100
 108 0510   108Sb  -72510#     210#                             7.4    s 0.3    (4+)          00           B+=100;B+p ?
 108 0520   108Te  -65720      100                              2.1    s 0.1    0+            00 85Ti02d   B+=51 4;A=49 4;B+p=2.4 10;B+A<0.065
 108 0530   108I   -52650#     360#                            36     ms 6      1+#           00 94Pa12d   A=?;B+=9#;p<1
@@ -1506,7 +1506,7 @@
 109 0490   109In  -86489        6                              4.2    h 0.1    9/2+          99           B+=100
 109 0491   109Inm -85839        6       650.1     0.3          1.34   m 0.07   1/2-          99           IT=100
 109 0492   109Inn -84387        6      2101.8     0.2        209     ms 6      (19/2+)       99           IT=100
-109 0500   109Sn  -82639       10                             18.0    m 0.2    5/2(+)        99           B+=100
+109 0500   109Sn  -82631       10                             18.0    m 0.2    5/2(+)        99           B+=100
 109 0510   109Sb  -76259       19                             17.0    s 0.7    5/2+#         99           B+=100
 109 0520   109Te  -67610       60                              4.6    s 0.3    (5/2+)        99           B+=?;A=3.9 13;B+p=9.4 31;B+A<0.005
 109 0530   109I   -57610      100                            103     us 5      (5/2+)        02 87Gi02j   p=100
diff --git a/NPLib/SplitPole/CMakeLists.txt b/NPLib/SplitPole/CMakeLists.txt
index 796cbb1cdee9ee3982d4d24cb14587c63a9823f7..079ef004cac79a3dee3cdd5d8738db6b0a29e20b 100644
--- a/NPLib/SplitPole/CMakeLists.txt
+++ b/NPLib/SplitPole/CMakeLists.txt
@@ -1,6 +1,7 @@
 add_custom_command(OUTPUT TSplitPolePhysicsDict.cxx COMMAND ../scripts/build_dict.sh TSplitPolePhysics.h TSplitPolePhysicsDict.cxx TSplitPolePhysics.rootmap libNPSplitPole.dylib DEPENDS TSplitPolePhysics.h)
 add_custom_command(OUTPUT TSplitPoleDataDict.cxx COMMAND ../scripts/build_dict.sh TSplitPoleData.h TSplitPoleDataDict.cxx TSplitPoleData.rootmap libNPSplitPole.dylib DEPENDS TSplitPoleData.h)
-add_library(NPSplitPole SHARED TSplitPoleSpectra.cxx TSplitPoleData.cxx TSplitPolePhysics.cxx TSplitPoleDataDict.cxx TSplitPolePhysicsDict.cxx )
-target_link_libraries(NPSplitPole ${ROOT_LIBRARIES} NPCore) 
-install(FILES TSplitPoleData.h TSplitPolePhysics.h TSplitPoleSpectra.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
+add_custom_command(OUTPUT TSplitPoleNMRDict.cxx COMMAND ../scripts/build_dict.sh TSplitPoleNMR.h TSplitPoleNMRDict.cxx TSplitPoleNMR.rootmap libNPSplitPole.dylib DEPENDS TSplitPoleNMR.h)
+add_library(NPSplitPole SHARED TSplitPoleSpectra.cxx TSplitPoleData.cxx TSplitPolePhysics.cxx TSplitPoleNMR.cxx TSplitPoleDataDict.cxx TSplitPolePhysicsDict.cxx TSplitPoleNMRDict.cxx)
+target_link_libraries(NPSplitPole ${ROOT_LIBRARIES} NPCore)
+install(FILES TSplitPoleData.h TSplitPolePhysics.h TSplitPoleSpectra.h TSplitPoleNMR.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
 
diff --git a/NPLib/SplitPole/TSplitPoleData.cxx b/NPLib/SplitPole/TSplitPoleData.cxx
index eab6c777062382277ad3737558136c527e837ead..5088a44e7e8c46f24c355c680bc72daa44ce08a9 100644
--- a/NPLib/SplitPole/TSplitPoleData.cxx
+++ b/NPLib/SplitPole/TSplitPoleData.cxx
@@ -33,7 +33,8 @@ TSplitPoleData::TSplitPoleData()
      fDeltaE(-1),
      fWire(-1),
      fPlasticP(-1),
-     fPlasticG(-1)
+     fPlasticG(-1),
+     fTick(-1)
 {
 }
 
@@ -52,6 +53,9 @@ void TSplitPoleData::Clear()
    fWire     = -1;
    fPlasticP = -1;
    fPlasticG = -1;
+   fTime1.clear();
+   fTime2.clear();
+   fTick     = -1;
 }
 
 
@@ -65,4 +69,17 @@ void TSplitPoleData::Dump() const
    cout << "Wire:     " << fWire     << endl;
    cout << "PlasticP: " << fPlasticP << endl;
    cout << "PlasticG: " << fPlasticG << endl;
+   cout << "Tick:     " << fTick     << endl;
+
+   cout << "Time1:";
+   for (UInt_t i = 0; i < fTime1.size(); ++i) {   // loop on fTime1
+      cout << "\t" << fTime1[i];
+   } // end loop on fTime1
+   cout << endl;
+
+   cout << "Time2:";
+   for (UInt_t i = 0; i < fTime2.size(); ++i) {   // loop on fTime2
+      cout << "\t" << fTime2[i];
+   } // end loop on fTime2
+   cout << endl;
 }
diff --git a/NPLib/SplitPole/TSplitPoleData.h b/NPLib/SplitPole/TSplitPoleData.h
index cfe86ff64f380af129ff5e1e70edb2f4a2fce5a0..970d2c2b70682e40fc6df588e74ddd3f0b00cdd3 100644
--- a/NPLib/SplitPole/TSplitPoleData.h
+++ b/NPLib/SplitPole/TSplitPoleData.h
@@ -24,6 +24,10 @@
 // ROOT headers
 #include "TObject.h"
 
+#include <vector>
+using namespace std;
+
+
 
 class TSplitPoleData : public TObject
 {
@@ -33,6 +37,9 @@ class TSplitPoleData : public TObject
       Double_t fWire;
       Double_t fPlasticP;
       Double_t fPlasticG;
+      vector<Double_t> fTime1;      // ch 117
+      vector<Double_t> fTime2;      // ch 126
+      Double_t fTick;               // data from scaler
 
 
    public:
@@ -45,10 +52,13 @@ class TSplitPoleData : public TObject
 
       /////////////////////           SETTERS           ////////////////////////
       void SetPosition(Double_t position) {fPosition = position;}
-      void SetDeltaE(Double_t deltae)     {fDeltaE  = deltae;}
-      void SetWire(Double_t wire)         {fWire    = wire;}
+      void SetDeltaE(Double_t deltae)     {fDeltaE   = deltae;}
+      void SetWire(Double_t wire)         {fWire     = wire;}
       void SetPlasticP(Double_t plp)      {fPlasticP = plp;}
       void SetPlasticG(Double_t plg)      {fPlasticG = plg;}
+      void SetTime1(Double_t time)        {fTime1.push_back(time);}
+      void SetTime2(Double_t time)        {fTime2.push_back(time);}
+      void SetTick(Double_t tick)         {fTick     = tick;}
       void SetFocalPlane(Double_t position, Double_t deltae, Double_t wire, Double_t plp, Double_t plg) {
          SetPosition(position);
          SetDeltaE(deltae);
@@ -64,6 +74,11 @@ class TSplitPoleData : public TObject
       Double_t GetWire()                  const {return fWire;}
       Double_t GetPlasticP()              const {return fPlasticP;}
       Double_t GetPlasticG()              const {return fPlasticG;}
+      Double_t GetTime1(Int_t i)          const {return fTime1[i];}
+      Double_t GetTime2(Int_t i)          const {return fTime2[i];}
+      UShort_t GetTime1Multiplicity()     const {return fTime1.size();}
+      UShort_t GetTime2Multiplicity()     const {return fTime2.size();}
+      Double_t GetTick()                  const {return fTick;}
 
 
       ClassDef(TSplitPoleData, 1) // TSplitPoleData raw data 
diff --git a/NPLib/SplitPole/TSplitPoleNMR.cxx b/NPLib/SplitPole/TSplitPoleNMR.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..ecf588ae63079dead2037d6cbd6421e67325eb36
--- /dev/null
+++ b/NPLib/SplitPole/TSplitPoleNMR.cxx
@@ -0,0 +1,289 @@
+/*****************************************************************************
+ * Original Author: N. de Sereville  contact address: deserevi@ipno.in2p3.fr *
+ *                                                                           *
+ * Creation Date  : april 2012                                               *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription: This class reads the rmn file and provides some simple        *
+ *             operations: apply delay, calculate mean value for subset of   *
+ *             the data, ....                                                *
+ *             Operations support both absolute and relative time            *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *    + Based on cSplitRun class from Iulian Stefan                          *
+ *                                                                           *
+ *****************************************************************************/
+
+// class header
+#include "TSplitPoleNMR.h"
+
+// ROOT header
+#include "TMath.h"
+
+// C++ header
+#include <sstream>
+using namespace std;
+
+//#define DEBUG
+
+
+ClassImp(TSplitPoleNMR)
+
+
+TSplitPoleNMR::TSplitPoleNMR()
+   : fOpenFileTime(0),
+     fDelay(6797),
+     fFileName("Data_run.dat"),
+     fRmnRelativeTime(new TGraph()),
+     fRmn(new TGraph()),
+     fIsRelativeTime(0),
+     fIsLargeField(0),
+     fMean(-1),
+     fMin(10),
+     fMax(-1)
+{
+}
+
+
+
+TSplitPoleNMR::TSplitPoleNMR(const char* fileName)
+   : fOpenFileTime(0),
+     fDelay(6797),
+     fFileName(fileName),
+     fRmnRelativeTime(new TGraph()),
+     fRmn(new TGraph()),
+     fIsRelativeTime(0),
+     fIsLargeField(0),
+     fMean(-1),
+     fMin(10),
+     fMax(-1)
+{
+   ReadRmnFile();
+}
+
+
+
+TSplitPoleNMR::TSplitPoleNMR(const char* fileName, Double_t delay)
+   : fOpenFileTime(0),
+     fDelay(delay),
+     fFileName(fileName),
+     fRmnRelativeTime(new TGraph()),
+     fRmn(new TGraph()),
+     fIsRelativeTime(0),
+     fIsLargeField(0),
+     fMean(-1),
+     fMin(10),
+     fMax(-1)
+{
+   ReadRmnFile();
+}
+
+
+
+TSplitPoleNMR::~TSplitPoleNMR()
+{
+  if (fRmnRelativeTime) delete fRmnRelativeTime;
+  if (fRmn)             delete fRmn;
+}
+
+
+
+
+Int_t TSplitPoleNMR::ReadRmnFile()
+{
+  ifstream in_rmn;
+  Double_t old_x=-10.;
+  std::cout<<"\nReading Rmn data file: "<<fFileName<<"..."<<std::flush;
+//  DeleteRmnGraph();
+//  fRmn= new TGraph();
+  in_rmn.open(fFileName);
+
+  if(!in_rmn.is_open()){
+    std::cout<<"\n Cant open Rmn data file "<<fFileName<<" ...\n"<<std::flush;
+    std::cout<<"\n Nor fRmnFile "<<fFileName<<" ...\n"<<std::flush;
+    
+    return -1;
+  }
+  
+  char tmp[1000];
+  in_rmn.getline(tmp,sizeof(tmp),'\n');
+  //  TTimeStamp a;
+  in_rmn.getline(tmp,sizeof(tmp),':');
+  Int_t year,month,day,hour,minutes,seconds;
+  
+  char ch_tmp;
+  in_rmn>>year;in_rmn>>ch_tmp;in_rmn>>month;in_rmn>>ch_tmp;in_rmn>>day;
+  in_rmn.getline(tmp,sizeof(tmp),'-');
+  in_rmn>>hour;in_rmn>>ch_tmp;in_rmn>>minutes;in_rmn>>ch_tmp;in_rmn>>seconds;
+  
+  fOpenFileTime.Set(year,month,day,hour,minutes,seconds, 0, 1, 0);
+  fOpenFileTime.Print();
+  Double_t time=fOpenFileTime.AsDouble(),x=1.,y;
+  Int_t i=0;
+
+  Double_t ymin = 10;
+  Double_t ymax = -1;
+  Double_t ymean = 0;
+
+#ifdef DEBUG
+//  std::cout << "time 0 = " << time << std::endl;
+//  std::cout<<"\nx="<<x<<"\ty="<<y<<std::flush;
+#endif
+
+  in_rmn.getline(tmp,sizeof(tmp),'\n');
+  in_rmn.getline(tmp,sizeof(tmp),'\n');
+  for(;;){
+    in_rmn>>x;in_rmn>>ch_tmp;in_rmn>>y;
+    y*=1.e-7;
+    // apply large field
+    if (fIsLargeField) y += 1;
+#ifdef DEBUG
+//  std::cout<<"\nx="<<x<<"\ty="<<y<<std::flush;
+#endif
+    if(x > old_x) {
+       // TGraph
+       fRmnRelativeTime -> SetPoint(i,   x,             y);
+       fRmn             -> SetPoint(i++, x+time+fDelay, y);
+#ifdef DEBUG
+//  std::cout<<"\nx="<<x+time+fDelay<<"\ty="<<y<<std::flush;
+#endif
+       // min, max
+       if (y < ymin) ymin = y;
+       if (y > ymax) ymax = y;
+       // mean
+       ymean += y;
+    }
+    else break;
+    old_x=x;
+    x=0.;
+    
+  }
+  in_rmn.close();
+  std::cout<<" Ok!"<<std::flush;
+  std::cout << std::endl;
+
+  // set mean, min and max field values
+  fMin = ymin;
+  fMax = ymax;
+  fMean = ymean / fRmnRelativeTime->GetN();
+
+  return 0;
+}
+
+
+
+void TSplitPoleNMR::SetIsRelativeTime(bool isRelativeTime)
+{
+   fIsRelativeTime = isRelativeTime;
+}
+
+
+
+void TSplitPoleNMR::SetLargeField(bool isLargeField)
+{
+   fIsLargeField = isLargeField;
+   ReadRmnFile();
+}
+
+
+
+TGraph* TSplitPoleNMR::GetRmnGraph() const
+{
+   if (!fIsRelativeTime) return fRmn;
+   else return fRmnRelativeTime;
+}
+
+
+
+void TSplitPoleNMR::Draw(const char* option) const
+{
+   if (fRmn->GetN() > 0) {
+      if (!fIsRelativeTime) fRmn->Draw(option);
+      else fRmnRelativeTime->Draw(option);
+   }
+}
+
+
+
+void TSplitPoleNMR::ApplyDelay()
+{
+   if (!fRmnRelativeTime) {
+      cout << "TGraph containing rmn data is missing" << endl;
+   }
+   else {
+      Double_t timeRef = fOpenFileTime.AsDouble();
+      Int_t   dim = fRmnRelativeTime->GetN();
+      Double_t *x = fRmnRelativeTime->GetX();
+      Double_t *y = fRmnRelativeTime->GetY();
+      for (Int_t i = 0; i < dim; ++i) {   // loop on TGraph size
+         fRmn->SetPoint(i, x[i] + fDelay + timeRef, y[i]);
+      } // end loop on TGraph size
+   }
+}
+
+
+
+void TSplitPoleNMR::Dump()
+{
+  std::cout<<"\nPrinting TSplitPoleNMR object "<<this<<"\n"<<std::flush;
+
+
+
+  if(fRmn){
+    std::cout<<"\nfRmn defined "<<fRmn->GetName();
+    std::cout<<"\nfrom file "<<fFileName;
+  }
+  else
+    std::cout<<"\nNo fRmn object";
+
+}
+
+
+
+Double_t TSplitPoleNMR::EvalB(Double_t Time) const
+{
+  if(!fRmn) return 0.;
+  Double_t *x;
+  x=fRmn->GetX();
+  Int_t n= fRmn->GetN();
+
+  if( Time>=x[0] && Time<=x[n-1])
+    return fRmn->Eval(Time);
+  else
+    return fRmn->GetMean(2);
+
+}
+
+
+
+Double_t TSplitPoleNMR::Mean(Double_t t1, Double_t t2) const
+{
+   // get dimension and x array
+   Int_t dim;
+   Double_t *x, *y;
+   if (fIsRelativeTime) {
+      dim = fRmnRelativeTime->GetN();
+      x   = fRmnRelativeTime->GetX();
+      y   = fRmnRelativeTime->GetY();
+   }
+   else {
+      dim = fRmn->GetN();
+      x   = fRmn->GetX();
+      y   = fRmn->GetY();
+   }
+
+   // find index for t1 and t2
+   Double_t index1 = TMath::BinarySearch(dim, x, t1);
+   Double_t index2 = TMath::BinarySearch(dim, x, t2);
+   // if t1=0, BinarySearh returns index = -1, we force it to 0
+   if (index1 < 0) index1 = 0;
+
+   // calculate mean
+   Double_t mean = 0;
+   for (Int_t i = index1; i < index2+1; ++i) {   // loop on field TGraph
+      mean += y[i];
+   } // end loop on field TGraph
+
+
+   return mean / (index2 - index1 + 1);
+}
diff --git a/NPLib/SplitPole/TSplitPoleNMR.h b/NPLib/SplitPole/TSplitPoleNMR.h
new file mode 100644
index 0000000000000000000000000000000000000000..0e78cbbe5b9aa010e13a582a4e92e972f440205e
--- /dev/null
+++ b/NPLib/SplitPole/TSplitPoleNMR.h
@@ -0,0 +1,83 @@
+#ifndef __SPLITPOLENMR__
+#define __SPLITPOLENMR__
+/*****************************************************************************
+ * Copyright (C) 2009-2014    this file is part of the NPTool Project        *
+ *                                                                           *
+ * For the licensing terms see $NPTOOL/Licence/NPTool_Licence                *
+ * For the list of contributors see $NPTOOL/Licence/Contributors             *
+ *****************************************************************************/
+
+/*****************************************************************************
+ * Original Author: N. de Sereville  contact address: deserevi@ipno.in2p3.fr *
+ *                                                                           *
+ * Creation Date  : april 2012                                               *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription: This class reads the rmn file and provides some simple        *
+ *             operations: apply delay, calculate mean value for subset of   *
+ *             the data, ....                                                *
+ *             Operations support both absolute and relative time            *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *    + Based on cSplitRun class from Iulian Stefan                          *
+ *                                                                           *
+ *****************************************************************************/
+
+// ROOT headers
+#include "TObject.h"
+#include "TTimeStamp.h"
+#include "TGraph.h"
+#include "TString.h"
+
+// C++ headers
+#include <iostream>
+#include <fstream>
+using namespace std;
+
+
+class TSplitPoleNMR : public TObject
+{
+   private:
+      TTimeStamp  fOpenFileTime;    // 
+      Double_t    fDelay;           // Trun-Trmn in sec
+      TString     fFileName;
+      TGraph*     fRmnRelativeTime; // in sec wrt file beginning
+      TGraph*     fRmn;             // absolute time taking into account fDelay
+      bool        fIsRelativeTime;  // specify if returned graph is in relative of absolute units
+      bool        fIsLargeField;    // specifiy if field is greater than 1 T
+      Double_t    fMean;            // mean value for field
+      Double_t    fMin;             // min value for field
+      Double_t    fMax;             // max value for field
+
+
+   public:
+      TSplitPoleNMR();
+      TSplitPoleNMR(const char* fileName);
+      TSplitPoleNMR(const char* fileName, Double_t delay);
+      virtual ~TSplitPoleNMR();
+
+      void     SetDelay(Double_t delay) {fDelay = delay; ApplyDelay();}
+      void     SetIsRelativeTime(bool isRelativeTime);
+      void     SetLargeField(bool isLargeField);
+      void     SetFileName(TString fileName) {fFileName = fileName;}
+
+      Double_t GetDelay()     {return fDelay;}
+      Double_t GetMean()      {return fMean;}
+      Double_t GetMin()       {return fMin;}
+      Double_t GetMax()       {return fMax;}
+      TString  GetFileName()  {return fFileName;}
+
+      Int_t    ReadRmnFile();
+      TGraph*  GetRmnGraph() const;
+      void     Draw(const char* option) const;
+      void     ApplyDelay();
+
+      void     Dump();
+
+      Double_t EvalB(Double_t Time) const;
+      Double_t Mean(Double_t t1, Double_t t2) const;
+
+      ClassDef(TSplitPoleNMR,1);
+};
+
+#endif
diff --git a/NPLib/SplitPole/TSplitPolePhysics.cxx b/NPLib/SplitPole/TSplitPolePhysics.cxx
index 6c08b5345bbfe024aa50d18171b6030b600d5640..200ac83432068bcaa039bb71975d4455eb02b906 100644
--- a/NPLib/SplitPole/TSplitPolePhysics.cxx
+++ b/NPLib/SplitPole/TSplitPolePhysics.cxx
@@ -12,7 +12,7 @@
  * Last update    :                                                          *
  *---------------------------------------------------------------------------*
  * Decription:                                                               *
- *    This class hold SplitPole  Physics                                            *
+ *    This class hold SplitPole  Physics                                     *
  *                                                                           *
  *---------------------------------------------------------------------------*
  * Comment:                                                                  *
@@ -26,6 +26,7 @@
 #include <iostream>
 #include <sstream>
 #include <fstream>
+#include <string>
 #include <limits>
 #include <cmath>
 #include <stdlib.h>
@@ -38,6 +39,10 @@ using namespace std;
 
 //  ROOT
 #include "TChain.h"
+#include "TSystemDirectory.h"
+#include "TList.h"
+#include "TSystem.h"
+#include "TGraph.h"
 
 
 ClassImp(TSplitPolePhysics)
@@ -48,11 +53,23 @@ TSplitPolePhysics::TSplitPolePhysics()
    : m_EventData(new TSplitPoleData),
      m_PreTreatedData(new TSplitPoleData),
      m_EventPhysics(this),
+     m_RunStart(2015, 10, 6, 0, 0, 0),
+     m_RunStop(2015, 10, 7, 0, 0, 0),
+     m_RunLength(0),
+     m_FrequenceClock(2.03),
+     m_TickMin(0),
+     m_TickMax(0),
+     m_RunNumber(0),
+     m_CurrentRunNumber(0),
+     m_CurrentNMR(new TSplitPoleNMR),
      m_MagneticFieldCorrection(0),
      m_TimeDelay(6500),
      m_CalibP0(0.65),
      m_CalibP1(6e-6)
 {    
+   Clear();
+   ReadTimeTable();
+   ReadNMR();
 }
 
 
@@ -69,6 +86,14 @@ TSplitPolePhysics::~TSplitPolePhysics()
 ///////////////////////////////////////////////////////////////////////////
 void TSplitPolePhysics::Clear()
 {
+   fPosition = -1;
+   fBrho     = -1;
+   fDeltaE   = -1;
+   fWire     = -1;
+   fPlasticP = -1;
+   fPlasticG = -1;
+   fTime1.clear();
+   fTime2.clear();
 }
 
 
@@ -124,6 +149,82 @@ void TSplitPolePhysics::ReadConfiguration(string Path)
 }
 
 
+
+///////////////////////////////////////////////////////////////////////////
+void TSplitPolePhysics::ReadTimeTable()
+{
+   ifstream file("TimeTable.txt");
+
+   // define variables
+   Int_t run_midas, run_narval;
+   Int_t date1, date2, time1, time2;
+   TTimeStamp start, stop;
+   pair<TTimeStamp, TTimeStamp> ptime;
+
+   // read file
+   while(file >> run_narval >> run_midas >> date1 >> time1 >> date2 >> time2) {
+      start.Set(date1, time1, 0, 1, 0);
+      stop.Set(date2, time2, 0, 1, 0);
+      ptime.first  = start;
+      ptime.second = stop;
+      // fill maps
+      m_TimeTable[run_midas] = ptime;
+      m_NarvalMidasTable[run_narval] = run_midas;
+   }
+
+   // close file
+   file.close();
+}
+
+
+
+///////////////////////////////////////////////////////////////////////////
+void TSplitPolePhysics::ReadNMR()
+{
+   // current directory where npanalysis is executed
+   string currentpath = gSystem->Getenv("PWD");
+
+   // go to directory with all nmr files and get a list of them
+   TSystemDirectory libdir("libdir", "/scratch/gypaos/data/al27pp/oct2015/rmn");
+   TList* listfile = libdir.GetListOfFiles();
+   // check whether directory is empty or not
+   if (listfile->GetEntries() > 2) {
+      Int_t i = 0;
+      // loop on nmr files
+      while (listfile->At(i)) {
+         TString libname = listfile->At(i++)->GetName();
+         Int_t pos1 = libname.First("0123456789");
+         Int_t pos2 = libname.First(".");
+         TString sub = libname(pos1, pos2-pos1);
+         Int_t run = 0;
+         // if substring is digit only
+         if (sub.IsDigit()) {
+            run = sub.Atoi();
+            // fill map
+            m_NMRTable[m_NarvalMidasTable[run]] = new TSplitPoleNMR(libname.Data());
+         }
+      }
+   }
+
+   // Since the libdir.GetListOfFiles() command cds to the
+   // libidr directory, one has to return to the initial
+   // directory
+   gSystem->cd(currentpath.c_str());
+}
+
+
+
+///////////////////////////////////////////////////////////////////////////
+Bool_t TSplitPolePhysics::IsSameRun()
+{
+   Bool_t isSameRun = true;
+   if (m_CurrentRunNumber != m_RunNumber) isSameRun = false;
+
+   return isSameRun;
+}
+
+
+
 ///////////////////////////////////////////////////////////////////////////
 void TSplitPolePhysics::AddParameterToCalibrationManager()
 {
@@ -137,12 +238,12 @@ void  TSplitPolePhysics::InitializeRootInputRaw()
    TChain* inputChain = RootInput::getInstance()->GetChain();
    inputChain->SetBranchStatus("SplitPole",  true);
    inputChain->SetBranchStatus("fPosition",  true);
-   inputChain->SetBranchStatus("fBrho",      true);
    inputChain->SetBranchStatus("fDeltaE",    true);
    inputChain->SetBranchStatus("fWire",      true);
    inputChain->SetBranchStatus("fPlasticP",  true);
    inputChain->SetBranchStatus("fPlasticG",  true);
    inputChain->SetBranchAddress("SplitPole", &m_EventData);
+   inputChain->SetBranchAddress("RunNumber", &m_RunNumber);
 }
 
 
@@ -168,6 +269,7 @@ void TSplitPolePhysics::InitializeRootOutput()
 {
    TTree* outputTree = RootOutput::getInstance()->GetTree();
    outputTree->Branch("SplitPole", "TSplitPolePhysics", &m_EventPhysics);
+   outputTree->Branch("RunNumber", &m_RunNumber, "RunNumber/I");
 }
 
 
@@ -186,7 +288,39 @@ void TSplitPolePhysics::BuildSimplePhysicalEvent()
    // Select active channels and apply thresholds
    PreTreat();
 
+   // Fill TSplitPolePhysics private members
+   fPosition = m_EventData->GetPosition();
+   fDeltaE   = m_EventData->GetDeltaE();
+   fWire     = m_EventData->GetWire();
+   fPlasticP = m_EventData->GetPlasticP();
+   fPlasticG = m_EventData->GetPlasticG();
+
+   for (UShort_t i = 0; i < m_EventData->GetTime1Multiplicity(); ++i) {   // loop on multiplicity
+      fTime1.push_back(m_EventData->GetTime1(i));
+   } // end loop on multiplicity
+
+   for (UShort_t i = 0; i < m_EventData->GetTime2Multiplicity(); ++i) {   // loop on multiplicity
+      fTime2.push_back(m_EventData->GetTime2(i));
+   } // end loop on multiplicity
+
+
+   // Magnetic field correction
+   // store localy run number, run start and stop times and rmn data
+   if (!IsSameRun()) {
+      m_CurrentRunNumber = m_RunNumber;
+      m_RunStart   = m_TimeTable[m_CurrentRunNumber].first;
+      m_RunStop    = m_TimeTable[m_CurrentRunNumber].second;
+      m_RunLength  = m_RunStop.AsDouble() - m_RunStart.AsDouble();
+      m_CurrentNMR = m_NMRTable[m_CurrentRunNumber];
+      cout << m_CurrentRunNumber << endl;
+      cout << m_CurrentNMR->GetMean() << endl;
+   }
    // Correct for magnetic field variation
+   if (m_MagneticFieldCorrection) {
+   }
+   else {
+      fBrho = (m_CalibP0 + m_CalibP1*m_EventData->GetPlasticG()) * m_CurrentNMR->GetMean();
+   }
 }
 
 
@@ -205,7 +339,8 @@ void TSplitPolePhysics::PreTreat()
 
 bool TSplitPolePhysics::IsValidChannel(string Type, int detector, int channel)
 {
-return true;
+   return true;
+
 /*   vector<bool>::iterator it;
    if (Type == "Front")
       return *(m_FrontChannelStatus[detector].begin()+channel);
diff --git a/NPLib/SplitPole/TSplitPolePhysics.h b/NPLib/SplitPole/TSplitPolePhysics.h
index 66b86b3f36fc3da1169c0e09b5956fb65a3a55a5..70b9c0eee277c23d25834b31c662622435d93c1f 100644
--- a/NPLib/SplitPole/TSplitPolePhysics.h
+++ b/NPLib/SplitPole/TSplitPolePhysics.h
@@ -23,18 +23,20 @@
  *****************************************************************************/
 //   STL
 #include <vector>
+#include <utility>
 #include <map>
 using namespace std;
 
 //   ROOT
 #include "TObject.h"
 #include "TH1.h"
+#include "TTimeStamp.h"
 
 //   NPL
 #include "TSplitPoleData.h"
+#include "TSplitPoleNMR.h"
 #include "TSplitPoleSpectra.h"
 #include "NPVDetector.h"
-#include "NPCalibrationManager.h"
 
 // forward declaration
 class TSplitPoleSpectra;
@@ -58,6 +60,8 @@ class TSplitPolePhysics : public TObject, public NPL::VDetector
       Double_t fWire;
       Double_t fPlasticP;
       Double_t fPlasticG;
+      vector<Double_t> fTime1;
+      vector<Double_t> fTime2;
 
    public:
       // setters
@@ -67,14 +71,20 @@ class TSplitPolePhysics : public TObject, public NPL::VDetector
       void SetWire(Double_t wire)         {fWire     = wire;}
       void SetPlasticP(Double_t plp)      {fPlasticP = plp;}
       void SetPlasticG(Double_t plg)      {fPlasticG = plg;}
+      void SetTime1(Double_t time)        {fTime1.push_back(time);}
+      void SetTime2(Double_t time)        {fTime2.push_back(time);}
 
       // getters
       Double_t GetPosition()              const {return fPosition;}
       Double_t GetBrho()                  const {return fBrho;}
       Double_t GetDeltaE()                const {return fDeltaE;}
-      Double_t GetWire()                  const {return fWire;}
+      Double_t GetWire()                  const {return fWire;} 
       Double_t GetPlasticP()              const {return fPlasticP;}
       Double_t GetPlasticG()              const {return fPlasticG;}
+      Double_t GetTime1(Int_t i)          const {return fTime1[i];}
+      Double_t GetTime2(Int_t i)          const {return fTime2[i];}
+      UShort_t GetTime1Multiplicity()     const {return fTime1.size();}    //
+      UShort_t GetTime2Multiplicity()     const {return fTime2.size();}    //
 
 
    public:   //   inherited from VDetector
@@ -108,10 +118,10 @@ class TSplitPolePhysics : public TObject, public NPL::VDetector
       void ClearEventPhysics()   {Clear();}
       void ClearEventData()      {m_EventData->Clear();}
 
-      // Methods related to the TW1Spectra classes
-      // Instantiate the TW1Spectra class and the histograms
+      // Methods related to the TSplitPoleSpectra classes
+      // Instantiate the TSplitPoleSpectra class and the histograms
       void InitSpectra();
-      // Fill the spectra defined in TW1Spectra
+      // Fill the spectra defined in TSplitPoleSpectra
       void FillSpectra();
       // Used for Online mainly, perform check on the histo and for example change their color if issues are found
       void CheckSpectra();
@@ -139,7 +149,7 @@ class TSplitPolePhysics : public TObject, public NPL::VDetector
       // Read the user configuration file; if no file found, load standard one
       void ReadAnalysisConfig();
 
-      // Give an external TW1Data object to TW1Physics. Needed for online analysis for example.
+      // Give an external TSplitPoleData object to TSplitPolePhysics. Needed for online analysis for example.
       void SetRawDataPointer(TSplitPoleData* rawDataPointer) {m_EventData = rawDataPointer;}
 
 
@@ -154,12 +164,34 @@ class TSplitPolePhysics : public TObject, public NPL::VDetector
       //   map< int, vector<bool> > m_BackChannelStatus;   //!
 
 
+   private: // parameters needed for magnetic field correction
+      map<Int_t, pair<TTimeStamp, TTimeStamp> > m_TimeTable; //!
+      map<Int_t, TSplitPoleNMR*> m_NMRTable; //!
+      map<Int_t, Int_t> m_NarvalMidasTable; //!
+      TTimeStamp     m_RunStart;          //!
+      TTimeStamp     m_RunStop;           //!
+      Double_t       m_RunLength;         //! // in sec
+      Double_t       m_FrequenceClock;    //! // in Hz
+      Double_t       m_TickMin;           //!
+      Double_t       m_TickMax;           //!
+      Int_t          m_RunNumber;         //! // read event by event from TTree
+      Int_t          m_CurrentRunNumber;  //!
+      TSplitPoleNMR* m_CurrentNMR;        //!
+
    private: // Parameters used in the analysis
       Bool_t   m_MagneticFieldCorrection;  //!
       Double_t m_TimeDelay;   //!
       Double_t m_CalibP0;  //!
       Double_t m_CalibP1;  //!
 
+   // methods for magnetic field correction
+   public: // called once
+      void  ReadTimeTable();
+      void  ReadNMR();
+
+   public: // called event by event
+      Bool_t IsSameRun();
+
 
    private: // Spectra Class
       TSplitPoleSpectra* m_Spectra; // !
diff --git a/NPLib/SplitPole/TSplitPoleSpectra.cxx b/NPLib/SplitPole/TSplitPoleSpectra.cxx
index f87000800d7d639921f1002a260e80f11a0a8481..0a8f8168a66507e8323a24b18914eab80723734e 100644
--- a/NPLib/SplitPole/TSplitPoleSpectra.cxx
+++ b/NPLib/SplitPole/TSplitPoleSpectra.cxx
@@ -36,9 +36,9 @@ using namespace std;
 TSplitPoleSpectra::TSplitPoleSpectra()
 {
    if (NPOptionManager::getInstance()->GetVerboseLevel() > 0)
-      cout << "******************************************************" << endl
-           << "TSplitPoleSpectra : Initalising control spectra " 
-           << "******************************************************" << endl ;
+      cout << "*********************************************************" << endl
+           << "TSplitPoleSpectra : Initializing control spectra         " << endl 
+           << "*********************************************************" << endl;
    SetName("SplitPole");
 
    InitRawSpectra();
@@ -79,6 +79,22 @@ void TSplitPoleSpectra::InitRawSpectra()
    name = "SplitPole_PLASTICG";
    AddHisto1D(name, name, 4096, 0, 4096, "SplitPole/RAW");
 
+   // Time1
+   name = "SplitPole_Time1";
+   AddHisto1D(name, name, 4096, 0, 4096, "SplitPole/RAW");
+
+   // Time2
+   name = "SplitPole_Time2";
+   AddHisto1D(name, name, 4096, 0, 4096, "SplitPole/RAW");
+
+   // Multiplicity Time!
+   name = "SplitPole_Mult_Time1";
+   AddHisto1D(name, name, 10, 0, 10, "SplitPole/RAW");
+
+   // Multiplicity Time2
+   name = "SplitPole_Mult_Time2";
+   AddHisto1D(name, name, 10, 0, 10, "SplitPole/RAW");
+
    // POSITION vs DELTAE 
    name = "SplitPole_POSITION_DELTAE";
    AddHisto2D(name, name, 512, 0, 4096, 512, 0, 4096, "SplitPole/RAW");
@@ -115,7 +131,7 @@ void TSplitPoleSpectra::InitPhysicsSpectra()
    static string name;
    // Brho 
    name = "SplitPole_BRHO";
-   AddHisto1D(name, name, 4096, 0.35, 0.56, "SplitPole/PHY");
+   AddHisto1D(name, name, 4096, 0.25, 0.56, "SplitPole/PHY");
 }
 
 
@@ -145,6 +161,26 @@ void TSplitPoleSpectra::FillRawSpectra(TSplitPoleData* RawData)
    index = "SplitPole/RAW/SplitPole_PLASTICG";
    GetHisto(index)->Fill(RawData->GetPlasticG());
 
+   // Time1
+   index = "SplitPole/RAW/SplitPole_Time1";
+   for (UShort_t i = 0; i < RawData->GetTime1Multiplicity(); ++i) {   // loop on multiplicity
+      GetHisto(index)->Fill(RawData->GetTime1(i));
+   } // end loop on multiplicity
+
+   // Time2
+   index = "SplitPole/RAW/SplitPole_Time2";
+   for (UShort_t i = 0; i < RawData->GetTime2Multiplicity(); ++i) {   // loop on multiplicity
+      GetHisto(index)->Fill(RawData->GetTime2(i));
+   } // end loop on multiplicity
+
+   // Multiplicity Time1
+   index = "SplitPole/RAW/SplitPole_Mult_Time1";
+   GetHisto(index)->Fill(RawData->GetTime1Multiplicity());
+
+   // Multiplicity Time2
+   index = "SplitPole/RAW/SplitPole_Mult_Time2";
+   GetHisto(index)->Fill(RawData->GetTime2Multiplicity());
+
    // POSITION vs DELTAE
    index = "SplitPole/RAW/SplitPole_POSITION_DELTAE";
    GetHisto(index)->Fill(RawData->GetDeltaE(), RawData->GetPosition());
diff --git a/NPLib/W1/TW1Physics.cxx b/NPLib/W1/TW1Physics.cxx
index b89b2cd10b0542048f885fe10ad5147ca1c64a35..c0d5961963755980b9e31e9f5005056fcc1baf1e 100644
--- a/NPLib/W1/TW1Physics.cxx
+++ b/NPLib/W1/TW1Physics.cxx
@@ -50,6 +50,7 @@ TW1Physics::TW1Physics()
      m_PreTreatedData(new TW1Data),
      m_EventPhysics(this),
      m_Spectra(0),
+     m_nCounter(10),
      m_MaximumStripMultiplicityAllowed(1),   // multiplidity 1
      m_StripEnergyMatchingSigma(0.060),      // MeV
      m_StripEnergyMatchingNumberOfSigma(5),  // MeV
@@ -62,16 +63,20 @@ TW1Physics::TW1Physics()
      m_NumberOfStrips(16)
 {    
    m_StripPitch = m_SiliconFace / (double)m_NumberOfStrips;
+
+   for (Int_t i = 0; i < m_nCounter; ++i) {   // loop on counters
+      m_Counter[i] = 0;
+   } // end loop on counters
 }
 
 
 
 ///////////////////////////////////////////////////////////////////////////
-TW1Physics::~TW1Physics()
-{
-   delete m_EventData;
-   delete m_PreTreatedData;
-}
+//TW1Physics::~TW1Physics()
+//{
+//   delete m_EventData;
+//   delete m_PreTreatedData;
+//}
 
 
 
@@ -80,10 +85,17 @@ void TW1Physics::Clear()
 {
    fEventType.clear();
    fDetectorNumber.clear();
-   fEnergy.clear();
-   fTime.clear();
+   fFrontEnergy.clear();
+   fBackEnergy.clear();
+   fHalfEnergy.clear();
+   fFrontTime.clear();
+   fBackTime.clear();
    fFrontStrip.clear();
    fBackStrip.clear();
+
+   for (Int_t i = 0; i < m_nCounter; ++i) {   // loop on counters
+      m_Counter[i] = 0;
+   } // end loop on counters
 }
 
 
@@ -528,43 +540,48 @@ void TW1Physics::BuildSimplePhysicalEvent()
 {
    // Select active channels and apply thresholds
    PreTreat();
+   m_Counter[0] = 1;
 
    // Begin treatement
-   int evtType = EventType();
+   Int_t evtType = EventType();
 
    if (evtType == 1) {  // case where multiplicity front = multiplicity back
+      m_Counter[1] = 1;
       vector<TVector2> couple = Match_Front_Back();
 
-      for (unsigned int i = 0; i < couple.size(); i++) { // loop on selected events
-         int    DetecNbr    = m_PreTreatedData->GetFrontEDetectorNbr(couple[i].X());
-         int    StripFront  = m_PreTreatedData->GetFrontEStripNbr(couple[i].X());
-         int    StripBack   = m_PreTreatedData->GetBackEStripNbr(couple[i].Y());
-         double EnergyFront = m_PreTreatedData->GetFrontEEnergy(couple[i].X());
-         double EnergyBack  = m_PreTreatedData->GetBackEEnergy(couple[i].Y());
-         EnergyBack *= 1;
+      for (UShort_t i = 0; i < couple.size(); i++) { // loop on selected events
+         Int_t    DetecNbr    = m_PreTreatedData->GetFrontEDetectorNbr(couple[i].X());
+         Int_t    StripFront  = m_PreTreatedData->GetFrontEStripNbr(couple[i].X());
+         Int_t    StripBack   = m_PreTreatedData->GetBackEStripNbr(couple[i].Y());
+         Double_t EnergyFront = m_PreTreatedData->GetFrontEEnergy(couple[i].X());
+         Double_t EnergyBack  = m_PreTreatedData->GetBackEEnergy(couple[i].Y());
 
          // Search for associate time
          // Front
-         double TimeFront = -1000;
-         for (unsigned int t = 0; t < m_PreTreatedData->GetFrontTMult(); t++) {
+         Double_t TimeFront = -1000;
+         for (UShort_t t = 0; t < m_PreTreatedData->GetFrontTMult(); t++) {
             if (m_PreTreatedData->GetFrontTStripNbr(couple[i].X()) == m_PreTreatedData->GetFrontTStripNbr(t) ||
-                m_PreTreatedData->GetFrontTDetectorNbr(couple[i].X()) == m_PreTreatedData->GetFrontTDetectorNbr(t))
+                m_PreTreatedData->GetFrontTDetectorNbr(couple[i].X()) == m_PreTreatedData->GetFrontTDetectorNbr(t)) {
                TimeFront = m_PreTreatedData->GetFrontTTime(t);
+               m_Counter[4] = 1;
+            }
          }
-         TimeFront *= 1;
          // Back
-         double TimeBack = -1000;
-         for (unsigned int t = 0; t < m_PreTreatedData->GetBackTMult(); t++) {
-            if (m_PreTreatedData->GetBackTStripNbr(couple[i].X()) == m_PreTreatedData->GetBackTStripNbr(t) ||
-                m_PreTreatedData->GetBackTDetectorNbr(couple[i].X()) == m_PreTreatedData->GetBackTDetectorNbr(t))
+         Double_t TimeBack = -1000;
+         for (UShort_t t = 0; t < m_PreTreatedData->GetBackTMult(); t++) {
+            if (m_PreTreatedData->GetBackTStripNbr(couple[i].Y()) == m_PreTreatedData->GetBackTStripNbr(t) ||
+                m_PreTreatedData->GetBackTDetectorNbr(couple[i].Y()) == m_PreTreatedData->GetBackTDetectorNbr(t))
                TimeBack = m_PreTreatedData->GetBackTTime(t);
          }
 
          // Fill TW1Physics private members
          fEventType.push_back(evtType);
          fDetectorNumber.push_back(DetecNbr);
-         fEnergy.push_back(EnergyFront);
-         fTime.push_back(TimeBack);
+         fFrontEnergy.push_back(EnergyFront);
+         fBackEnergy.push_back(EnergyBack);
+         fHalfEnergy.push_back((EnergyFront+EnergyBack)/2);
+         fFrontTime.push_back(TimeFront);
+         fBackTime.push_back(TimeBack);
          fFrontStrip.push_back(StripFront);
          fBackStrip.push_back(StripBack);
       }
@@ -626,7 +643,7 @@ void TW1Physics::PreTreat()
 
 
 
-int TW1Physics::EventType()
+Int_t TW1Physics::EventType()
 {
    // Same multiplicity on front and back side
    if (m_PreTreatedData->GetFrontEMult() == m_PreTreatedData->GetBackEMult()) {
@@ -661,9 +678,11 @@ vector<TVector2> TW1Physics::Match_Front_Back()
       for (UShort_t j = 0; j < m_PreTreatedData->GetBackEMult(); j++) {
          // if same detector check energy
          if (m_PreTreatedData->GetFrontEDetectorNbr(i) == m_PreTreatedData->GetBackEDetectorNbr(j)) {
+            m_Counter[2] = 1;
             // Equal energy
             if (abs((m_PreTreatedData->GetFrontEEnergy(i)-m_PreTreatedData->GetBackEEnergy(j))/2.) < m_StripEnergyMatchingNumberOfSigma*m_StripEnergyMatchingSigma) {
                ArrayOfGoodCouple.push_back(TVector2(i,j));
+               m_Counter[3] = 1;
             }  // end test energy
          }  // end test same detector
       }  // end loop back multiplicity
diff --git a/NPLib/W1/TW1Physics.h b/NPLib/W1/TW1Physics.h
index 1d32c919f51f133f3a421684ddf33be722dcd63c..34121382af56e94f06f469ae8317aeaf35f0936a 100644
--- a/NPLib/W1/TW1Physics.h
+++ b/NPLib/W1/TW1Physics.h
@@ -48,7 +48,7 @@ class TW1Physics : public TObject, public NPL::VDetector
 {
  public:   //   Constructor and Destructor
    TW1Physics();
-   ~TW1Physics();
+   ~TW1Physics() {};
 
  public:
    void Clear();
@@ -58,10 +58,11 @@ class TW1Physics : public TObject, public NPL::VDetector
  private: // data obtained after BuildPhysicalEvent() and stored in ROOT output file
    vector<Int_t>     fEventType;
    vector<Int_t>     fDetectorNumber;
-
-   // First stage
-   vector<Double_t>  fEnergy;
-   vector<Double_t>  fTime;
+   vector<Double_t>  fFrontEnergy;
+   vector<Double_t>  fBackEnergy;
+   vector<Double_t>  fHalfEnergy;
+   vector<Double_t>  fFrontTime;
+   vector<Double_t>  fBackTime;
    vector<Int_t>     fFrontStrip;
    vector<Int_t>     fBackStrip;
 
@@ -69,20 +70,30 @@ class TW1Physics : public TObject, public NPL::VDetector
    // setters
    void SetEventType(Int_t evtType)          {fEventType.push_back(evtType);}
    void SetDetectorNumber(Int_t moduleNbr)   {fDetectorNumber.push_back(moduleNbr);}
-   void SetEnergy(Double_t ener)             {fEnergy.push_back(ener);}
-   void SetTime(Double_t time)               {fTime.push_back(time);}
+   void SetFrontEnergy(Double_t ener)        {fFrontEnergy.push_back(ener);}
+   void SetBackEnergy(Double_t ener)         {fBackEnergy.push_back(ener);}
+   void SethalfEnergy(Double_t ener)         {fHalfEnergy.push_back(ener);}
+   void SetFrontTime(Double_t time)          {fFrontTime.push_back(time);}
+   void SetBackTime(Double_t time)           {fBackTime.push_back(time);}
    void SetFrontStrip(Int_t x)               {fFrontStrip.push_back(x);}
    void SetBackStrip(Int_t y)                {fBackStrip.push_back(y);}
 
    // getters
-   Int_t    GetEventMultiplicity()           {return fEnergy.size();}
-   Int_t    GetEventType(Int_t i)            {return fEventType.at(i);}
-   Int_t    GetDetectorNumber(Int_t i)       {return fDetectorNumber.at(i);}
-   Double_t GetEnergy(Int_t i)               {return fEnergy.at(i);}
-   Double_t GetTime(Int_t i)                 {return fTime.at(i);}
-   Int_t    GetFrontStrip(Int_t i)           {return fFrontStrip.at(i);}
-   Int_t    GetBackStrip(Int_t i)            {return fBackStrip.at(i);}
+   Int_t    GetEventMultiplicity()           {return fFrontEnergy.size();}
+   Int_t    GetEventType(Int_t i)            {return fEventType[i];}
+   Int_t    GetDetectorNumber(Int_t i)       {return fDetectorNumber[i];}
+   Double_t GetFrontEnergy(Int_t i)          {return fFrontEnergy[i];}
+   Double_t GetBackEnergy(Int_t i)           {return fBackEnergy[i];}
+   Double_t GetHalfEnergy(Int_t i)           {return fHalfEnergy[i];}
+   Double_t GetFrontTime(Int_t i)            {return fFrontTime[i];}
+   Double_t GetBackTime(Int_t i)             {return fBackTime[i];}
+   Int_t    GetFrontStrip(Int_t i)           {return fFrontStrip[i];}
+   Int_t    GetBackStrip(Int_t i)            {return fBackStrip[i];}
+
 
+ public:
+   Int_t    m_nCounter; //!
+   Bool_t   m_Counter[10]; //!
 
  public:   // inherited from VDetector
    // Read stream at ConfigFile to pick-up parameters of detector (Position,...) using Token
@@ -160,7 +171,7 @@ class TW1Physics : public TObject, public NPL::VDetector
 
 
  public: // Methods used for event treatement
-   int               EventType();
+   Int_t             EventType();
    vector<TVector2>  Match_Front_Back();
 
  private: // Data not written in the tree
diff --git a/NPLib/W1/TW1Spectra.cxx b/NPLib/W1/TW1Spectra.cxx
index 5edc523f6feb3a13a5ff91ebd341ea17ec29c5cd..a61cf2af5d383d4867ac73aa0136a3abfe3549a9 100644
--- a/NPLib/W1/TW1Spectra.cxx
+++ b/NPLib/W1/TW1Spectra.cxx
@@ -36,7 +36,8 @@ using namespace std;
 TW1Spectra::TW1Spectra()
    : fNumberOfDetectors(0),
      fNumberOfStripsFront(16),
-     fNumberOfStripsBack(16)
+     fNumberOfStripsBack(16),
+     fNumberOfCounters(10)
 {
    SetName("W1");
 }
@@ -47,14 +48,15 @@ TW1Spectra::TW1Spectra()
 TW1Spectra::TW1Spectra(unsigned int NumberOfDetectors)
 {
    if (NPOptionManager::getInstance()->GetVerboseLevel() > 0)
-      cout << "******************************************************" << endl
-           << "TW1Spectra : Initalising control spectra for " 
-           << NumberOfDetectors << " Detectors" << endl
-           << "******************************************************" << endl ;
+      cout << "*********************************************************" << endl
+           << "TW1Spectra : Initializing control spectra for " 
+           << NumberOfDetectors << " detectors" << endl
+           << "*********************************************************" << endl ;
    SetName("W1");
    fNumberOfDetectors = NumberOfDetectors;
    fNumberOfStripsFront = 16;
    fNumberOfStripsBack  = 16;
+   fNumberOfCounters    = 10;
 
    InitRawSpectra();
    InitPreTreatedSpectra();
@@ -83,6 +85,14 @@ void TW1Spectra::InitRawSpectra()
       name = "W1_D"+NPL::itoa(i+1)+"_STR_BACK_E_RAW";
       AddHisto2D(name, name, fNumberOfStripsBack, 0, fNumberOfStripsBack, 4096, 0, 4096, "W1/RAW/STR_BACK_E");
 
+      // STR_FRONT_T_RAW
+      name = "W1_D"+NPL::itoa(i+1)+"_STR_FRONT_T_RAW";
+      AddHisto2D(name, name, fNumberOfStripsFront, 0, fNumberOfStripsFront, 4096, 0, 4096, "W1/RAW/STR_FRONT_T");
+
+      // STR_BACK_T_RAW
+      name = "W1_D"+NPL::itoa(i+1)+"_STR_BACK_T_RAW";
+      AddHisto2D(name, name, fNumberOfStripsBack, 0, fNumberOfStripsBack, 4096, 0, 4096, "W1/RAW/STR_BACK_T");
+
       // STR_FRONT_EMAX_RAW
       name = "W1_D"+NPL::itoa(i+1)+"_STR_FRONT_EMAX_RAW";
       AddHisto2D(name, name, fNumberOfStripsFront, 0, fNumberOfStripsFront, 4096, 0, 4096, "W1/RAW/STR_FRONT_EMAX");
@@ -100,10 +110,32 @@ void TW1Spectra::InitRawSpectra()
       AddHisto1D(name, name, fNumberOfStripsFront, 1, fNumberOfStripsFront+1, "W1/RAW/MULT");
    } // end loop on number of detectors
 
-   // One single STR_E_RAW spectrum
+   // One single STR_E_RAW spectrum (E vs absolute strip number)
    name = "W1_STR_E_RAW";
    Int_t ntot = (fNumberOfStripsFront+fNumberOfStripsBack) * fNumberOfDetectors;
    AddHisto2D(name, name, ntot, 0, ntot, 4096, 0, 4096, "W1/RAW");
+
+   // One single STR_T_RAW spectrum (T vs absolute strip number)
+   name = "W1_STR_T_RAW";
+   ntot = (fNumberOfStripsFront+fNumberOfStripsBack) * fNumberOfDetectors;
+   AddHisto2D(name, name, ntot, 0, ntot, 4096, 0, 4096, "W1/RAW");
+
+   // Energy vs time correlation plot
+   name = "W1_ET_COR_RAW";
+   ntot = (fNumberOfStripsFront+fNumberOfStripsBack) * fNumberOfDetectors;
+   AddHisto2D(name, name, ntot, 0, ntot, ntot, 0, ntot, "W1/RAW");
+
+   // One single Energy hit pattern
+   name = "W1_HIT_E_RAW";
+   Int_t ntotF = fNumberOfStripsFront * fNumberOfDetectors;
+   Int_t ntotB = fNumberOfStripsBack  * fNumberOfDetectors;
+   AddHisto2D(name, name, ntotF, 0, ntotF, ntotB, 0, ntotB, "W1/RAW");
+
+   // One single Time hit pattern
+   name = "W1_HIT_T_RAW";
+   ntotF = fNumberOfStripsFront * fNumberOfDetectors;
+   ntotB = fNumberOfStripsBack  * fNumberOfDetectors;
+   AddHisto2D(name, name, ntotF, 0, ntotF, ntotB, 0, ntotB, "W1/RAW");
 }
 
 
@@ -138,6 +170,28 @@ void TW1Spectra::InitPreTreatedSpectra()
    name = "W1_STR_E_CAL";
    Int_t ntot = (fNumberOfStripsFront+fNumberOfStripsBack) * fNumberOfDetectors;
    AddHisto2D(name, name, ntot, 0, ntot, 2000, 0, 8, "W1/CAL");
+ 
+   // One single STR_T_CAL spectrum
+   name = "W1_STR_T_CAL";
+   ntot = (fNumberOfStripsFront+fNumberOfStripsBack) * fNumberOfDetectors;
+   AddHisto2D(name, name, ntot, 0, ntot, 4096, 0, 4096, "W1/CAL");
+ 
+   // Energy vs time correlation plot
+   name = "W1_ET_COR_CAL";
+   ntot = (fNumberOfStripsFront+fNumberOfStripsBack) * fNumberOfDetectors;
+   AddHisto2D(name, name, ntot, 0, ntot, ntot, 0, ntot, "W1/CAL");
+
+   // One single Energy hit pattern
+   name = "W1_HIT_E_CAL";
+   Int_t ntotF = fNumberOfStripsFront * fNumberOfDetectors;
+   Int_t ntotB = fNumberOfStripsBack  * fNumberOfDetectors;
+   AddHisto2D(name, name, ntotF, 0, ntotF, ntotB, 0, ntotB, "W1/CAL");
+
+   // One single Time hit pattern
+   name = "W1_HIT_T_CAL";
+   ntotF = fNumberOfStripsFront * fNumberOfDetectors;
+   ntotB = fNumberOfStripsBack  * fNumberOfDetectors;
+   AddHisto2D(name, name, ntotF, 0, ntotF, ntotB, 0, ntotB, "W1/CAL");
 }
 
 
@@ -146,9 +200,23 @@ void TW1Spectra::InitPreTreatedSpectra()
 void TW1Spectra::InitPhysicsSpectra()
 {
    static string name;
+   name = "W1_CUTS";
+   AddHisto1D(name, name, fNumberOfCounters, 1, fNumberOfCounters+1, "W1/PHY");
+
    // Kinematic Plot 
    name = "W1_THETA_E";
    AddHisto2D(name, name,360,0,180,500,0,50,"W1/PHY");
+ 
+   // Energy vs time correlation plot
+   name = "W1_ET_COR_PHY";
+   Int_t ntot = (fNumberOfStripsFront+fNumberOfStripsBack) * fNumberOfDetectors;
+   AddHisto2D(name, name, ntot, 0, ntot, ntot, 0, ntot, "W1/PHY");
+
+   // One single Energy hit pattern
+   name = "W1_HIT_PHY";
+   Int_t ntotF = fNumberOfStripsFront * fNumberOfDetectors;
+   Int_t ntotB = fNumberOfStripsBack  * fNumberOfDetectors;
+   AddHisto2D(name, name, ntotF, 0, ntotF, ntotB, 0, ntotB, "W1/PHY");
 }
 
 
@@ -199,6 +267,20 @@ void TW1Spectra::FillRawSpectra(TW1Data* RawData)
       GetHisto(index)-> Fill(SBMAX, EBMAX);
    }
 
+   // STR_FRONT_T 
+   mysize = RawData->GetFrontTMult();
+   for (unsigned int i = 0; i < mysize; i++) {
+      index = "W1/RAW/STR_FRONT_T/W1_D"+NPL::itoa(RawData->GetFrontTDetectorNbr(i))+"_STR_FRONT_T_RAW";
+      GetHisto(index)-> Fill(RawData->GetFrontTStripNbr(i), RawData->GetFrontTTime(i));
+   }
+
+   // STR_BACK_T 
+   mysize = RawData->GetBackTMult();
+   for (unsigned int i = 0; i < mysize; i++) {
+      index = "W1/RAW/STR_BACK_T/W1_D"+NPL::itoa(RawData->GetBackTDetectorNbr(i))+"_STR_BACK_T_RAW";
+      GetHisto(index)-> Fill(RawData->GetBackTStripNbr(i), RawData->GetBackTTime(i));
+   }
+
    // STR_E_RAW
    index = "W1/RAW/W1_STR_E_RAW";
    UShort_t multFront = RawData->GetFrontEMult();
@@ -210,6 +292,50 @@ void TW1Spectra::FillRawSpectra(TW1Data* RawData)
       GetHisto(index)->Fill(RawData->GetBackEStripNbr(i) + (2*(RawData->GetBackEDetectorNbr(i)-1)+1)*fNumberOfStripsBack, RawData->GetBackEEnergy(i));
    } // end loop on front strips
 
+   // STR_T_RAW
+   index = "W1/RAW/W1_STR_T_RAW";
+   multFront = RawData->GetFrontTMult();
+   for (UShort_t i = 0; i < multFront; ++i) {   // loop on front strips
+      GetHisto(index)->Fill(RawData->GetFrontTStripNbr(i) + 2*fNumberOfStripsFront*(RawData->GetFrontTDetectorNbr(i)-1), RawData->GetFrontTTime(i));
+   } // end loop on front strips
+   multBack = RawData->GetBackTMult();
+   for (UShort_t i = 0; i < multBack; ++i) {   // loop on front strips
+      GetHisto(index)->Fill(RawData->GetBackTStripNbr(i) + (2*(RawData->GetBackTDetectorNbr(i)-1)+1)*fNumberOfStripsBack, RawData->GetBackTTime(i));
+   } // end loop on front strips
+
+   // W1_ET_COR_RAW
+   index = "W1/RAW/W1_ET_COR_RAW";
+   UShort_t multFrontE = RawData->GetFrontEMult();
+   for (UShort_t i = 0; i < multFrontE; ++i) {   // loop on front strips (E)
+      UShort_t multFrontT = RawData->GetFrontTMult();
+      for (UShort_t j = 0; j < multFrontT; ++j) {   // loop on front strips (T)
+         GetHisto(index)->Fill(RawData->GetFrontEStripNbr(i) + 2*fNumberOfStripsFront*(RawData->GetFrontEDetectorNbr(i)-1), RawData->GetFrontTStripNbr(i) + 2*fNumberOfStripsFront*(RawData->GetFrontTDetectorNbr(i)-1));
+      } // end loop on front strips (T)
+   } // end loop on front strips (E)
+   UShort_t multBackE = RawData->GetBackEMult();
+   for (UShort_t i = 0; i < multBackE; ++i) {   // loop on front strips (E)
+      UShort_t multBackT = RawData->GetBackTMult();
+      for (UShort_t j = 0; j < multBackT; ++j) {   // loop on front strips (T)
+         GetHisto(index)->Fill(RawData->GetBackEStripNbr(i) + (2*(RawData->GetBackEDetectorNbr(i)-1)+1)*fNumberOfStripsBack, RawData->GetBackTStripNbr(i) + (2*(RawData->GetBackTDetectorNbr(i)-1)+1)*fNumberOfStripsBack);
+      } // end loop on front strips (T)
+   } // end loop on front strips (E)
+   
+   // W1_HIT_E_RAW
+   index = "W1/RAW/W1_HIT_E_RAW";
+   for (UShort_t i = 0; i < RawData->GetFrontEMult(); ++i) {   // loop on front strips
+      for (UShort_t j = 0; j < RawData->GetBackEMult(); ++j) { // loop on back strips
+         GetHisto(index)->Fill(RawData->GetFrontEStripNbr(i) + fNumberOfStripsFront*(RawData->GetFrontEDetectorNbr(i)-1), RawData->GetBackEStripNbr(i) + fNumberOfStripsBack*(RawData->GetBackEDetectorNbr(i)-1));
+      }
+   } // end loop on front strips
+
+   // W1_HIT_T_RAW
+   index = "W1/RAW/W1_HIT_T_RAW";
+   for (UShort_t i = 0; i < RawData->GetFrontTMult(); ++i) {   // loop on front strips
+      for (UShort_t j = 0; j < RawData->GetBackTMult(); ++j) { // loop on back strips
+         GetHisto(index)->Fill(RawData->GetFrontTStripNbr(i) + fNumberOfStripsFront*(RawData->GetFrontTDetectorNbr(i)-1), RawData->GetBackTStripNbr(i) + fNumberOfStripsBack*(RawData->GetBackTDetectorNbr(i)-1));
+      }
+   } // end loop on front strips
+
    // STR_FRONT MULT
    int myMULT[fNumberOfDetectors];
    for (unsigned int i = 0; i < fNumberOfDetectors; i++) myMULT[i] = 0;
@@ -270,6 +396,7 @@ void TW1Spectra::FillPreTreatedSpectra(TW1Data* PreTreatedData)
       GetHisto(index)->Fill(PreTreatedData->GetBackEStripNbr(i), PreTreatedData->GetBackEEnergy(i));
    }
 
+
    // STR_E_CAL
    index = "W1/CAL/W1_STR_E_CAL";
    UShort_t multFront = PreTreatedData->GetFrontEMult();
@@ -280,6 +407,52 @@ void TW1Spectra::FillPreTreatedSpectra(TW1Data* PreTreatedData)
    for (UShort_t i = 0; i < multBack; ++i) {   // loop on front strips
       GetHisto(index)->Fill(PreTreatedData->GetBackEStripNbr(i) + (2*(PreTreatedData->GetBackEDetectorNbr(i)-1)+1)*fNumberOfStripsBack, PreTreatedData->GetBackEEnergy(i));
    } // end loop on front strips
+ 
+
+   // STR_T_CAL
+   index = "W1/CAL/W1_STR_T_CAL";
+   multFront = PreTreatedData->GetFrontTMult();
+   for (UShort_t i = 0; i < multFront; ++i) {   // loop on front strips
+      GetHisto(index)->Fill(PreTreatedData->GetFrontTStripNbr(i) + 2*fNumberOfStripsFront*(PreTreatedData->GetFrontTDetectorNbr(i)-1), PreTreatedData->GetFrontTTime(i));
+   } // end loop on front strips
+   multBack = PreTreatedData->GetBackTMult();
+   for (UShort_t i = 0; i < multBack; ++i) {   // loop on front strips
+      GetHisto(index)->Fill(PreTreatedData->GetBackTStripNbr(i) + (2*(PreTreatedData->GetBackTDetectorNbr(i)-1)+1)*fNumberOfStripsBack, PreTreatedData->GetBackTTime(i));
+   } // end loop on front strips
+ 
+   // W1_ET_COR_CAL
+   index = "W1/CAL/W1_ET_COR_CAL";
+   UShort_t multFrontE = PreTreatedData->GetFrontEMult();
+   for (UShort_t i = 0; i < multFrontE; ++i) {   // loop on front strips (E)
+      UShort_t multFrontT = PreTreatedData->GetFrontTMult();
+      for (UShort_t j = 0; j < multFrontT; ++j) {   // loop on front strips (T)
+         GetHisto(index)->Fill(PreTreatedData->GetFrontEStripNbr(i) + 2*fNumberOfStripsFront*(PreTreatedData->GetFrontEDetectorNbr(i)-1), PreTreatedData->GetFrontTStripNbr(i) + 2*fNumberOfStripsFront*(PreTreatedData->GetFrontTDetectorNbr(i)-1));
+      } // end loop on front strips (T)
+   } // end loop on front strips (E)
+   UShort_t multBackE = PreTreatedData->GetBackEMult();
+   for (UShort_t i = 0; i < multBackE; ++i) {   // loop on front strips (E)
+      UShort_t multBackT = PreTreatedData->GetBackTMult();
+      for (UShort_t j = 0; j < multBackT; ++j) {   // loop on front strips (T)
+         GetHisto(index)->Fill(PreTreatedData->GetBackEStripNbr(i) + (2*(PreTreatedData->GetBackEDetectorNbr(i)-1)+1)*fNumberOfStripsBack, PreTreatedData->GetBackTStripNbr(i) + (2*(PreTreatedData->GetBackTDetectorNbr(i)-1)+1)*fNumberOfStripsBack);
+      } // end loop on front strips (T)
+   } // end loop on front strips (E)
+   
+
+   // W1_HIT_E_CAL
+   index = "W1/CAL/W1_HIT_E_CAL";
+   for (UShort_t i = 0; i < PreTreatedData->GetFrontEMult(); ++i) {   // loop on front strips
+      for (UShort_t j = 0; j < PreTreatedData->GetBackEMult(); ++j) { // loop on back strips
+         GetHisto(index)->Fill(PreTreatedData->GetFrontEStripNbr(i) + fNumberOfStripsFront*(PreTreatedData->GetFrontEDetectorNbr(i)-1), PreTreatedData->GetBackEStripNbr(i) + fNumberOfStripsBack*(PreTreatedData->GetBackEDetectorNbr(i)-1));
+      }
+   } // end loop on front strips
+
+   // W1_HIT_T_CAL
+   index = "W1/CAL/W1_HIT_T_CAL";
+   for (UShort_t i = 0; i < PreTreatedData->GetFrontTMult(); ++i) {   // loop on front strips
+      for (UShort_t j = 0; j < PreTreatedData->GetBackTMult(); ++j) { // loop on back strips
+         GetHisto(index)->Fill(PreTreatedData->GetFrontTStripNbr(i) + fNumberOfStripsFront*(PreTreatedData->GetFrontTDetectorNbr(i)-1), PreTreatedData->GetBackTStripNbr(i) + fNumberOfStripsBack*(PreTreatedData->GetBackTDetectorNbr(i)-1));
+      }
+   } // end loop on front strips
 
 
    // STR_FRONT MULT
@@ -315,6 +488,32 @@ void TW1Spectra::FillPreTreatedSpectra(TW1Data* PreTreatedData)
 ////////////////////////////////////////////////////////////////////////////////
 void TW1Spectra::FillPhysicsSpectra(TW1Physics* Physics)
 {
+   static string index;
+
+   // counters
+   index = "W1/PHY/W1_CUTS";
+   for (Int_t i = 0; i < fNumberOfCounters; ++i) {   // loop on counters
+      GetHisto(index)->Fill(i+1, Physics->m_Counter[i]);
+   } // end loop on counters
+
+
+   // W1_ET_COR_PHY
+   index = "W1/PHY/W1_ET_COR_PHY";
+   for (UShort_t i = 0; i < Physics->GetEventMultiplicity(); ++i) {   // loop on multiplicity
+      Int_t stripF = Physics->GetFrontStrip(i) + 2*fNumberOfStripsFront*(Physics->GetDetectorNumber(i)-1);
+      if (Physics->GetFrontEnergy(i) > 0 && Physics->GetFrontTime(i) > 0) GetHisto(index)->Fill(stripF, stripF);
+      Int_t stripB = Physics->GetBackStrip(i)  + (2*(Physics->GetDetectorNumber(i)-1)+1)*fNumberOfStripsBack;
+      if (Physics->GetBackEnergy(i) > 0  && Physics->GetBackTime(i) > 0)  GetHisto(index)->Fill(stripB, stripB);
+   } // end loop on multiplicity 
+ 
+
+   // W1_HIT_PHY
+   index = "W1/PHY/W1_HIT_PHY";
+   for (UShort_t i = 0; i < Physics->GetEventMultiplicity(); ++i) {   // loop on multiplicity 
+      GetHisto(index)->Fill(Physics->GetFrontStrip(i) + fNumberOfStripsFront*(Physics->GetDetectorNumber(i)-1), Physics->GetBackStrip(i) + fNumberOfStripsBack*(Physics->GetDetectorNumber(i)-1));
+   } // end loop on multiplicity 
+
+
 /*   static string index;
 
    // Kine plot
diff --git a/NPLib/W1/TW1Spectra.h b/NPLib/W1/TW1Spectra.h
index 78e7c8606739a09e0b0bcc77a620bba495ac418d..aba1cec07f66e1837ef8689a1adfafd79185406a 100644
--- a/NPLib/W1/TW1Spectra.h
+++ b/NPLib/W1/TW1Spectra.h
@@ -53,6 +53,7 @@ class TW1Spectra:public VSpectra {
     unsigned int fNumberOfDetectors;
     unsigned int fNumberOfStripsFront;
     unsigned int fNumberOfStripsBack;
+    Int_t         fNumberOfCounters;
 };
 
 #endif
diff --git a/NPLib/scripts/RootLogon.sh b/NPLib/scripts/RootLogon.sh
index cf24507af3483c86a3b76ab4baee66ad77958625..7604d53d97a7d40c2bd15fb115d0e0f501f262df 100755
--- a/NPLib/scripts/RootLogon.sh
+++ b/NPLib/scripts/RootLogon.sh
@@ -42,7 +42,7 @@ then
 
 else
   echo 'File .rootlogon.C was created'
-  cp scripts/rootlogon_basic.C ~/.rootlogon.C
+  cp rootlogon_basic.C ~/.rootlogon.C
 fi
 
 
diff --git a/NPSimulation/Core/PhysicsList.cc b/NPSimulation/Core/PhysicsList.cc
index 2286e7828fe222018c3f0821b219259cd8c0921f..37d45597d2adf399b79717ac3e6be1bc4b78bbc7 100644
--- a/NPSimulation/Core/PhysicsList.cc
+++ b/NPSimulation/Core/PhysicsList.cc
@@ -84,14 +84,16 @@ PhysicsList::PhysicsList() : G4VModularPhysicsList(){
     m_PhysList["HadronPhysicsQGSP_BIC_HP"] = new G4HadronPhysicsQGSP_BIC_HP();
 
   // Optical Photon for scintillator simulation
-  if(m_OpticalPhysics)
-    m_PhysList["OpticalPhysics"] =  new G4OpticalPhysics();    
+    if(m_OpticalPhysics)
+        m_PhysList["OpticalPhysics"] =  new G4OpticalPhysics();
+    
 
 
   // Decay physics
   // Add Radioactive decay
-  // Gamma decay of know states
+  // Gamma decay of known states
   if(m_Decay){
+      std::cout << "Decay is activated: m_Decay=" << m_Decay << std::endl;
     decay_List =  new G4DecayPhysics();
     radioactiveDecay_List = new G4RadioactiveDecayPhysics()  ;
     m_PhysList["decay_list"]= decay_List;
@@ -198,21 +200,21 @@ void PhysicsList::ConstructParticle(){
 
 /////////////////////////////////////////////////////////////////////////////
 void PhysicsList::ConstructProcess(){
-  // Transportation
-  AddTransportation();
-
-  // Electromagnetic physics
-  emPhysicsList -> ConstructProcess();
-  em_config.AddModels();
-
-  // Hadronic physics
-  std::map<std::string,G4VPhysicsConstructor*>::iterator it;
-  for(it = m_PhysList.begin(); it!= m_PhysList.end(); it++){
-    it->second -> ConstructProcess();
-  }
+    // Transportation
+    AddTransportation();
+
+    // Electromagnetic physics
+    emPhysicsList -> ConstructProcess();
+    em_config.AddModels();
+
+    // Hadronic physics
+    std::map<std::string,G4VPhysicsConstructor*>::iterator it;
+    for(it = m_PhysList.begin(); it!= m_PhysList.end(); it++){
+        it->second -> ConstructProcess();
+    }
     BiasCrossSectionByFactor(m_IonBinaryCascadePhysics); 
-
-  return;
+    SetCuts();
+    return;
 }
 /////////////////////////////////////////////////////////////////////////////
 void PhysicsList::AddStepMax(){
diff --git a/NPSimulation/CsI/CsI.cc b/NPSimulation/CsI/CsI.cc
index 7603419ab116440f5edae264db5dd514d327b3ca..7017ec07cc2d564a51e67437c4e4d4f70be23bce 100644
--- a/NPSimulation/CsI/CsI.cc
+++ b/NPSimulation/CsI/CsI.cc
@@ -46,8 +46,10 @@
 #include "ObsoleteGeneralScorers.hh"
 #include "RootOutput.h"
 #include "MaterialManager.hh"
+#include "SiliconScorers.hh"
+#include "CalorimeterScorers.hh"
 #include "NPSDetectorFactory.hh"
-using namespace OBSOLETEGENERALSCORERS ;
+//using namespace OBSOLETEGENERALSCORERS ;
 // CLHEP header
 #include "CLHEP/Random/RandGauss.h"
 
@@ -57,10 +59,9 @@ using namespace CLHEP;
 
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
 namespace CSI{
-  // Energy and time Resolution
-  const G4double ResoTime    = 4.2         ;// = 10ns of Resolution   //   Unit is MeV/2.35
-  //const G4double ResoEnergy  = 0.180/2.35         ;// Resolution in keV (sigma)
-  const G4double ResoEnergy  = 0.50 ;// Resolution in %
+    // Energy and time Resolution
+    //const G4double ResoTime    = 4.2         ;// = 10ns of Resolution   //   Unit is MeV/2.35
+    const G4double ResoCsI = 2.4;//%
 }
 
 using namespace CSI ;
@@ -396,32 +397,52 @@ void CsI::VolumeMaker(G4ThreeVector Det_pos, int DetNumber, G4LogicalVolume* wor
 
   // Cylindrical Case
   if(m_CsIRadius[i]!=-1){
-    if(m_CsIThickness[i]>0 && m_CsIRadius[i]>0){ 
-      G4Tubs* solidCsI = new G4Tubs( Name ,    
-          0 ,
-          m_CsIRadius[i] ,
-          m_CsIThickness[i]/2 ,
-          0*deg , 
-          360*deg);
-
-      G4LogicalVolume* logicCsI = new G4LogicalVolume(solidCsI, CsIMaterial, Name+ "_Scintillator", 0, 0, 0);
-      logicCsI->SetSensitiveDetector(m_CsIScorer);
-
-      G4VisAttributes* CsIVisAtt = new G4VisAttributes(G4Colour(1.0, 0.5, 0.0)) ;
-      logicCsI->SetVisAttributes(CsIVisAtt) ;
-
-
-
-      new G4PVPlacement(0 ,
-          Det_pos ,
-          logicCsI ,
-          Name  + "_Scintillator" ,
-          world ,
-          false ,
-          0 );   
+    if(m_CsIThickness[i]>0 && m_CsIRadius[i]>0){
+        
+        // CsI crystal
+        G4Tubs* solidCsI = new G4Tubs( Name ,
+                                      0 ,
+                                      m_CsIRadius[i] ,
+                                      m_CsIThickness[i]/2 ,
+                                      0*deg ,
+                                      360*deg);
+
+        G4LogicalVolume* logicCsI = new G4LogicalVolume(solidCsI, CsIMaterial, Name+ "_Scintillator", 0, 0, 0);
+        logicCsI->SetSensitiveDetector(m_CsIScorer);
+
+        G4VisAttributes* CsIVisAtt = new G4VisAttributes(G4Colour(1.0, 0.5, 0.0)) ;
+        logicCsI->SetVisAttributes(CsIVisAtt) ;
+
+        new G4PVPlacement(0 ,
+                          Det_pos ,
+                          logicCsI ,
+                          Name  + "_Scintillator" ,
+                          world ,
+                          false ,
+                          0 );
+        
+        // Photodiode
+        G4String NamePD = Name+"PhotoDiode";
+        
+        G4Material* PDMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary("Si");
+
+        G4Box* solidPhotoDiode = new G4Box(NamePD,0.5*PhotoDiodeFace,0.5*PhotoDiodeFace,0.5*PhotoDiodeThickness);
+        
+        G4LogicalVolume* logicPD = new G4LogicalVolume(solidPhotoDiode, PDMaterial, NamePD,0,0,0);
+        logicPD->SetSensitiveDetector(m_PDScorer);
+        
+        G4VisAttributes* PDVisAtt = new G4VisAttributes(G4Colour(0.1, 0.2, 0.3)) ;
+        logicPD->SetVisAttributes(PDVisAtt);
+        
+        new G4PVPlacement(0 ,
+                         Det_pos+(m_CsIThickness[i]/2+PhotoDiodeThickness/2)*Det_pos.unit() ,
+                         logicPD ,
+                         NamePD ,
+                         world ,
+                         false ,
+                         0 );
     }
 
-
     if(m_LeadThickness[i]>0&& m_CsIRadius[i]>0){
       G4Tubs* solidLead = new G4Tubs(Name+"_Lead",    
           0,
@@ -499,9 +520,48 @@ void CsI::InitializeRootOutput(){
 // Read sensitive part and fill the Root tree.
 // Called at in the EventAction::EndOfEventAvtion
 void CsI::ReadSensitive(const G4Event* event){
-  G4String DetectorNumber;
-  m_Event->Clear();
+    //G4String DetectorNumber;
+    m_Event->Clear();
+    
+    // CsI //
+    G4THitsMap<G4double*>* CsIHitMap;
+    std::map<G4int, G4double**>::iterator CsI_itr;
+    G4int CsICollectionID = G4SDManager::GetSDMpointer()->GetCollectionID("CsIScorer/CsI");
+    CsIHitMap = (G4THitsMap<G4double*>*)(event->GetHCofThisEvent()->GetHC(CsICollectionID));
+    
+    // Loop on the CsI map
+    for (CsI_itr = CsIHitMap->GetMap()->begin() ; CsI_itr != CsIHitMap->GetMap()->end() ; CsI_itr++){
+        G4double* Info = *(CsI_itr->second);
+        double E_CsI = RandGauss::shoot(Info[0],Info[0]*ResoCsI/100);
+        //cout << "Energy CsI " << endl;
+        //cout << E_CsI << endl;
+        m_Event->SetCsIEEnergy(E_CsI);
+        m_Event->SetENumber(Info[2]);
+    }
+    // Clear Map for next event
+    CsIHitMap->clear();
+    
+    // PhotoDiode //
+    G4THitsMap<G4double*>* PhotoDiodeHitMap;
+    std::map<G4int, G4double**>::iterator PhotoDiode_itr;
+    
+    G4int PhotoDiodeCollectionID = G4SDManager::GetSDMpointer()->GetCollectionID("PDScorer/PhotoDiode");
+    PhotoDiodeHitMap = (G4THitsMap<G4double*>*)(event->GetHCofThisEvent()->GetHC(PhotoDiodeCollectionID));
+    
+    // Loop on the PhotoDiode map
+    for (PhotoDiode_itr = PhotoDiodeHitMap->GetMap()->begin() ; PhotoDiode_itr != PhotoDiodeHitMap->GetMap()->end() ; PhotoDiode_itr++){
+        G4double* Info = *(PhotoDiode_itr->second);
+        double E_PhotoDiode = RandGauss::shoot(Info[0],Info[0]*ResoCsI/100);
+        
+        m_Event->SetPhotoDiodeEnergy(E_PhotoDiode);
+        m_Event->SetPhotoDiodeEDetectorNbr(Info[7]);
+            
+        m_Event->SetPhotoDiodeTime(Info[1]);
+        m_Event->SetPhotoDiodeTDetectorNbr(Info[7]);
+    }
+    PhotoDiodeHitMap->clear();
 
+    /*
   //////////////////////////////////////////////////////////////////////////////////////
   //////////////////////// Used to Read Event Map of detector //////////////////////////
   //////////////////////////////////////////////////////////////////////////////////////
@@ -559,7 +619,7 @@ void CsI::ReadSensitive(const G4Event* event){
         G4int ETrackID  =   Energy_itr->first  - N      ;
         G4double E     = *(Energy_itr->second)         ;
         if (ETrackID == NTrackID) {
-	  m_Event->SetEEnergy(RandGauss::shoot(E, E*ResoEnergy/100./2.35))    ;
+            m_Event->SetEEnergy(RandGauss::shoot(E, E*ResoEnergy/100./2.35))    ;
           //m_Event->SetEEnergy(RandGauss::shoot(E, ResoEnergy))    ;
         }
         Energy_itr++;
@@ -596,28 +656,48 @@ void CsI::ReadSensitive(const G4Event* event){
   TimeHitMap            ->clear()   ;    
   DetectorNumberHitMap    ->clear()   ;
   EnergyHitMap            ->clear()    ; 
-  PosZHitMap					->clear() ;
+  PosZHitMap			->clear() ;
+     */
 
 }
 
 
 ////////////////////////////////////////////////////////////////   
 void CsI::InitializeScorers() { 
-  bool already_exist = false; 
-  m_CsIScorer = CheckScorer("CsIScorer",already_exist) ;
+    bool already_exist = false;
+    vector<G4int> NestingLevel;
+    NestingLevel.push_back(0);
+    NestingLevel.push_back(1);
+    m_CsIScorer = CheckScorer("CsIScorer",already_exist) ;
+    m_PDScorer = CheckScorer("PDScorer",already_exist) ;
   
-  if(already_exist) return ;
-
-  G4VPrimitiveScorer* DetNbr = new PSDetectorNumber("CsINumber","CsI", 0) ;
-  G4VPrimitiveScorer* Energy = new PSEnergy("Energy","CsI", 0)                   ;
-  G4VPrimitiveScorer* Time   = new PSTOF("Time","CsI", 0)                         ;
-  G4VPrimitiveScorer* InteractionCoordinatesZ  			= new OBSOLETEGENERALSCORERS::PSInteractionCoordinatesZ("InterCoordZ","CsI", 0);       
-  //and register it to the multifunctionnal detector
-  m_CsIScorer->RegisterPrimitive(DetNbr)                         ;
-  m_CsIScorer->RegisterPrimitive(Energy)                         ;
-  m_CsIScorer->RegisterPrimitive(Time)                            ;      
-  m_CsIScorer->RegisterPrimitive(InteractionCoordinatesZ);      
-  G4SDManager::GetSDMpointer()->AddNewDetector(m_CsIScorer) ;
+    if(already_exist) return ;
+    
+    G4VPrimitiveScorer* CsIScorer= new CALORIMETERSCORERS::PS_Calorimeter("CsI",NestingLevel);
+    m_CsIScorer->RegisterPrimitive(CsIScorer);
+    
+    G4VPrimitiveScorer* PDScorer = new SILICONSCORERS::PS_Silicon_Rectangle("PhotoDiode",0,
+                                                                                PhotoDiodeFace,
+                                                                                PhotoDiodeFace,
+                                                                                1,
+                                                                                1);
+    m_PDScorer->RegisterPrimitive(PDScorer);
+    
+    G4SDManager::GetSDMpointer()->AddNewDetector(m_PDScorer) ;
+    G4SDManager::GetSDMpointer()->AddNewDetector(m_CsIScorer) ;
+
+
+    /*G4VPrimitiveScorer* DetNbr = new PSDetectorNumber("CsINumber","CsI", 0) ;
+    G4VPrimitiveScorer* Energy = new PSEnergy("Energy","CsI", 0)                   ;
+    G4VPrimitiveScorer* Time   = new PSTOF("Time","CsI", 0)                         ;
+    G4VPrimitiveScorer* InteractionCoordinatesZ  			= new OBSOLETEGENERALSCORERS::PSInteractionCoordinatesZ("InterCoordZ","CsI", 0);
+    //and register it to the multifunctionnal detector
+    m_CsIScorer->RegisterPrimitive(DetNbr)                         ;
+    m_CsIScorer->RegisterPrimitive(Energy)                         ;
+    m_CsIScorer->RegisterPrimitive(Time)                            ;
+    m_CsIScorer->RegisterPrimitive(InteractionCoordinatesZ);
+    G4SDManager::GetSDMpointer()->AddNewDetector(m_CsIScorer) ;
+    G4SDManager::GetSDMpointer()->AddNewDetector(m_PDScorer) ;*/
 
 }
 ////////////////////////////////////////////////////////////////
diff --git a/NPSimulation/CsI/CsI.hh b/NPSimulation/CsI/CsI.hh
index dbeeb9c132ea9ee9d4d729385c9174815ef7ec50..0072df73cdd670e5623b08a30bae67403f2a3113 100644
--- a/NPSimulation/CsI/CsI.hh
+++ b/NPSimulation/CsI/CsI.hh
@@ -57,6 +57,10 @@ public:
    //////// Specific Function of this Class ///////////
    ////////////////////////////////////////////////////
 public:
+    
+    G4double PhotoDiodeFace = 18.;//mm
+    G4double PhotoDiodeThickness = 3.;//mm
+    
    // Cylindric CsI
    void AddCsI(  G4double   R                  ,
                      G4double   Theta              ,
@@ -101,8 +105,9 @@ public:   //   Scorer
    //   Initialize all Scorer used by the MUST2Array
    void InitializeScorers() ;
 
-   //   Silicon Associate Scorer
-   G4MultiFunctionalDetector* m_CsIScorer ;
+    //   Silicon Associate Scorer
+    G4MultiFunctionalDetector* m_CsIScorer ;
+    G4MultiFunctionalDetector* m_PDScorer;
    ////////////////////////////////////////////////////
    ///////////Event class to store Data////////////////
    ////////////////////////////////////////////////////
diff --git a/NPSimulation/PhysicsListOption.txt b/NPSimulation/PhysicsListOption.txt
index 45f0b70322e3e35a35363202a40eed73d1567b09..768664c8715dce1bac4d080ea8d8e886d8452db8 100644
--- a/NPSimulation/PhysicsListOption.txt
+++ b/NPSimulation/PhysicsListOption.txt
@@ -2,6 +2,6 @@ IonBinaryCascadePhysics 0
 EmExtraPhysics 0
 HadronElasticPhysics 0
 StoppingPhysics 0
-OpticalPhysics 0
+OpticalPhysics 1
 HadronPhysicsQGSP_BIC_HP 0
-Decay 0
+Decay 1
diff --git a/NPSimulation/SSSD/SSSD.hh b/NPSimulation/SSSD/SSSD.hh
index 3e3021ddf40ace8d5e98c9fc485a834c4efc5c7a..97bd7d838482c69d6d3a7eafe880a6422c57067b 100644
--- a/NPSimulation/SSSD/SSSD.hh
+++ b/NPSimulation/SSSD/SSSD.hh
@@ -44,7 +44,7 @@ using namespace CLHEP;
 namespace SSSD_LOCAL{
    // Energy and time Resolution
    const G4double ResoTime    = 0      ;
-   const G4double ResoEnergy  = 0.064  ;// = 150keV of Resolution   //   Unit is MeV/2.35
+   const G4double ResoEnergy  = 0.050  ;// = 150keV of Resolution   //   Unit is MeV/2.35
    const G4double EnergyThreshold = 100*keV;
    // Geometry
    const G4double DetectorSize      = 68*mm           ;