From 99f089b5f87bc73c484121923f0ca1e37c40c0ea Mon Sep 17 00:00:00 2001
From: Miguel Lozano-Gonzalez <miguellozano.gonzalez@usc.es>
Date: Tue, 21 Mar 2023 12:40:23 +0100
Subject: [PATCH] Revert repo to status before forking

I was pushing both to my fork and to this repo! Sorry for any inconveniences
---
 NPSimulation/Detectors/Chio/Chio.cc           |  16 +-
 Projects/e748/Analysis.cxx                    | 638 +++++-------
 Projects/e748/Analysis.h                      | 179 ++--
 Projects/e748/BeamID.cxx                      |  51 +-
 Projects/e748/CMakeLists.txt                  |   2 -
 Projects/e748/ID.cxx                          |  46 +-
 Projects/e748/MT.cxx                          |  48 +-
 Projects/e748/Postanalysis/AnalyzeBeam.cpp    |  44 -
 Projects/e748/Postanalysis/AnalyzeCATS.cpp    |  34 -
 Projects/e748/Postanalysis/ApplyCuts.cpp      |  52 -
 Projects/e748/Postanalysis/CalibrateBeam.cpp  |  18 -
 Projects/e748/Postanalysis/GetCuts.cpp        | 117 ---
 Projects/e748/Postanalysis/GetSpectrum.cpp    |  62 --
 Projects/e748/Postanalysis/ImprovePID.cpp     |  85 --
 .../PlotTheoreticalKinematics.cpp             |  47 -
 Projects/e748/Postanalysis/Utils.cpp          |  35 -
 Projects/e748/RunToTreat/RunToTreat_12Be.txt  |  40 +-
 Projects/e748/Target.cxx                      |   2 +-
 Projects/e748/e748.detector                   |   2 +-
 .../Be12_iC4H10_0.008bar_273.15K.G4table      | 921 +++++++++---------
 thisNPTool.sh                                 |   8 -
 21 files changed, 900 insertions(+), 1547 deletions(-)
 delete mode 100644 Projects/e748/Postanalysis/AnalyzeBeam.cpp
 delete mode 100644 Projects/e748/Postanalysis/AnalyzeCATS.cpp
 delete mode 100644 Projects/e748/Postanalysis/ApplyCuts.cpp
 delete mode 100644 Projects/e748/Postanalysis/CalibrateBeam.cpp
 delete mode 100644 Projects/e748/Postanalysis/GetCuts.cpp
 delete mode 100644 Projects/e748/Postanalysis/GetSpectrum.cpp
 delete mode 100644 Projects/e748/Postanalysis/ImprovePID.cpp
 delete mode 100644 Projects/e748/Postanalysis/PlotTheoreticalKinematics.cpp
 delete mode 100644 Projects/e748/Postanalysis/Utils.cpp
 delete mode 100644 thisNPTool.sh

