diff --git a/NPAnalysis/MakePhysicalTree/RunToTreat.txt b/NPAnalysis/MakePhysicalTree/RunToTreat.txt
index 48c5db0fe6ef8dfc4ff7faa0617b12057885c246..b620b3931e9eaa0be6a5d2f58d3dee0ff3e4c525 100644
--- a/NPAnalysis/MakePhysicalTree/RunToTreat.txt
+++ b/NPAnalysis/MakePhysicalTree/RunToTreat.txt
@@ -1,4 +1,13 @@
 TTreeName 
 	AutoTree
 RootFileName 
-	/data/e628X/e628/acquisition/run_root/run_1115.root
+%	/data/e628X/e628/acquisition/run_root/run_1352.1.root
+%	/data/e628X/e628/acquisition/run_root/run_1353.0.root
+	/data/e628X/e628/acquisition/run_root/run_1354.0.root
+%	/data/e628X/e628/acquisition/run_root/run_1354.1.root
+%	/data/e628X/e628/acquisition/run_root/run_1355.0.root
+%	/data/e628X/e628/acquisition/run_root/run_1356.0.root
+%	/data/e628X/e628/acquisition/run_root/run_1357.0.root
+%	/data/e628X/e628/acquisition/run_root/run_1357.1.root
+%	/data/e628X/e628/acquisition/run_root/run_1358.0.root
+%	/data/e628X/e628/acquisition/run_root/run_1358.1.root
diff --git a/NPAnalysis/e628/#RunToTreat.txt# b/NPAnalysis/e628/#RunToTreat.txt#
deleted file mode 100644
index 48c5db0fe6ef8dfc4ff7faa0617b12057885c246..0000000000000000000000000000000000000000
--- a/NPAnalysis/e628/#RunToTreat.txt#
+++ /dev/null
@@ -1,4 +0,0 @@
-TTreeName 
-	AutoTree
-RootFileName 
-	/data/e628X/e628/acquisition/run_root/run_1115.root
diff --git a/NPAnalysis/e628/Calibration.txt b/NPAnalysis/e628/Calibration.txt
index 9d506c81a1b2a02e188bc1bfa2a91d0c615b87fc..2e0fa0b096758e253bf01c39b2aebaeb6cf0075e 100644
--- a/NPAnalysis/e628/Calibration.txt
+++ b/NPAnalysis/e628/Calibration.txt
@@ -1,6 +1,27 @@
 CalibrationFilePath
 /home/e628/nptool/NPAnalysis/Exogam/calibration_Exogam_Seg_27_02_2014.cal
-/home/e628/nptool/NPAnalysis/Exogam/calibration_Exogam_ECC_04_03_2014.cal
+/home/e628/nptool/NPAnalysis/Exogam/calibration_Exogam_ECC_05_03_2014.cal
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/CATS1_X.txt
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/CATS1_Y.txt
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/CATS2_X.txt
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/CATS2_Y.txt
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/Cal_Str_X_E_MM1.cal
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/Cal_Str_X_E_MM2.cal
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/Cal_Str_X_E_MM3.cal
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/Cal_Str_X_E_MM4.cal
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/Cal_Str_Y_E_MM1.cal
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/Cal_Str_Y_E_MM2.cal
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/Cal_Str_Y_E_MM3.cal
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/Cal_Str_Y_E_MM4.cal
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/BarrelCalib.txt
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/BarrelMatchsticks.txt
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/BarrelBallistic.txt
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/Charissa.txt
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/HyballCalib.txt
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/HyballMatchstick.txt
+/home/e628/ganacq_manip/e628/GRU/GRUscripts/calib/Calibration_CsI_MUST2.txt
+
+
 %/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Energy/Calibration/calib_run1007/Test_X_T1_E/Cal_Str_X_E_MM1.cal
 %/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Energy/Calibration/calib_run1007/Test_X_T2_E/Cal_Str_X_E_MM2.cal
 %/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Energy/Calibration/calib_run1007/Test_X_T3_E/Cal_Str_X_E_MM3.cal
@@ -9,11 +30,11 @@ CalibrationFilePath
 %/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Energy/Calibration/calib_run1007/Test_Y_T2_E/Cal_Str_Y_E_MM2.cal
 %/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Energy/Calibration/calib_run1007/Test_Y_T3_E/Cal_Str_Y_E_MM3.cal
 %/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Energy/Calibration/calib_run1007/Test_Y_T4_E/Cal_Str_Y_E_MM4.cal
