From e4da0ec9cf5b49288f4853e0f11798dd113874cd Mon Sep 17 00:00:00 2001
From: Hugo Jacob <hugojacob57@gmail.com>
Date: Mon, 29 Jan 2024 00:36:51 +0100
Subject: [PATCH] Modifying CATS Pos Calibration

---
 NPLib/Detectors/CATS/TCATSPhysics.cxx         |   8 +-
 Projects/E805/Analysis.cxx                    |   8 +-
 Projects/E805/Calibration1.txt                |   8 +-
 Projects/E805/CalibrationAphaTest.txt         |  36 --
 .../MUST2_E805_b4_r0365.detector              |  82 +++
 Projects/E805/Geometry_Clover_Exogam.h        | 570 ------------------
 .../CATS/CATS1X/CATSLin1X_r0164.txt           |  56 +-
 .../CATS/CATS1Y/CATSLin1Y_r0164.txt           |  56 +-
 .../CATS/CATS2X/CATSLin2X_r0166.txt           |  56 +-
 .../CATS/CATS2Y/CATSLin2Y_r0166.txt           |  56 +-
 .../calibration/Energy/EnergyCalibrator.C     |   2 +-
 11 files changed, 209 insertions(+), 729 deletions(-)
 delete mode 100644 Projects/E805/CalibrationAphaTest.txt
 create mode 100644 Projects/E805/DetectorConfiguration/MUST2_E805_b4_r0365.detector
 delete mode 100644 Projects/E805/Geometry_Clover_Exogam.h

diff --git a/NPLib/Detectors/CATS/TCATSPhysics.cxx b/NPLib/Detectors/CATS/TCATSPhysics.cxx
index 315930694..bc38ada4b 100644
--- a/NPLib/Detectors/CATS/TCATSPhysics.cxx
+++ b/NPLib/Detectors/CATS/TCATSPhysics.cxx
@@ -80,7 +80,9 @@ void TCATSPhysics::PreTreat(){
         else {
           stripX =  m_EventData->GetCATSStripX(i);
         }
-        m_PreTreatedData->SetStripX( m_EventData->GetCATSDetX(i) , stripX, QX);
+        if(QX < 0)
+          QX = 0;
+        m_PreTreatedData->SetStripX( m_EventData->GetCATSDetX(i) , stripX, (unsigned int)QX);
       }
     }
   }
@@ -100,7 +102,9 @@ void TCATSPhysics::PreTreat(){
         else {
           stripY = m_EventData->GetCATSStripY(i) ;
         }
-        m_PreTreatedData->SetStripY( m_EventData->GetCATSDetY(i), stripY, QY );
+        if(QY < 0)
+          QY = 0;
+        m_PreTreatedData->SetStripY( m_EventData->GetCATSDetY(i), stripY, (unsigned int)QY );
       }
     }
   }