diff --git a/NPSimulation/Detectors/Chio/Chio.cc b/NPSimulation/Detectors/Chio/Chio.cc
index 73afee883..4d6f446f8 100644
--- a/NPSimulation/Detectors/Chio/Chio.cc
+++ b/NPSimulation/Detectors/Chio/Chio.cc
@@ -154,19 +154,19 @@ G4LogicalVolume* Chio::BuildDetector(){
     G4Material* Mylar= MaterialManager::getInstance()->GetMaterialFromLibrary("Mylar");
 
     G4MaterialPropertiesTable* MPT = new G4MaterialPropertiesTable();      
-    MPT->AddConstProperty("DE_PAIRENERGY",30*eV, true);
+    MPT->AddConstProperty("DE_PAIRENERGY",30*eV);
     //  MPT->AddConstProperty("DE_AMPLIFICATION",1e4);
-    MPT->AddConstProperty("DE_ABSLENGTH",1*pc, true);
-    MPT->AddConstProperty("DE_DRIFTSPEED",11*cm/microsecond, true);
-    MPT->AddConstProperty("DE_TRANSVERSALSPREAD",6e-5*mm2/ns, true);
-    MPT->AddConstProperty("DE_LONGITUDINALSPREAD",4e-5*mm2/ns, true);
+    MPT->AddConstProperty("DE_ABSLENGTH",1*pc);
+    MPT->AddConstProperty("DE_DRIFTSPEED",11*cm/microsecond);
+    MPT->AddConstProperty("DE_TRANSVERSALSPREAD",6e-5*mm2/ns);
+    MPT->AddConstProperty("DE_LONGITUDINALSPREAD",4e-5*mm2/ns);
 
     CF4->SetMaterialPropertiesTable(MPT);
 
     G4MaterialPropertiesTable* MPT2 = new G4MaterialPropertiesTable();      
-    MPT2->AddConstProperty("DE_YIELD",1, true);
-    MPT2->AddConstProperty("DE_AMPLIFICATION",2, true);
-    MPT2->AddConstProperty("DE_ABSLENGTH",1*pc, true);
+    MPT2->AddConstProperty("DE_YIELD",1);
+    MPT2->AddConstProperty("DE_AMPLIFICATION",2);
+    MPT2->AddConstProperty("DE_ABSLENGTH",1*pc);
 
     Al->SetMaterialPropertiesTable(MPT2);
 
diff --git a/Projects/e748/Analysis.cxx b/Projects/e748/Analysis.cxx
index dca01065e..376c1dd90 100644
--- a/Projects/e748/Analysis.cxx
+++ b/Projects/e748/Analysis.cxx
@@ -19,8 +19,6 @@
  *                                                                           *
  *                                                                           *
  *****************************************************************************/
-#include "NPSystemOfUnits.h"
-#include <TUrl.h>
 #include<iostream>
 using namespace std;
 #include"Analysis.h"
@@ -29,8 +27,6 @@ using namespace std;
 #include"NPOptionManager.h"
 #include"RootOutput.h"
 #include"RootInput.h"
-
-#include "TMath.h"
 ////////////////////////////////////////////////////////////////////////////////
 Analysis::Analysis(){
 }
@@ -40,188 +36,185 @@ Analysis::~Analysis(){
 
 ////////////////////////////////////////////////////////////////////////////////
 void Analysis::Init(){
-    //--> Detector physics
-    fM2 = (TMust2Physics*) m_DetectorManager->GetDetector("M2Telescope");
-    fCATS = (TCATSPhysics*) m_DetectorManager->GetDetector("CATSDetector");
-    //IC, Plastic and TOF from CATS
-    fModularLeaf = (TModularLeafPhysics*) m_DetectorManager->GetDetector("ModularLeaf");
-    //--> ROOT I/O
-    InitOutputBranch();
-    InitInputBranch();
-    //--> Auxiliar funcs and variables for analysis
-    fReaction= new NPL::Reaction();
-    fTargetThickness = m_DetectorManager->GetTargetThickness();
-    //	Energy loss table: the G4Table are generated by the simulation
-    fHe3CD2 = EnergyLoss("./energy_loss/He3_CD2.G4table","G4Table",10 );
-    fHe3Al = EnergyLoss("./energy_loss/He3_Al.G4table","G4Table",10);
-    fHe3Si = EnergyLoss("./energy_loss/He3_Si.G4table","G4Table",10);
-    fBeamCD2 = EnergyLoss("./energy_loss/Be12_CD2.G4table","G4Table",10);
-    fBeamMylar = EnergyLoss("./energy_loss/Be12_Mylar.G4table","G4Table",10);
-    fBeamIsobutane = EnergyLoss("./energy_loss/Be12_iC4H10_0.008bar_273.15K.G4table","G4Table",10); 
+  M2 = (TMust2Physics*) m_DetectorManager->GetDetector("M2Telescope");
+  CATS = (TCATSPhysics*) m_DetectorManager->GetDetector("CATSDetector");
+  ModularLeaf = (TModularLeafPhysics*) m_DetectorManager->GetDetector("ModularLeaf");
+  InitOutputBranch();
+  InitInputBranch();
+  /* Rand = TRandom3(); */
+  myReaction= new NPL::Reaction();
+  myReaction->ReadConfigurationFile(NPOptionManager::getInstance()->GetReactionFile());
+  DetectorNumber = 0 ;
+  ThetaNormalTarget = 0 ;
+  ThetaM2Surface = 0; 
+  X_M2 = 0 ;
+  Y_M2 = 0 ;
+  Z_M2 = 0 ;
+  Si_E_M2 = 0 ;
+  CsI_E_M2 = 0 ; 
+  Energy = 0;
+  E_M2 = 0;
+  Si_X_M2 = 0;
+  Si_Y_M2 = 0;
+  ZTarget = 0;
+  TimeCorr=0;
+  TargetThickness = m_DetectorManager->GetTargetThickness();
+  //	Energy loss table: the G4Table are generated by the simulation
+  He3CD2 = EnergyLoss("Example/He3_CD2.G4table","G4Table",10 );
+  He3Al = EnergyLoss("Example/He3_Al.G4table","G4Table",10);
+  He3Si = EnergyLoss("Example/He3_Si.G4table","G4Table",10);
+  BeamCD2 = EnergyLoss("Be12_CD2.G4table","G4Table",10);
+  BeamMylar = EnergyLoss("Be12_Mylar.G4table","G4Table",10);
+  BeamIsobutane = EnergyLoss("Be12_iC4H10.G4table","G4Table",10); 
 
 }
 
-void Analysis::TreatBeam()
-{
-    //--> Get beam vertex and direction
-    XYZPoint vertex {fCATS->GetPositionOnTargetX(), fCATS->GetPositionOnTargetY(), 0.};
-    XYZVector beamDirection {fCATS->GetBeamDirection()};
-    mThetaBeam = ComputeXYZVectorAngle(beamDirection, XYZVector(0, 0, 1));
-    //--> Beam energy CALIBRATION
-    mCATS1Calibrated = fModularLeaf->GetCalibratedValue("T_CATS1_CAV");
-    double beamSpeed { 11.0476 + mCATS1Calibrated * 0.278917}; // mm/ns
-    //work in SI units
-    beamSpeed *= 1.E6; //1.E9 * 1.E-3 m/s
-    // Beam Energy before CATS1
-    static double kCSquared {TMath::Power(TMath::C(), 2)};
-    auto gamma0 {ComputeGamma(beamSpeed)}; 
-    mEBeam = kBeamMass * (gamma0 - 1);
+////////////////////////////////////////////////////////////////////////////////
+void Analysis::TreatEvent(){
+  // Reinitiate calculated variable
+  ReInitValue();
+
+  // Calculate Run Number
+  static string filename ;
+  filename = RootInput::getInstance()->GetChain()->GetFile()->GetName();
+  size_t minor_pos = filename.rfind("_");
+  run_minor = atoi(filename.substr(minor_pos+1,1).c_str());
+  filename = filename.substr(0,minor_pos);
+  size_t major_pos = filename.rfind("_");
+  run_major = atoi(filename.substr(major_pos+1,4).c_str());
+   // Get the Init information on beam position and energy
+  // and apply by hand the experimental resolution
+  // This is because the beam diagnosis are not simulated
+  // PPAC position resolution on target is assumed to be 1mm
+  double XTarget = CATS->GetPositionOnTarget().X();
+  double YTarget = CATS->GetPositionOnTarget().Y();
+
+  TVector3 BeamDirection = CATS->GetBeamDirection();
+  // Beam energy is measured using F3 and F2 plastic TOF
+  //double BeamEnergy= myReaction-> GetBeamEnergy()* MeV;
+  //////////////////////////// LOOP on MUST2 Hit //////////////////
+     for(unsigned int countMust2 = 0 ; countMust2 < M2->Si_E.size() ; countMust2++){ 
+    /*   //Part 0 : Get the usefull Data */
+       // MUST2 */
+       int X = M2->Si_X[countMust2]; 
+       int Y = M2->Si_Y[countMust2]; 
+       int TelescopeNumber = M2->TelescopeNumber[countMust2]; 
+      Si_X_M2 = X ;
+      Si_Y_M2 = Y ;
 
-    //debug
-    // std::cout<<"Beam speed  = "<<BeamSpeed<<'\n';
-    // std::cout<<"Beta        = "<<beta<<'\n';
-    // std::cout<<"Gamma       = "<<gamma<<'\n';
-    // std::cout<<"Beam energy = "<<BeamEnergy<<'\n';
-                
-    // Energy Loss in CATS1         
-    double beamAfterCATS1 {ComputeELossInCATS(mEBeam, mThetaBeam)};
-    XYZPoint pointCATS1 {fCATS->PositionX.at(0), fCATS->PositionY.at(0), fCATS->PositionZ.at(0)};
-    XYZPoint pointCATS2 {fCATS->PositionX.at(1), fCATS->PositionY.at(1), fCATS->PositionZ.at(1)};
-    //Time correction in space between CATS1 to CATS2
-    mTimeCorr = ComputeTimeCorrectionInCATS(beamAfterCATS1, kBeamMass, pointCATS1, pointCATS2);
+      if(TelescopeNumber<9){
+        DetectorNumber = TelescopeNumber ;
+  
+        /* // Part 1 : Impact Angle */
+        ThetaM2Surface = 0;
+        ThetaNormalTarget = 0;
+        if(XTarget>-1000 && YTarget>-1000){
+          TVector3 BeamImpact(XTarget,YTarget,0);
+          TVector3 HitDirection = M2 -> GetPositionOfInteraction(countMust2) - BeamImpact ;
+          ThetaLab = HitDirection.Angle( BeamDirection );
+
+          ThetaM2Surface = HitDirection.Angle(- M2 -> GetTelescopeNormal(countMust2) );
+          ThetaNormalTarget = HitDirection.Angle( TVector3(0,0,1) ) ;
+          X_M2 = M2 -> GetPositionOfInteraction(countMust2).X() ;
+          Y_M2 = M2 -> GetPositionOfInteraction(countMust2).Y() ;
+          Z_M2 = M2 -> GetPositionOfInteraction(countMust2).Z() ;
+          
+          // Beam Energy from Cav Time of Flight //
           
-    // ELoss in CATS2
-    double beamAfterCATS2 {ComputeELossInCATS(beamAfterCATS1, mThetaBeam)};
-    //Time correction
-    mTimeCorr += ComputeTimeCorrectionInCATS(beamAfterCATS2, kBeamMass, pointCATS2, vertex);
+          // Beam speed from Beam Energy
 
-    // Slow down beam inside the target
-    mEBeam = fBeamCD2.Slow(beamAfterCATS2, fTargetThickness * 0.5, mThetaBeam);
+       //   double BeamSpeed =  10.8727 + ModularLeaf->GetCalibratedValue("T_CATS1_CAV")*0.276825; // mm/ns
+          //double BeamSpeed =  5.17952 + ModularLeaf->GetCalibratedValue("T_CATS1_CAV")*0.305315; // mm/ns
+           double BeamSpeed =  11.0476 + ModularLeaf->GetCalibratedValue("T_CATS1_CAV")*0.278917; // mm/ns
 
-    //--> Set kinematic calculator
-    fReaction->SetBeamEnergy(mEBeam);
-}
+          // Beam Energy before CATS1
+          static double c2 = 299.792458*299.792458;// mm/ns 
+          double gamma = 1./sqrt(1-BeamSpeed*BeamSpeed/c2);
+          BeamEnergy= 11200.962140*(gamma-1);
+          double BeamAngle= BeamDirection.Angle(TVector3(0,0,1));
+          
+          // Beam Energy and speed after CATS1
+          double BeamEnergyC1 = BeamMylar.Slow(BeamEnergy,1.2*micrometer,BeamAngle); 
+          BeamEnergyC1 = BeamIsobutane.Slow(BeamEnergyC1,cm/3.,BeamAngle);
+          BeamEnergyC1 = BeamMylar.Slow(BeamEnergyC1,0.9*micrometer,BeamAngle); 
+          BeamEnergyC1 = BeamIsobutane.Slow(BeamEnergyC1,cm/3,BeamAngle);
+          BeamEnergyC1 = BeamMylar.Slow(BeamEnergyC1,0.9*micrometer,BeamAngle); 
+          BeamEnergyC1 = BeamIsobutane.Slow(BeamEnergyC1,cm/3.,BeamAngle);
+          BeamEnergyC1 = BeamMylar.Slow(BeamEnergyC1,1.2*micrometer,BeamAngle); 
+          
+          double gammaC1 = (BeamEnergyC1+11200.962140) / 11200.962140 ;
+          double BeamSpeedC1 = sqrt(c2*(1-1/(gammaC1*gammaC1)));
+          TVector3 C1toC2 =  TVector3(CATS->PositionX[1],CATS->PositionY[1],CATS->PositionZ[1]) 
+                          -  TVector3(CATS->PositionX[0],CATS->PositionY[0],CATS->PositionZ[0]) ;
+          TimeCorr = C1toC2.Mag()/BeamSpeedC1;
+          
+          // Beam Energy and speed after CATS2
+          double BeamEnergyC2 = BeamMylar.Slow(BeamEnergyC1,1.2*micrometer,BeamAngle); 
+          BeamEnergyC2 = BeamIsobutane.Slow(BeamEnergyC2,cm/3.,BeamAngle);
+          BeamEnergyC2 = BeamMylar.Slow(BeamEnergyC2,0.9*micrometer,BeamAngle); 
+          BeamEnergyC2 = BeamIsobutane.Slow(BeamEnergyC2,cm/3,BeamAngle);
+          BeamEnergyC2 = BeamMylar.Slow(BeamEnergyC2,0.9*micrometer,BeamAngle); 
+          BeamEnergyC2 = BeamIsobutane.Slow(BeamEnergyC2,cm/3.,BeamAngle);
+          BeamEnergyC2 = BeamMylar.Slow(BeamEnergyC2,1.2*micrometer,BeamAngle); 
+          
+          double gammaC2 = (BeamEnergyC2+11200.962140) / 11200.962140; 
+          double BeamSpeedC2 = sqrt(c2*(1-1/(gammaC2*gammaC2)));
+          TVector3 C2toTarget =  BeamImpact-TVector3(CATS->PositionX[1],CATS->PositionY[1],CATS->PositionZ[1]);
+          TimeCorr += C2toTarget.Mag()/BeamSpeedC2;
 
-////////////////////////////////////////////////////////////////////////////////
-void Analysis::TreatEvent(){
-    // Reset saved variables
-    ReInitValue();
-    
-    // Calculate Run Number
-    static string filename ;
-    filename = RootInput::getInstance()->GetChain()->GetFile()->GetName();
-    size_t minor_pos = filename.rfind("_");
-    mRunMinor = atoi(filename.substr(minor_pos+1,1).c_str());
-    filename = filename.substr(0,minor_pos);
-    size_t major_pos = filename.rfind("_");
-    mRunMajor = atoi(filename.substr(major_pos+1,4).c_str());
-    
-    // Get the Init information on beam position and energy
-    // and apply by hand the experimental resolution
-    // This is because the beam diagnosis are not simulated
-    // PPAC position resolution on target is assumed to be 1mm
-    //------------------- BEAM ---------------------------
-    XYZPoint vertex {fCATS->GetPositionOnTargetX(), fCATS->GetPositionOnTargetY(), 0.};
-    XYZVector beamDirection {fCATS->GetBeamDirection()};
+          // slow down beam inside the target
+          BeamEnergy = BeamCD2.Slow(BeamEnergyC2,TargetThickness*0.5,BeamDirection.Angle(TVector3(0,0,1))); 
+          myReaction->SetBeamEnergy(BeamEnergy);   
+          
+          }
+        
 
-    bool computeBeam {true};//just do this one time if cuts are passed
-    //////////////////////////// LOOP on MUST2 Hit /////////////////
-    for(unsigned int hit = 0 ; hit < fM2->Si_E.size() ; hit++)
-    { 
-       
-        int telescopeNumber {fM2->TelescopeNumber.at(hit)};
-        XYZPoint must2Point {fM2->GetPositionOfInteraction(hit)};
+        else{
+          BeamDirection = TVector3(-1000,-1000,-1000);
+          ThetaM2Surface    = -1000  ;
+          ThetaNormalTarget = -1000  ;
+        }
 
-        //cut on telescope number
-        if(!(telescopeNumber < 9))
-            continue;
-        //cut on vertex position
-        if(!(vertex.X() > -1000 && vertex.Y() > -1000))
-            continue;
+/*      // Part 2 : Impact Energy */
+        Energy = ELab = E_M2 = 0;
+        Si_E_M2 = M2->Si_E[countMust2];
+        CsI_E_M2= M2->CsI_E[countMust2];
 
-        // // Beam computation (ONCE per event)
-        // if(computeBeam)
-        // {
-        //     TreatBeam();
-        //     computeBeam = true;
-        // }
-        ///////////// BEAM
-        mThetaBeam = ComputeXYZVectorAngle(beamDirection, XYZVector(0, 0, 1));
-        //--> Beam energy CALIBRATION
-        mCATS1Calibrated = fModularLeaf->GetCalibratedValue("T_CATS1_CAV");
-        double beamSpeed { 11.0476 + mCATS1Calibrated * 0.278917}; // mm/ns
-        //work in SI units
-        beamSpeed *= 1.E6; //1.E9 * 1.E-3 m/s
-        // Beam Energy before CATS1
-        static double kCSquared {TMath::Power(TMath::C(), 2)};
-        auto gamma0 {ComputeGamma(beamSpeed)}; 
-        mEBeam = kBeamMass * (gamma0 - 1);
+/*         // if CsI */
+/*         /1* if(CsI_E_M2>0 ){ *1/ */
+/*         /1*   // The energy in CsI is calculate form dE/dx Table because *1/ */ 
+/*         /1*   // 20um resolution is poor *1/ */
+/*         /1*   Energy = *1/ */ 
+/*         /1*     He3Si.EvaluateEnergyFromDeltaE(Si_E_M2,300*micrometer, *1/ */
+/*         /1*         ThetaM2Surface, 0.01*MeV, *1/ */ 
+/*         /1*         450.*MeV,0.001*MeV ,1000); *1/ */
+/*         /1*   E_M2=CsI_E_M2; *1/ */
+/*         /1* } *1/ */
 
-        //debug
-        // std::cout<<"Beam speed  = "<<BeamSpeed<<'\n';
-        // std::cout<<"Beta        = "<<beta<<'\n';
-        // std::cout<<"Gamma       = "<<gamma<<'\n';
-        // std::cout<<"Beam energy = "<<BeamEnergy<<'\n';
-                
-        // Energy Loss in CATS1         
-        double beamAfterCATS1 {ComputeELossInCATS(mEBeam, mThetaBeam)};
-        XYZPoint pointCATS1 {fCATS->PositionX.at(0), fCATS->PositionY.at(0), fCATS->PositionZ.at(0)};
-        XYZPoint pointCATS2 {fCATS->PositionX.at(1), fCATS->PositionY.at(1), fCATS->PositionZ.at(1)};
-        //Time correction in space between CATS1 to CATS2
-        mTimeCorr = ComputeTimeCorrectionInCATS(beamAfterCATS1, kBeamMass, pointCATS1, pointCATS2);
-          
-        // ELoss in CATS2
-        double beamAfterCATS2 {ComputeELossInCATS(beamAfterCATS1, mThetaBeam)};
-        //Time correction
-        mTimeCorr += ComputeTimeCorrectionInCATS(beamAfterCATS2, kBeamMass, pointCATS2, vertex);
+/*         /1* else *1/ */
+   
+   
+   
+   
+        Energy = Si_E_M2;
 
-        // Slow down beam inside the target
-        mEBeam = fBeamCD2.Slow(beamAfterCATS2, fTargetThickness * 0.5, mThetaBeam);
+        E_M2 += Si_E_M2;
 
-        //--> Set kinematic calculator
-        fReaction->SetBeamEnergy(mEBeam);
-    
-        XYZVector trackDirection {must2Point - vertex};
-        // Angles computation
-        //mThetaLab.push_back( ComputeXYZVectorAngle(trackDirection, beamDirection) );
-        mThetaLab = ComputeXYZVectorAngle(trackDirection, beamDirection);
-        double mNormalThetaTarget = ComputeXYZVectorAngle(trackDirection, XYZVector(0, 0, 1));
-        double mNormalThetaM2 = ComputeXYZVectorAngle(trackDirection,
-                                                      -1 * XYZVector(fM2->GetTelescopeNormal(hit)));
-        
-        // Save hit position (can't be accessed afterwards if not done here)
-        mMust2Telescopes.push_back( telescopeNumber );
-        mMust2PointsX.push_back( must2Point.X() );
-        mMust2PointsY.push_back( must2Point.Y() );
-        mMust2PointsZ.push_back( must2Point.Z() );
-                           
-        //Assume CsIE == 0!
-        double EAtDetector { fM2->Si_E.at(hit) };
-        //Save energies to custom branches
-        mMust2SiE.push_back( fM2->Si_E.at(hit) );
-        mMust2CsIE.push_back( fM2->CsI_E.at(hit) );
-        mMust2SiT.push_back( fM2->Si_T.at(hit) );
-        
-        //Backpropagate to vertex
-        mELab = fHe3Al.EvaluateInitialEnergy(EAtDetector, 0.4 * micrometer, mNormalThetaM2);
-        //Assume reaction at the middle of target and correct energy
-        mELab = fHe3CD2.EvaluateInitialEnergy(mELab, fTargetThickness / 2., mNormalThetaTarget);
-        //Compute Excitation Energy
-        mEx = fReaction->ReconstructRelativistic(mELab, mThetaLab);
-        //std::cout<<" Ex = "<<mEx.back()<< "MeV"<<'\n';
-        // Back to CM
-        mThetaCM = fReaction->EnergyLabToThetaCM(mELab, mThetaLab) / deg;//in degrees
-        mThetaLab =  mThetaLab / deg ;//store in degrees!
-        //debug
-        // std::cout<<" EAtSil = "<<EAtDetector<<'\n';
-        // std::cout<<" E1     = "<<ELabIni<<'\n';
-        // std::cout<<" EVert  = "<<mELab.back()<<'\n';
-        // std::cout<<" Theta  = "<<mThetaLab.back() * TMath::RadToDeg()<<'\n';
-        // std::cout<<" Ex     = "<<mEx.back()<<'\n';
-    }
-    // //ensure
-    // if(!(mEx.size() == mThetaLab.size()))
-    //     throw std::runtime_error("Mismatching sizes for Eex && thetaLab vectors!");
+/*         // Evaluate energy using the thickness */ 
+        ELab = He3Al.EvaluateInitialEnergy( Energy,0.4*micrometer , ThetaM2Surface);
+/*         // Target Correction */
+        ELab   = He3CD2.EvaluateInitialEnergy( ELab ,TargetThickness/2., ThetaNormalTarget);
+
+/*         // Part 3 : Excitation Energy Calculation */
+        Ex = myReaction -> ReconstructRelativistic( ELab , ThetaLab );
+
+
+/*         // Part 4 : Theta CM Calculation */
+        ThetaCM  = myReaction -> EnergyLabToThetaCM( ELab , ThetaLab)/deg;
+        ThetaLab=ThetaLab/deg;
+     
+     }
+  }//end loop MUST2
 }
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -230,229 +223,126 @@ void Analysis::End(){
 
 ////////////////////////////////////////////////////////////////////////////////
 void Analysis::InitOutputBranch() {
-    RootOutput::getInstance()->GetTree()->Branch("Ex", &mEx);
-    RootOutput::getInstance()->GetTree()->Branch("ELab", &mELab);
-    RootOutput::getInstance()->GetTree()->Branch("ThetaLab", &mThetaLab);
-    RootOutput::getInstance()->GetTree()->Branch("ThetaCM", &mThetaCM);
-    RootOutput::getInstance()->GetTree()->Branch("BeamEnergy", &mEBeam, "BeamEnergy/D");
-    RootOutput::getInstance()->GetTree()->Branch("BeamTheta", &mThetaBeam, "BeamTheta/D");
-    RootOutput::getInstance()->GetTree()->Branch("TimeCorr", &mTimeCorr,"TimeCorr/D");
-    //mNormalThetaTarget
-    //mNormalThetaM2
-    RootOutput::getInstance()->GetTree()->Branch("Must2Telescopes", &mMust2Telescopes);
-    RootOutput::getInstance()->GetTree()->Branch("Must2SiE", &mMust2SiE);
-    RootOutput::getInstance()->GetTree()->Branch("Must2CsIE", &mMust2CsIE);
-    RootOutput::getInstance()->GetTree()->Branch("Must2SiT", &mMust2SiT);
-    RootOutput::getInstance()->GetTree()->Branch("Must2PointsX", &mMust2PointsX);
-    RootOutput::getInstance()->GetTree()->Branch("Must2PointsY", &mMust2PointsY);
-    RootOutput::getInstance()->GetTree()->Branch("Must2PointsZ", &mMust2PointsZ);
-    // RootOutput::getInstance()->GetTree()->Branch("Must2Time", &mMust2Time, "Must2Time/D");
-    // RootOutput::getInstance()->GetTree()->Branch("Must2SiE", &mMust2SiE, "Must2SiE/D");
-    // RootOutput::getInstance()->GetTree()->Branch("Must2CsI", &mMust2CsIE, "Must2CsI/D");
-    // RootOutput::getInstance()->GetTree()->Branch("BeamLength", &mBeamLength, "BeamLength/D"); 
-    // RootOutput::getInstance()->GetTree()->Branch("ParticleLength", &mTrackLength, "ParticleLength/D");
-    RootOutput::getInstance()->GetTree()->Branch("RunMajor", &mRunMajor, "RunMajor/I");
-    RootOutput::getInstance()->GetTree()->Branch("RunMinor", &mRunMinor, "RunMinor/I");
-    RootOutput::getInstance()->GetTree()->Branch("GATCONF", &mGATCONF, "GATCONF/s");
-    RootOutput::getInstance()->GetTree()->Branch("T_CATS1_CAV_Cal", &mCATS1Calibrated, "T_CATS1_CAV_Cal/s");
-    /*  RootOutput::getInstance()->GetTree()->Branch("ADC_CHIO_V15",&vADC_CHIO_V15,"ADC_CHIO_V15/s");
-        RootOutput::getInstance()->GetTree()->Branch("ADC_VOIE_29",&vADC_VOIE_29,"ADC_VOIE_29/s");
-        RootOutput::getInstance()->GetTree()->Branch("CHIO",&vCHIO,"CHIO/s");
-        RootOutput::getInstance()->GetTree()->Branch("CONFDEC",&vCONFDEC,"CONFDEC/s");
-        RootOutput::getInstance()->GetTree()->Branch("CONFDEC_AGAVA",&vCONFDEC_AGAVA,"CONFDEC_AGAVA/s");
-        RootOutput::getInstance()->GetTree()->Branch("DATATRIG",&vDATATRIG,"DATATRIG/s");
-        RootOutput::getInstance()->GetTree()->Branch("DATATRIG_CHIO",&vDATATRIG_CHIO,"DATATRIG_CHIO/s");
-        RootOutput::getInstance()->GetTree()->Branch("E1D6",&vE1D6,"E1D6/s");
-        RootOutput::getInstance()->GetTree()->Branch("E2D6",&vE2D6,"E2D6/s");
-        RootOutput::getInstance()->GetTree()->Branch("ED4",&vED4,"ED4/s");
-        RootOutput::getInstance()->GetTree()->Branch("EXL_HF",&vEXL_HF,"EXL_HF/s");
-        RootOutput::getInstance()->GetTree()->Branch("GALD4X",&vGALD4X,"GALD4X/s");
-        RootOutput::getInstance()->GetTree()->Branch("GALD4Y",&vGALD4Y,"GALD4Y/s");
-        RootOutput::getInstance()->GetTree()->Branch("QCaviar",&vQCaviar,"QCaviar/s");
-        RootOutput::getInstance()->GetTree()->Branch("QPlast",&vQPlast,"QPlast/s");
-        RootOutput::getInstance()->GetTree()->Branch("TCAVHF",&vTCAVHF,"TCAVHF/s");
-        RootOutput::getInstance()->GetTree()->Branch("TE1D6CAV",&vTE1D6CAV,"TE1D6CAV/s");
-        RootOutput::getInstance()->GetTree()->Branch("TE1D6GAL",&vTE1D6GAL,"TE1D6GAL/s");
-        RootOutput::getInstance()->GetTree()->Branch("TE1D6HF",&vTE1D6HF,"TE1D6HF/s");
-        RootOutput::getInstance()->GetTree()->Branch("TED4HF",&vTED4HF,"TED4HF/s");
-        RootOutput::getInstance()->GetTree()->Branch("TGALD4HF",&vTGALD4HF,"TGALD4HF/s");
-        RootOutput::getInstance()->GetTree()->Branch("T_CATS1_2",&vT_CATS1_2,"T_CATS1_2/s");
-        RootOutput::getInstance()->GetTree()->Branch("T_CATS1_CAV",&vT_CATS1_CAV,"T_CATS1_CAV/s");
-        RootOutput::getInstance()->GetTree()->Branch("T_MUVI_CATS1",&vT_MUVI_CATS1,"T_MUVI_CATS1/s");
-        RootOutput::getInstance()->GetTree()->Branch("T_PL_CATS1",&vT_PL_CATS1,"T_PL_CATS1/s");
-        RootOutput::getInstance()->GetTree()->Branch("T_PL_CATS2",&vT_PL_CATS2,"T_PL_CATS2/s");
-        RootOutput::getInstance()->GetTree()->Branch("T_PL_CHIO",&vT_PL_CHIO,"T_PL_CHIO/s");
-        RootOutput::getInstance()->GetTree()->Branch("T_PLchCATS1",&vT_PLchCATS1,"T_PLchCATS1/s");
-    */
+  RootOutput::getInstance()->GetTree()->Branch("X_M2",&X_M2,"X_M2/D");
+  RootOutput::getInstance()->GetTree()->Branch("Y_M2",&Y_M2,"Y_M2/D");
+  RootOutput::getInstance()->GetTree()->Branch("Ex",&Ex,"Ex/D");
+  RootOutput::getInstance()->GetTree()->Branch("ThetaLab",&ThetaLab,"ThetaLab/D");
+  RootOutput::getInstance()->GetTree()->Branch("ThetaCM",&ThetaCM,"ThetaCM/D");
+  /* RootOutput::getInstance()->GetTree()->Branch("OriginalThetaLab",&OriginalThetaLab,"OriginalThetaLab/D"); */
+  RootOutput::getInstance()->GetTree()->Branch("ELab",&ELab,"ELab/D"); 
+  RootOutput::getInstance()->GetTree()->Branch("TimeCorr",&TimeCorr,"TimeCorr/D"); 
+  RootOutput::getInstance()->GetTree()->Branch("BeamLength",&BeamLength,"BeamLength/D"); 
+  RootOutput::getInstance()->GetTree()->Branch("ParticleLength",&ParticleLength,"ParticleLength/D"); 
+  RootOutput::getInstance()->GetTree()->Branch("BeamEnergy",&BeamEnergy,"BeamEnergy/D"); 
+
+
+  RootOutput::getInstance()->GetTree()->Branch("GATCONF",&vGATCONF,"GATCONF/s");
+  RootOutput::getInstance()->GetTree()->Branch("RunMajor",&run_major,"RunMajor/I");
+  RootOutput::getInstance()->GetTree()->Branch("RunMinor",&run_minor,"RunMinor/I");
+
+/*  RootOutput::getInstance()->GetTree()->Branch("ADC_CHIO_V15",&vADC_CHIO_V15,"ADC_CHIO_V15/s");
+  RootOutput::getInstance()->GetTree()->Branch("ADC_VOIE_29",&vADC_VOIE_29,"ADC_VOIE_29/s");
+  RootOutput::getInstance()->GetTree()->Branch("CHIO",&vCHIO,"CHIO/s");
+  RootOutput::getInstance()->GetTree()->Branch("CONFDEC",&vCONFDEC,"CONFDEC/s");
+  RootOutput::getInstance()->GetTree()->Branch("CONFDEC_AGAVA",&vCONFDEC_AGAVA,"CONFDEC_AGAVA/s");
+  RootOutput::getInstance()->GetTree()->Branch("DATATRIG",&vDATATRIG,"DATATRIG/s");
+  RootOutput::getInstance()->GetTree()->Branch("DATATRIG_CHIO",&vDATATRIG_CHIO,"DATATRIG_CHIO/s");
+  RootOutput::getInstance()->GetTree()->Branch("E1D6",&vE1D6,"E1D6/s");
+  RootOutput::getInstance()->GetTree()->Branch("E2D6",&vE2D6,"E2D6/s");
+  RootOutput::getInstance()->GetTree()->Branch("ED4",&vED4,"ED4/s");
+  RootOutput::getInstance()->GetTree()->Branch("EXL_HF",&vEXL_HF,"EXL_HF/s");
+  RootOutput::getInstance()->GetTree()->Branch("GALD4X",&vGALD4X,"GALD4X/s");
+  RootOutput::getInstance()->GetTree()->Branch("GALD4Y",&vGALD4Y,"GALD4Y/s");
+  RootOutput::getInstance()->GetTree()->Branch("QCaviar",&vQCaviar,"QCaviar/s");
+  RootOutput::getInstance()->GetTree()->Branch("QPlast",&vQPlast,"QPlast/s");
+  RootOutput::getInstance()->GetTree()->Branch("TCAVHF",&vTCAVHF,"TCAVHF/s");
+  RootOutput::getInstance()->GetTree()->Branch("TE1D6CAV",&vTE1D6CAV,"TE1D6CAV/s");
+  RootOutput::getInstance()->GetTree()->Branch("TE1D6GAL",&vTE1D6GAL,"TE1D6GAL/s");
+  RootOutput::getInstance()->GetTree()->Branch("TE1D6HF",&vTE1D6HF,"TE1D6HF/s");
+  RootOutput::getInstance()->GetTree()->Branch("TED4HF",&vTED4HF,"TED4HF/s");
+  RootOutput::getInstance()->GetTree()->Branch("TGALD4HF",&vTGALD4HF,"TGALD4HF/s");
+  RootOutput::getInstance()->GetTree()->Branch("T_CATS1_2",&vT_CATS1_2,"T_CATS1_2/s");
+  RootOutput::getInstance()->GetTree()->Branch("T_CATS1_CAV",&vT_CATS1_CAV,"T_CATS1_CAV/s");
+  RootOutput::getInstance()->GetTree()->Branch("T_MUVI_CATS1",&vT_MUVI_CATS1,"T_MUVI_CATS1/s");
+  RootOutput::getInstance()->GetTree()->Branch("T_PL_CATS1",&vT_PL_CATS1,"T_PL_CATS1/s");
+  RootOutput::getInstance()->GetTree()->Branch("T_PL_CATS2",&vT_PL_CATS2,"T_PL_CATS2/s");
+  RootOutput::getInstance()->GetTree()->Branch("T_PL_CHIO",&vT_PL_CHIO,"T_PL_CHIO/s");
+  RootOutput::getInstance()->GetTree()->Branch("T_PLchCATS1",&vT_PLchCATS1,"T_PLchCATS1/s");
+*/
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 void Analysis::InitInputBranch(){
-    /* RootInput:: getInstance()->GetChain()->SetBranchStatus("InitialConditions",true ); */
-    /* RootInput:: getInstance()->GetChain()->SetBranchStatus("fIC_*",true ); */
-    /* RootInput:: getInstance()->GetChain()->SetBranchStatus("InitialConditions",true ); */
+  /* RootInput:: getInstance()->GetChain()->SetBranchStatus("InitialConditions",true ); */
+  /* RootInput:: getInstance()->GetChain()->SetBranchStatus("fIC_*",true ); */
+  /* RootInput:: getInstance()->GetChain()->SetBranchStatus("InitialConditions",true ); */
   
-    RootInput:: getInstance()->GetChain()->SetBranchAddress("GATCONF",&mGATCONF);
-    /* RootInput:: getInstance()->GetChain()->SetBranchAddress("ADC_CHIO_V15",&vADC_CHIO_V15); 
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("ADC_VOIE_29",&vADC_VOIE_29);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("CHIO",&vCHIO);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("CONFDEC",&vCONFDEC);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("CONFDEC_AGAVA",&vCONFDEC_AGAVA);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("DATATRIG",&vDATATRIG);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("DATATRIG_CHIO",&vDATATRIG_CHIO);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("E1D6",&vE1D6);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("E2D6",&vE2D6);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("ED4",&vED4);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("EXL_HF",&vEXL_HF);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("GALD4X",&vGALD4X);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("GALD4Y",&vGALD4Y);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("QCaviar",&vQCaviar);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("QPlast",&vQPlast);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("TCAVHF",&vTCAVHF);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("TE1D6CAV",&vTE1D6CAV);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("TE1D6GAL",&vTE1D6GAL);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("TE1D6HF",&vTE1D6HF);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("TED4HF",&vTED4HF);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("TGALD4HF",&vTGALD4HF);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("T_CATS1_2",&vT_CATS1_2);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("T_CATS1_CAV",&vT_CATS1_CAV);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("T_MUVI_CATS1",&vT_MUVI_CATS1);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("T_PL_CATS1",&vT_PL_CATS1);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("T_PL_CATS2",&vT_PL_CATS2);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("T_PL_CHIO",&vT_PL_CHIO);
-       RootInput:: getInstance()->GetChain()->SetBranchAddress("T_PLchCATS1",&vT_PLchCATS1);
-    */
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("GATCONF",&vGATCONF);
+ /* RootInput:: getInstance()->GetChain()->SetBranchAddress("ADC_CHIO_V15",&vADC_CHIO_V15); 
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("ADC_VOIE_29",&vADC_VOIE_29);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("CHIO",&vCHIO);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("CONFDEC",&vCONFDEC);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("CONFDEC_AGAVA",&vCONFDEC_AGAVA);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("DATATRIG",&vDATATRIG);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("DATATRIG_CHIO",&vDATATRIG_CHIO);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("E1D6",&vE1D6);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("E2D6",&vE2D6);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("ED4",&vED4);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("EXL_HF",&vEXL_HF);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("GALD4X",&vGALD4X);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("GALD4Y",&vGALD4Y);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("QCaviar",&vQCaviar);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("QPlast",&vQPlast);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("TCAVHF",&vTCAVHF);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("TE1D6CAV",&vTE1D6CAV);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("TE1D6GAL",&vTE1D6GAL);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("TE1D6HF",&vTE1D6HF);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("TED4HF",&vTED4HF);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("TGALD4HF",&vTGALD4HF);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("T_CATS1_2",&vT_CATS1_2);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("T_CATS1_CAV",&vT_CATS1_CAV);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("T_MUVI_CATS1",&vT_MUVI_CATS1);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("T_PL_CATS1",&vT_PL_CATS1);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("T_PL_CATS2",&vT_PL_CATS2);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("T_PL_CHIO",&vT_PL_CHIO);
+  RootInput:: getInstance()->GetChain()->SetBranchAddress("T_PLchCATS1",&vT_PLchCATS1);
+*/
 }
 
 ////////////////////////////////////////////////////////////////////////////////     
 void Analysis::ReInitValue(){
-    ResetMVariables();
-    // mEx = -1000 ;
-    // ELab = -1000;
-    // ThetaLab = -1000;
-    // ThetaCM = -1000;
-    // OriginalThetaLab = -1000;
-    // OriginalELab = -1000;
-    // TimeCorr=-1000;
-    // BeamLength=-1000;
-    // ParticleLength=-1000;
-    // run_minor=-1000;
-    // run_major=-1000;
-    // BeamEnergy=-1000;
-    // vT_CATS1_CAV_Cal = -1000;
-}
-
-void Analysis::ResetMVariables()
-{
-    int initVal {-1000};
-    ////////////
-    mEx = initVal;
-    mELab = initVal;
-    mThetaLab = initVal;
-    mThetaCM = initVal;
-    // mEx.clear();
-    // mELab.clear();
-    // mThetaLab.clear();
-    // mThetaCM.clear();
-    mEBeam = initVal;
-    mThetaBeam = initVal;
-    ////////////////////////
-    // mNormalThetaTarget = initVal;
-    // mNormalThetaM2 = initVal;
-    ////////////////////////
-    mMust2Telescopes.clear();
-    mMust2SiE.clear();
-    mMust2CsIE.clear();
-    mMust2SiT.clear();
-    mMust2PointsX.clear();
-    mMust2PointsY.clear();
-    mMust2PointsZ.clear();
-    // mMust2Time = initVal;
-    // mMust2SiE = initVal;
-    // mMust2CsIE = initVal;
-    ////////////////////////
-    // mBeamLength = initVal;
-    // mTrackLength = initVal;
-    mTimeCorr = initVal;
-    mRunMinor = initVal;
-    mRunMajor = initVal;
-    mCATS1Calibrated = initVal;
-    mGATCONF = initVal;
+  Ex = -1000 ;
+  ELab = -1000;
+  ThetaLab = -1000;
+  ThetaCM = -1000;
+  OriginalThetaLab = -1000;
+  OriginalELab = -1000;
+  TimeCorr=-1000;
+  BeamLength=-1000;
+  ParticleLength=-1000;
+  run_minor=-1000;
+  run_major=-1000;
+  BeamEnergy=-1000;
 }
 
-double Analysis::ComputeXYZVectorAngle(const XYZVector& v1,
-                                       const XYZVector& v2)
-{
-    //reproduce the same calculus as TVector3
-    double ptot2 {v1.Mag2() * v2.Mag2()};
-    if(ptot2 <= 0)
-        return 0.;
-    else
-    {
-        double arg {v1.Dot(v2) / TMath::Sqrt(ptot2)};
-        if(arg > 1.)
-            arg = 1.;
-        if(arg < -1.)
-            arg = -1.;
-        return TMath::ACos(arg);
-    }
-}
-
-double Analysis::ComputeGamma(double vInSIUnits)
-{
-    double beta {vInSIUnits / TMath::C()};
-    double gamma {1. / TMath::Sqrt(1. - beta * beta)};
-    return gamma;
-}
-
-double Analysis::ComputeELossInCATS(double initEBeam, double thetaBeam)
-{
-    //1. Mylar
-    double E {fBeamMylar.Slow(initEBeam, 1.2 * micrometer, thetaBeam)};
-    //2. Isobutane
-    E = fBeamIsobutane.Slow(E, 1. / 3 * cm, thetaBeam);
-    //3. Mylar again
-    E = fBeamMylar.Slow(E, 0.9 * micrometer, thetaBeam);
-    //4. Again iC4H10
-    E = fBeamIsobutane.Slow(E, 1. / 3 * cm, thetaBeam);
-    //5. 3rd Mylar
-    E = fBeamMylar.Slow(E, 0.9 * micrometer, thetaBeam);
-    //6. 3rd isobutane...
-    E = fBeamIsobutane.Slow(E, 1. / 3 * cm, thetaBeam);
-    //7. Finally, last mylar
-    E = fBeamMylar.Slow(E, 1.2 * micrometer, thetaBeam);
-    return E;
-}
-
-double Analysis::ComputeTimeCorrectionInCATS(double EBeam, double MBeam,
-                                             const XYZPoint& p0, const XYZPoint& p1)
-{
-    //Velocity
-    double gamma {1. + EBeam / MBeam};
-    double beta {TMath::Sqrt(1 - 1. / (gamma * gamma))};
-    double v {beta  * TMath::C() * 1.E-6};//m/s to mm/ns
-    //Distance
-    auto dist {(p1 - p0).R()};
-    return dist / v;
-}
 ////////////////////////////////////////////////////////////////////////////////
 //            Construct Method to be pass to the DetectorFactory              //
 ////////////////////////////////////////////////////////////////////////////////
 NPL::VAnalysis* Analysis::Construct(){
-    return (NPL::VAnalysis*) new Analysis();
+  return (NPL::VAnalysis*) new Analysis();
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 //            Registering the construct method to the factory                 //
 ////////////////////////////////////////////////////////////////////////////////
 extern "C"{
-    class proxy{
-    public:
-        proxy(){
-            NPL::AnalysisFactory::getInstance()->SetConstructor(Analysis::Construct);
-        }
-    };
+class proxy{
+  public:
+    proxy(){
+      NPL::AnalysisFactory::getInstance()->SetConstructor(Analysis::Construct);
+    }
+};
 
-    proxy p;
+proxy p;
 }
 
diff --git a/Projects/e748/Analysis.h b/Projects/e748/Analysis.h
index 6a344867e..6bac47cdc 100644
--- a/Projects/e748/Analysis.h
+++ b/Projects/e748/Analysis.h
@@ -29,22 +29,12 @@
 #include "NPEnergyLoss.h"
 #include "NPReaction.h"
 #include "TRandom3.h"
-#include <Math/Point3D.h>
-
-#include <Math/Vector3D.h>
-#include <RtypesCore.h>
-#include <TAttMarker.h>
-#include <unordered_map>
-#include <vector>
 class Analysis: public NPL::VAnalysis{
-public:
+  public:
     Analysis();
     ~Analysis();
 
-    //for points
-    using XYZPoint = ROOT::Math::XYZPoint;
-    using XYZVector = ROOT::Math::XYZVector;
-public: 
+  public: 
     void Init();
     void TreatEvent();
     void End();
@@ -52,98 +42,81 @@ public:
     void InitInputBranch();
     void ReInitValue();
     static NPL::VAnalysis* Construct();
-private:
-    void ResetMVariables();
-    void TreatBeam();
-    double ComputeXYZVectorAngle(const XYZVector& v1,
-                                 const XYZVector& v2);
-    double ComputeGamma(double vInSIUnits);
-    double ComputeELossInCATS(double initEBeam, double beamAngle);
-    double ComputeTimeCorrectionInCATS(double EBeam, double MBeam,
-                                       const XYZPoint& p0, const XYZPoint& p1);
-private:
-    //Naming convention:
-    //-- m members are going to be written to .root file
-    //-- f members just used in the class
-    //////////////////////////////////////
-    // Kinematic variables for each track
-    double mEx;
-    double mELab;
-    double mThetaLab;
-    double mThetaCM;
-    //std::vector<double> mNormalThetaM2;
-    // Kinematics and variables for beam
-    double mEBeam;
-    double mThetaBeam;
-    //double mNormalThetaTarget;
-    double mTimeCorr;
-    // MUST2 hits;
-    // WARNING: Not all info is contained in TMUST2Physics (//!)
-    std::vector<short> mMust2Telescopes;
-    std::vector<double> mMust2SiE;
-    std::vector<double> mMust2CsIE;
-    std::vector<double> mMust2SiT;
-    //points are decomposed by coords. bc ROOT doesnt
-    // know how to read and RVec of XYZPoints and I dont want to play
-    //with dictionaries...
-    std::vector<double> mMust2PointsX;
-    std::vector<double> mMust2PointsY;
-    std::vector<double> mMust2PointsZ;
-    //Lengths and TOF
-    // double mBeamLength;
-    // double mTrackLength;
-    int mRunMinor;
-    int mRunMajor;
-    short mCATS1Calibrated;
-    short mGATCONF;
-    
-    ///////////////////////////////////////
-    NPL::Reaction* fReaction;
-    NPL::EnergyLoss fHe3CD2;
-    NPL::EnergyLoss fHe3Al;
-    NPL::EnergyLoss fHe3Si;
-    NPL::EnergyLoss fBeamCD2;
-    NPL::EnergyLoss fBeamMylar;
-    NPL::EnergyLoss fBeamIsobutane;
 
-    double fTargetThickness;
-    double kBeamMass {12.026922 * 931.494 - 4 * 0.511};//12Be
-    
-    TMust2Physics* fM2;
-    TCATSPhysics* fCATS;
-    TModularLeafPhysics* fModularLeaf;
-    TInitialConditions* fInitial;
-    // //other variables 
-    // Short_t         vADC_CHIO_V15;
-    // Short_t         vADC_VOIE_29;
-    // Short_t         vCHIO;
-    // Short_t         vCONFDEC;
-    // Short_t         vCONFDEC_AGAVA;
-    // Short_t         vDATATRIG;
-    // Short_t         vDATATRIG_CHIO;
-    // Short_t         vE1D6;
-    // Short_t         vE2D6;
-    // Short_t         vED4;
-    // Short_t         vEXL_HF;
-    // Short_t         vGALD4X;
-    // Short_t         vGALD4Y;
-    // Short_t         vGATCONF;
-    // Short_t         vQCaviar;
-    // Short_t         vQPlast;
-    // Short_t         vTCAVHF;
-    // Short_t         vTE1D6CAV;
-    // Short_t         vTE1D6GAL;
-    // Short_t         vTE1D6HF;
-    // Short_t         vTED4HF;
-    // Short_t         vTGALD4HF;
-    // Short_t         vT_CATS1_2;
-    // Short_t         vT_CATS1_CAV;
-    // Short_t         vT_CATS1_CAV_Cal;
-    // Short_t         vT_MUVI_CATS1;
-    // Short_t         vT_PL_CATS1;
-    // Short_t         vT_PL_CATS2;
-    // Short_t         vT_PL_CHIO;
-    // Short_t         vT_PLchCATS1;
+  private:
+    double Ex;
+    double ELab;
+    double ThetaLab;
+    double ThetaCM;
+    NPL::Reaction* myReaction;
+
+    // intermediate variable
+    TRandom3 Rand;
+    int DetectorNumber;
+    double ThetaNormalTarget;
+    double ThetaM2Surface; 
+    double X_M2;
+    double Y_M2;
+    double Z_M2;
+    double Si_E_M2;
+    double CsI_E_M2; 
+    double Energy ;
+    double E_M2 ;
+    double Si_X_M2;
+    double Si_Y_M2;
+    double ZTarget;
+    double TimeCorr;
+    double BeamLength;
+    double ParticleLength;
+    double TargetThickness;
+    double OriginalThetaLab;
+    double OriginalELab;
+    double BeamEnergy;
+    int run_major;
+    int run_minor;
+    NPL::EnergyLoss He3CD2  ;
+    NPL::EnergyLoss He3Al   ;
+    NPL::EnergyLoss He3Si   ;
+    NPL::EnergyLoss BeamCD2 ;
+    NPL::EnergyLoss BeamMylar ;
+    NPL::EnergyLoss BeamIsobutane ;
+
+
+
+    TMust2Physics* M2;
+   TCATSPhysics* CATS;
+   TModularLeafPhysics* ModularLeaf;
+   TInitialConditions* Initial;
+    //other variables 
+   Short_t         vADC_CHIO_V15;
+   Short_t         vADC_VOIE_29;
+   Short_t         vCHIO;
+   Short_t         vCONFDEC;
+   Short_t         vCONFDEC_AGAVA;
+   Short_t         vDATATRIG;
+   Short_t         vDATATRIG_CHIO;
+   Short_t         vE1D6;
+   Short_t         vE2D6;
+   Short_t         vED4;
+   Short_t         vEXL_HF;
+   Short_t         vGALD4X;
+   Short_t         vGALD4Y;
+   Short_t         vGATCONF;
+   Short_t         vQCaviar;
+   Short_t         vQPlast;
+   Short_t         vTCAVHF;
+   Short_t         vTE1D6CAV;
+   Short_t         vTE1D6GAL;
+   Short_t         vTE1D6HF;
+   Short_t         vTED4HF;
+   Short_t         vTGALD4HF;
+   Short_t         vT_CATS1_2;
+   Short_t         vT_CATS1_CAV;
+   Short_t         vT_MUVI_CATS1;
+   Short_t         vT_PL_CATS1;
+   Short_t         vT_PL_CATS2;
+   Short_t         vT_PL_CHIO;
+   Short_t         vT_PLchCATS1;
 
 
 };
diff --git a/Projects/e748/BeamID.cxx b/Projects/e748/BeamID.cxx
index 94d17ad03..18f699638 100644
--- a/Projects/e748/BeamID.cxx
+++ b/Projects/e748/BeamID.cxx
@@ -1,38 +1,34 @@
-#include <TCanvas.h>
 void BeamID(){
-    gStyle->SetOptStat("nmeruoi");
   // Load the Main Tree
-  TFile* file = new TFile("./Data/Analysis/e748_Physics_12Be.root");
+  TFile* file = new TFile("../../Outputs/Analysis/e748_Physics_12Be.root");
   TTree* tree = (TTree*) file->FindObjectAny("PhysicsTree");
-  //tree->Print();
 
-  TFile* fileR = new TFile("./Data/Analysis/e748_12Be.root");
+  TFile* fileR = new TFile("../../Outputs/Analysis/e748_12Be.root");
   TTree* treeR = (TTree*) fileR->FindObjectAny("ResultTree");
   tree->AddFriend(treeR);
-  //treeR->Print();
 
   // Load the IC chain
   TChain* IC = new TChain("Numexo2");
-  IC->Add("./Data/Merged/run_0315.root");
-  IC->Add("./Data/Merged/run_0316.root");
-  IC->Add("./Data/Merged/run_0317.root");
-  IC->Add("./Data/Merged/run_0318.root");
-  IC->Add("./Data/Merged/run_0320.root");
-  IC->Add("./Data/Merged/run_0321.root");
-  IC->Add("./Data/Merged/run_0323.root");
-  IC->Add("./Data/Merged/run_0325.root");
-  IC->Add("./Data/Merged/run_0326.root");
-  IC->Add("./Data/Merged/run_0327.root");
-  IC->Add("./Data/Merged/run_0328.root");
-  IC->Add("./Data/Merged/run_0329.root");
-  IC->Add("./Data/Merged/run_0330.root");
-  IC->Add("./Data/Merged/run_0331.root");
-  IC->Add("./Data/Merged/run_0339.root");
-  IC->Add("./Data/Merged/run_0341.root");
-  IC->Add("./Data/Merged/run_0342.root");
-  IC->Add("./Data/Merged/run_0346.root");
-  IC->Add("./Data/Merged/run_0347.root");
-  IC->Add("./Data/Merged/run_0348.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0315.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0316.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0317.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0318.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0320.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0321.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0323.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0325.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0326.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0327.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0328.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0329.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0330.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0331.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0339.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0341.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0342.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0346.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0347.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0348.root");
   // Friend the two trees
   tree->AddFriend(IC);
 
@@ -44,8 +40,5 @@ void BeamID(){
   c->cd(2);
   tree->Draw("QPlast:T_CATS1_CAV>>hIC2(400,0,400,4000,0,16000)","TelescopeNumber@.size()==0","colz");
 
-  auto* c1 {new TCanvas("c1")};
-  tree->Draw("T_CATS1_CAV");
-
   
   }
diff --git a/Projects/e748/CMakeLists.txt b/Projects/e748/CMakeLists.txt
index 58f19ada7..22c74affd 100644
--- a/Projects/e748/CMakeLists.txt
+++ b/Projects/e748/CMakeLists.txt
@@ -1,7 +1,5 @@
 cmake_minimum_required (VERSION 2.8) 
 # Setting the policy to match Cmake version
 cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
-## write compile_commands.json to clangd
-set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
 # include the default NPAnalysis cmake file
 include("../../NPLib/ressources/CMake/NPAnalysis.cmake")
diff --git a/Projects/e748/ID.cxx b/Projects/e748/ID.cxx
index 912d764ab..e0702d26f 100644
--- a/Projects/e748/ID.cxx
+++ b/Projects/e748/ID.cxx
@@ -1,35 +1,35 @@
 void ID(){
 
   // Load the Main Tree
-  TFile* file = new TFile("./Data/Analysis/e748_Physics_12Be.root");
+  TFile* file = new TFile("../../Outputs/Analysis/e748_Physics_12Be.root");
   TTree* tree = (TTree*) file->FindObjectAny("PhysicsTree");
 
-  TFile* fileR = new TFile("./Data/Analysis/e748_12Be.root");
+  TFile* fileR = new TFile("../../Outputs/Analysis/e748_12Be.root");
   TTree* treeR = (TTree*) fileR->FindObjectAny("ResultTree");
   tree->AddFriend(treeR);
 
   // Load the IC chain
   TChain* IC = new TChain("Numexo2");
-  IC->Add("./Data/Merged/run_0315.root");
-  IC->Add("./Data/Merged/run_0316.root");
-  IC->Add("./Data/Merged/run_0317.root");
-  IC->Add("./Data/Merged/run_0318.root");
-  IC->Add("./Data/Merged/run_0320.root");
-  IC->Add("./Data/Merged/run_0321.root");
-  IC->Add("./Data/Merged/run_0323.root");
-  IC->Add("./Data/Merged/run_0325.root");
-  IC->Add("./Data/Merged/run_0326.root");
-  IC->Add("./Data/Merged/run_0327.root");
-  IC->Add("./Data/Merged/run_0328.root");
-  IC->Add("./Data/Merged/run_0329.root");
-  IC->Add("./Data/Merged/run_0330.root");
-  IC->Add("./Data/Merged/run_0331.root");
-  IC->Add("./Data/Merged/run_0339.root");
-  IC->Add("./Data/Merged/run_0341.root");
-  IC->Add("./Data/Merged/run_0342.root");
-  IC->Add("./Data/Merged/run_0346.root");
-  IC->Add("./Data/Merged/run_0347.root");
-  IC->Add("./Data/Merged/run_0348.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0315.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0316.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0317.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0318.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0320.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0321.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0323.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0325.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0326.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0327.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0328.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0329.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0330.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0331.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0339.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0341.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0342.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0346.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0347.root");
+  IC->Add("/data/Transfert/e748/Merged/run_0348.root");
   /*
   // Check that the number of entry is the same
   if( tree->GetEntries() != IC->GetEntries() ){
@@ -67,7 +67,7 @@ void ID(){
   TFile* cutTOF = new TFile("TOF.root");
   TCutG* cutt = (TCutG*) cutTOF->FindObjectAny("TOF");
 
-  tree->Draw("Si_T + TimeCorr + ((TelescopeNumber==1)*-2.521+(TelescopeNumber==2)*0.148+(TelescopeNumber==3)*-1.922+(TelescopeNumber==4)*-7.176):Si_E>>hTOFc(1000,0,30,1000,460,580)","","colz");
+  tree->Draw("Si_T+TimeCorr+((TelescopeNumber==1)*-2.521+(TelescopeNumber==2)*0.148+(TelescopeNumber==3)*-1.922+(TelescopeNumber==4)*-7.176):Si_E>>hTOFc(1000,0,30,1000,460,580)","","colz");
   cutt->Draw("same");
 
   /*new TCanvas();
diff --git a/Projects/e748/MT.cxx b/Projects/e748/MT.cxx
index 474712803..825ac0c31 100644
--- a/Projects/e748/MT.cxx
+++ b/Projects/e748/MT.cxx
@@ -1,32 +1,32 @@
 void MT(){
-
+using namespace ROOT::Experimental; // TDataFrame's namespace
 //ROOT::EnableImplicitMT();
   // Load the Main Tree
-  TChain chain("ResultTree");
-  chain.Add("./Data/Analysis/e748_12Be.root");
+  TChain chain("PhysicsTree");
+  chain.Add("../../Outputs/Analysis/e748_12Be.root");
 
   // Load the IC chain
   TChain IC("Numexo2");
-  IC.Add("./Data/Merged/run_0315.root");
-  IC.Add("./Data/Merged/run_0316.root");
-  IC.Add("./Data/Merged/run_0317.root");
-  IC.Add("./Data/Merged/run_0318.root");
-  IC.Add("./Data/Merged/run_0320.root");
-  IC.Add("./Data/Merged/run_0321.root");
-  IC.Add("./Data/Merged/run_0323.root");
-  IC.Add("./Data/Merged/run_0325.root");
-  IC.Add("./Data/Merged/run_0326.root");
-  IC.Add("./Data/Merged/run_0327.root");
-  IC.Add("./Data/Merged/run_0328.root");
-  IC.Add("./Data/Merged/run_0329.root");
-  IC.Add("./Data/Merged/run_0330.root");
-  IC.Add("./Data/Merged/run_0331.root");
-  IC.Add("./Data/Merged/run_0339.root");
-  IC.Add("./Data/Merged/run_0341.root");
-  IC.Add("./Data/Merged/run_0342.root");
-  IC.Add("./Data/Merged/run_0346.root");
-  IC.Add("./Data/Merged/run_0347.root");
-  IC.Add("./Data/Merged/run_0348.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0315.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0316.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0317.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0318.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0320.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0321.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0323.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0325.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0326.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0327.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0328.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0329.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0330.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0331.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0339.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0341.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0342.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0346.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0347.root");
+  IC.Add("/data/Transfert/e748/Merged/run_0348.root");
 /*
   // Check that the number of entry is the same
   if( tree->GetEntries() != IC->GetEntries() ){
@@ -47,7 +47,7 @@ void MT(){
   }
   chain.SetEntryList(elist);
 
-  ROOT::RDataFrame DF(chain);
+  TDataFrame DF(chain);
 
 
   // TOF per telescope
diff --git a/Projects/e748/Postanalysis/AnalyzeBeam.cpp b/Projects/e748/Postanalysis/AnalyzeBeam.cpp
deleted file mode 100644
index a6d39929d..000000000
--- a/Projects/e748/Postanalysis/AnalyzeBeam.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-#include <ROOT/RDataFrame.hxx>
-#include <TCanvas.h>
-#include <TChain.h>
-#include <TFile.h>
-#include <TH2D.h>
-#include <TH1D.h>
-#include <TString.h>
-#include <TTree.h>
-#include <TROOT.h>
-#include <TStyle.h>
-
-#include "TMust2Physics.h"
-#include "Utils.cpp"
-
-#include <set>
-
-void AnalyzeBeam()
-{
-    ROOT::EnableImplicitMT();
-    //gStyle->SetOptStat("nmeruoi");
-
-    //ROOT::RDataFrame df("BaseCutTree", "./RootFiles/BaseCutTree_12Be.root");
-    auto df {ReadAll12BeData()};
-
-    auto gated {df.Filter(
-                          [](const TMust2Physics& must2)
-                          {
-                              return (must2.TelescopeNumber.size() == 0);
-                          },
-                          {"MUST2"})};
-    auto hCATSchio {gated.Histo2D({"hCATSchio", "Raw TOF vs IC", 700, 0., 300., 900, 0, 900}, "T_CATS1_CAV", "IC_E")};
-    auto hCATSplast {gated.Histo2D({"hCATSplast", "Raw TOF vs QPlast", 700, 0., 300., 4000, 0, 16000}, "T_CATS1_CAV", "QPlast")};
-    auto hCHIOplast {gated.Histo2D({"hCHIOplast", "CHIO vs QPlast", 900, 0, 900, 4000, 0, 16000}, "IC_E", "QPlast")};
-    
-    //plotting
-    auto* c1 {new TCanvas("c1", "Beam ID")};
-    c1->DivideSquare(4);
-    c1->cd(1);
-    hCATSchio->DrawClone("colz");
-    c1->cd(2);
-    hCATSplast->DrawClone("colz");
-    c1->cd(3);
-    hCHIOplast->DrawClone("colz");
-}
diff --git a/Projects/e748/Postanalysis/AnalyzeCATS.cpp b/Projects/e748/Postanalysis/AnalyzeCATS.cpp
deleted file mode 100644
index 16660ad1c..000000000
--- a/Projects/e748/Postanalysis/AnalyzeCATS.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-#include "TROOT.h"
-#include "TFile.h"
-#include "TTree.h"
-#include "TCanvas.h"
-#include "TString.h"
-#include "TCATSPhysics.h"
-#include "TMust2Physics.h"
-#include "TModularLeafPhysics.h"
-
-#include "ROOT/RDataFrame.hxx"
-
-void AnalyzeCATS()
-{
-    ROOT::EnableImplicitMT();
-    
-    auto* inFile {new TFile("/home/miguel/nptool/Projects/e748/output/analysis/Test_12Be.root")};
-    //inFile->ls();
-    auto* tree {inFile->Get<TTree>("PhysicsTree")};
-    //tree->Print();
-
-    ROOT::RDataFrame df(*tree);
-    auto cond {df.Filter("CATS.PositionOnTargetX != -1000 && CATS.PositionOnTargetY != -1000")};
-    auto hPos {cond.Define("x", "CATS.PositionOnTargetX").Define("y", "CATS.PositionOnTargetY")
-        .Histo2D({"hPos", "Position on CATS;X;Y", 100, -70., 70., 100, -70., 70.}, "x", "y")};
-    hPos->DrawClone("colz");
-
-    auto hCATS1Cal {cond.Histo1D("T_CATS1_CAV_Cal")};
-    hCATS1Cal->DrawClone();
-
-    auto hCATSBeamEnergy {cond.Filter("T_CATS1_CAV > 0")
-        .Histo2D({"hCATSBeamEnergy", "CATS against BeamEnergy", 100, 0., 300., 200, 0., 500.}, "T_CATS1_CAV", "BeamEnergy")};
-    hCATSBeamEnergy->DrawClone("colz");
-  
-}
diff --git a/Projects/e748/Postanalysis/ApplyCuts.cpp b/Projects/e748/Postanalysis/ApplyCuts.cpp
deleted file mode 100644
index d0716e879..000000000
--- a/Projects/e748/Postanalysis/ApplyCuts.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-#include "TROOT.h"
-#include "TStyle.h"
-#include "TFile.h"
-#include "TTree.h"
-#include "TChain.h"
-#include "TCATSPhysics.h"
-#include "TMust2Physics.h"
-
-#include "ROOT/RDataFrame.hxx"
-#include <ROOT/RVec.hxx>
-
-#include "Utils.cpp"
-
-#include <Rtypes.h>
-#include <TCanvas.h>
-#include <algorithm>
-#include <iostream>
-#include <vector>
-
-void ApplyCuts()
-{
-    ROOT::EnableImplicitMT();
-    gStyle->SetOptStat("nmeruoi");
-    
-    ROOT::RDataFrame df("BaseCutTree", "./RootFiles/BaseCutTree_12Be.root");
-    auto dsc {df.Describe()};
-    //dsc.Print();
-
-    //--> Read TCutGs
-    auto* cutChio {GetGraphCutFromFile("./Cuts/chio_v0.root")};
-    auto* cutPID {GetGraphCutFromFile("./../TOF.root", "TOF")};
-    //--> Apply them. Must apply cuts to the vectors stored in classes
-    auto gated {df.Filter([&](const ROOT::RVecD& vSiE, const ROOT::RVecD& pid,
-                              const unsigned short& chioE, const double& Qplast)
-    {
-        std::vector<bool> vCondPID {};
-        for(int i = 0; i < vSiE.size(); i++)
-        {
-            vCondPID.push_back(cutPID->IsInside(vSiE.at(i), pid.at(i)));
-        }
-        //all hits in MUST2 should be inside TCutG
-        bool condPID {std::all_of(vCondPID.begin(), vCondPID.end(), [](const bool& e){return e;})};
-        //same but for heavy ID
-        bool condChio {static_cast<bool>(cutChio->IsInside(Qplast, chioE))};
-        return (condChio && condPID);
-    },
-                          {"Must2SiE", "TOFLight", "IC_E", "QPlast"})};
-    
-   
-    //--> Write to file
-    gated.Snapshot("FinalTree", "./RootFiles/FinalTree_12Be.root");    
-}
diff --git a/Projects/e748/Postanalysis/CalibrateBeam.cpp b/Projects/e748/Postanalysis/CalibrateBeam.cpp
deleted file mode 100644
index bfe9e65eb..000000000
--- a/Projects/e748/Postanalysis/CalibrateBeam.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <ROOT/RDataFrame.hxx>
-#include <TROOT.h>
-
-#include "TMust2Physics.h"
-#include "Utils.cpp"
-
-void CalibrateBeam()
-{
-    ROOT::EnableImplicitMT();
-    //we can use all the data, because its measured between Caviar and CATS
-    auto df {ReadAll12BeData()};
-    
-    //plot original values without telescope hits
-    auto hOri {df.Filter([](const TMust2Physics& must2){return must2.TelescopeNumber.size() == 0;}, {"MUST2"})
-        .Histo1D({"hOri", "Raw TOF", 1000, 100., 350.}, "T_CATS1_CAV")};
-    
-    hOri->DrawClone();   
-}
diff --git a/Projects/e748/Postanalysis/GetCuts.cpp b/Projects/e748/Postanalysis/GetCuts.cpp
deleted file mode 100644
index e330c4e8f..000000000
--- a/Projects/e748/Postanalysis/GetCuts.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-#include "TROOT.h"
-#include "TStyle.h"
-#include "TFile.h"
-#include "TTree.h"
-#include "TChain.h"
-#include "TCATSPhysics.h"
-#include "TMust2Physics.h"
-#include "Math/Point3D.h"
-
-#include "ROOT/RDataFrame.hxx"
-#include <ROOT/RVec.hxx>
-
-#include "Utils.cpp"
-
-#include <Rtypes.h>
-#include <TCanvas.h>
-#include <algorithm>
-#include <iostream>
-#include <vector>
-
-void GetCuts()
-{
-    ROOT::EnableImplicitMT();
-    /////////////////////////////////////////////////////
-    ///READ DATA
-    gStyle->SetOptStat("nmeruoi");
-    
-    auto* inFile {new TFile("/home/miguel/nptool/Projects/e748/output/analysis/Physics_12Be.root")};
-    //inFile->ls();
-    auto* tree {inFile->Get<TTree>("PhysicsTree")};
-    //tree->Print();
-
-    //load also chio chain
-    auto* chioChain {new TChain("Numexo2")};//runs for 12Be
-    std::set<int> runs {315, 316, 317, 318, 320, 321, 323, 325, 326, 327, 328, 329, 330, 331, 339, 341, 342, 346, 347, 348};
-    for(const auto& run : runs)
-        chioChain->Add(TString::Format("/home/miguel/nptool/Projects/e748/Data/Merged/run_%04d.root", run));
-    tree->AddFriend(chioChain);
-
-    ////// DATAFRAME
-    ROOT::RDataFrame df(*tree);
-    //Apply base cut
-    auto baseCut = [](const TCATSPhysics& cats,
-                      const std::vector<short>& vtel, const std::vector<double>& vCsIE,
-                      unsigned short chioE, double QPlast, double T_CATS1_CAV)
-    {
-        //0--> Only one hit per event!
-        bool condSize {vtel.size() == 1};
-        //1--> Position on target should be inside its dimensions
-        bool condPosition {cats.PositionOnTargetY > -10 && cats.PositionOnTargetY < 10.
-            && cats.PositionOnTargetX > -20. && cats.PositionOnTargetX < 20.};
-        //2--> Telescope number lower than 5
-        bool condTelescopeN {std::all_of(vtel.begin(), vtel.end(),
-                                         [](const auto& t){return t < 5;})};
-        //3--> CsI energy == 0!!
-        bool condCsIEnergy {std::all_of(vCsIE.begin(), vCsIE.end(),
-                                        [](const auto& e){return e < 0;})};
-        //4--> Recoil measured in IC and plastic
-        bool condRecoil {chioE > 0 && QPlast > 0};
-        //5--> TOF for beam, raw cut
-        bool condBeam {T_CATS1_CAV > 160. && T_CATS1_CAV < 235.};
-        return (condSize && condPosition && condTelescopeN && condCsIEnergy && condRecoil && condBeam);
-    };
-    
-    auto gated {df.Filter(baseCut,
-                          {"CATS",
-                           "Must2Telescopes", "Must2CsIE",
-                           "IC_E", "QPlast", "T_CATS1_CAV"})};
-    
-    //Build ID for light recoil, based on TOF between CATS and MUST2
-    gated = gated.Define("TOFLight",
-                         [](const std::vector<short>& vTel, const std::vector<double>& vSiT,
-                            const double& timeCorr)
-                         {
-                             ROOT::RVecD v {};//serialize use of RVec even though we are working with a size=1 vector
-                             for(int i = 0; i < vTel.size(); i++)
-                             {
-                                 auto val1 {vSiT.at(i) + timeCorr};
-                                 auto tn {vTel.at(i)};
-                                 double opt {};
-                                 if(tn == 1)
-                                     opt = -2.521;
-                                 else if(tn == 2)
-                                     opt = 0.148;
-                                 else if(tn == 3)
-                                     opt = -1.922;
-                                 else if(tn == 4)
-                                     opt = -7.176;
-                                 v.push_back(val1 + opt);
-                             }
-                             return v;
-                         },
-                         {"Must2Telescopes", "Must2SiT", "TimeCorr"});
-
-    // //HISTOGRAMS
-    auto hCHIO { gated.Histo2D({"hCHIO", "Heavy ID;QPlast;IC_E", 4000, 0., 16000., 900, 0., 900.}, "QPlast", "IC_E")};
-    auto hPID {gated.Histo2D({"hPID", "PID;E_{Si} [MeV];TOF_{Heavy}[au]", 1000, 0., 30., 1000, 460., 580.}, "Must2SiE", "TOFLight")};
-
-    //--> Read TCutGs
-    auto* cutChio {GetGraphCutFromFile("./Cuts/chio_v0.root")};
-    auto* cutPID {GetGraphCutFromFile("./../TOF.root", "TOF")};
-    
-    //plotting
-    auto* cID {new TCanvas("cID", "ID canvas", 1)};
-    cID->DivideSquare(2);
-    cID->cd(1);
-    hCHIO->DrawClone("colz");
-    cutChio->SetLineColor(kRed); cutChio->SetLineWidth(2);
-    cutChio->Draw("same");
-    cID->cd(2);
-    hPID->DrawClone("colz");
-    cutPID->SetLineColor(kRed); cutPID->SetLineWidth(2);
-    cutPID->Draw("same");
-    
-    //save to disk gated TTree
-    gated.Snapshot("BaseCutTree", "./RootFiles/BaseCutTree_12Be.root");
-}
diff --git a/Projects/e748/Postanalysis/GetSpectrum.cpp b/Projects/e748/Postanalysis/GetSpectrum.cpp
deleted file mode 100644
index bff5942f2..000000000
--- a/Projects/e748/Postanalysis/GetSpectrum.cpp
+++ /dev/null
@@ -1,62 +0,0 @@
-#include "TROOT.h"
-#include "TStyle.h"
-#include "TFile.h"
-#include "TTree.h"
-#include "TChain.h"
-#include "TCATSPhysics.h"
-#include "TMust2Physics.h"
-#include "NPReaction.h"
-
-#include "ROOT/RDataFrame.hxx"
-#include <ROOT/RVec.hxx>
-
-#include "Utils.cpp"
-
-#include <Rtypes.h>
-#include <TCanvas.h>
-#include <algorithm>
-#include <iostream>
-#include <vector>
-
-void GetSpectrum()
-{
-    ROOT::EnableImplicitMT();
-    gStyle->SetOptStat("nmeruoi");
-
-    ROOT::RDataFrame df("FinalTree", "./RootFiles/FinalTree_12Be.root");
-    auto dsc {df.Describe()};
-    dsc.Print();
-
-    //--> Read TCutGs
-    auto* cutChio {GetGraphCutFromFile("./Cuts/chio_v0.root")};
-    auto* cutPID {GetGraphCutFromFile("./../TOF.root", "TOF")};
-    
-    //--> Get histograms
-    // kinematic lines
-    auto hKin {df.Histo2D({"hKin", "Kinematic lines;#theta_{Lab} [degree];E_{Vertex} [MeV]", 500, 0., 60., 500, 0., 30.}, "ThetaLab", "ELab")};
-    auto hBeam {df.Histo1D({"hBem", "Beam raw TOF", 500, 100., 300.}, "T_CATS1_CAV")};
-    // excitation energy
-    auto hEex {df.Histo1D("Ex")};
-    // beam energy
-    auto hBeamE {df.Histo1D("BeamEnergy")};
-    
-    // Reaction
-    NPL::Reaction reaction("12Be(d,3He)11Li@355");
-    auto* g {reaction.GetKinematicLine3()};
-    
-    auto* cRes {new TCanvas("cRes", "Results canvas", 1)};
-    cRes->DivideSquare(2);
-    cRes->cd(1);
-    hKin->DrawClone("colz");
-    g->SetLineColor(kRed); g->SetLineWidth(2);
-    g->Draw("l same");
-    cRes->cd(2);
-    hEex->DrawClone();
-
-    auto* cBeam {new TCanvas("cBeam", "Beam canvas", 1)};
-    cBeam->DivideSquare(2);
-    cBeam->cd(1);
-    hBeam->DrawClone();
-    cBeam->cd(2);
-    hBeamE->DrawClone();
-}
diff --git a/Projects/e748/Postanalysis/ImprovePID.cpp b/Projects/e748/Postanalysis/ImprovePID.cpp
deleted file mode 100644
index c27f22b61..000000000
--- a/Projects/e748/Postanalysis/ImprovePID.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-#include <Math/Vector3D.h>
-#include <Math/Point3D.h>
-#include <ROOT/RDataFrame.hxx>
-#include <ROOT/RVec.hxx>
-#include <TCanvas.h>
-#include <TMath.h>
-#include <iostream>
-
-#include "TCATSPhysics.h"
-#include "TMust2Data.h"
-#include "TMust2Physics.h"
-
-using XYZVector = ROOT::Math::XYZVector;
-using XYZPoint  = ROOT::Math::XYZPoint;
-
-double LandTtoGamma(double L, double T)
-{
-    //MUST be in SI units
-    double v {L / T};
-    double beta {v / TMath::C()};
-    std::cout<<"Beta = "<<beta<<'\n';
-    double gamma {1. / TMath::Sqrt(1. - beta * beta)};
-    return gamma;
-}
-
-double ConvertTOFToMass(double Tbeam,
-                        double xM2, double yM2, double zM2, double tM2,
-                        double tCorr,
-                        TCATSPhysics& cats)
-{
-    double timeWindow {600.};// ns
-    double lengthFactor {180.};//mm
-    //Length
-    XYZPoint vertex {cats.PositionOnTargetX, cats.PositionOnTargetY, 0.};
-    //get MUST2 point
-    XYZPoint must2Point {xM2, yM2, zM2 + lengthFactor};
-    //Time (including correction)
-    double tof {tM2 + tCorr};
-    std::cout<<"tCorr = "<<tCorr<<'\n';
-    auto LAfterReaction {(must2Point - vertex).R()};//should be in mm!
-    //let's ignore by now distance cats (or whatever provides STOP signal) to vertex
-    auto L {(LAfterReaction) * 1.E-3};//mm to m
-    auto T {TMath::Abs(tof - timeWindow) * 1.E-9}; //ns to s
-    std::cout<<"L = "<<L<<" T = "<<T<<'\n';
-    auto gamma {LandTtoGamma(L, T)};
-    std::cout<<"Gamma = "<<gamma<<'\n';
-    return Tbeam / (gamma - 1);
-}
-
-void ImprovePID()
-{
-    ROOT::RDataFrame d("GatedTree", "./RootFiles/GatedTree_12Be.root");
-    auto description {d.Describe()};
-    description.Print();std::cout<<'\n';
-
-    auto df = d.Redefine("TOF", "TOF");
-    auto hPID {df.Define("x", "MUST2.Si_E")
-        .Histo2D({"hPID", "PID;E_{Si} [MeV];TOF [au]", 1000, 0., 30., 1000, 460., 580.}, "x", "TOF")};
-    df = df.Define("ReconstructedMass", ConvertTOFToMass, {"BeamEnergy",
-                                                           "X_M2", "Y_M2", "Z_M2", "T_M2",
-                                                           "TimeCorr",
-                                                           "CATS"});
-
-    auto hMass {df.Histo1D( "ReconstructedMass")};
-
-    auto hTelN {df.Define("TelescopeNumber", [](const TMust2Physics& must2)
-    {
-        return must2.TelescopeNumber;
-    },
-            {"MUST2"})
-        .Histo1D("TelescopeNumber")};
-    
-    //plotting
-    auto* c1 {new TCanvas("c1")};
-    c1->DivideSquare(2);
-    c1->cd(1);
-    hPID->DrawClone("col");
-    c1->cd(2);
-    hMass->DrawClone();
-
-    auto* c2 {new TCanvas("c2")};
-    c2->DivideSquare(2);
-    c2->cd(1);
-    hTelN->DrawClone();
-}
diff --git a/Projects/e748/Postanalysis/PlotTheoreticalKinematics.cpp b/Projects/e748/Postanalysis/PlotTheoreticalKinematics.cpp
deleted file mode 100644
index d2761e5c0..000000000
--- a/Projects/e748/Postanalysis/PlotTheoreticalKinematics.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-#include "NPReaction.h"
-#include <Rtypes.h>
-#include <TCanvas.h>
-#include <TString.h>
-
-void PlotTheoreticalKinematics()
-{
-    double beam10Be {28. * 10.013534};
-    double beam12Be {30. * 12.026922};
-    //simply compare reaction kinematics
-    NPL::Reaction r10Be(TString::Format("10Be(d,3He)9Li@%.f", beam10Be).Data());
-    NPL::Reaction r12Be (TString::Format("12Be(d,3He)11Li@%.f", beam12Be).Data());
-
-    //get graphs
-    auto* g9Li {r10Be.GetKinematicLine3()};
-    auto* g11Li {r12Be.GetKinematicLine3()};
-    //also Elab vs thetaCM
-    auto* gcm9Li {r10Be.GetELabVersusThetaCM()};
-    auto* gcm11Li {r12Be.GetELabVersusThetaCM()};
-    //theta3 vs theta4 in LAB
-    auto* gtheta9Li {r10Be.GetTheta3VsTheta4()};
-    auto* gtheta11Li {r12Be.GetTheta3VsTheta4()};
-    
-    //plotting
-    auto* c1 {new TCanvas("c1", "Kinematic lines comparaison")};
-    c1->DivideSquare(4);
-    c1->cd(1);
-    g11Li->SetTitle(";#theta_{3}^{LAB} [degree];T_{3} [MeV]");
-    g9Li->SetLineWidth(2); g9Li->SetLineColor(kRed);
-    g11Li->SetLineWidth(2); g11Li->SetLineColor(kBlue);
-    g11Li->Draw("apl");
-    g9Li->Draw("pl same");
-
-    c1->cd(2);
-    gcm11Li->SetTitle(";#theta_{3}^{CM} [degree];T_{3} [MeV]");
-    gcm9Li->SetLineWidth(2); gcm9Li->SetLineColor(kRed);
-    gcm11Li->SetLineWidth(2); gcm11Li->SetLineColor(kBlue);
-    gcm11Li->Draw("apl");
-    gcm9Li->Draw("pl same");
-
-    c1->cd(3);
-    gtheta9Li->SetTitle(";#theta_{3}^{LAB} [degree];#theta_{4}^{LAB} [degree]");
-    gtheta9Li->SetLineWidth(2); gtheta9Li->SetLineColor(kRed);
-    gtheta11Li->SetLineWidth(2); gtheta11Li->SetLineColor(kBlue);
-    gtheta9Li->Draw("apl");
-    gtheta11Li->Draw("pl same");
-}
diff --git a/Projects/e748/Postanalysis/Utils.cpp b/Projects/e748/Postanalysis/Utils.cpp
deleted file mode 100644
index 78da8e96c..000000000
--- a/Projects/e748/Postanalysis/Utils.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <ROOT/RDataFrame.hxx>
-#include <TCutG.h>
-#include <TFile.h>
-#include <TTree.h>
-#include <TChain.h>
-
-#include <stdexcept>
-#include <string>
-#include <set>
-
-TCutG* GetGraphCutFromFile(const std::string& fileName, const std::string& name = "CUTG")
-{
-    auto* file {new TFile(fileName.c_str())};
-    auto* cut {file->Get<TCutG>(name.c_str())};
-    if(!cut)
-        throw std::runtime_error("Error loading TCutG: Check file existence or name!");
-    return cut;
-    
-}
-
-ROOT::RDataFrame ReadAll12BeData()
-{
-    auto* inFile {new TFile("/home/miguel/nptool/Projects/e748/output/analysis/Physics_12Be.root")};
-    //inFile->ls();
-    auto* tree {inFile->Get<TTree>("PhysicsTree")};
-    //tree->Print();
-
-    //load also chio chain
-    auto* chioChain {new TChain("Numexo2")};//runs for 12Be
-    std::set<int> runs {315, 316, 317, 318, 320, 321, 323, 325, 326, 327, 328, 329, 330, 331, 339, 341, 342, 346, 347, 348};
-    for(const auto& run : runs)
-        chioChain->Add(TString::Format("/home/miguel/nptool/Projects/e748/Data/Merged/run_%04d.root", run));
-    tree->AddFriend(chioChain);
-    return ROOT::RDataFrame(*tree);
-}
diff --git a/Projects/e748/RunToTreat/RunToTreat_12Be.txt b/Projects/e748/RunToTreat/RunToTreat_12Be.txt
index ed36646e3..6f697d60b 100644
--- a/Projects/e748/RunToTreat/RunToTreat_12Be.txt
+++ b/Projects/e748/RunToTreat/RunToTreat_12Be.txt
@@ -1,23 +1,23 @@
 TTreeName 
 	AutoTree
 RootFileName 
- ./Data/root/run_0315_*.root
- ./Data/root/run_0316_*.root
- ./Data/root/run_0317_*.root
- ./Data/root/run_0318_*.root
- ./Data/root/run_0320_*.root
- ./Data/root/run_0321_*.root
- ./Data/root/run_0323_*.root
- ./Data/root/run_0325_*.root
- ./Data/root/run_0326_*.root
- ./Data/root/run_0327_*.root
- ./Data/root/run_0328_*.root
- ./Data/root/run_0329_*.root
- ./Data/root/run_0330_*.root
- ./Data/root/run_0331_*.root
- ./Data/root/run_0339_*.root
- ./Data/root/run_0341_*.root
- ./Data/root/run_0342_*.root
- ./Data/root/run_0346_*.root
- ./Data/root/run_0347_*.root
- ./Data/root/run_0348_*.root
+ /data/Transfert/e748/root/run_0315_*.root
+ /data/Transfert/e748/root/run_0316_*.root
+ /data/Transfert/e748/root/run_0317_*.root
+ /data/Transfert/e748/root/run_0318_*.root
+ /data/Transfert/e748/root/run_0320_*.root
+ /data/Transfert/e748/root/run_0321_*.root
+ /data/Transfert/e748/root/run_0323_*.root
+ /data/Transfert/e748/root/run_0325_*.root
+ /data/Transfert/e748/root/run_0326_*.root
+ /data/Transfert/e748/root/run_0327_*.root
+ /data/Transfert/e748/root/run_0328_*.root
+ /data/Transfert/e748/root/run_0329_*.root
+ /data/Transfert/e748/root/run_0330_*.root
+ /data/Transfert/e748/root/run_0331_*.root
+ /data/Transfert/e748/root/run_0339_*.root
+ /data/Transfert/e748/root/run_0341_*.root
+ /data/Transfert/e748/root/run_0342_*.root
+ /data/Transfert/e748/root/run_0346_*.root
+ /data/Transfert/e748/root/run_0347_*.root
+ /data/Transfert/e748/root/run_0348_*.root
diff --git a/Projects/e748/Target.cxx b/Projects/e748/Target.cxx
index 7f528ed2c..fe30793cb 100644
--- a/Projects/e748/Target.cxx
+++ b/Projects/e748/Target.cxx
@@ -1,7 +1,7 @@
 void Target(){
   
   // Load the Main Tree
-  TFile* file = new TFile("./Data/Analysis/e748_Mask.root");
+  TFile* file = new TFile("../../Outputs/Analysis/e748_Mask.root");
   TTree* tree = (TTree*) file->FindObjectAny("PhysicsTree");
 
 
diff --git a/Projects/e748/e748.detector b/Projects/e748/e748.detector
index 6f28e0636..5ecaffe09 100755
--- a/Projects/e748/e748.detector
+++ b/Projects/e748/e748.detector
@@ -95,7 +95,7 @@ M2Telescope
  X1_Y128= 114.6 -1.8  -144.5
  SI= 1     
  SILI= 0      
- CSI= 1    
+ CSI= 1     
  VIS= all     
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Projects/e748/energy_loss/Be12_iC4H10_0.008bar_273.15K.G4table b/Projects/e748/energy_loss/Be12_iC4H10_0.008bar_273.15K.G4table
index f525633b8..8b646d293 100644
--- a/Projects/e748/energy_loss/Be12_iC4H10_0.008bar_273.15K.G4table
+++ b/Projects/e748/energy_loss/Be12_iC4H10_0.008bar_273.15K.G4table
@@ -1,462 +1,463 @@
 Table from Geant4 generate using NPSimulation 	Particle: Be12	Material: NPS_iC4H10_0.008bar_273.15K
 0	0
-0.001	2.54448e-06
-0.002	2.59185e-06
-0.003	2.58332e-06
-0.005	2.54053e-06
-0.007	2.50628e-06
-0.009	2.49157e-06
-0.013	2.4831e-06
-0.021	2.53861e-06
-0.029	2.63523e-06
-0.037	2.73903e-06
-0.045	2.85502e-06
-0.053	2.96708e-06
-0.061	3.07564e-06
-0.069	3.19281e-06
-0.077	3.30801e-06
-0.085	3.41672e-06
-0.093	3.52011e-06
-0.101	3.619e-06
-0.109	3.71401e-06
-0.117	3.80902e-06
-0.125	3.90486e-06
-0.133	4.00238e-06
-0.141	4.09967e-06
-0.149	4.19445e-06
-0.157	4.2885e-06
-0.165	4.38086e-06
-0.173	4.47178e-06
-0.181	4.56207e-06
-0.189	4.65045e-06
-0.197	4.73819e-06
-0.205	4.82417e-06
-0.213	4.90848e-06
-0.221	4.99236e-06
-0.229	5.07501e-06
-0.237	5.15689e-06
-0.245	5.23736e-06
-0.253	5.3165e-06
-0.261	5.395e-06
-0.269	5.47257e-06
-0.277	5.54895e-06
-0.285	5.62419e-06
-0.293	5.69832e-06
-0.301	5.77139e-06
-0.309	5.84408e-06
-0.317	5.91588e-06
-0.325	5.98671e-06
-0.333	6.05662e-06
-0.341	6.12566e-06
-0.349	6.19451e-06
-0.357	6.26254e-06
-0.365	6.32978e-06
-0.373	6.39626e-06
-0.381	6.46211e-06
-0.389	6.52753e-06
-0.397	6.59225e-06
-0.413	6.71964e-06
-0.429	6.84455e-06
-0.445	6.96774e-06
-0.461	7.08847e-06
-0.477	7.2068e-06
-0.493	7.3228e-06
-0.509	7.43658e-06
-0.525	7.54822e-06
-0.541	7.65785e-06
-0.557	7.7655e-06
-0.573	7.87151e-06
-0.589	7.97607e-06
-0.605	8.0788e-06
-0.621	8.17975e-06
-0.637	8.27896e-06
-0.653	8.37707e-06
-0.669	8.4736e-06
-0.685	8.56852e-06
-0.701	8.66185e-06
-0.717	8.75363e-06
-0.733	8.84389e-06
-0.749	8.93266e-06
-0.765	9.0202e-06
-0.797	9.19128e-06
-0.829	9.35681e-06
-0.861	9.51715e-06
-0.893	9.67278e-06
-0.925	9.82334e-06
-0.957	9.96894e-06
-0.989	1.01097e-05
-1.021	1.02459e-05
-1.053	1.03775e-05
-1.085	1.05046e-05
-1.117	1.06274e-05
-1.149	1.07463e-05
-1.181	1.08612e-05
-1.213	1.09721e-05
-1.245	1.10791e-05
-1.309	1.12821e-05
-1.373	1.1471e-05
-1.437	1.16462e-05
-1.501	1.18083e-05
-1.565	1.19583e-05
-1.629	1.20966e-05
-1.693	1.22237e-05
-1.757	1.23407e-05
-1.885	1.25454e-05
-2.013	1.27151e-05
-2.141	1.28534e-05
-2.269	1.29643e-05
-2.525	1.31163e-05
-2.781	1.31932e-05
-3.293	1.31832e-05
-4.317	1.27882e-05
-5.341	1.22176e-05
-6.365	1.16099e-05
-7.389	1.10269e-05
-8.413	1.04851e-05
-9.437	9.98176e-06
-10.461	9.5161e-06
-11.485	9.08847e-06
-12.509	8.6969e-06
-13.533	8.33761e-06
-14.557	8.00575e-06
-15.581	7.69912e-06
-16.605	7.41383e-06
-17.629	7.14532e-06
-18.653	6.89286e-06
-19.677	6.65593e-06
-20.701	6.43361e-06
-21.725	6.225e-06
-22.749	6.02917e-06
-23.773	5.84519e-06
-24.797	5.67214e-06
-25.821	5.50921e-06
-26.845	5.35565e-06
-27.869	5.21074e-06
-28.893	5.07377e-06
-29.917	4.94422e-06
-30.941	4.82165e-06
-31.965	4.70561e-06
-32.989	4.59547e-06
-34.013	4.49065e-06
-35.037	4.39057e-06
-36.061	4.29473e-06
-37.085	4.20405e-06
-38.109	4.11769e-06
-39.133	4.03521e-06
-40.157	3.95618e-06
-41.181	3.88048e-06
-42.205	3.80789e-06
-43.229	3.73822e-06
-44.253	3.67129e-06
-45.277	3.60693e-06
-46.301	3.54499e-06
-47.325	3.48533e-06
-48.349	3.42784e-06
-49.373	3.37245e-06
-50.397	3.31902e-06
-51.421	3.2674e-06
-52.445	3.21751e-06
-53.469	3.16924e-06
-54.493	3.12255e-06
-55.517	3.07734e-06
-56.541	3.03353e-06
-57.565	2.99107e-06
-58.589	2.9499e-06
-59.613	2.90995e-06
-60.637	2.87117e-06
-61.661	2.8335e-06
-62.685	2.79689e-06
-63.709	2.76131e-06
-64.733	2.72671e-06
-65.757	2.69307e-06
-66.781	2.66034e-06
-67.805	2.62847e-06
-68.829	2.59742e-06
-69.853	2.56716e-06
-70.877	2.53767e-06
-71.901	2.5089e-06
-72.925	2.48085e-06
-73.949	2.45347e-06
-74.973	2.42674e-06
-75.997	2.40065e-06
-77.021	2.37516e-06
-78.045	2.35027e-06
-79.069	2.32593e-06
-80.093	2.30215e-06
-81.117	2.27888e-06
-82.141	2.25613e-06
-84.189	2.21209e-06
-86.237	2.16989e-06
-88.285	2.12943e-06
-90.333	2.09058e-06
-92.381	2.05326e-06
-94.429	2.01735e-06
-96.477	1.9828e-06
-98.525	1.94967e-06
-100.573	1.91773e-06
-102.621	1.88678e-06
-104.669	1.8569e-06
-106.717	1.82806e-06
-108.765	1.80018e-06
-110.813	1.77321e-06
-112.861	1.74712e-06
-114.909	1.72186e-06
-116.957	1.6974e-06
-119.005	1.67368e-06
-121.053	1.65068e-06
-123.101	1.62836e-06
-125.149	1.6067e-06
-127.197	1.58566e-06
-129.245	1.56521e-06
-131.293	1.54534e-06
-133.341	1.52602e-06
-135.389	1.50722e-06
-137.437	1.48892e-06
-139.485	1.47111e-06
-141.533	1.45375e-06
-143.581	1.43685e-06
-145.629	1.42036e-06
-147.677	1.40429e-06
-149.725	1.38861e-06
-151.773	1.37332e-06
-153.821	1.35839e-06
-155.869	1.34381e-06
-157.917	1.32958e-06
-159.965	1.31567e-06
-162.013	1.30208e-06
-164.061	1.28879e-06
-166.109	1.2758e-06
-168.157	1.2631e-06
-172.253	1.23851e-06
-176.349	1.21495e-06
-180.445	1.19236e-06
-184.541	1.17068e-06
-188.637	1.14985e-06
-192.733	1.12918e-06
-196.829	1.10992e-06
-200.925	1.09137e-06
-205.021	1.07349e-06
-209.117	1.05625e-06
-213.213	1.03961e-06
-217.309	1.02355e-06
-221.405	1.00802e-06
-225.501	9.93005e-07
-229.597	9.78478e-07
-233.693	9.64414e-07
-237.789	9.50793e-07
-241.885	9.37592e-07
-245.981	9.24791e-07
-250.077	9.12372e-07
-254.173	9.00317e-07
-258.269	8.88611e-07
-262.365	8.7724e-07
-266.461	8.66189e-07
-270.557	8.55443e-07
-274.653	8.44989e-07
-278.749	8.34816e-07
-282.845	8.24913e-07
-286.941	8.15269e-07
-291.037	8.05872e-07
-295.133	7.96714e-07
-299.229	7.87786e-07
-303.325	7.79079e-07
-307.421	7.70585e-07
-311.517	7.62295e-07
-315.613	7.54202e-07
-319.709	7.46299e-07
-323.805	7.3858e-07
-327.901	7.31038e-07
-331.997	7.23667e-07
-336.093	7.1646e-07
-344.285	7.02519e-07
-352.477	6.89174e-07
-360.669	6.76387e-07
-368.861	6.64124e-07
-377.053	6.5235e-07
-385.245	6.41038e-07
-393.437	6.30159e-07
-401.629	6.1969e-07
-409.821	6.09607e-07
-418.013	5.99889e-07
-426.205	5.90516e-07
-434.397	5.81468e-07
-442.589	5.72729e-07
-450.781	5.64285e-07
-458.973	5.5612e-07
-467.165	5.4822e-07
-475.357	5.40571e-07
-483.549	5.33163e-07
-491.741	5.25983e-07
-499.933	5.1902e-07
-508.125	5.12264e-07
-516.317	5.05708e-07
-524.509	4.99342e-07
-532.701	4.93158e-07
-540.893	4.87148e-07
-549.085	4.81303e-07
-557.277	4.75617e-07
-565.469	4.70085e-07
-573.661	4.647e-07
-581.853	4.59456e-07
-590.045	4.54347e-07
-598.237	4.49368e-07
-606.429	4.44514e-07
-614.621	4.39781e-07
-622.813	4.35163e-07
-631.005	4.30657e-07
-639.197	4.26258e-07
-647.389	4.21962e-07
-655.581	4.17767e-07
-671.965	4.09662e-07
-688.349	4.01917e-07
-704.733	3.94508e-07
-721.117	3.87414e-07
-737.501	3.80615e-07
-753.885	3.74091e-07
-770.269	3.67827e-07
-786.653	3.61807e-07
-803.037	3.56016e-07
-819.421	3.50442e-07
-835.805	3.45073e-07
-852.189	3.39898e-07
-868.573	3.34905e-07
-884.957	3.30086e-07
-901.341	3.25431e-07
-917.725	3.20932e-07
-934.109	3.16581e-07
-950.493	3.12371e-07
-966.877	3.08294e-07
-983.261	3.04345e-07
-999.645	3.00519e-07
-1016.03	2.96809e-07
-1032.41	2.9321e-07
-1048.8	2.89716e-07
-1065.18	2.86323e-07
-1081.57	2.83027e-07
-1097.95	2.79825e-07
-1114.33	2.7671e-07
-1130.72	2.73681e-07
-1147.1	2.70732e-07
-1163.49	2.67862e-07
-1179.87	2.65068e-07
-1196.25	2.62347e-07
-1212.64	2.59696e-07
-1229.02	2.57111e-07
-1261.79	2.5213e-07
-1294.56	2.47388e-07
-1327.33	2.42869e-07
-1360.09	2.38555e-07
-1392.86	2.34434e-07
-1425.63	2.30493e-07
-1458.4	2.26721e-07
-1491.17	2.23105e-07
-1523.93	2.19638e-07
-1556.7	2.16311e-07
-1589.47	2.13114e-07
-1622.24	2.10039e-07
-1655.01	2.0708e-07
-1687.77	2.04231e-07
-1720.54	2.01487e-07
-1753.31	1.98841e-07
-1786.08	1.96287e-07
-1818.85	1.9382e-07
-1851.61	1.91437e-07
-1884.38	1.89134e-07
-1917.15	1.86907e-07
-1949.92	1.84752e-07
-1982.69	1.82665e-07
-2015.45	1.80642e-07
-2048.22	1.78682e-07
-2080.99	1.76782e-07
-2113.76	1.74939e-07
-2146.53	1.7315e-07
-2179.29	1.71412e-07
-2212.06	1.69723e-07
-2277.6	1.66489e-07
-2343.13	1.63428e-07
-2408.67	1.60529e-07
-2474.21	1.57779e-07
-2539.74	1.55167e-07
-2605.28	1.52683e-07
-2670.81	1.50317e-07
-2736.35	1.48061e-07
-2801.89	1.4591e-07
-2867.42	1.43854e-07
-2932.96	1.41887e-07
-2998.49	1.40005e-07
-3064.03	1.38202e-07
-3129.57	1.36473e-07
-3195.1	1.34814e-07
-3260.64	1.33221e-07
-3326.17	1.3169e-07
-3391.71	1.30218e-07
-3457.25	1.288e-07
-3522.78	1.27436e-07
-3588.32	1.2612e-07
-3653.85	1.24851e-07
-3719.39	1.23627e-07
-3850.46	1.21303e-07
-3981.53	1.19132e-07
-4112.61	1.17099e-07
-4243.68	1.15193e-07
-4374.75	1.13403e-07
-4505.82	1.11718e-07
-4636.89	1.10129e-07
-4767.97	1.08629e-07
-4899.04	1.0721e-07
-5030.11	1.05868e-07
-5161.18	1.04596e-07
-5292.25	1.03388e-07
-5423.33	1.02241e-07
-5554.4	1.0115e-07
-5685.47	1.00111e-07
-5816.54	9.91207e-08
-6078.69	9.72746e-08
-6340.83	9.55898e-08
-6602.97	9.40451e-08
-6865.12	9.26279e-08
-7127.26	9.13215e-08
-7389.41	9.01164e-08
-7651.55	8.89994e-08
-7913.69	8.79637e-08
-8175.84	8.70019e-08
-8437.98	8.61063e-08
-8700.13	8.52699e-08
-9224.41	8.37608e-08
-9748.7	8.24357e-08
-10273	8.12676e-08
-10797.3	8.02332e-08
-11321.6	7.93122e-08
-11845.9	7.84907e-08
-12370.1	7.78209e-08
-13418.7	7.6739e-08
-14467.3	7.58731e-08
-15515.9	7.51777e-08
-17613	7.4169e-08
-19710.2	7.35243e-08
-23904.5	7.29067e-08
-32293.1	7.2982e-08
-49070.3	7.46854e-08
-65847.5	7.66749e-08
-82624.7	7.85253e-08
-99401.9	8.01854e-08
-116179	8.16703e-08
-132956	8.30054e-08
-149734	8.42141e-08
-166511	8.53164e-08
-183288	8.63282e-08
-200065	8.72625e-08
-216842	8.81298e-08
-250397	8.96964e-08
-283951	9.10808e-08
-317506	9.23202e-08
-351060	9.34414e-08
-384615	9.44648e-08
-418169	9.54057e-08
-485278	9.70863e-08
-552387	9.85538e-08
-619496	9.98557e-08
-686605	1.01025e-07
-753713	1.02086e-07
-820822	1.03057e-07
-955040	1.04782e-07
+0.001	2.50969e-06
+0.002	2.54265e-06
+0.003	2.52307e-06
+0.005	2.4777e-06
+0.007	2.44108e-06
+0.009	2.42646e-06
+0.013	2.42001e-06
+0.021	2.48293e-06
+0.029	2.58914e-06
+0.037	2.70364e-06
+0.045	2.83084e-06
+0.053	2.95419e-06
+0.061	3.0737e-06
+0.069	3.2011e-06
+0.077	3.32551e-06
+0.085	3.44225e-06
+0.093	3.55236e-06
+0.101	3.65669e-06
+0.109	3.75591e-06
+0.117	3.85399e-06
+0.125	3.95193e-06
+0.133	4.05071e-06
+0.141	4.14855e-06
+0.149	4.2433e-06
+0.157	4.33684e-06
+0.165	4.42831e-06
+0.173	4.51802e-06
+0.181	4.60687e-06
+0.189	4.69361e-06
+0.197	4.77957e-06
+0.205	4.86365e-06
+0.213	4.94597e-06
+0.221	5.02779e-06
+0.229	5.10834e-06
+0.237	5.1881e-06
+0.245	5.26643e-06
+0.253	5.34342e-06
+0.261	5.41977e-06
+0.269	5.4952e-06
+0.277	5.56945e-06
+0.285	5.64258e-06
+0.293	5.71463e-06
+0.301	5.78496e-06
+0.309	5.85407e-06
+0.317	5.92328e-06
+0.325	5.99249e-06
+0.333	6.0617e-06
+0.341	6.13093e-06
+0.349	6.20084e-06
+0.357	6.27074e-06
+0.365	6.34065e-06
+0.373	6.41055e-06
+0.381	6.47506e-06
+0.389	6.53698e-06
+0.405	6.66083e-06
+0.421	6.78468e-06
+0.437	6.90927e-06
+0.453	7.0342e-06
+0.469	7.15912e-06
+0.485	7.27327e-06
+0.501	7.38381e-06
+0.517	7.49436e-06
+0.533	7.6049e-06
+0.549	7.71545e-06
+0.565	7.82599e-06
+0.581	7.93718e-06
+0.597	8.04688e-06
+0.613	8.14182e-06
+0.629	8.23677e-06
+0.645	8.33197e-06
+0.661	8.42758e-06
+0.677	8.52319e-06
+0.693	8.6188e-06
+0.709	8.71442e-06
+0.725	8.81003e-06
+0.741	8.90564e-06
+0.757	8.9936e-06
+0.789	9.15202e-06
+0.821	9.31044e-06
+0.853	9.46888e-06
+0.885	9.62805e-06
+0.917	9.78722e-06
+0.949	9.94146e-06
+0.981	1.00705e-05
+1.013	1.01995e-05
+1.045	1.03286e-05
+1.077	1.04576e-05
+1.109	1.05866e-05
+1.141	1.07158e-05
+1.173	1.08452e-05
+1.205	1.09561e-05
+1.237	1.10502e-05
+1.301	1.12387e-05
+1.365	1.14277e-05
+1.429	1.16168e-05
+1.493	1.18058e-05
+1.557	1.19303e-05
+1.621	1.2052e-05
+1.685	1.21737e-05
+1.749	1.22956e-05
+1.813	1.24176e-05
+1.941	1.26093e-05
+2.069	1.27377e-05
+2.197	1.28663e-05
+2.325	1.29952e-05
+2.453	1.30641e-05
+2.709	1.31356e-05
+3.221	1.31575e-05
+4.245	1.27905e-05
+5.269	1.22353e-05
+6.293	1.16401e-05
+7.317	1.10508e-05
+8.341	1.05208e-05
+9.365	1.00038e-05
+10.389	9.55572e-06
+11.413	9.1129e-06
+12.437	8.72064e-06
+13.461	8.37098e-06
+14.485	8.02138e-06
+15.509	7.71356e-06
+16.533	7.4416e-06
+17.557	7.16967e-06
+18.581	6.89778e-06
+19.605	6.67345e-06
+20.629	6.46447e-06
+21.653	6.25549e-06
+22.677	6.04655e-06
+23.701	5.83764e-06
+24.725	5.60152e-06
+25.749	5.45559e-06
+26.773	5.31702e-06
+27.797	5.1853e-06
+28.821	5.05996e-06
+29.845	4.9403e-06
+30.869	4.82608e-06
+31.893	4.71709e-06
+32.917	4.61299e-06
+33.941	4.51348e-06
+34.965	4.41827e-06
+35.989	4.32711e-06
+37.013	4.23965e-06
+38.037	4.15572e-06
+39.061	4.07518e-06
+40.085	3.99784e-06
+41.109	3.9235e-06
+42.133	3.852e-06
+43.157	3.78318e-06
+44.181	3.71692e-06
+45.205	3.65305e-06
+46.229	3.59147e-06
+47.253	3.53204e-06
+48.277	3.47465e-06
+49.301	3.41912e-06
+50.325	3.36536e-06
+51.349	3.31336e-06
+52.373	3.26305e-06
+53.397	3.21434e-06
+54.421	3.16715e-06
+55.445	3.12142e-06
+56.469	3.07709e-06
+57.493	3.03408e-06
+58.517	2.99236e-06
+59.541	2.95184e-06
+60.565	2.91249e-06
+61.589	2.87425e-06
+62.613	2.83707e-06
+63.637	2.80092e-06
+64.661	2.76576e-06
+65.685	2.73157e-06
+66.709	2.69829e-06
+67.733	2.66587e-06
+68.757	2.63427e-06
+69.781	2.60342e-06
+70.805	2.57334e-06
+71.829	2.544e-06
+72.853	2.51538e-06
+73.877	2.48745e-06
+74.901	2.46018e-06
+75.925	2.43356e-06
+76.949	2.40755e-06
+77.973	2.38215e-06
+78.997	2.35731e-06
+80.021	2.33304e-06
+81.045	2.3093e-06
+82.069	2.28609e-06
+83.093	2.26337e-06
+85.141	2.21938e-06
+87.189	2.17723e-06
+89.237	2.13679e-06
+91.285	2.09795e-06
+93.333	2.06063e-06
+95.381	2.02472e-06
+97.429	1.99016e-06
+99.477	1.95685e-06
+101.525	1.92473e-06
+103.573	1.89373e-06
+105.621	1.8638e-06
+107.669	1.83489e-06
+109.717	1.80694e-06
+111.765	1.77991e-06
+113.813	1.75375e-06
+115.861	1.72842e-06
+117.909	1.70388e-06
+119.957	1.68009e-06
+122.005	1.65701e-06
+124.053	1.63462e-06
+126.101	1.61287e-06
+128.149	1.59176e-06
+130.197	1.57124e-06
+132.245	1.5513e-06
+134.293	1.53191e-06
+136.341	1.51304e-06
+138.389	1.49467e-06
+140.437	1.47679e-06
+142.485	1.45937e-06
+144.533	1.44239e-06
+146.581	1.42584e-06
+148.629	1.40971e-06
+150.677	1.39397e-06
+152.725	1.37862e-06
+154.773	1.36363e-06
+156.821	1.349e-06
+158.869	1.33471e-06
+160.917	1.32074e-06
+162.965	1.3071e-06
+165.013	1.29376e-06
+167.061	1.28072e-06
+169.109	1.26797e-06
+173.205	1.24328e-06
+177.301	1.21963e-06
+181.397	1.19695e-06
+185.493	1.17518e-06
+189.589	1.15426e-06
+193.685	1.13351e-06
+197.781	1.11417e-06
+201.877	1.09555e-06
+205.973	1.07761e-06
+210.069	1.0603e-06
+214.165	1.0436e-06
+218.261	1.02747e-06
+222.357	1.01188e-06
+226.453	9.96807e-07
+230.549	9.82224e-07
+234.645	9.68106e-07
+238.741	9.54432e-07
+242.837	9.41179e-07
+246.933	9.28328e-07
+251.029	9.15861e-07
+255.125	9.03761e-07
+259.221	8.92011e-07
+263.317	8.80596e-07
+267.413	8.69502e-07
+271.509	8.58714e-07
+275.605	8.4822e-07
+279.701	8.38009e-07
+283.797	8.28067e-07
+287.893	8.18382e-07
+291.989	8.08945e-07
+296.085	7.99747e-07
+300.181	7.9078e-07
+304.277	7.82035e-07
+308.373	7.73504e-07
+312.469	7.65179e-07
+316.565	7.57051e-07
+320.661	7.49115e-07
+324.757	7.41363e-07
+328.853	7.3379e-07
+332.949	7.26387e-07
+337.045	7.19151e-07
+345.237	7.05153e-07
+353.429	6.91754e-07
+361.621	6.78915e-07
+369.813	6.66601e-07
+378.005	6.5478e-07
+386.197	6.43423e-07
+394.389	6.32501e-07
+402.581	6.21991e-07
+410.773	6.11868e-07
+418.965	6.02112e-07
+427.157	5.92702e-07
+435.349	5.8362e-07
+443.541	5.74848e-07
+451.733	5.66371e-07
+459.925	5.58173e-07
+468.117	5.50241e-07
+476.309	5.42562e-07
+484.501	5.35124e-07
+492.693	5.27915e-07
+500.885	5.20924e-07
+509.077	5.14143e-07
+517.269	5.0756e-07
+525.461	5.01169e-07
+533.653	4.94959e-07
+541.845	4.88925e-07
+550.037	4.83057e-07
+558.229	4.77349e-07
+566.421	4.71795e-07
+574.613	4.66388e-07
+582.805	4.61123e-07
+590.997	4.55994e-07
+599.189	4.50995e-07
+607.381	4.46122e-07
+615.573	4.4137e-07
+623.765	4.36734e-07
+631.957	4.32211e-07
+640.149	4.27795e-07
+648.341	4.23484e-07
+656.533	4.19273e-07
+672.917	4.11138e-07
+689.301	4.03365e-07
+705.685	3.95929e-07
+722.069	3.88809e-07
+738.453	3.81984e-07
+754.837	3.75438e-07
+771.221	3.69151e-07
+787.605	3.6311e-07
+803.989	3.573e-07
+820.373	3.51708e-07
+836.757	3.46321e-07
+853.141	3.41128e-07
+869.525	3.36119e-07
+885.909	3.31285e-07
+902.293	3.26615e-07
+918.677	3.22103e-07
+935.061	3.17739e-07
+951.445	3.13516e-07
+967.829	3.09429e-07
+984.213	3.05469e-07
+1000.6	3.01632e-07
+1016.98	2.97911e-07
+1033.37	2.94301e-07
+1049.75	2.90798e-07
+1066.13	2.87395e-07
+1082.52	2.8409e-07
+1098.9	2.80878e-07
+1115.29	2.77755e-07
+1131.67	2.74717e-07
+1148.05	2.71761e-07
+1164.44	2.68883e-07
+1180.82	2.6608e-07
+1197.21	2.6335e-07
+1213.59	2.60689e-07
+1229.97	2.58095e-07
+1262.74	2.53098e-07
+1295.51	2.48339e-07
+1328.28	2.43803e-07
+1361.05	2.39474e-07
+1393.81	2.35338e-07
+1426.58	2.31383e-07
+1459.35	2.27597e-07
+1492.12	2.23969e-07
+1524.89	2.2049e-07
+1557.65	2.17151e-07
+1590.42	2.13944e-07
+1623.19	2.1086e-07
+1655.96	2.07893e-07
+1688.73	2.05036e-07
+1721.49	2.02283e-07
+1754.26	1.99629e-07
+1787.03	1.97067e-07
+1819.8	1.94594e-07
+1852.57	1.92205e-07
+1885.33	1.89895e-07
+1918.1	1.87661e-07
+1950.87	1.85499e-07
+1983.64	1.83405e-07
+2016.41	1.81376e-07
+2049.17	1.7941e-07
+2081.94	1.77503e-07
+2114.71	1.75653e-07
+2147.48	1.73857e-07
+2180.25	1.72113e-07
+2213.01	1.7042e-07
+2278.55	1.67173e-07
+2344.09	1.64102e-07
+2409.62	1.61193e-07
+2475.16	1.58434e-07
+2540.69	1.55813e-07
+2606.23	1.5332e-07
+2671.77	1.50947e-07
+2737.3	1.48685e-07
+2802.84	1.46527e-07
+2868.37	1.44465e-07
+2933.91	1.42494e-07
+2999.45	1.40608e-07
+3064.98	1.38801e-07
+3130.52	1.37068e-07
+3196.05	1.35406e-07
+3261.59	1.3381e-07
+3327.13	1.32277e-07
+3392.66	1.30802e-07
+3458.2	1.29383e-07
+3523.73	1.28016e-07
+3589.27	1.267e-07
+3654.81	1.2543e-07
+3720.34	1.24205e-07
+3851.41	1.21881e-07
+3982.49	1.19711e-07
+4113.56	1.17681e-07
+4244.63	1.15778e-07
+4375.7	1.1399e-07
+4506.77	1.12308e-07
+4637.85	1.10724e-07
+4768.92	1.09228e-07
+4899.99	1.07815e-07
+5031.06	1.06478e-07
+5162.13	1.05211e-07
+5293.21	1.04008e-07
+5424.28	1.02867e-07
+5555.35	1.01781e-07
+5686.42	1.00748e-07
+5817.49	9.97645e-08
+6079.64	9.79311e-08
+6341.78	9.6259e-08
+6603.93	9.47292e-08
+6866.07	9.33256e-08
+7128.21	9.20345e-08
+7390.36	9.08439e-08
+7652.5	8.97435e-08
+7914.65	8.87244e-08
+8176.79	8.77787e-08
+8438.93	8.68996e-08
+8701.08	8.60811e-08
+9225.37	8.46048e-08
+9749.65	8.33141e-08
+10273.9	8.21802e-08
+10798.2	8.11798e-08
+11322.5	8.02941e-08
+11846.8	7.95075e-08
+12895.4	7.81815e-08
+13944	7.71209e-08
+14992.5	7.62674e-08
+16041.1	7.55779e-08
+18138.3	7.45687e-08
+20235.4	7.39139e-08
+24429.7	7.32649e-08
+32818.3	7.32724e-08
+49595.5	7.48734e-08
+66372.8	7.67978e-08
+83150	7.86024e-08
+99927.2	8.02273e-08
+116704	8.16853e-08
+133482	8.30003e-08
+150259	8.41936e-08
+167036	8.5283e-08
+183813	8.62838e-08
+200590	8.72086e-08
+217368	8.80675e-08
+250922	8.96203e-08
+284477	9.09938e-08
+318031	9.22231e-08
+351585	9.33346e-08
+385140	9.43482e-08
+418694	9.52794e-08
+485803	9.69414e-08
+552912	9.83922e-08
+620021	9.96789e-08
+687130	1.00834e-07
+754239	1.0188e-07
+821347	1.02836e-07
+955565	1.04528e-07
diff --git a/thisNPTool.sh b/thisNPTool.sh
deleted file mode 100644
index d05c76544..000000000
--- a/thisNPTool.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# Self locate script when sourced
-SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
-
-# And now export
-export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:"${SCRIPT_DIR}/NPLib/lib"
-export ROOT_INCLUDE_PATH=${ROOT_INCLUDE_PATH}:"${SCRIPT_DIR}/NPLib/include"
-- 
GitLab