-/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Time/Coeff/Cal_Str_X_T_MM1.cal
-/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Time/Coeff/Cal_Str_X_T_MM2.cal
-/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Time/Coeff/Cal_Str_X_T_MM3.cal
-/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Time/Coeff/Cal_Str_X_T_MM4.cal
-/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Time/Coeff/Cal_Str_Y_T_MM1.cal
-/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Time/Coeff/Cal_Str_Y_T_MM2.cal
-/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Time/Coeff/Cal_Str_Y_T_MM3.cal
-/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Time/Coeff/Cal_Str_Y_T_MM4.cal
+%/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Time/Coeff/Cal_Str_X_T_MM1.cal
+%/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Time/Coeff/Cal_Str_X_T_MM2.cal
+%/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Time/Coeff/Cal_Str_X_T_MM3.cal
+%/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Time/Coeff/Cal_Str_X_T_MM4.cal
+%/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Time/Coeff/Cal_Str_Y_T_MM1.cal
+%/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Time/Coeff/Cal_Str_Y_T_MM2.cal
+%/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Time/Coeff/Cal_Str_Y_T_MM3.cal
+%/home/e628/nptool/NPAnalysis/must2/macro/Calibration/Time/Coeff/Cal_Str_Y_T_MM4.cal
diff --git a/NPAnalysis/e628/RunToTreat.txt b/NPAnalysis/e628/RunToTreat.txt
index e4821e82e4e022cee9d1e7b0d1b1fd2af87d7687..b7b97b5c094a9f14c085e17dbf2c69efda2d9753 100644
--- a/NPAnalysis/e628/RunToTreat.txt
+++ b/NPAnalysis/e628/RunToTreat.txt
@@ -1,7 +1,10 @@
 TTreeName 
 	AutoTree
 RootFileName 
-	/data/e628X/e628/acquisition/run_root/run_1273.root
-	/data/e628X/e628/acquisition/run_root/run_1273_1.root
-	/data/e628X/e628/acquisition/run_root/run_1273_2.root
-	/data/e628X/e628/acquisition/run_root/run_1273_3.root
+	/data/e628X/e628/acquisition/run_root/run_1377.0.root
+	/data/e628X/e628/acquisition/run_root/run_1377.1.root
+%	/data/e628X/e628/acquisition/run_root/run_1336.2.root
+	
+	
+
+
diff --git a/NPAnalysis/e628/RunToTreat_anna.txt b/NPAnalysis/e628/RunToTreat_anna.txt
index 2946584fc955165f703b6483b720da20f9cfff38..c49be2afc09a4928587c8ebe66225367e9f37d3f 100644
--- a/NPAnalysis/e628/RunToTreat_anna.txt
+++ b/NPAnalysis/e628/RunToTreat_anna.txt
@@ -1,4 +1,4 @@
 TTreeName 
 	AutoTree
 RootFileName 
-	/data/e628X/e628/acquisition/run_root/run_1255.root
+%	/data/e628X/e628/acquisition/run_root/run_1255.root
diff --git a/NPAnalysis/e628/RunToTreat_ben.txt b/NPAnalysis/e628/RunToTreat_ben.txt
index 8387d22efa602763143f9832fed2ffcda8135791..7629856a47bf9ebfa2fc32e9ef6130d476f5b476 100644
--- a/NPAnalysis/e628/RunToTreat_ben.txt
+++ b/NPAnalysis/e628/RunToTreat_ben.txt
@@ -1,4 +1,4 @@
 TTreeName 
 	AutoTree
 RootFileName 
-	/data/e628X/e628/acquisition/run_root/run_1005.root
+%	/data/e628X/e628/acquisition/run_root/run_1005.root
diff --git a/NPAnalysis/e628/configs/beta.txt b/NPAnalysis/e628/configs/beta.txt
index f3b84867e0ee9f5514e434e6bbf76e08fd5a660a..2de4f59097343317909308e82ecc6f54fa3a20d0 100644
--- a/NPAnalysis/e628/configs/beta.txt
+++ b/NPAnalysis/e628/configs/beta.txt
@@ -1 +1 @@
-0.18441
+0.18384
diff --git a/NPAnalysis/e628/e628.detector b/NPAnalysis/e628/e628.detector
index 8dbbbfd15f5784549a56d8de8d52fc2177ceccc9..7a947800bb2937b8f10d5f6535535d8bf2f0ee78 100644
--- a/NPAnalysis/e628/e628.detector
+++ b/NPAnalysis/e628/e628.detector
@@ -1,3 +1,17 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+CATSArray
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+CATSDetector
+   X1_Y1=         38.86    -34.36  -1193
+   X28_Y1=        -32.26   -34.36  -1193
+   X1_Y28=        38.86    37.36   -1193
+   X28_Y28=       -32.26   37.36   -1193
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2
+CATSDetector
+   X1_Y1=         -35.56  -35.36  -684
+   X28_Y1=        35.56  -35.36  -684
+   X1_Y28=        -35.56   35.76  -684
+   X28_Y28=       35.56   35.76  -684
 %%%%%%%%%%%%%%%%%%%%%%%%%%%         
 MUST2Array        
 %%%%%%% Telescope 1 %%%%%%%         
@@ -11,7 +25,7 @@ SILI= 0
 CSI=  1     
 VIS=  all      
          
-%%%%%%% Telescope 2 %%%%%%%         
+%%%%%%% Telescope 2 %%%%%%% 
 M2Telescope          
 X1_Y1=      -116.04  9.84  138.55
 X1_Y128= -22.8 9.84  175.95
@@ -43,7 +57,6 @@ SI=   1
 SILI= 0     
 CSI=  1     
 VIS=  all      
