From 3c6f1a213b0110bf912cc13c392d4fa4509c5df5 Mon Sep 17 00:00:00 2001
From: Morfouace <pierre.morfouace@cea.fr>
Date: Thu, 13 Oct 2022 17:39:27 +0200
Subject: [PATCH] Updating sofia analysis

---
 NPLib/Detectors/Sofia/TSofTwimPhysics.cxx     |  19 +--
 NPLib/Detectors/Sofia/TSofTwimPhysics.h       |   1 +
 Projects/s455/Analysis.cxx                    |  18 +--
 .../s455/calibration/SofTwim/SofTwim_Time.cal | 128 +++++++++---------
 4 files changed, 84 insertions(+), 82 deletions(-)

diff --git a/NPLib/Detectors/Sofia/TSofTwimPhysics.cxx b/NPLib/Detectors/Sofia/TSofTwimPhysics.cxx
index 5add799dc..f5f1a5e66 100644
--- a/NPLib/Detectors/Sofia/TSofTwimPhysics.cxx
+++ b/NPLib/Detectors/Sofia/TSofTwimPhysics.cxx
@@ -48,7 +48,8 @@ TSofTwimPhysics::TSofTwimPhysics()
   m_PreTreatedData(new TSofTwimData),
   m_EventPhysics(this),
   m_NumberOfDetectors(0), 
-  m_Beta(-1), 
+  m_Beta(-1),
+  m_AnodeWidth(25.),
   m_BetaNorm(0.838), 
   m_NumberOfSections(4),
   m_SPLINE_CORRECTION(0),