diff --git a/Projects/E805/Analysis.cxx b/Projects/E805/Analysis.cxx
index 1b78a8d81..8b5514bf4 100755
--- a/Projects/E805/Analysis.cxx
+++ b/Projects/E805/Analysis.cxx
@@ -166,8 +166,8 @@ void Analysis::TreatMUST2(){
     ThetaM2Surface = 0;
     ThetaNormalTarget = 0;
       
-    BeamImpact = TVector3(0,0,0);
-    BeamDirection = TVector3(0,0,1);
+    //BeamImpact = TVector3(0,0,0);
+    //BeamDirection = TVector3(0,0,1);
     TVector3 HitDirection = M2 -> GetPositionOfInteraction(countMust2) - BeamImpact;
     M2_ThetaLab.push_back(HitDirection.Angle( BeamDirection ));
     //std::cout << BeamImpact.X() << " " << BeamImpact.Y() << " "  << BeamImpact.Z() << std::endl;
@@ -218,8 +218,8 @@ void Analysis::TreatMUST2(){
     M2_Ex_a.push_back(Reaction_p3He->ReconstructRelativistic( Energy["alpha"] , M2_ThetaLab[countMust2] ));
     
     TLorentzVector PHeavy_pd = Reaction_pd->LorentzAfterReaction(Energy["deuteron"] , M2_ThetaLab[countMust2]);
-    TLorentzVector PHeavy_pt = Reaction_pd->LorentzAfterReaction(Energy["triton"] , M2_ThetaLab[countMust2]);
-    TLorentzVector PHeavy_p3He = Reaction_pd->LorentzAfterReaction(Energy["alpha"] , M2_ThetaLab[countMust2]);
+    TLorentzVector PHeavy_pt = Reaction_pt->LorentzAfterReaction(Energy["triton"] , M2_ThetaLab[countMust2]);
+    TLorentzVector PHeavy_p3He = Reaction_p3He->LorentzAfterReaction(Energy["alpha"] , M2_ThetaLab[countMust2]);
     Beta_pd.push_back(PHeavy_pd.Beta());
     Beta_pt.push_back(PHeavy_pt.Beta());
     Beta_p3He.push_back(PHeavy_p3He.Beta());
diff --git a/Projects/E805/Calibration1.txt b/Projects/E805/Calibration1.txt
index 9f2c6a870..aeca849a5 100644
--- a/Projects/E805/Calibration1.txt
+++ b/Projects/E805/Calibration1.txt
@@ -40,10 +40,10 @@ CalibrationFilePath
     ./data/NPRoot/Calibration/Run_CSICalib/CsI_MM3_alpha.txt
     ./data/NPRoot/Calibration/Run_CSICalib/CsI_MM4_alpha.txt
 
-    ./calibration/CATS/CATS1X/CATSLin1X_r0164.txt
-    ./calibration/CATS/CATS1Y/CATSLin1Y_r0164.txt
-    ./calibration/CATS/CATS2X/CATSLin2X_r0166.txt
-    ./calibration/CATS/CATS2Y/CATSLin2Y_r0166.txt
+    ./data/NPRoot/Calibration/CATS/CATSLin1X_r0164.txt
+    ./data/NPRoot/Calibration/CATS/CATSLin1Y_r0164.txt
+    ./data/NPRoot/Calibration/CATS/CATSLin2X_r0166.txt
+    ./data/NPRoot/Calibration/CATS/CATSLin2Y_r0166.txt
     
     ./data/NPRoot/Calibration/NPrun_392_152Eu/Exogam_E/Cal_Exogam_E.cal
     ./data/NPRoot/Calibration/NPrun_392_152Eu/Exogam_EHG/Cal_Exogam_EHG.cal
diff --git a/Projects/E805/CalibrationAphaTest.txt b/Projects/E805/CalibrationAphaTest.txt
deleted file mode 100644
index bd1bdebf7..000000000
--- a/Projects/E805/CalibrationAphaTest.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-CalibrationFilePath
-    ./data/NPRoot/Calibration/CalAlpha_r0388_06+/Cal_Str_X_E_MM1.cal
-    ./data/NPRoot/Calibration/CalAlpha_r0388_06+/Cal_Str_X_E_MM2.cal
-    ./data/NPRoot/Calibration/CalAlpha_r0388_06+/Cal_Str_X_E_MM3.cal
-    ./data/NPRoot/Calibration/CalAlpha_r0388_06+/Cal_Str_X_E_MM4.cal
-    
-    ./data/NPRoot/Calibration/CalAlpha_r0388_06+/Cal_Str_Y_E_MM1.cal
-    ./data/NPRoot/Calibration/CalAlpha_r0388_06+/Cal_Str_Y_E_MM2.cal
-    ./data/NPRoot/Calibration/CalAlpha_r0388_06+/Cal_Str_Y_E_MM3.cal
-    ./data/NPRoot/Calibration/CalAlpha_r0388_06+/Cal_Str_Y_E_MM4.cal
-    
-    ./data/NPRoot/Calibration/Time/Coeff/Cal_Str_X_T_MM1_r0183.cal    
-    ./data/NPRoot/Calibration/Time/Coeff/Cal_Str_Y_T_MM1_r0184.cal    
-    ./data/NPRoot/Calibration/Time/Coeff/Cal_Str_X_T_MM2_r0183.cal    
-    ./data/NPRoot/Calibration/Time/Coeff/Cal_Str_Y_T_MM2_r0184.cal    
-    ./data/NPRoot/Calibration/Time/Coeff/Cal_Str_X_T_MM3_r0189.cal    
-    ./data/NPRoot/Calibration/Time/Coeff/Cal_Str_Y_T_MM3_r0190.cal    
-    ./data/NPRoot/Calibration/Time/Coeff/Cal_Str_X_T_MM4_r0187.cal    
-    ./data/NPRoot/Calibration/Time/Coeff/Cal_Str_Y_T_MM4_r0188_manual.cal    
-    
-    ./data/NPRoot/Calibration/Run_CSICalib/CsI_MM1_proton.txt
-    ./data/NPRoot/Calibration/Run_CSICalib/CsI_MM2_proton.txt
-    ./data/NPRoot/Calibration/Run_CSICalib/CsI_MM3_proton.txt
-    ./data/NPRoot/Calibration/Run_CSICalib/CsI_MM4_proton.txt
-    ./data/NPRoot/Calibration/Run_CSICalib/CsI_MM1_deuteron.txt
-    ./data/NPRoot/Calibration/Run_CSICalib/CsI_MM2_deuteron.txt
-    ./data/NPRoot/Calibration/Run_CSICalib/CsI_MM3_deuteron.txt
-    ./data/NPRoot/Calibration/Run_CSICalib/CsI_MM4_deuteron.txt
-    ./data/NPRoot/Calibration/Run_CSICalib/CsI_MM1_triton.txt
-    ./data/NPRoot/Calibration/Run_CSICalib/CsI_MM2_triton.txt
-    ./data/NPRoot/Calibration/Run_CSICalib/CsI_MM3_triton.txt
-    ./data/NPRoot/Calibration/Run_CSICalib/CsI_MM4_triton.txt
-    ./data/NPRoot/Calibration/Run_CSICalib/CsI_MM1_alpha.txt
-    ./data/NPRoot/Calibration/Run_CSICalib/CsI_MM2_alpha.txt
-    ./data/NPRoot/Calibration/Run_CSICalib/CsI_MM3_alpha.txt
-    ./data/NPRoot/Calibration/Run_CSICalib/CsI_MM4_alpha.txt
diff --git a/Projects/E805/DetectorConfiguration/MUST2_E805_b4_r0365.detector b/Projects/E805/DetectorConfiguration/MUST2_E805_b4_r0365.detector
new file mode 100644
index 000000000..79acffedb
--- /dev/null
+++ b/Projects/E805/DetectorConfiguration/MUST2_E805_b4_r0365.detector
@@ -0,0 +1,82 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+Target
+ THICKNESS= 53.5 micrometer
+ ANGLE= 0 deg
+ RADIUS=  15 mm
+ MATERIAL= CH2
+ ANGLE= 0 deg
+ X= 0 mm
+ Y= 0 mm
+ Z= 0 mm
+%%%%%%% Telescope 1 %%%%%%% 		
+M2Telescope  		
+ X1_Y1= 	-13.57	-104.78	299.83 mm
+ X1_Y128= -25.1	    -12.62	328.63 mm
+ X128_Y1= -104.01	-104.85	263.88 mm
+ X128_Y128= -115.53	-12.71	292.67 mm
+ SI= 1		
+ SILI= 0		
+ CSI= 1		
+ VIS= all  
+%%%%%%% Telescope 2 %%%%%%% 		
+M2Telescope  		
+ X1_Y1= -114.9	9.68	291.84 mm
+ X1_Y128= -24.56	9.8	327.88 mm
+ X128_Y1= -103.58	101.8	262.73 mm
+ X128_Y128= 	-13.24	102.09	298.75 mm
+ SI= 1		
+ SILI= 0		
+ CSI= 1		
+ VIS= all  
+
+%%%%%%% Telescope 3 %%%%%%% 		
+M2Telescope  		
+ X1_Y1= 	11.84	101.72	299.05 mm
+ X1_Y128= 23.44	9.68	328.38 mm
+ X128_Y1= 102.16	101.57	263.01 mm
+ X128_Y128= 113.81	9.57	292.3 mm
+ SI= 1		
+ SILI= 0		
+ CSI= 1		
+ VIS= all  
+
+
+%%%%%%% Telescope 4 %%%%%%% 		
+M2Telescope  		
+ X1_Y1= 113.56	-13.18	292.11 mm
+ X1_Y128= 23.23	-13.37	328.15 mm
+ X128_Y1= 102.39	-105.49	263.59 mm
+ X128_Y128= 	12.04	-105.69	299.63 mm
+ SI= 1		
+ SILI= 0		
+ CSI= 1		
+ VIS= all  
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+CATSDetector
+ CATSNumber = 1
+ X1_Y1= 37.30  -43.75  -1587.1 mm
+ X28_Y1= -33.82  -43.75  -1587.1 mm
+ X1_Y28= 37.30  27.37  -1587.1 mm
+ X28_Y28= -33.82 27.37  -1587.1 mm
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+CATSDetector
+ CATSNumber = 2
+ X1_Y1= 32.07    -36.59   -1090.1 mm
+ X28_Y1= -38.05  -36.59   -1090.1 mm
+ X1_Y28= 33.07    34.53  -1090.1 mm 
+ X28_Y28= -38.05  34.53   -1090.1 mm
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+MASK
+ MaskNumber = 1
+ Z = -1732.1
+MASK
+ MaskNumber = 2
+ Z = -1235.1
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ZDD
+ R = 0
+ Theta = 0
+
+Exogam
+
+TAC
diff --git a/Projects/E805/Geometry_Clover_Exogam.h b/Projects/E805/Geometry_Clover_Exogam.h
deleted file mode 100644
index 689596df0..000000000
--- a/Projects/E805/Geometry_Clover_Exogam.h
+++ /dev/null
@@ -1,570 +0,0 @@
-/************************************************************************************************
-
-
-The first function return the structur "Clover_struc" for the flange number given in argument (from 1 to 16 in EXOGAM)
-
-	
-	
-@ The convention :										
-												
- theta = scattering angle by respect to the beam axis										
- phi = azimutal angle										
- phi convention : 0 degree for flange 12 (top-theta=90 deg) and we go in the clockwise looking in the beam direction				
- 
- BEWARE that the output phi is the angle of the PROJECTION on the (0,x,y) plan of 		
- the gamma vector !!!!!!!!!!!!!!! (see ROOT manual Chapter 18)										
- 
-@ Output are in rad
-												   											   *
-@ The distance between the clover and the target has to be defined by the user	(see #define)		
-												
-@ The routine works only with the ROOT Lib
-								
-@ To print the result : switch COMMENTFLAG to 1	
-
-
-************************************************************************************************
-
-The second function make the Doppler correction of an input energy according to the scattering
-(see function at the end of the file for input)		
-
-*************************************************************************************************
-
-
-	E. Clment CEA-Saclay/SPhN
-	June 2006
-	
-	E553 update E.Clement GANIL
-	Sept 2008						   											   
-	E530 update N. de Sereville IPNO (target can now be at any position)
-	April 2009
-	
-	E553 update E.Clement GANIL
-	May 2009: *more correct crystal size and can thickness
-		  *segment mean angle depends on the interaction depth due to the crystal shape
-						   											   
-************************************************************************************************																
-************************************************************************************************/																
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <time.h>
-#include <ctype.h>
-#include "TROOT.h"
-#include "TStyle.h"
-#include "TCanvas.h"
-#include "TGraph.h"
-#include "TH2F.h"
-#include "TH1F.h"
-#include "TH3F.h"
-#include "TChain.h"
-#include "TTree.h"
-#include "TNtuple.h"
-#include "TFile.h"
-#include "TRandom.h"
-#include "TVector3.h"
-#include "TRotation.h"
-#include "TLorentzVector.h"
-#include "TGenPhaseSpace.h"
-#include "TMath.h"
-#include "TRint.h"
-#include "TString.h"
-#include "TCutG.h"
-#include "TLatex.h"
-#include "TGraphErrors.h"
-#include "TArrow.h"
-#include "TF1.h"
-#include "TLatex.h"
-#include "TDatime.h"
-#include "TSystem.h"
-
-
-
-struct Clover_struc {
-	
-	float Theta_Clover;  	// clover center scattering angle by respect to beam axe
-	float Phi_Clover;	// clover center phi angle of the PROJECTION on the (0,x,y) plan of the gamma vector 
-	float X_Clover,Y_Clover,Z_Clover;
-	float Theta_Crystal[4]; //crystalA=0 crystaB=1 etc ....
-	float Phi_Crystal[4];
-	float X_Crystal[4],Y_Crystal[4],Z_Crystal[4];
-	float Theta_Crystal_Seg[4][4]; //CrystalA Segment1 =0,0 CrystalA Segment2=0,1 etc ...
-	float Phi_Crystal_Seg[4][4];
-	float X_Crystal_Seg[4][4],Y_Crystal_Seg[4][4],Z_Crystal_Seg[4][4];
-};
-
-#define COMMENTFLAG	0
-
-
-#define D_CloveFlange_Targ1 	(140.0 +7.0)  //mm + distance capot-crystal (np18-22-03)
-#define D_CloveFlange_Targ2 	(140.0 +7.0)  //mm
-#define D_CloveFlange_Targ3 	(140.0 +7.0)  //mm
-#define D_CloveFlange_Targ4 	(140.0 +7.0)  //mm
-#define D_CloveFlange_Targ5 	(140.0 +7.0)  //mm
-#define D_CloveFlange_Targ6 	(140.0 +7.0)  //mm
-#define D_CloveFlange_Targ7 	(140.0 +7.0)  //mm
-#define D_CloveFlange_Targ8 	(140.0 +7.0)  //mm
-#define D_CloveFlange_Targ9 	(140.0 +7.0)  //mm
-#define D_CloveFlange_Targ10	(140.0 +7.0)  //mm
-#define D_CloveFlange_Targ11	(140.0 +7.0)  //mm
-#define D_CloveFlange_Targ12	(140.0 +7.0)  //mm
-#define D_CloveFlange_Targ13	(140.0 +7.0)  //mm
-#define D_CloveFlange_Targ14	(140.0 +7.0)  //mm
-#define D_CloveFlange_Targ15	(140.0 +7.0)  //mm
-#define D_CloveFlange_Targ16	(140.0 +7.0)  //mm
-#define D_CloveFlange_Targ17	(140.0 +7.0)  //mm
-
-#define	TARGET_POSITION_X	0.	// mm
-#define	TARGET_POSITION_Y	0.	// mm
-#define	TARGET_POSITION_Z	0.	// mm
-#define InteractionDepth	20.	// mm
-
-struct Clover_struc Ask_For_Angles(int flange){	
-
-struct Clover_struc Result;
-int i,j;
-float Real_position[17] ={D_CloveFlange_Targ1, D_CloveFlange_Targ2, D_CloveFlange_Targ3, D_CloveFlange_Targ4, D_CloveFlange_Targ5, D_CloveFlange_Targ6,
-				D_CloveFlange_Targ7, D_CloveFlange_Targ8, D_CloveFlange_Targ9, D_CloveFlange_Targ10, D_CloveFlange_Targ11,
-				D_CloveFlange_Targ12, D_CloveFlange_Targ13, D_CloveFlange_Targ14, D_CloveFlange_Targ15, D_CloveFlange_Targ16,D_CloveFlange_Targ17};
-
-
-//Elements definition
-TVector3 flange12(D_CloveFlange_Targ12,0,0);  	//clover vector
-TVector3 flange12Crist[4];			//crystals vectors
-TVector3 flange12CristSeg[4][4];		//segments vectors
-
-//Initialisation by default
-TVector3 v1(1,0,0);
-TVector3 v2(0,1,0);
-TVector3 v3(0,0,1);
-
-	for(i=0;i<4;i++){
-		flange12Crist[i].SetX(1.);	
-		flange12Crist[i].SetY(1.);	
-		flange12Crist[i].SetZ(1.);
-		flange12Crist[i].SetTheta(1.);	
-		flange12Crist[i].SetPhi(1.);	
-		flange12Crist[i].SetMag(1.);	
-		for(j=0;j<4;j++){
-			flange12CristSeg[i][j].SetX(1.);
-			flange12CristSeg[i][j].SetY(1.);
-			flange12CristSeg[i][j].SetZ(1.);
-			flange12CristSeg[i][j].SetTheta(1.);
-			flange12CristSeg[i][j].SetPhi(1.);
-			flange12CristSeg[i][j].SetMag(1.);
-		}
-	}
-/*Initialisation of all the vectors to the flange 12 BUT with the correct distance for the asked clover
- between target and germanium crystal*/
-	
-	//Clover position
-	flange12.SetTheta(90.0*TMath::Pi()/180.0);
-	flange12.SetPhi(0.0*TMath::Pi()/180.0);
-	flange12.SetMag(Real_position[flange-1]); 
-
-
-//segment mean angle depends on the interaction depth due to the crystal shape; this creates a linear function with InteractionDepth as input
-// see plan np18-22-05 && np18-22-04
-TF1 *ShapeC = new TF1("ShapeC","0.132*x+20.54");
-TF1 *ShapeS1 = new TF1("ShapeS1","0.273*x+30.81");  //gd
-TF1 *ShapeS2 = new TF1("ShapeS2","0.066*x+10.27"); //pt
-
-
-float EXOGAM_Crystal_Center; 
-float EXOGAM_Segment_Pos1,EXOGAM_Segment_Pos2 ;
-
-	if(InteractionDepth>=30){EXOGAM_Crystal_Center= 24.5;EXOGAM_Segment_Pos1=39.; EXOGAM_Segment_Pos2=12.25; }
-	else{EXOGAM_Crystal_Center=ShapeC->Eval(InteractionDepth);
-	     EXOGAM_Segment_Pos1=ShapeS1->Eval(InteractionDepth); //gd
-	     EXOGAM_Segment_Pos2=ShapeS2->Eval(InteractionDepth); //pt
-	}
-	
-
-
-	//Crystal A
-	flange12Crist[0].SetY(flange12.Y()+(EXOGAM_Crystal_Center));
-	flange12Crist[0].SetZ(flange12.Z()-(EXOGAM_Crystal_Center));
-	flange12Crist[0].SetX(Real_position[flange-1]);
-		//segment1
-	flange12CristSeg[0][0].SetY(flange12.Y()+(EXOGAM_Segment_Pos1)); //gd
-	flange12CristSeg[0][0].SetZ(flange12.Z()-(EXOGAM_Segment_Pos1)); //gd
-	flange12CristSeg[0][0].SetX(Real_position[flange-1]);
-		//segment2
-	flange12CristSeg[0][1].SetY(flange12.Y()+(EXOGAM_Segment_Pos2));
-	flange12CristSeg[0][1].SetZ(flange12.Z()-(EXOGAM_Segment_Pos1));
-	flange12CristSeg[0][1].SetX(Real_position[flange-1]);
-		//segment3
-	flange12CristSeg[0][2].SetY(flange12.Y()+(EXOGAM_Segment_Pos2));
-	flange12CristSeg[0][2].SetZ(flange12.Z()-(EXOGAM_Segment_Pos2));
-	flange12CristSeg[0][2].SetX(Real_position[flange-1]);
-		//segment4
-	flange12CristSeg[0][3].SetY(flange12.Y()+(EXOGAM_Segment_Pos1));
-	flange12CristSeg[0][3].SetZ(flange12.Z()-(EXOGAM_Segment_Pos2));
-	flange12CristSeg[0][3].SetX(Real_position[flange-1]);
-
-	//Crystal B
-	flange12Crist[1].SetY(flange12.Y()-(EXOGAM_Crystal_Center));
-	flange12Crist[1].SetZ(flange12.Z()-(EXOGAM_Crystal_Center));
-	flange12Crist[1].SetX(Real_position[flange-1]);
-		//segment1
-	flange12CristSeg[1][0].SetY(flange12.Y()-(EXOGAM_Segment_Pos1));
-	flange12CristSeg[1][0].SetZ(flange12.Z()-(EXOGAM_Segment_Pos1));
-	flange12CristSeg[1][0].SetX(Real_position[flange-1]);
-		//segment2
-	flange12CristSeg[1][1].SetY(flange12.Y()-(EXOGAM_Segment_Pos1));
-	flange12CristSeg[1][1].SetZ(flange12.Z()-(EXOGAM_Segment_Pos2));
-	flange12CristSeg[1][1].SetX(Real_position[flange-1]);
-		//segment3
-	flange12CristSeg[1][2].SetY(flange12.Y()-(EXOGAM_Segment_Pos2));
-	flange12CristSeg[1][2].SetZ(flange12.Z()-(EXOGAM_Segment_Pos2));
-	flange12CristSeg[1][2].SetX(Real_position[flange-1]);
-		//segment4
-	flange12CristSeg[1][3].SetY(flange12.Y()-(EXOGAM_Segment_Pos2));
-	flange12CristSeg[1][3].SetZ(flange12.Z()-(EXOGAM_Segment_Pos1));
-	flange12CristSeg[1][3].SetX(Real_position[flange-1]);
-	
-	//Crystal C
-	flange12Crist[2].SetY(flange12.Y()-(EXOGAM_Crystal_Center));
-	flange12Crist[2].SetZ(flange12.Z()+(EXOGAM_Crystal_Center));
-	flange12Crist[2].SetX(Real_position[flange-1]);
-		//segment1
-	flange12CristSeg[2][0].SetY(flange12.Y()-(EXOGAM_Segment_Pos1));
-	flange12CristSeg[2][0].SetZ(flange12.Z()+(EXOGAM_Segment_Pos1));
-	flange12CristSeg[2][0].SetX(Real_position[flange-1]);
-		//segment2
-	flange12CristSeg[2][1].SetY(flange12.Y()-(EXOGAM_Segment_Pos2));
-	flange12CristSeg[2][1].SetZ(flange12.Z()+(EXOGAM_Segment_Pos1));
-	flange12CristSeg[2][1].SetX(Real_position[flange-1]);
-		//segment3
-	flange12CristSeg[2][2].SetY(flange12.Y()-(EXOGAM_Segment_Pos2));
-	flange12CristSeg[2][2].SetZ(flange12.Z()+(EXOGAM_Segment_Pos2));
-	flange12CristSeg[2][2].SetX(Real_position[flange-1]);
-		//segment4
-	flange12CristSeg[2][3].SetY(flange12.Y()-(EXOGAM_Segment_Pos1));
-	flange12CristSeg[2][3].SetZ(flange12.Z()+(EXOGAM_Segment_Pos2));
-	flange12CristSeg[2][3].SetX(Real_position[flange-1]);
-	
-	//Crystal D
-	flange12Crist[3].SetY(flange12.Y()+(EXOGAM_Crystal_Center));
-	flange12Crist[3].SetZ(flange12.Z()+(EXOGAM_Crystal_Center));
-	flange12Crist[3].SetX(Real_position[flange-1]);
-		//segment1
-	flange12CristSeg[3][0].SetY(flange12.Y()+(EXOGAM_Segment_Pos1));
-	flange12CristSeg[3][0].SetZ(flange12.Z()+(EXOGAM_Segment_Pos1));
-	flange12CristSeg[3][0].SetX(Real_position[flange-1]);
-		//segment2
-	flange12CristSeg[3][1].SetY(flange12.Y()+(EXOGAM_Segment_Pos1));
-	flange12CristSeg[3][1].SetZ(flange12.Z()+(EXOGAM_Segment_Pos2));
-	flange12CristSeg[3][1].SetX(Real_position[flange-1]);
-		//segment3
-	flange12CristSeg[3][2].SetY(flange12.Y()+(EXOGAM_Segment_Pos2));
-	flange12CristSeg[3][2].SetZ(flange12.Z()+(EXOGAM_Segment_Pos2));
-	flange12CristSeg[3][2].SetX(Real_position[flange-1]);
-		//segment4
-	flange12CristSeg[3][3].SetY(flange12.Y()+(EXOGAM_Segment_Pos2));
-	flange12CristSeg[3][3].SetZ(flange12.Z()+(EXOGAM_Segment_Pos1));
-	flange12CristSeg[3][3].SetX(Real_position[flange-1]);
-
-	if (flange >=1 && flange <=17){
-	
-			switch(flange){ //which flange ??
-			
-			case 1: 
-				flange12.RotateY(-45.0*TMath::Pi()/180.0);
-				for(i=0;i<4;i++){
-					flange12Crist[i].RotateY(-45.0*TMath::Pi()/180.0);
-					for(j=0;j<4;j++){
-						flange12CristSeg[i][j].RotateY(-45.0*TMath::Pi()/180.0);
-					}
-				}
-				break;
-				
-				
-				
-			case 2: 
-				flange12.RotateY(90.0*TMath::Pi()/180.0);
-				flange12.RotateX(-45.0*TMath::Pi()/180.0);
-				for(i=0;i<4;i++){
-					flange12Crist[i].RotateY(90.0*TMath::Pi()/180.0);
-					flange12Crist[i].RotateX(-45.0*TMath::Pi()/180.0);
-					for(j=0;j<4;j++){
-						flange12CristSeg[i][j].RotateY(90.0*TMath::Pi()/180.0);
-						flange12CristSeg[i][j].RotateX(-45.0*TMath::Pi()/180.0);
-					}
-				}
-				break;
-				
-				
-				
-			case 3: 
-				flange12.RotateY(90.0*TMath::Pi()/180.0);
-				flange12.RotateX(45.0*TMath::Pi()/180.0);
-				for(i=0;i<4;i++){
-					flange12Crist[i].RotateY(90.0*TMath::Pi()/180.0);
-					flange12Crist[i].RotateX(45.0*TMath::Pi()/180.0);
-					for(j=0;j<4;j++){
-						flange12CristSeg[i][j].RotateY(90.0*TMath::Pi()/180.0);
-						flange12CristSeg[i][j].RotateX(45.0*TMath::Pi()/180.0);
-					}
-				}
-				break;
-				
-				
-				
-			case 4:
-				flange12.RotateY(45.0*TMath::Pi()/180.0);
-				for(i=0;i<4;i++){
-					flange12Crist[i].RotateY(45.0*TMath::Pi()/180.0);
-					for(j=0;j<4;j++){
-						flange12CristSeg[i][j].RotateY(45.0*TMath::Pi()/180.0);
-					}
-				}
-				break;
-				
-				
-				
-			case 5: 
-				flange12.RotateY(135.0*TMath::Pi()/180.0);
-				for(i=0;i<4;i++){
-					flange12Crist[i].RotateY(135.0*TMath::Pi()/180.0);
-					for(j=0;j<4;j++){
-						flange12CristSeg[i][j].RotateY(135.0*TMath::Pi()/180.0);
-					}
-				}
-				break;
-				
-				
-			case 6: 
-				flange12.RotateY(90.0*TMath::Pi()/180.0);
-				flange12.RotateX(90.0*TMath::Pi()/180.0);
-				for(i=0;i<4;i++){
-					flange12Crist[i].RotateY(90.0*TMath::Pi()/180.0);
-					flange12Crist[i].RotateX(90.0*TMath::Pi()/180.0);
-					for(j=0;j<4;j++){
-						flange12CristSeg[i][j].RotateY(90.0*TMath::Pi()/180.0);
-						flange12CristSeg[i][j].RotateX(90.0*TMath::Pi()/180.0);
-					}
-				}
-				break;
-				
-			case 7:  
-				flange12.RotateY(135.0*TMath::Pi()/180.0);
-				flange12.RotateX(90.0*TMath::Pi()/180.0);
-				for(i=0;i<4;i++){
-					flange12Crist[i].RotateY(135.0*TMath::Pi()/180.0);
-					flange12Crist[i].RotateX(90.0*TMath::Pi()/180.0);
-					for(j=0;j<4;j++){
-						flange12CristSeg[i][j].RotateY(135.0*TMath::Pi()/180.0);
-						flange12CristSeg[i][j].RotateX(90.0*TMath::Pi()/180.0);
-					}
-				}
-				break;
-				
-				
-			case 8:   
-				flange12.RotateY(180.0*TMath::Pi()/180.0);
-				for(i=0;i<4;i++){
-					flange12Crist[i].RotateY(180.0*TMath::Pi()/180.0);
-					for(j=0;j<4;j++){
-						flange12CristSeg[i][j].RotateY(180.0*TMath::Pi()/180.0);
-					}
-				}
-				break;
-				
-				
-			case 9:   
-				flange12.RotateY(135.0*TMath::Pi()/180.0);
-				flange12.RotateX(-90.0*TMath::Pi()/180.0);
-				for(i=0;i<4;i++){
-					flange12Crist[i].RotateY(135.0*TMath::Pi()/180.0);
-					flange12Crist[i].RotateX(-90.0*TMath::Pi()/180.0);
-					for(j=0;j<4;j++){
-						flange12CristSeg[i][j].RotateY(135.0*TMath::Pi()/180.0);
-						flange12CristSeg[i][j].RotateX(-90.0*TMath::Pi()/180.0);
-					}
-				}
-				break;
-				
-				
-			case 10:   
-				flange12.RotateY(90.0*TMath::Pi()/180.0);
-				flange12.RotateX(-90.0*TMath::Pi()/180.0);
-				for(i=0;i<4;i++){
-					flange12Crist[i].RotateY(90.0*TMath::Pi()/180.0);
-					flange12Crist[i].RotateX(-90.0*TMath::Pi()/180.0);
-					for(j=0;j<4;j++){
-						flange12CristSeg[i][j].RotateY(90.0*TMath::Pi()/180.0);
-						flange12CristSeg[i][j].RotateX(-90.0*TMath::Pi()/180.0);
-					}
-				}
-				break;
-				
-				
-			case 11:    
-				flange12.RotateY(45.0*TMath::Pi()/180.0);
-				flange12.RotateX(-90.0*TMath::Pi()/180.0);
-				for(i=0;i<4;i++){
-					flange12Crist[i].RotateY(45.0*TMath::Pi()/180.0);
-					flange12Crist[i].RotateX(-90.0*TMath::Pi()/180.0);
-					for(j=0;j<4;j++){
-						flange12CristSeg[i][j].RotateY(45.0*TMath::Pi()/180.0);
-						flange12CristSeg[i][j].RotateX(-90.0*TMath::Pi()/180.0);
-					}
-				}
-				break;
-				
-				
-			case 12: //Clover of initialisation --> not move
-				break;
-				
-				
-			case 13:    
-				flange12.RotateY(45.0*TMath::Pi()/180.0);
-				flange12.RotateX(90.0*TMath::Pi()/180.0);
-				for(i=0;i<4;i++){
-					flange12Crist[i].RotateY(45.0*TMath::Pi()/180.0);
-					flange12Crist[i].RotateX(90.0*TMath::Pi()/180.0);
-					for(j=0;j<4;j++){
-						flange12CristSeg[i][j].RotateY(45.0*TMath::Pi()/180.0);
-						flange12CristSeg[i][j].RotateX(90.0*TMath::Pi()/180.0);
-					}
-				}
-				break;
-				
-				
-			case 14:    
-				flange12.RotateY(-135.0*TMath::Pi()/180.0);
-				for(i=0;i<4;i++){
-					flange12Crist[i].RotateY(-135.0*TMath::Pi()/180.0);
-					for(j=0;j<4;j++){
-						flange12CristSeg[i][j].RotateY(-135.0*TMath::Pi()/180.0);
-					}
-				}
-				break;
-				
-				
-			case 15:     
-				flange12.RotateY(90.0*TMath::Pi()/180.0);
-				flange12.RotateX(-135.0*TMath::Pi()/180.0);
-				for(i=0;i<4;i++){
-					flange12Crist[i].RotateY(90.0*TMath::Pi()/180.0);
-					flange12Crist[i].RotateX(-135.0*TMath::Pi()/180.0);
-					for(j=0;j<4;j++){
-						flange12CristSeg[i][j].RotateY(90.0*TMath::Pi()/180.0);
-						flange12CristSeg[i][j].RotateX(-135.0*TMath::Pi()/180.0);
-					}
-				}
-				break;	
-				
-			case 16:    
-				flange12.RotateY(90.0*TMath::Pi()/180.0);
-				flange12.RotateX(135.0*TMath::Pi()/180.0);
-				for(i=0;i<4;i++){
-					flange12Crist[i].RotateY(90.0*TMath::Pi()/180.0);
-					flange12Crist[i].RotateX(135.0*TMath::Pi()/180.0);
-					for(j=0;j<4;j++){
-						flange12CristSeg[i][j].RotateY(90.0*TMath::Pi()/180.0);
-						flange12CristSeg[i][j].RotateX(135.0*TMath::Pi()/180.0);
-					}
-				}
-			
-				break;
-				
-			case 17:
-				flange12.RotateY(90.0*TMath::Pi()/180.0);
-				for(i=0;i<4;i++){
-					flange12Crist[i].RotateY(90.0*TMath::Pi()/180.0);
-					for(j=0;j<4;j++){
-						flange12CristSeg[i][j].RotateY(90.0*TMath::Pi()/180.0);
-					}
-				}
-				break;	
-				
-			default : 
-				break;
-			}
-		
-		// Take into account the case of a target which is not at the center of the EXOGAM array
-                // Target position
-                TVector3 targetPos(TARGET_POSITION_X, TARGET_POSITION_Y, TARGET_POSITION_Z);
-
-		// case of the selected EXOGAM detector
-/*		for (Int_t k = 0; k < 3; k++) {
-		   cout << "flange12 avant : " << flange12(k) << endl;
-		   cout << "targetPos      : " << targetPos(k) << endl;
-		}*/
-		flange12 -= targetPos;
-/*		for (Int_t k = 0; k < 3; k++) {
-		   cout << "flange12 apres : " << flange12(k) << endl;
-		}*/
-		// loop on cristals
-		for (Int_t ii = 0; ii < 4; ii++) {
-		   flange12Crist[ii] -= targetPos;
-		   // loop on segments
-		   for (Int_t jj = 0; jj < 4; jj++) {
-		      flange12CristSeg[ii][jj] -= targetPos;
-		   }
-		}
-			
-		#if COMMENTFLAG	
-		printf(" flange %d theta %f   phi Proj %f \n",flange,flange12.Theta()*180.0/(TMath::Pi()),flange12.Phi()*180.0/(TMath::Pi()));
-		for(i=0;i<4;i++){
-			printf(" flange %d  cristal %d theta %f   phi Proj %f \n",
-			flange,i+1,flange12Crist[i].Theta()*180.0/(TMath::Pi()),flange12Crist[i].Phi()*180.0/(TMath::Pi()));
-			for(j=0;j<4;j++){
-				printf(" flange %d  cristal %d  seg %d theta %f   phi Proj %f \n",
-				flange,i+1,j+1,flange12CristSeg[i][j].Theta()*180.0/(TMath::Pi()),flange12CristSeg[i][j].Phi()*180.0/(TMath::Pi()));		
-			}
-		}
-		 printf("#########################\n"); 
-		#endif
-		
-		
-		//Output result in rad in the "Clover_struc" structur
-		Result.Theta_Clover=flange12.Theta();
-		Result.Phi_Clover=flange12.Phi();
-		Result.X_Clover=flange12.X();
-		Result.Y_Clover=flange12.Y();
-		Result.Z_Clover=flange12.Z();
-			
-		for(i=0;i<4;i++){
-			Result.Theta_Crystal[i]=flange12Crist[i].Theta();
-			Result.Phi_Crystal[i]=flange12Crist[i].Phi();
-			Result.X_Crystal[i]=flange12Crist[i].X();
-			Result.Y_Crystal[i]=flange12Crist[i].Y();
-			Result.Z_Crystal[i]=flange12Crist[i].Z();
-			for(j=0;j<4;j++){
-				Result.Theta_Crystal_Seg[i][j]=flange12CristSeg[i][j].Theta();
-				Result.Phi_Crystal_Seg[i][j]=flange12CristSeg[i][j].Phi();
-				Result.X_Crystal_Seg[i][j]=flange12CristSeg[i][j].X();
-				Result.Y_Crystal_Seg[i][j]=flange12CristSeg[i][j].Y();
-				Result.Z_Crystal_Seg[i][j]=flange12CristSeg[i][j].Z();	
-						
-			}
-		}
-		  
-		 
-
-	}
-	
-	else {printf("Bad flange number, flange %d  doesn't exist in EXOGAM !!!!!! \n",flange);}
-
-	
-  
-  
-  return Result;
-}
-
-
-// Routine of doppler correction
-float Doppler_Correction(float Theta_Gamma, float Phi_Gamma, float Theta_Part, float Phi_Part, float Beta_Part, float energie_Mes){  //rad, v/c
-float energievraie,cosinusPSI;
-			  
-		  cosinusPSI =TMath::Sin(Theta_Part)*TMath::Cos(Phi_Part)*TMath::Sin(Theta_Gamma)*TMath::Cos(Phi_Gamma)+
-		  	      TMath::Sin(Theta_Part)*TMath::Sin(Phi_Part)*TMath::Sin(Theta_Gamma)*TMath::Sin(Phi_Gamma)+
-			      TMath::Cos(Theta_Part)*TMath::Cos(Theta_Gamma);
-			      
-	energievraie = energie_Mes*(1.-Beta_Part*cosinusPSI)/sqrt(1.-Beta_Part*Beta_Part);
-	
-	return energievraie;
-}
diff --git a/Projects/E805/calibration/CATS/CATS1X/CATSLin1X_r0164.txt b/Projects/E805/calibration/CATS/CATS1X/CATSLin1X_r0164.txt
index 2a7017f87..75406ae58 100644
--- a/Projects/E805/calibration/CATS/CATS1X/CATSLin1X_r0164.txt
+++ b/Projects/E805/calibration/CATS/CATS1X/CATSLin1X_r0164.txt
@@ -1,84 +1,84 @@
-CATS_D1_X1 -43.8912 0.0000 
+CATS_D1_X1 -43.8912 34.0391 
 CATS_D1_X1_Q 242.9645 0.9789 
 CATS_D1_X1_F 0.0222 
-CATS_D1_X2 inf 0.0000 
+CATS_D1_X2 inf 10000.0000 
 CATS_D1_X2_Q 0.0000 0.0000 
 CATS_D1_X2_F 0.0222 
-CATS_D1_X3 199.8911 0.0000 
+CATS_D1_X3 199.8911 31.1706 
 CATS_D1_X3_Q 62.3969 0.6884 
 CATS_D1_X3_F 0.1456 
-CATS_D1_X4 238.4656 0.0000 
+CATS_D1_X4 238.4656 33.3866 
 CATS_D1_X4_Q -30.2162 0.9654 
 CATS_D1_X4_F 0.0264 
-CATS_D1_X5 inf 0.0000 
+CATS_D1_X5 inf 10000.0000 
 CATS_D1_X5_Q 0.0000 0.0000 
 CATS_D1_X5_F 0.0264 
-CATS_D1_X6 203.3043 0.0000 
+CATS_D1_X6 203.3043 36.2912 
 CATS_D1_X6_Q 29.2614 0.8398 
 CATS_D1_X6_F 0.3112 
-CATS_D1_X7 112.2805 0.0000 
+CATS_D1_X7 112.2805 34.6231 
 CATS_D1_X7_Q 101.6389 0.8760 
 CATS_D1_X7_F 0.0415 
-CATS_D1_X8 155.4153 0.0000 
+CATS_D1_X8 155.4153 36.5778 
 CATS_D1_X8_Q 2.1215 1.2732 
 CATS_D1_X8_F 0.0324 
-CATS_D1_X9 156.2512 0.0000 
+CATS_D1_X9 156.2512 38.9182 
 CATS_D1_X9_Q 75.6232 0.7960 
 CATS_D1_X9_F 0.0126 
-CATS_D1_X10 248.4598 0.0000 
+CATS_D1_X10 248.4598 30.6262 
 CATS_D1_X10_Q -96.9145 1.1950 
 CATS_D1_X10_F 0.0186 
-CATS_D1_X11 223.2877 0.0000 
+CATS_D1_X11 223.2877 33.0905 
 CATS_D1_X11_Q -23.4509 1.0007 
 CATS_D1_X11_F 0.0547 
-CATS_D1_X12 138.3988 0.0000 
+CATS_D1_X12 138.3988 32.7839 
 CATS_D1_X12_Q 59.5480 1.0148 
 CATS_D1_X12_F 0.1198 
-CATS_D1_X13 154.1141 0.0000 
+CATS_D1_X13 154.1141 30.4156 
 CATS_D1_X13_Q 51.0875 0.9662 
 CATS_D1_X13_F 0.0846 
-CATS_D1_X14 200.0000 0.0000 
+CATS_D1_X14 200.0000 29.5324 
 CATS_D1_X14_Q 0.0000 1.0000 
 CATS_D1_X14_F 0.0000 
-CATS_D1_X15 208.6088 0.0000 
+CATS_D1_X15 208.6088 33.2747 
 CATS_D1_X15_Q 19.5695 0.8649 
 CATS_D1_X15_F 0.1075 
-CATS_D1_X16 247.7181 0.0000 
+CATS_D1_X16 247.7181 32.2777 
 CATS_D1_X16_Q -17.3751 0.8775 
 CATS_D1_X16_F 0.0070 
-CATS_D1_X17 84.7054 0.0000 
+CATS_D1_X17 84.7054 28.0497 
 CATS_D1_X17_Q 85.7009 1.3494 
 CATS_D1_X17_F 0.1070 
-CATS_D1_X18 130.9581 0.0000 
+CATS_D1_X18 130.9581 33.3513 
 CATS_D1_X18_Q 84.1864 0.8844 
 CATS_D1_X18_F 0.0028 
-CATS_D1_X19 185.4676 0.0000 
+CATS_D1_X19 185.4676 37.2951 
 CATS_D1_X19_Q 19.1836 0.9749 
 CATS_D1_X19_F 0.0193 
-CATS_D1_X20 174.4753 0.0000 
+CATS_D1_X20 174.4753 32.1450 
 CATS_D1_X20_Q -0.9644 1.1518 
 CATS_D1_X20_F 0.1442 
-CATS_D1_X21 135.4394 0.0000 
+CATS_D1_X21 135.4394 36.9833 
 CATS_D1_X21_Q 72.1402 0.9440 
 CATS_D1_X21_F 0.0857 
-CATS_D1_X22 113.6857 0.0000 
+CATS_D1_X22 113.6857 38.0349 
 CATS_D1_X22_Q 98.2499 0.8950 
 CATS_D1_X22_F 0.0403 
-CATS_D1_X23 121.9081 0.0000 
+CATS_D1_X23 121.9081 38.9157 
 CATS_D1_X23_Q 96.3087 0.8506 
 CATS_D1_X23_F 0.0831 
-CATS_D1_X24 107.8907 0.0000 
+CATS_D1_X24 107.8907 38.2748 
 CATS_D1_X24_Q 100.6515 0.9208 
 CATS_D1_X24_F 0.0794 
-CATS_D1_X25 30.2641 0.0000 
+CATS_D1_X25 30.2641 36.8846 
 CATS_D1_X25_Q 177.2476 0.7518 
 CATS_D1_X25_F 0.0054 
-CATS_D1_X26 157.0416 0.0000 
+CATS_D1_X26 157.0416 35.8350 
 CATS_D1_X26_Q -1.8151 1.2851 
 CATS_D1_X26_F 0.0682 
-CATS_D1_X27 155.6633 0.0000 
+CATS_D1_X27 155.6633 30.7806 
 CATS_D1_X27_Q 59.5626 0.9022 
 CATS_D1_X27_F 0.0323 
-CATS_D1_X28 98.2676 0.0000 
+CATS_D1_X28 98.2676 35.6741 
 CATS_D1_X28_Q 134.3058 0.6685 
 CATS_D1_X28_F 0.1264 
diff --git a/Projects/E805/calibration/CATS/CATS1Y/CATSLin1Y_r0164.txt b/Projects/E805/calibration/CATS/CATS1Y/CATSLin1Y_r0164.txt
index ecf4ef303..878ffc30a 100644
--- a/Projects/E805/calibration/CATS/CATS1Y/CATSLin1Y_r0164.txt
+++ b/Projects/E805/calibration/CATS/CATS1Y/CATSLin1Y_r0164.txt
@@ -1,84 +1,84 @@
-CATS_D1_Y1 inf 0.0000 
+CATS_D1_Y1 inf 10000.0000 
 CATS_D1_Y1_Q 0.0000 0.0000 
 CATS_D1_Y1_F 0.1264 
-CATS_D1_Y2 283.5236 0.0000 
+CATS_D1_Y2 283.5236 32.3509 
 CATS_D1_Y2_Q -74.4744 0.9681 
 CATS_D1_Y2_F 0.0499 
-CATS_D1_Y3 1116.6380 0.0000 
+CATS_D1_Y3 1116.6380 32.4793 
 CATS_D1_Y3_Q -938.0583 1.0192 
 CATS_D1_Y3_F 0.0400 
-CATS_D1_Y4 690.4823 0.0000 
+CATS_D1_Y4 690.4823 33.8159 
 CATS_D1_Y4_Q -512.9767 1.0326 
 CATS_D1_Y4_F 0.0021 
-CATS_D1_Y5 299.8516 0.0000 
+CATS_D1_Y5 299.8516 37.6306 
 CATS_D1_Y5_Q -114.2132 1.0479 
 CATS_D1_Y5_F 0.0020 
-CATS_D1_Y6 208.1525 0.0000 
+CATS_D1_Y6 208.1525 36.5130 
 CATS_D1_Y6_Q -23.8721 1.0755 
 CATS_D1_Y6_F 0.0010 
-CATS_D1_Y7 257.8197 0.0000 
+CATS_D1_Y7 257.8197 36.7989 
 CATS_D1_Y7_Q -80.6092 1.0884 
 CATS_D1_Y7_F 0.0045 
-CATS_D1_Y8 298.0052 0.0000 
+CATS_D1_Y8 298.0052 38.9340 
 CATS_D1_Y8_Q -143.8721 1.1539 
 CATS_D1_Y8_F 0.0378 
-CATS_D1_Y9 175.5629 0.0000 
+CATS_D1_Y9 175.5629 31.6899 
 CATS_D1_Y9_Q 30.3637 0.9662 
 CATS_D1_Y9_F 0.0011 
-CATS_D1_Y10 192.5593 0.0000 
+CATS_D1_Y10 192.5593 29.5212 
 CATS_D1_Y10_Q 9.2707 0.9905 
 CATS_D1_Y10_F 0.0168 
-CATS_D1_Y11 210.5145 0.0000 
+CATS_D1_Y11 210.5145 32.3131 
 CATS_D1_Y11_Q -7.8372 0.9873 
 CATS_D1_Y11_F 0.0257 
-CATS_D1_Y12 200.8885 0.0000 
+CATS_D1_Y12 200.8885 33.2415 
 CATS_D1_Y12_Q 3.0080 0.9806 
 CATS_D1_Y12_F 0.0225 
-CATS_D1_Y13 575.9730 0.0000 
+CATS_D1_Y13 575.9730 37.7571 
 CATS_D1_Y13_Q -382.0030 1.0105 
 CATS_D1_Y13_F 0.0037 
-CATS_D1_Y14 200.0000 0.0000 
+CATS_D1_Y14 200.0000 30.6095 
 CATS_D1_Y14_Q 0.0000 1.0000 
 CATS_D1_Y14_F 0.0000 
-CATS_D1_Y15 211.3081 0.0000 
+CATS_D1_Y15 211.3081 25.9060 
 CATS_D1_Y15_Q -253.5046 2.1462 
 CATS_D1_Y15_F 0.0659 
-CATS_D1_Y16 153.3664 0.0000 
+CATS_D1_Y16 153.3664 37.1359 
 CATS_D1_Y16_Q 42.5263 1.0268 
 CATS_D1_Y16_F 0.0016 
-CATS_D1_Y17 111.8651 0.0000 
+CATS_D1_Y17 111.8651 39.0727 
 CATS_D1_Y17_Q 95.5294 0.9339 
 CATS_D1_Y17_F 0.0020 
-CATS_D1_Y18 68.2883 0.0000 
+CATS_D1_Y18 68.2883 32.5900 
 CATS_D1_Y18_Q 134.2605 0.9627 
 CATS_D1_Y18_F 0.0041 
-CATS_D1_Y19 128.3727 0.0000 
+CATS_D1_Y19 128.3727 32.9755 
 CATS_D1_Y19_Q 76.1599 0.9647 
 CATS_D1_Y19_F 0.0062 
-CATS_D1_Y20 -8.3765 0.0000 
+CATS_D1_Y20 -8.3765 35.1816 
 CATS_D1_Y20_Q 208.0590 0.9621 
 CATS_D1_Y20_F 0.0056 
-CATS_D1_Y21 35.2167 0.0000 
+CATS_D1_Y21 35.2167 31.9507 
 CATS_D1_Y21_Q 169.3933 0.8691 
 CATS_D1_Y21_F 0.1812 
-CATS_D1_Y22 264.8842 0.0000 
+CATS_D1_Y22 264.8842 36.2189 
 CATS_D1_Y22_Q -197.2919 1.4999 
 CATS_D1_Y22_F 0.0113 
-CATS_D1_Y23 233.5878 0.0000 
+CATS_D1_Y23 233.5878 34.7559 
 CATS_D1_Y23_Q 7.7831 0.8229 
 CATS_D1_Y23_F 0.1284 
-CATS_D1_Y24 298.1851 0.0000 
+CATS_D1_Y24 298.1851 33.0487 
 CATS_D1_Y24_Q -81.7403 0.9449 
 CATS_D1_Y24_F 0.0234 
-CATS_D1_Y25 659.4299 0.0000 
+CATS_D1_Y25 659.4299 28.7481 
 CATS_D1_Y25_Q -412.1001 0.9282 
 CATS_D1_Y25_F 0.0021 
-CATS_D1_Y26 417.3782 0.0000 
+CATS_D1_Y26 417.3782 30.4266 
 CATS_D1_Y26_Q -221.2020 1.0092 
 CATS_D1_Y26_F 0.1252 
-CATS_D1_Y27 179.5717 0.0000 
+CATS_D1_Y27 179.5717 25.1258 
 CATS_D1_Y27_Q -28.3904 1.2719 
 CATS_D1_Y27_F 0.0990 
-CATS_D1_Y28 191.1139 0.0000 
+CATS_D1_Y28 191.1139 30.7114 
 CATS_D1_Y28_Q 77.9387 0.6387 
 CATS_D1_Y28_F 0.3300 
diff --git a/Projects/E805/calibration/CATS/CATS2X/CATSLin2X_r0166.txt b/Projects/E805/calibration/CATS/CATS2X/CATSLin2X_r0166.txt
index febe93994..f42ce0a74 100644
--- a/Projects/E805/calibration/CATS/CATS2X/CATSLin2X_r0166.txt
+++ b/Projects/E805/calibration/CATS/CATS2X/CATSLin2X_r0166.txt
@@ -1,84 +1,84 @@
-CATS_D2_X1 inf 0.0000 
+CATS_D2_X1 inf 10000.0000 
 CATS_D2_X1_Q 0.0000 0.0000 
 CATS_D2_X1_F 0.0000 
-CATS_D2_X2 133.5827 0.0000 
+CATS_D2_X2 133.5827 35.5280 
 CATS_D2_X2_Q 98.1644 0.7623 
 CATS_D2_X2_F 0.0269 
-CATS_D2_X3 220.1800 0.0000 
+CATS_D2_X3 220.1800 35.6044 
 CATS_D2_X3_Q 28.3309 0.7797 
 CATS_D2_X3_F 0.0149 
-CATS_D2_X4 264.1353 0.0000 
+CATS_D2_X4 264.1353 35.5399 
 CATS_D2_X4_Q -0.9440 0.7608 
 CATS_D2_X4_F 0.0115 
-CATS_D2_X5 225.3906 0.0000 
+CATS_D2_X5 225.3906 38.0700 
 CATS_D2_X5_Q 25.5477 0.7740 
 CATS_D2_X5_F 0.0100 
-CATS_D2_X6 232.9158 0.0000 
+CATS_D2_X6 232.9158 40.2745 
 CATS_D2_X6_Q -24.9222 0.9657 
 CATS_D2_X6_F 0.0692 
-CATS_D2_X7 53.1410 0.0000 
+CATS_D2_X7 53.1410 28.3321 
 CATS_D2_X7_Q 160.6883 0.7398 
 CATS_D2_X7_F 0.0245 
-CATS_D2_X8 249.1951 0.0000 
+CATS_D2_X8 249.1951 38.0432 
 CATS_D2_X8_Q -52.5367 1.0134 
 CATS_D2_X8_F 0.0205 
-CATS_D2_X9 276.9344 0.0000 
+CATS_D2_X9 276.9344 30.3066 
 CATS_D2_X9_Q -27.6802 0.8221 
 CATS_D2_X9_F 0.0192 
-CATS_D2_X10 208.7176 0.0000 
+CATS_D2_X10 208.7176 32.2856 
 CATS_D2_X10_Q 41.3416 0.7602 
 CATS_D2_X10_F 0.0164 
-CATS_D2_X11 235.3365 0.0000 
+CATS_D2_X11 235.3365 30.9026 
 CATS_D2_X11_Q 19.6744 0.7662 
 CATS_D2_X11_F 0.0236 
-CATS_D2_X12 250.4927 0.0000 
+CATS_D2_X12 250.4927 35.2339 
 CATS_D2_X12_Q 12.5133 0.7485 
 CATS_D2_X12_F 0.0115 
-CATS_D2_X13 253.4959 0.0000 
+CATS_D2_X13 253.4959 30.9239 
 CATS_D2_X13_Q -5.8869 0.8122 
 CATS_D2_X13_F 0.0233 
-CATS_D2_X14 200.0000 0.0000 
+CATS_D2_X14 200.0000 31.0932 
 CATS_D2_X14_Q 0.0000 1.0000 
 CATS_D2_X14_F 0.0000 
-CATS_D2_X15 195.9539 0.0000 
+CATS_D2_X15 195.9539 28.7620 
 CATS_D2_X15_Q 34.9775 0.8421 
 CATS_D2_X15_F 0.0399 
-CATS_D2_X16 224.6039 0.0000 
+CATS_D2_X16 224.6039 31.9903 
 CATS_D2_X16_Q 31.3380 0.7509 
 CATS_D2_X16_F 0.0230 
-CATS_D2_X17 45.5556 0.0000 
+CATS_D2_X17 45.5556 33.5179 
 CATS_D2_X17_Q 162.7756 0.8171 
 CATS_D2_X17_F 0.0464 
-CATS_D2_X18 133.5850 0.0000 
+CATS_D2_X18 133.5850 36.0644 
 CATS_D2_X18_Q 93.7054 0.7957 
 CATS_D2_X18_F 0.0337 
-CATS_D2_X19 77.1232 0.0000 
+CATS_D2_X19 77.1232 34.3297 
 CATS_D2_X19_Q 136.1019 0.8285 
 CATS_D2_X19_F 0.0593 
-CATS_D2_X20 116.8555 0.0000 
+CATS_D2_X20 116.8555 34.7261 
 CATS_D2_X20_Q 102.1169 0.8376 
 CATS_D2_X20_F 0.0666 
-CATS_D2_X21 221.7041 0.0000 
+CATS_D2_X21 221.7041 32.3671 
 CATS_D2_X21_Q 34.2533 0.7476 
 CATS_D2_X21_F 0.0258 
-CATS_D2_X22 82.7477 0.0000 
+CATS_D2_X22 82.7477 29.5478 
 CATS_D2_X22_Q 130.5864 0.8389 
 CATS_D2_X22_F 0.0720 
-CATS_D2_X23 70.2602 0.0000 
+CATS_D2_X23 70.2602 29.6895 
 CATS_D2_X23_Q 144.5748 0.7889 
 CATS_D2_X23_F 0.0137 
-CATS_D2_X24 237.6631 0.0000 
+CATS_D2_X24 237.6631 30.7005 
 CATS_D2_X24_Q 28.2617 0.7226 
 CATS_D2_X24_F 0.0218 
-CATS_D2_X25 104.4259 0.0000 
+CATS_D2_X25 104.4259 27.8134 
 CATS_D2_X25_Q 117.1944 0.7930 
 CATS_D2_X25_F 0.0643 
-CATS_D2_X26 15.8823 0.0000 
+CATS_D2_X26 15.8823 28.6517 
 CATS_D2_X26_Q 187.8305 0.7662 
 CATS_D2_X26_F 0.0816 
-CATS_D2_X27 36.1519 0.0000 
+CATS_D2_X27 36.1519 28.4277 
 CATS_D2_X27_Q 171.7557 0.7813 
 CATS_D2_X27_F 0.0626 
-CATS_D2_X28 95.9753 0.0000 
+CATS_D2_X28 95.9753 29.0653 
 CATS_D2_X28_Q 134.0617 0.6870 
 CATS_D2_X28_F 0.0117 
diff --git a/Projects/E805/calibration/CATS/CATS2Y/CATSLin2Y_r0166.txt b/Projects/E805/calibration/CATS/CATS2Y/CATSLin2Y_r0166.txt
index e27b4b63b..7749f8119 100644
--- a/Projects/E805/calibration/CATS/CATS2Y/CATSLin2Y_r0166.txt
+++ b/Projects/E805/calibration/CATS/CATS2Y/CATSLin2Y_r0166.txt
@@ -1,84 +1,84 @@
-CATS_D2_Y1 inf 0.0000 
+CATS_D2_Y1 inf 10000.0000 
 CATS_D2_Y1_Q 0.0000 0.0000 
 CATS_D2_Y1_F 0.0117 
-CATS_D2_Y2 252.7339 0.0000 
+CATS_D2_Y2 252.7339 38.0514 
 CATS_D2_Y2_Q -40.7855 0.9527 
 CATS_D2_Y2_F 0.0187 
-CATS_D2_Y3 239.9783 0.0000 
+CATS_D2_Y3 239.9783 40.9068 
 CATS_D2_Y3_Q -12.3437 0.8848 
 CATS_D2_Y3_F 0.0161 
-CATS_D2_Y4 238.4350 0.0000 
+CATS_D2_Y4 238.4350 47.2838 
 CATS_D2_Y4_Q -29.4578 0.9623 
 CATS_D2_Y4_F 0.0307 
-CATS_D2_Y5 213.2296 0.0000 
+CATS_D2_Y5 213.2296 50.5859 
 CATS_D2_Y5_Q -15.8905 1.0125 
 CATS_D2_Y5_F 0.0427 
-CATS_D2_Y6 249.0002 0.0000 
+CATS_D2_Y6 249.0002 48.0434 
 CATS_D2_Y6_Q -35.9600 0.9476 
 CATS_D2_Y6_F 0.0142 
-CATS_D2_Y7 144.9029 0.0000 
+CATS_D2_Y7 144.9029 33.5013 
 CATS_D2_Y7_Q 54.9083 1.0013 
 CATS_D2_Y7_F 0.0319 
-CATS_D2_Y8 249.6822 0.0000 
+CATS_D2_Y8 249.6822 35.9537 
 CATS_D2_Y8_Q -101.6502 1.2081 
 CATS_D2_Y8_F 0.0717 
-CATS_D2_Y9 260.5359 0.0000 
+CATS_D2_Y9 260.5359 38.0066 
 CATS_D2_Y9_Q -35.3319 0.9033 
 CATS_D2_Y9_F 0.0212 
-CATS_D2_Y10 260.6491 0.0000 
+CATS_D2_Y10 260.6491 50.0175 
 CATS_D2_Y10_Q -32.8147 0.8932 
 CATS_D2_Y10_F 0.0187 
-CATS_D2_Y11 226.3682 0.0000 
+CATS_D2_Y11 226.3682 53.0197 
 CATS_D2_Y11_Q -22.3048 0.9820 
 CATS_D2_Y11_F 0.0134 
-CATS_D2_Y12 235.9476 0.0000 
+CATS_D2_Y12 235.9476 47.2795 
 CATS_D2_Y12_Q -7.1111 0.8778 
 CATS_D2_Y12_F 0.0053 
-CATS_D2_Y13 254.7689 0.0000 
+CATS_D2_Y13 254.7689 35.9939 
 CATS_D2_Y13_Q -42.2460 0.9508 
 CATS_D2_Y13_F 0.0209 
-CATS_D2_Y14 200.0000 0.0000 
+CATS_D2_Y14 200.0000 32.8783 
 CATS_D2_Y14_Q 0.0000 1.0000 
 CATS_D2_Y14_F 0.0000 
-CATS_D2_Y15 300.4485 0.0000 
+CATS_D2_Y15 300.4485 34.7074 
 CATS_D2_Y15_Q -87.7642 0.9578 
 CATS_D2_Y15_F 0.0544 
-CATS_D2_Y16 357.9884 0.0000 
+CATS_D2_Y16 357.9884 38.5632 
 CATS_D2_Y16_Q -125.6391 0.9096 
 CATS_D2_Y16_F 0.0177 
-CATS_D2_Y17 219.0102 0.0000 
+CATS_D2_Y17 219.0102 40.3782 
 CATS_D2_Y17_Q -19.7272 1.0033 
 CATS_D2_Y17_F 0.0077 
-CATS_D2_Y18 443.8249 0.0000 
+CATS_D2_Y18 443.8249 34.0145 
 CATS_D2_Y18_Q -203.6124 0.9094 
 CATS_D2_Y18_F 0.0378 
-CATS_D2_Y19 198.4410 0.0000 
+CATS_D2_Y19 198.4410 33.0944 
 CATS_D2_Y19_Q 23.1959 0.8910 
 CATS_D2_Y19_F 0.0047 
-CATS_D2_Y20 202.5229 0.0000 
+CATS_D2_Y20 202.5229 39.1111 
 CATS_D2_Y20_Q 4.0604 0.9675 
 CATS_D2_Y20_F 0.0157 
-CATS_D2_Y21 200.7431 0.0000 
+CATS_D2_Y21 200.7431 31.6632 
 CATS_D2_Y21_Q 16.9063 0.9121 
 CATS_D2_Y21_F 0.0287 
-CATS_D2_Y22 219.9517 0.0000 
+CATS_D2_Y22 219.9517 34.6382 
 CATS_D2_Y22_Q -3.5564 0.9255 
 CATS_D2_Y22_F 0.0258 
-CATS_D2_Y23 152.8065 0.0000 
+CATS_D2_Y23 152.8065 32.9778 
 CATS_D2_Y23_Q 65.1124 0.8827 
 CATS_D2_Y23_F 0.0277 
-CATS_D2_Y24 244.8763 0.0000 
+CATS_D2_Y24 244.8763 32.9647 
 CATS_D2_Y24_Q -13.0276 0.8699 
 CATS_D2_Y24_F 0.0379 
-CATS_D2_Y25 138.7020 0.0000 
+CATS_D2_Y25 138.7020 34.3713 
 CATS_D2_Y25_Q 79.9480 0.8655 
 CATS_D2_Y25_F 0.0585 
-CATS_D2_Y26 286.7621 0.0000 
+CATS_D2_Y26 286.7621 32.4373 
 CATS_D2_Y26_Q -48.1906 0.8655 
 CATS_D2_Y26_F 0.0362 
-CATS_D2_Y27 250.1913 0.0000 
+CATS_D2_Y27 250.1913 32.1026 
 CATS_D2_Y27_Q -7.4444 0.8291 
 CATS_D2_Y27_F 0.0314 
-CATS_D2_Y28 308.8738 0.0000 
+CATS_D2_Y28 308.8738 34.3656 
 CATS_D2_Y28_Q 34.9875 0.5342 
 CATS_D2_Y28_F 0.3547 
diff --git a/Projects/E805/calibration/Energy/EnergyCalibrator.C b/Projects/E805/calibration/Energy/EnergyCalibrator.C
index dca4446ca..d60b6d4a7 100644
--- a/Projects/E805/calibration/Energy/EnergyCalibrator.C
+++ b/Projects/E805/calibration/Energy/EnergyCalibrator.C
@@ -24,7 +24,7 @@ void AutoCalibration(int Telescope_Start, int Telescope_End, std::string fDet="M
     }
     main_name = FolderName.str() ;
     TString make_folder = "mkdir ./Calibration/" + main_name ;   
-    folder = "./Calibration/" + FolderName.str() ;
+    folder = "./Calibration/" + main_name ;
     system(make_folder);
     system(make_folder+"/peaks");
     system(make_folder+"/dispersion");
-- 
GitLab