-
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 EXOGAMArray
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1
@@ -61,28 +74,42 @@ EXOGAMClover
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%0
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%         
-%TiaraHyball
-%TiaraHyballWedge
-%   Z= -147
-%   R= 0
-%   PHI= 0
-%TiaraHyballWedge
-%   Z= -147
-%   R= 0
-%   PHI= 60
-%TiaraHyballWedge
-%   Z= -147
-%   R= 0
-%   PHI= 120
-%TiaraHyballWedge
-%   Z= -147
-%   R= 0
-%   PHI= 180
-%TiaraHyballWedge
-%   Z= -147
-%   R= 0
-%   PHI= 240
-%TiaraHyballWedge
-%   Z= -147
-%   R= 0
- %  PHI= 300
+TiaraHyball
+TiaraHyballWedge
+   Z= -154.3
+   R= 0
+   Phi= 0
+TiaraHyballWedge
+   Z= -154.3
+   R= 0
+   Phi= 60
+TiaraHyballWedge
+   Z= -154.3
+   R= 0
+   Phi= 120
+TiaraHyballWedge
+   Z= -154.3
+   R= 0
+   Phi= 180
+TiaraHyballWedge
+   Z= -154.3
+   R= 0
+   Phi= 240
+TiaraHyballWedge
+   Z= -154.3
+   R= 0
+   Phi= 300
+%%%%%%%%%%%%%%%%%%%%%%%%%%%         
+TiaraBarrel
+   X= 0
+   Y= 0
+   Z= 0
+   OuterBarrel= 1
+   InnerBarrel= 1
+%%%%%%%%%%%%%%%%%%%%%%%%%%%      
+CharissaArray
+CharissaTelescope          
+X1_Y1=      10   -10 350
+X1_Y16= -10  -10 350
+X16_Y1= -10   10  350
+X16_Y16=  10 10  350
diff --git a/NPLib/SiRes/TSiResData.h b/NPLib/SiRes/TSiResData.h
index 83cdd13c40006b66c6e2b393e49b658a16cfd573..17006e0263815c2202bf9078e0bcccdd4c02358b 100644
--- a/NPLib/SiRes/TSiResData.h
+++ b/NPLib/SiRes/TSiResData.h
@@ -21,6 +21,7 @@
  *                                                                           *
  *****************************************************************************/
 #include <vector>
+#include <iostream>
 
 #include "TObject.h"
 using namespace std ;