@@ -181,7 +182,7 @@ void TSofTwimPhysics::BuildPhysicalEvent() {
     double ysum=0;
     double xysum=0;
     for(int p=0; p<12; p++){
-      double Z = p*31;
+      double Z = m_AnodeWidth/2 + p*m_AnodeWidth;
       double X = AnodeDriftTime[0][p+2];
 
       xsum = xsum + Z;
@@ -191,7 +192,7 @@ void TSofTwimPhysics::BuildPhysicalEvent() {
     }
 
     double p1 = (12*xysum -xsum*ysum)/(12*x2sum - xsum*xsum);
-    Theta1 = p1;
+    Theta1 = atan(p1);
     Theta.push_back(-Theta1);
   }
   if(Esec2>0){
@@ -205,7 +206,7 @@ void TSofTwimPhysics::BuildPhysicalEvent() {
     double ysum=0;
     double xysum=0;
     for(int p=0; p<12; p++){
-      double Z = p*31;
+      double Z = m_AnodeWidth/2 + p*m_AnodeWidth;
       double X = AnodeDriftTime[1][p+2];
 
       xsum = xsum + Z;
@@ -215,7 +216,7 @@ void TSofTwimPhysics::BuildPhysicalEvent() {
     }
 
     double p1 = (12*xysum -xsum*ysum)/(12*x2sum - xsum*xsum);
-    Theta2 = p1; 
+    Theta2 = atan(p1); 
     Theta.push_back(-Theta2);
   }
   if(Esec3>0){
@@ -229,7 +230,7 @@ void TSofTwimPhysics::BuildPhysicalEvent() {
     double ysum=0;
     double xysum=0;
     for(int p=0; p<12; p++){
-      double Z = p*31;
+      double Z = m_AnodeWidth/2 + p*m_AnodeWidth;
       double X = AnodeDriftTime[2][p+2];
 
       xsum = xsum + Z;
@@ -239,7 +240,7 @@ void TSofTwimPhysics::BuildPhysicalEvent() {
     }
 
     double p1 = (12*xysum -xsum*ysum)/(12*x2sum - xsum*xsum);
-    Theta3 = p1;
+    Theta3 = atan(p1);
     Theta.push_back(-Theta3);
   }
   if(Esec4>0){
@@ -253,7 +254,7 @@ void TSofTwimPhysics::BuildPhysicalEvent() {
     double ysum=0;
     double xysum=0;
     for(int p=0; p<12; p++){
-      double Z = p*31;
+      double Z = m_AnodeWidth/2 + p*m_AnodeWidth;
       double X = AnodeDriftTime[3][p+2];
 
       xsum = xsum + Z;
@@ -263,7 +264,7 @@ void TSofTwimPhysics::BuildPhysicalEvent() {
     }
 
     double p1 = (12*xysum -xsum*ysum)/(12*x2sum - xsum*xsum);
-    Theta4 = p1;
+    Theta4 = atan(p1);
     Theta.push_back(-Theta4);
   }
 
diff --git a/NPLib/Detectors/Sofia/TSofTwimPhysics.h b/NPLib/Detectors/Sofia/TSofTwimPhysics.h
index fdd35f04a..d4fdd1962 100644
--- a/NPLib/Detectors/Sofia/TSofTwimPhysics.h
+++ b/NPLib/Detectors/Sofia/TSofTwimPhysics.h
@@ -152,6 +152,7 @@ class TSofTwimPhysics : public TObject, public NPL::VDetector {
   private:
     double m_E_Threshold;     //!
     double m_Beta;     //!
+    double m_AnodeWidth; //!
     double m_BetaNorm;     //!
     string m_SPLINE_DT_PATH;     //!
     bool m_SPLINE_CORRECTION; //!
diff --git a/Projects/s455/Analysis.cxx b/Projects/s455/Analysis.cxx
index 4bb6f84a5..421c79723 100644
--- a/Projects/s455/Analysis.cxx
+++ b/Projects/s455/Analysis.cxx
@@ -560,12 +560,13 @@ void Analysis::FissionFragmentAnalysis(){
       // *** Calculation Theta_out *** //
       double Theta0 = 20.*deg;
       double XA = 0;
-      double ZA = 2328.;
+      double ZA = 2272;
       double Zfission = 335.;
-      double ZGlad_entrance = 2724.;
+      double ZGlad_entrance = 2694.;
       double Leff_init = 2150.;
-      double ZG = ZGlad_entrance+Leff_init/2;
-      double ZMW3 = 8483;
+      //double ZG = ZGlad_entrance+Leff_init/2;
+      double ZG = ZGlad_entrance+540;
+      double ZMW3 = 8450;//8483;
       double XMW3 = -(ZMW3-ZG)*tan(Theta0);
       double ZMW2 = 2576;
       double X3lab = 0;
@@ -583,7 +584,6 @@ void Analysis::FissionFragmentAnalysis(){
       for(int i=0; i<2; i++){
         XA = TofHit[i].DT;
         if(XA != -1e6){
-          ZG = ZGlad_entrance+Leff_init/2;
           XC = (XA+(ZG-ZA)*tan(TofHit[i].theta_in)) / (1-tan(Tilt)*tan(TofHit[i].theta_in));
           ZC = ZG + XC*tan(Tilt);
           
@@ -689,10 +689,10 @@ void Analysis::FissionFragmentAnalysis(){
       SofFF->SetPosY3(TofHit[0].y3);
       SofFF->SetPosY3(TofHit[1].y3);
 
-      SofFF->SetThetaIn(TofHit[0].theta_in);
-      SofFF->SetThetaIn(TofHit[1].theta_in);
-      SofFF->SetThetaOut(TofHit[0].theta_out);
-      SofFF->SetThetaOut(TofHit[1].theta_out);
+      SofFF->SetThetaIn(TofHit[0].theta_in/deg);
+      SofFF->SetThetaIn(TofHit[1].theta_in/deg);
+      SofFF->SetThetaOut(TofHit[0].theta_out/deg);
+      SofFF->SetThetaOut(TofHit[1].theta_out/deg);
 
       SofFF->SetBeta(Beta_Z1);
       SofFF->SetBeta(Beta_Z2);
diff --git a/Projects/s455/calibration/SofTwim/SofTwim_Time.cal b/Projects/s455/calibration/SofTwim/SofTwim_Time.cal
index a9d56a408..8565c2b83 100644
--- a/Projects/s455/calibration/SofTwim/SofTwim_Time.cal
+++ b/Projects/s455/calibration/SofTwim/SofTwim_Time.cal
@@ -1,64 +1,64 @@
-SofTwim_SEC1_ANODE1_TIME 106.234 -0.00519492
-SofTwim_SEC1_ANODE2_TIME 108.837 -0.0052846
-SofTwim_SEC1_ANODE3_TIME 109.066 -0.00533216
-SofTwim_SEC1_ANODE4_TIME 110.172 -0.00535131
-SofTwim_SEC1_ANODE5_TIME 110.63 -0.0053861
-SofTwim_SEC1_ANODE6_TIME 110.757 -0.00545406
-SofTwim_SEC1_ANODE7_TIME 112.258 -0.00551423
-SofTwim_SEC1_ANODE8_TIME 111.72 -0.00552257
-SofTwim_SEC1_ANODE9_TIME 111.367 -0.00548824
-SofTwim_SEC1_ANODE10_TIME 111.724 -0.00550896
-SofTwim_SEC1_ANODE11_TIME 112.582 -0.00557901
-SofTwim_SEC1_ANODE12_TIME 112.841 -0.0056029
-SofTwim_SEC1_ANODE13_TIME 112.763 -0.00559341
-SofTwim_SEC1_ANODE14_TIME 112.895 -0.00560807
-SofTwim_SEC1_ANODE15_TIME 113.038 -0.0056353
-SofTwim_SEC1_ANODE16_TIME 112.9 -0.00565947
-SofTwim_SEC2_ANODE1_TIME 100.939 -0.00492907
-SofTwim_SEC2_ANODE2_TIME 102.272 -0.00499901
-SofTwim_SEC2_ANODE3_TIME 102.45 -0.00500725
-SofTwim_SEC2_ANODE4_TIME 103.413 -0.00505929
-SofTwim_SEC2_ANODE5_TIME 104.108 -0.00507707
-SofTwim_SEC2_ANODE6_TIME 105.347 -0.005184
-SofTwim_SEC2_ANODE7_TIME 106.29 -0.00522034
-SofTwim_SEC2_ANODE8_TIME 106.784 -0.00523956
-SofTwim_SEC2_ANODE9_TIME 106.611 -0.00524248
-SofTwim_SEC2_ANODE10_TIME 107.551 -0.00527529
-SofTwim_SEC2_ANODE11_TIME 108.595 -0.00536902
-SofTwim_SEC2_ANODE12_TIME 109.735 -0.00543531
-SofTwim_SEC2_ANODE13_TIME 109.359 -0.00540933
-SofTwim_SEC2_ANODE14_TIME 109.771 -0.005434
-SofTwim_SEC2_ANODE15_TIME 110.653 -0.00549802
-SofTwim_SEC2_ANODE16_TIME 109.511 -0.00545609
-SofTwim_SEC3_ANODE1_TIME -108.108 0.00507708
-SofTwim_SEC3_ANODE2_TIME -110.63 0.00519973
-SofTwim_SEC3_ANODE3_TIME -112.126 0.00527345
-SofTwim_SEC3_ANODE4_TIME -114.148 0.00537834
-SofTwim_SEC3_ANODE5_TIME -114.621 0.0053956
-SofTwim_SEC3_ANODE6_TIME -114.556 0.00537221
-SofTwim_SEC3_ANODE7_TIME -114.501 0.00535282
-SofTwim_SEC3_ANODE8_TIME -115.47 0.00540724
-SofTwim_SEC3_ANODE9_TIME -116.863 0.00549691
-SofTwim_SEC3_ANODE10_TIME -117.058 0.0055027
-SofTwim_SEC3_ANODE11_TIME -116.603 0.00546326
-SofTwim_SEC3_ANODE12_TIME -117.314 0.00549199
-SofTwim_SEC3_ANODE13_TIME -118.209 0.00554472
-SofTwim_SEC3_ANODE14_TIME -119.143 0.00558838
-SofTwim_SEC3_ANODE15_TIME -118.284 0.00553711
-SofTwim_SEC3_ANODE16_TIME -116.716 0.00545196
-SofTwim_SEC4_ANODE1_TIME -109.824 0.00519356
-SofTwim_SEC4_ANODE2_TIME -111.177 0.00524939
-SofTwim_SEC4_ANODE3_TIME -112.216 0.00530218
-SofTwim_SEC4_ANODE4_TIME -113.214 0.00535402
-SofTwim_SEC4_ANODE5_TIME -113.764 0.00537739
-SofTwim_SEC4_ANODE6_TIME -114.096 0.00536772
-SofTwim_SEC4_ANODE7_TIME -114.205 0.00536024
-SofTwim_SEC4_ANODE8_TIME -114.92 0.00539681
-SofTwim_SEC4_ANODE9_TIME -115.853 0.0054645
-SofTwim_SEC4_ANODE10_TIME -116.427 0.00548804
-SofTwim_SEC4_ANODE11_TIME -116.342 0.00546499
-SofTwim_SEC4_ANODE12_TIME -116.811 0.00547963
-SofTwim_SEC4_ANODE13_TIME -117.445 0.00552009
-SofTwim_SEC4_ANODE14_TIME -117.827 0.00553216
-SofTwim_SEC4_ANODE15_TIME -117.688 0.00551745
-SofTwim_SEC4_ANODE16_TIME -117.428 0.00550264
+SofTwim_SEC1_ANODE1_TIME 109.537 -0.00534945
+SofTwim_SEC1_ANODE2_TIME 111.621 -0.00541359
+SofTwim_SEC1_ANODE3_TIME 111.397 -0.00544071
+SofTwim_SEC1_ANODE4_TIME 112.058 -0.00543889
+SofTwim_SEC1_ANODE5_TIME 112.165 -0.00545889
+SofTwim_SEC1_ANODE6_TIME 111.8 -0.00550372
+SofTwim_SEC1_ANODE7_TIME 112.913 -0.00554639
+SofTwim_SEC1_ANODE8_TIME 111.999 -0.00553735
+SofTwim_SEC1_ANODE9_TIME 111.32 -0.00548804
+SofTwim_SEC1_ANODE10_TIME 111.261 -0.00548909
+SofTwim_SEC1_ANODE11_TIME 111.772 -0.00554234
+SofTwim_SEC1_ANODE12_TIME 111.63 -0.00554632
+SofTwim_SEC1_ANODE13_TIME 111.215 -0.0055214
+SofTwim_SEC1_ANODE14_TIME 110.99 -0.0055181
+SofTwim_SEC1_ANODE15_TIME 110.799 -0.0055292
+SofTwim_SEC1_ANODE16_TIME 110.288 -0.00553394
+SofTwim_SEC2_ANODE1_TIME 109.602 -0.0053799
+SofTwim_SEC2_ANODE2_TIME 110.404 -0.00541259
+SofTwim_SEC2_ANODE3_TIME 110.914 -0.00544014
+SofTwim_SEC2_ANODE4_TIME 110.893 -0.00544028
+SofTwim_SEC2_ANODE5_TIME 111.711 -0.00545566
+SofTwim_SEC2_ANODE6_TIME 111.456 -0.00550666
+SofTwim_SEC2_ANODE7_TIME 112.444 -0.00554166
+SofTwim_SEC2_ANODE8_TIME 112.154 -0.00551497
+SofTwim_SEC2_ANODE9_TIME 111.03 -0.00548973
+SofTwim_SEC2_ANODE10_TIME 111.64 -0.00549024
+SofTwim_SEC2_ANODE11_TIME 111.365 -0.00553467
+SofTwim_SEC2_ANODE12_TIME 111.445 -0.00554939
+SofTwim_SEC2_ANODE13_TIME 111.059 -0.00552534
+SofTwim_SEC2_ANODE14_TIME 110.962 -0.00552616
+SofTwim_SEC2_ANODE15_TIME 110.868 -0.00554525
+SofTwim_SEC2_ANODE16_TIME 110.634 -0.00556837
+SofTwim_SEC3_ANODE1_TIME -112.257 0.00532648
+SofTwim_SEC3_ANODE2_TIME -113.195 0.00536318
+SofTwim_SEC3_ANODE3_TIME -113.86 0.00539289
+SofTwim_SEC3_ANODE4_TIME -114.379 0.00542028
+SofTwim_SEC3_ANODE5_TIME -114.631 0.005426
+SofTwim_SEC3_ANODE6_TIME -114.645 0.00540386
+SofTwim_SEC3_ANODE7_TIME -114.591 0.0053859
+SofTwim_SEC3_ANODE8_TIME -114.976 0.00541059
+SofTwim_SEC3_ANODE9_TIME -115.636 0.00546166
+SofTwim_SEC3_ANODE10_TIME -115.765 0.00546192
+SofTwim_SEC3_ANODE11_TIME -115.456 0.00542886
+SofTwim_SEC3_ANODE12_TIME -115.695 0.00543433
+SofTwim_SEC3_ANODE13_TIME -115.99 0.00545443
+SofTwim_SEC3_ANODE14_TIME -116.133 0.00545878
+SofTwim_SEC3_ANODE15_TIME -115.851 0.005439
+SofTwim_SEC3_ANODE16_TIME -115.648 0.00543744
+SofTwim_SEC4_ANODE1_TIME -112.288 0.00531532
+SofTwim_SEC4_ANODE2_TIME -113.376 0.00535933
+SofTwim_SEC4_ANODE3_TIME -114.12 0.00539858
+SofTwim_SEC4_ANODE4_TIME -114.794 0.00543375
+SofTwim_SEC4_ANODE5_TIME -115.006 0.00544076
+SofTwim_SEC4_ANODE6_TIME -115.005 0.00541448
+SofTwim_SEC4_ANODE7_TIME -114.821 0.00539254
+SofTwim_SEC4_ANODE8_TIME -115.21 0.00541328
+SofTwim_SEC4_ANODE9_TIME -115.837 0.0054662
+SofTwim_SEC4_ANODE10_TIME -116.109 0.00547507
+SofTwim_SEC4_ANODE11_TIME -115.721 0.00543661
+SofTwim_SEC4_ANODE12_TIME -115.892 0.00543639
+SofTwim_SEC4_ANODE13_TIME -116.175 0.00545815
+SofTwim_SEC4_ANODE14_TIME -116.265 0.00545552
+SofTwim_SEC4_ANODE15_TIME -115.866 0.00542769
+SofTwim_SEC4_ANODE16_TIME -115.346 0.00539913
-- 
GitLab