@@ -29,13 +30,13 @@ using namespace std ;
 class TSiResData : public TObject {
  private:
    // Energy 
-   vector<short>   fSiRes_E_Number;
-   vector<short>   fSiRes_E_Channel;
+   vector<int>     fSiRes_E_Number;
+   vector<int>     fSiRes_E_Channel;
    vector<double>  fSiRes_E_Energy;   
    // Time
-   vector<short>   fSiRes_T_Number;
+   vector<int>     fSiRes_T_Number;
    vector<double>  fSiRes_T_Time;
-   vector<double>  fSiRes_E_EnergyBack_Number;
+   vector<int>     fSiRes_E_EnergyBack_Number;
    vector<double>  fSiRes_E_EnergyBack;
    
  public:
@@ -57,19 +58,19 @@ class TSiResData : public TObject {
    int            GetTDetectorNumber(int i) {return fSiRes_T_Number[i];}
    double         GetTTime(int i)   {return fSiRes_T_Time[i];}
    double         GetEEnergyBack(int i)   	{return fSiRes_E_EnergyBack[i];}
-   double         GetEEnergyBackDetectorNumber(int i)   {return fSiRes_E_EnergyBack_Number[i];}
+   int            GetEEnergyBackDetectorNumber(int i)   {return fSiRes_E_EnergyBack_Number[i];}
    double         GetEEnergyBackMult()   	{return fSiRes_E_EnergyBack.size();}
 
    /////////////////////           SETTERS           ////////////////////////
    // Energy
-   void     SetEDetectorNumber(int N)    {fSiRes_E_Number.push_back(N);}
-   void     SetEChannelNumber(int channel)    {fSiRes_E_Number.push_back(channel);}
-   void     SetEEnergy(double E) {fSiRes_E_Energy.push_back(E);}
+   void     SetEDetectorNumber(int N)    	{fSiRes_E_Number.push_back(N);}
+   void     SetEChannelNumber(int channel)    	{fSiRes_E_Channel.push_back(channel);}
+   void     SetEEnergy(double E) 		{fSiRes_E_Energy.push_back(E);}
    // time
-   void     SetTDetectorNumber(int N)    {fSiRes_T_Number.push_back(N);}
-   void     SetTTime(double T)   {fSiRes_T_Time.push_back(T);}
-   void     SetEEnergyBack(double E)   {fSiRes_E_EnergyBack.push_back(E);}
-   void     SetEEnergyBackDetectorNumber(int N)    {fSiRes_E_EnergyBack_Number.push_back(N);}
+   void     SetTDetectorNumber(int N)    	{fSiRes_T_Number.push_back(N);}
+   void     SetTTime(double T)   		{fSiRes_T_Time.push_back(T);}
+   void     SetEEnergyBack(double E)   		{fSiRes_E_EnergyBack.push_back(E);}
+   void     SetEEnergyBackDetectorNumber(int N) {fSiRes_E_EnergyBack_Number.push_back(N);}
 
    ClassDef(TSiResData,1)  // SiResData structure
 };
diff --git a/NPLib/SiRes/TSiResPhysics.cxx b/NPLib/SiRes/TSiResPhysics.cxx
index 6fb3bf98993fab88a3670bfc4e0e24a0bd0ad9ad..a07c71aea59326967f1276dd2af7c44fa676b67b 100644
--- a/NPLib/SiRes/TSiResPhysics.cxx
+++ b/NPLib/SiRes/TSiResPhysics.cxx
@@ -50,6 +50,7 @@ TSiResPhysics::TSiResPhysics()
    {      
       NumberOfDetector = 0 ;
       EventData = new TSiResData ;
+      PreTreatedData    = new TSiResData ;     
       EventPhysics = this ;
       m_SiRes_E_Threshold   = 0;   
       m_SiRes_RAW_Threshold   = 0;     
@@ -81,16 +82,9 @@ void TSiResPhysics::ReadConfiguration(string Path)
       string LineBuffer             ;
       string DataBuffer             ;
 
-      bool check_Theta = false          ;
-      bool check_Phi  = false           ;
-      bool check_R     = false          ;
       bool check_Thickness = false      ;
-      bool check_Radius = false         ;
-      bool check_LeadThickness = false  ;
-      bool check_Scintillator = false   ;
       bool check_Height = false         ;
       bool check_Width = false          ;
-      bool check_Shape = false          ;
       bool check_X = false              ;
       bool check_Y = false              ;
       bool check_Z = false              ;      
@@ -105,7 +99,7 @@ void TSiResPhysics::ReadConfiguration(string Path)
          if (LineBuffer.compare(0, 5, "SiRes") == 0) 
             {
                cout << "///" << endl ;
-               cout << "Platic found: " << endl ;        
+               cout << "SiRes found: " << endl ;        
                ReadingStatus = true ;
             }
             
@@ -127,25 +121,6 @@ void TSiResPhysics::ReadConfiguration(string Path)
                   ReadingStatus = false ;
                }
                               
-                                    //Angle method
-               else if (DataBuffer=="THETA=") {
-                  check_Theta = true;
-                  ConfigFile >> DataBuffer ;
-                  cout << "Theta:  " << atof(DataBuffer.c_str()) << "deg" << endl;
-               }
-
-               else if (DataBuffer=="PHI=") {
-                  check_Phi = true;
-                  ConfigFile >> DataBuffer ;
-                  cout << "Phi:  " << atof( DataBuffer.c_str() ) << "deg" << endl;
-               }
-
-               else if (DataBuffer=="R=") {
-                  check_R = true;
-                  ConfigFile >> DataBuffer ;
-                  cout << "R:  " << atof( DataBuffer.c_str() ) << "mm" << endl;
-               }
-               
                //Position method
                else if (DataBuffer=="X=") {
                   check_X = true;
@@ -166,21 +141,8 @@ void TSiResPhysics::ReadConfiguration(string Path)
                }
                
                
-               //General
-               else if (DataBuffer=="Shape=") {
-                  check_Shape = true;
-                  ConfigFile >> DataBuffer ;
-                  cout << "Shape:  " << DataBuffer << endl;
-               }
-               
-               // Cylindrical shape
-               else if (DataBuffer== "Radius=") {
-                  check_Radius = true;
-                  ConfigFile >> DataBuffer ;
-                  cout << "SiRes Radius:  " << atof( DataBuffer.c_str() ) << "mm" << endl;
-               }
-               
-               // Squared shape
+
+                 // Squared shape
                else if (DataBuffer=="Width=") {
                   check_Width = true;
                   ConfigFile >> DataBuffer ;
@@ -200,17 +162,6 @@ void TSiResPhysics::ReadConfiguration(string Path)
                   cout << "SiRes Thickness:  " << atof( DataBuffer.c_str() ) << "mm" << endl;
                }
                
-               else if (DataBuffer== "Scintillator=") {
-                  check_Scintillator = true ;
-                  ConfigFile >> DataBuffer ;
-                  cout << "SiRes Scintillator type:  " << DataBuffer << endl;
-               }
-               
-               else if (DataBuffer=="LeadThickness=") {
-                  check_LeadThickness = true;
-                  ConfigFile >> DataBuffer ;
-                  cout << "Lead Thickness :  " << atof( DataBuffer.c_str() ) << "mm" << endl;
-               }
                                                 
                ///////////////////////////////////////////////////
                //   If no Detector Token and no comment, toggle out
@@ -220,21 +171,14 @@ void TSiResPhysics::ReadConfiguration(string Path)
                   /////////////////////////////////////////////////
                   //   If All necessary information there, toggle out
                
-               if ( check_Theta && check_Phi && check_R && check_Thickness && check_Radius &&   check_LeadThickness && check_Scintillator &&   check_Height &&   check_Width && check_Shape && check_X && check_Y && check_Z ) 
+               if ( check_Thickness && check_Height &&   check_Width && check_X && check_Y && check_Z ) 
                   { 
                      NumberOfDetector++;
                      
                      //   Reinitialisation of Check Boolean  
-                     check_Theta = false          ;
-                     check_Phi  = false           ;
-                     check_R     = false          ;
                      check_Thickness = false      ;
-                     check_Radius = false         ;
-                     check_LeadThickness = false  ;
-                     check_Scintillator = false   ;
                      check_Height = false         ;
                      check_Width = false          ;
-                     check_Shape = false          ;
                      check_X = false              ;
                      check_Y = false              ;
                      check_Z = false              ;
@@ -326,13 +270,13 @@ void TSiResPhysics::PreTreat(){
   double E,T;
   E=-1000; T=-1000;
   int N=-1000;
-
-  for(unsigned int i = 0 ; i < EventData->GetEnergyMult() ; ++i)
+  for(unsigned int i = 0 ; i < EventData->GetEnergyMult() ; i++)
     {
-    	if( EventData->GetEEnergy(i)>m_SiRes_RAW_Threshold )
+	if( EventData->GetEEnergy(i)>m_SiRes_RAW_Threshold )
     	{
+		
 		E=CalibrationManager::getInstance()->ApplyCalibration("SiRes/Detector" + itoa( EventData->GetEDetectorNumber(i) ) +"_Channel"+itoa( EventData->GetEChannelNumber(i) )+"_E",EventData->GetEEnergy(i));
-    		if(E>m_SiRes_E_Threshold)
+    		//if(E>m_SiRes_E_Threshold)
     		{
         		N=EventData->GetEDetectorNumber(i);
         		PreTreatedData->SetEDetectorNumber( N );
@@ -341,11 +285,11 @@ void TSiResPhysics::PreTreat(){
     		}
     	}
     }
-  for(unsigned int i = 0 ; i < EventData->GetEEnergyBackMult() ; ++i)
+  for(unsigned int i = 0 ; i < EventData->GetEEnergyBackMult() ; i++)
     {
 	if( EventData->GetEEnergyBack(i)>m_SiRes_RAWBack_Threshold && EventData->GetEEnergyBackDetectorNumber(i)==N )
 	{
-		E=CalibrationManager::getInstance()->ApplyCalibration("SiRes/Detector"+itoa(EventData->GetEEnergyBackDetectorNumber(i))+"_EBack",EventData->GetEEnergyBack(i) ) ;  
+		E=CalibrationManager::getInstance()->ApplyCalibration("SiRes/Detector" + itoa( EventData->GetEEnergyBackDetectorNumber(i) ) +"_E",EventData->GetEEnergyBack(i));
 		if(E>m_SiRes_EBack_Threshold)
 		{    
 			PreTreatedData->SetEEnergyBackDetectorNumber( EventData->GetEEnergyBackDetectorNumber(i) );
@@ -357,8 +301,7 @@ void TSiResPhysics::PreTreat(){
 			PreTreatedData->SetTTime( T );
 		}
 	}
-    }  
-
+    } 
 }
 ///////////////////////////////////////////////////////////////////////////
 void TSiResPhysics::BuildPhysicalEvent()
@@ -377,13 +320,14 @@ void TSiResPhysics::BuildSimplePhysicalEvent()
             ChannelNumber.push_back( PreTreatedData->GetEChannelNumber(i) )   ;
             Energy.push_back( PreTreatedData->GetEEnergy(i) );
           }
-       for(unsigned int i = 0 ; i < EventData->GetTimeMult() ; i++)
-         {
-            Time.push_back( PreTreatedData->GetTTime(i) );
-         }
        for(unsigned int i = 0 ; i < EventData->GetEEnergyBackMult() ; i++)
          {
             EnergyBack.push_back( PreTreatedData->GetEEnergyBack(i) );
+//to be corrected when we read time
+         //}
+       //for(unsigned int i = 0 ; i < EventData->GetTimeMult() ; i++)
+        //{
+            Time.push_back( PreTreatedData->GetTTime(i) );
          }
      if(PreTreatedData->GetEnergyMult()==4)Treat();
 
diff --git a/NPLib/SiRes/TSiResSpectra.cxx b/NPLib/SiRes/TSiResSpectra.cxx
index e59601e1528652017f8a25d6efac1306d647dc8f..f4f246016da1a2515f3eedbbbb8c06b183333ace 100644
--- a/NPLib/SiRes/TSiResSpectra.cxx
+++ b/NPLib/SiRes/TSiResSpectra.cxx
@@ -90,7 +90,7 @@ void TSiResSpectra::InitRawSpectra()
 	      AddHisto1D(name, name, NbrBin, MinBin, MaxBin, "SiRes/RAW/ENERGY");
 	   } // end loop on number of detectors
 
-	   // SiRes_E_RAW
+	   //SiRes_E_RAW
 	   name = Form("SiRes_%d_E_RAW",j+1);
 	   AddHisto2D(name, name, fNumberDetector, 1, fNumberDetector+1, NbrBin, MinBin, MaxBin, "SiRes/RAW/ENERGY");
 
@@ -106,17 +106,7 @@ void TSiResSpectra::InitRawSpectra()
 	   name = Form("SiRes_%d_E_RAW_MULT", j+1);
 	   AddHisto1D(name, name, fNumberDetector, 1, fNumberDetector+1, "SiRes/RAW/MULT");
 
-	   // T_RAW_MULT
-	   /*name = Form("SiRes_%d_T_RAW_MULT",j+1);
-	   AddHisto1D(name, name, fNumberDetector, 1, fNumberDetector+1, "SiRes/RAW/MULT");*/
    }
-   /*// SiRes_HIT_E_RAW
-   name = "SiRes_HITPATTERN_E_RAW";
-   AddHisto1D(name, name, fNumberDetector, 1, fNumberDetector+1, "SiRes/RAW/ENERGY");
-
-   // SiRes_HIT_T_RAW
-   name = "SiRes_HITPATTERN_T_RAW";
-   AddHisto1D(name, name, fNumberDetector, 1, fNumberDetector+1, "SiRes/RAW/TIME");*/
 }
 
 
@@ -126,43 +116,35 @@ void TSiResSpectra::InitPreTreatedSpectra()
 {
    string name;
    int NbrBin  = 512;
-   int MinBinE = 0;
-   int MaxBinE = 10;    // MeV
+   int MinBin = 0;
+   int MaxBin = 10;    // MeV
    int MinBinT = 0;
    int MaxBinT = 1;     // us 
-   for (unsigned int j = 0; j < fNumberDetector; j++) 
-   { 
-	   for (unsigned int i = 0; i < 4; i++) { // loop on number of detectors
-	      // SiRes_E_CAL
+  for(unsigned int j=0; j<fNumberDetector; j++)
+   {
+	   for (unsigned int i = 0; i < 4; i++) { // loop on channels
+	      // SiRes_E_RAW
 	      name = Form("SiRes_%d_%d_E_CAL", j+1, i+1);
-	      AddHisto1D(name, name, NbrBin, MinBinE, MaxBinE, "SiRes/CAL/ENERGY");
-
+	      AddHisto1D(name, name, NbrBin, MinBin, MaxBin, "SiRes/CAL/ENERGY");
 	   } // end loop on number of detectors
 
-	   // SiRes_E_CAL
+	   //SiRes_E_RAW
+	   name = Form("SiRes_%d_E_CAL",j+1);
+	   AddHisto2D(name, name, fNumberDetector, 1, fNumberDetector+1, NbrBin, MinBin, MaxBin, "SiRes/CAL/ENERGY");
+
+	   // SiRes_E_RAW
 	   name = Form("SiRes_%d_EBack_CAL", j+1);
-	   AddHisto1D(name, name, NbrBin, MinBinE, MaxBinE, "SiRes/CAL/ENERGY");
+	   AddHisto1D(name, name, NbrBin, MinBin, MaxBin, "SiRes/CAL/ENERGY");
 
-	   // SiRes_T_CAL
+	   // SiRes_T_RAW
 	   name = Form("SiRes_%d_T_CAL",j+1);
-	   AddHisto1D(name, name, NbrBin, MinBinT, MaxBinT, "SiRes/CAL/TIME");
+	   AddHisto1D(name, name, NbrBin, MinBin, MaxBin, "SiRes/CAL/TIME");
 
-	   // E_CAL_MULT
+	   // E_RAW_MULT
 	   name = Form("SiRes_%d_E_CAL_MULT", j+1);
 	   AddHisto1D(name, name, fNumberDetector, 1, fNumberDetector+1, "SiRes/CAL/MULT");
 
-	   // T_CAL_MULT
-	   /*name = Form("SiRes_%d_T_CAL_MULT", j+1);
-	   AddHisto1D(name, name, fNumberDetector, 1, fNumberDetector+1, "SiRes/CAL/MULT");*/
    }
-   /*// SiRes_HIT_E_CAL
-   name = "SiRes_HITPATTERN_E_CAL";
-   AddHisto1D(name, name, fNumberDetector, 1, fNumberDetector+1, "SiRes/CAL/ENERGY");
-
-   // SiRes_HIT_T_CAL
-   name = "SiRes_HITPATTERN_T_CAL";
-   AddHisto1D(name, name, fNumberDetector, 1, fNumberDetector+1, "SiRes/CAL/TIME");*/
-
 
 }
 
@@ -173,26 +155,18 @@ void TSiResSpectra::InitPhysicsSpectra()
 {
    string name;
 
-   int NbrBin  = 512;
-   int MinBinE = 0;
-   int MaxBinE = 10;
+   int NbrBin  = 100;
+   int MinBin = 0;
+   int MaxBin = 10;
    int MinBinT = 0;
-   int MaxBinT = 1;
+   int MaxBinT = 1;     // us 
    for (unsigned int j = 0; j < fNumberDetector; j++) 
    { 
-	   // Energy-Time Correlation
-	   for (unsigned int i = 0 ; i < 4 ; i++) { // loop on number of detectors
-	      name = Form("SiRes_%d_%d_E_TOF", j+1, i+1);
-	      AddHisto2D(name, name, NbrBin, MinBinE, MaxBinE, NbrBin, MinBinT, MaxBinT, "SiRes/PHY"); 
-	   }
-
+	   name = Form("SiRes_%d_XY", j+1);
+	   AddHisto2D(name, name, NbrBin, MinBin, MaxBin, NbrBin, MinBin, MaxBin, "SiRes/PHY");
 	   // EBack-TOF:
 	   name = Form("SiRes_%d_EBack_TOF", j+1);
-	   AddHisto2D(name, name, NbrBin, MinBinE, MaxBinE, NbrBin, MinBinT, MaxBinT, "SiRes/PHY");
-
-	   // E-TOF:
-	   name = Form("SiRes_%d_E_TOF", j+1);
-	   AddHisto2D(name, name, NbrBin, MinBinE, MaxBinE, NbrBin, MinBinT, MaxBinT, "SiRes/PHY");
+	   AddHisto2D(name, name, NbrBin, MinBin, MaxBin, NbrBin, MinBinT, MaxBinT, "SiRes/PHY");
    }
 }
 
@@ -203,59 +177,38 @@ void TSiResSpectra::FillRawSpectra(TSiResData* RawData)
 {
    string name;
    string family;
-   for (unsigned int j = 0; j < fNumberDetector; j++) 
-   { 
-  
-	   // E_RAW
-	   for (unsigned int i = 0; i < RawData->GetEnergyMult(); i++) {
-	      name   = Form("SiRes_%d_%d_E_RAW", j+1, RawData->GetEChannelNumber(i));
+   int NbrBin  = 100;
+   int MinBin = 0;
+   int MaxBin = 10;
+	for (unsigned int i = 0; i < RawData->GetEnergyMult(); i++) {
+	      name   = Form("SiRes_%d_%d_E_RAW", RawData->GetEDetectorNumber(i), RawData->GetEChannelNumber(i));
 	      family = "SiRes/RAW/ENERGY";
 	      GetHisto(family,name) -> Fill(RawData->GetEEnergy(i));
-	   }
 
+	      name   = Form("SiRes_%d_E_RAW", RawData->GetEDetectorNumber(i));
+	      family = "SiRes/RAW/ENERGY";
+	      GetHisto(family,name) -> Fill(RawData->GetEChannelNumber(i),RawData->GetEEnergy(i));
 
-	   // SiRes_E_RAW
-	   name = Form("SiRes_%d_E_RAW",j+1);
-	   family = "SiRes/RAW/ENERGY";
-	   for (unsigned int i = 0; i < RawData->GetEnergyMult(); i++) {
-	      GetHisto(family,name) -> Fill(RawData->GetEChannelNumber(i), RawData->GetEEnergy(i));
 	   }
-
-	   // SiRes_E_RAW
-	   name = Form("SiRes_%d_EBack_RAW", j+1);
+// SiRes_E_RAW
+	for (unsigned int i = 0; i < RawData->GetEEnergyBackMult(); i++) {
+	   name = Form("SiRes_%d_EBack_RAW",RawData->GetEEnergyBackDetectorNumber(i));
 	   family = "SiRes/RAW/ENERGY";
-	   GetHisto(family,name) -> Fill(RawData->GetEEnergyBack(j));
-
-	   // SiRes_T_RAW
-	   name = Form("SiRes_%d_T_RAW", j+1);
-	   family = "SiRes/RAW/TIME";
-	   GetHisto(family,name) -> Fill(RawData->GetTTime(j));
-	   
-
-	   // SiRes_HIT_E_RAW
-	   /*name = "SiRes_HITPATTERN_E_RAW";
-	   family = "SiRes/RAW/ENERGY";
-	   for (unsigned int i = 0; i < RawData->GetEnergyMult(); i++) {
-	      GetHisto(family,name) -> Fill(RawData->GetENumber(i));
+	      GetHisto(family,name) -> Fill(RawData->GetEEnergyBack(i));
 	   }
 
-	   // SiRes_HIT_T_RAW
-	   name = "SiRes_HITPATTERN_T_RAW";
+	for (unsigned int i = 0; i < RawData->GetTimeMult(); i++) {
+	   name = Form("SiRes_%d_T_RAW",RawData->GetTDetectorNumber(i));
 	   family = "SiRes/RAW/TIME";
-	   for (unsigned int i = 0; i < RawData->GetTimeMult(); i++) {
-	      GetHisto(family,name) -> Fill(RawData->GetTNumber(i));
-	   }*/
-
-	   // E_RAW_MULT
-	   name = Form("SiRes_%d_E_RAW_MULT", j+1);
-	   family = "SiRes/RAW/MULT";
-	   GetHisto(family,name) -> Fill(RawData->GetEnergyMult());
+	      GetHisto(family,name) -> Fill(RawData->GetTTime(i));
+	   }
+	
+	for (unsigned int i = 0; i < RawData->GetEnergyMult(); i++) {
+	      name   = Form("SiRes_%d_E_RAW_MULT", RawData->GetEDetectorNumber(i));
+	      family = "SiRes/RAW/MULT";
+	      GetHisto(family,name) -> Fill(RawData->GetEnergyMult());
 
-	   // T_RAW_MULT
-	   /*name = Form("SiRes_%d_T_RAW_MULT", j+1);
-	   family = "SiRes/RAW/MULT";
-	   GetHisto(family,name) -> Fill(RawData->GetTimeMult());*/
-   }
+	   }
 
 }
 
@@ -266,53 +219,40 @@ void TSiResSpectra::FillPreTreatedSpectra(TSiResData* PreTreatedData)
 {
    string name;
    string family;
-  
-   // E_CAL
-   for(unsigned int j=0; j<fNumberDetector; j++)
-   {
-	   for (unsigned int i = 0; i < PreTreatedData->GetEnergyMult(); i++) {
-	      name   = Form("SiRes_%d_%d_E_CAL", j+1, PreTreatedData->GetEChannelNumber(i));
+ 
+   int NbrBin  = 100;
+   int MinBin = 0;
+   int MaxBin = 10;
+	for (unsigned int i = 0; i < PreTreatedData->GetEnergyMult(); i++) {
+	      name   = Form("SiRes_%d_%d_E_CAL", PreTreatedData->GetEDetectorNumber(i), PreTreatedData->GetEChannelNumber(i));
 	      family = "SiRes/CAL/ENERGY";
 	      GetHisto(family,name) -> Fill(PreTreatedData->GetEEnergy(i));
-	   }
 
-	   // T_CAL
-	   name   = Form("SiRes_%d_T_CAL", j+1);
-	   family = "SiRes/CAL/TIME";
-	   GetHisto(family,name) -> Fill(PreTreatedData->GetTTime(j));
-
-
-	   // SiRes_E_CAL
-	   name = Form("SiRes_%d_EBack_CAL", j+1);
-	   family = "SiRes/CAL/ENERGY";
-	   GetHisto(family,name) -> Fill(PreTreatedData->GetEEnergyBack(j));
-	   
+	      name   = Form("SiRes_%d_E_CAL", PreTreatedData->GetEDetectorNumber(i));
+	      family = "SiRes/CAL/ENERGY";
+	      GetHisto(family,name) -> Fill(PreTreatedData->GetEChannelNumber(i),PreTreatedData->GetEEnergy(i));
 
-	   /*
-	   // SiRes_HIT_E_CAL
-	   name = "SiRes_HITPATTERN_E_CAL";
+	   }
+// SiRes_E_RAW
+	for (unsigned int i = 0; i < PreTreatedData->GetEEnergyBackMult(); i++) {
+	   name = Form("SiRes_%d_EBack_CAL",PreTreatedData->GetEEnergyBackDetectorNumber(i));
 	   family = "SiRes/CAL/ENERGY";
-	   for (unsigned int i = 0; i < PreTreatedData->GetEnergyMult(); i++) {
-	      GetHisto(family,name) -> Fill(PreTreatedData->GetENumber(i));
+	      GetHisto(family,name) -> Fill(PreTreatedData->GetEEnergyBack(i));
 	   }
 
-	   // SiRes_HIT_T_CAL
-	   name = "SiRes_HITPATTERN_T_CAL";
+	for (unsigned int i = 0; i < PreTreatedData->GetTimeMult(); i++) {
+	   name = Form("SiRes_%d_T_CAL",PreTreatedData->GetTDetectorNumber(i));
 	   family = "SiRes/CAL/TIME";
-	   for (unsigned int i = 0; i < PreTreatedData->GetTimeMult(); i++) {
-	      GetHisto(family,name) -> Fill(PreTreatedData->GetTNumber(i));
-	   }*/
+	      GetHisto(family,name) -> Fill(PreTreatedData->GetTTime(i));
+	   }
+	
+	for (unsigned int i = 0; i < PreTreatedData->GetEnergyMult(); i++) {
+	      name   = Form("SiRes_%d_E_CAL_MULT", PreTreatedData->GetEDetectorNumber(i));
+	      family = "SiRes/CAL/MULT";
+	      GetHisto(family,name) -> Fill(PreTreatedData->GetEnergyMult());
 
-	   // E_CAL_MULT
-	   name = Form("SiRes_%d_E_CAL_MULT", j+1);
-	   family = "SiRes/CAL/MULT";
-	   GetHisto(family,name) -> Fill(PreTreatedData->GetEnergyMult());
+	   }   // E_CAL
 
-	   // T_CAL_MULT
-	   /*name = Form("SiRes_%d_T_CAL_MULT", j+1);
-	   family = "SiRes/CAL/MULT";
-	   GetHisto(family,name) -> Fill(PreTreatedData->GetTimeMult());*/
-   }
 }
 
 
@@ -322,26 +262,18 @@ void TSiResSpectra::FillPhysicsSpectra(TSiResPhysics* Physics)
 {
    string name;
    string family = "SiRes/PHY";
-
-   for (unsigned int j = 0; j < fNumberDetector; j++) 
-   { 
-
-	   // Energy-Time Correlation
-	   for (unsigned int i = 0 ; i < Physics->DetectorNumber.size(); i++) { // loop on number of detectors
-	      name = Form("SiRes_%d_E_TOF", i+1);
-	      GetHisto(family,name) -> Fill(Physics->Time[j], Physics->Energy[i]);
+	
+	for (unsigned int i = 0; i < Physics->x.size(); i++) {
+	   name = Form("SiRes_%d_XY",Physics->DetectorNumber[i]);
+	      GetHisto(family,name) -> Fill(Physics->x[i],Physics->y[i]);
 	   }
-	   
-	   // E-TOF:
-	   name =Form("SiRes_%d_EBack_TOF", j+1);
-	   GetHisto(family,name) -> Fill(Physics->Time[j], Physics->EnergyBack[j]);
-
-	   // E-TOF:
-	   name = Form("SiRes_%d_E_TOF", j+1);
-	   for (unsigned int i = 0 ; i < Physics->DetectorNumber.size(); i++) { // loop on number of detectors
-	      GetHisto(family,name) -> Fill(Physics->Time[j], Physics->Energy[i]);
+
+	for (unsigned int i = 0; i < Physics->EnergyBack.size(); i++) {
+	   name = Form("SiRes_%d_EBack_TOF",Physics->DetectorNumber[i]);
+	      GetHisto(family,name) -> Fill(Physics->EnergyBack[i],Physics->Time[i]);
 	   }
-   }
+	
+
 }