From 2166886e0cdf0934747e5ef34b903204a98d16fa Mon Sep 17 00:00:00 2001 From: Morfouace <pierre.morfouace@cea.fr> Date: Thu, 6 Oct 2022 15:53:35 +0200 Subject: [PATCH] Updating Sofia analysis --- NPLib/Detectors/Sofia/GladFieldMap.cxx | 29 ++-- NPLib/Detectors/Sofia/GladFieldMap.h | 22 ++- NPLib/Detectors/Sofia/TSofMwpcPhysics.cxx | 13 +- NPLib/Detectors/Sofia/TSofTwimPhysics.cxx | 32 +++-- NPLib/Detectors/Sofia/TSofTwimPhysics.h | 7 +- Projects/s455/Analysis.cxx | 57 ++++---- Projects/s455/RunToTreat.txt | 10 +- .../calibration/SofSci/SofSci_physics.cal | 4 +- .../SofTrim/SofTrim_SectionAlign.cal | 4 +- .../s455/calibration/SofTwim/SofTwim_Time.cal | 134 +++++++++--------- 10 files changed, 177 insertions(+), 135 deletions(-) diff --git a/NPLib/Detectors/Sofia/GladFieldMap.cxx b/NPLib/Detectors/Sofia/GladFieldMap.cxx index 105b145ec..d23730c12 100644 --- a/NPLib/Detectors/Sofia/GladFieldMap.cxx +++ b/NPLib/Detectors/Sofia/GladFieldMap.cxx @@ -44,11 +44,19 @@ GladFieldMap::GladFieldMap() { m_func = ROOT::Math::Functor(this,&GladFieldMap::Delta,1); m_min->SetFunction(m_func); m_min->SetPrintLevel(-1); + m_Bmax = 2.2; m_bin = 50; - m_Scale = -2135./3583.81; + m_Current = 2135.; + m_Scale = m_Current/3583.81; m_Z_Glad = 2724.; - m_Leff = 2.*m; m_Tilt = 14.*deg; + m_B = m_Scale*m_Bmax; + for(int i=0; i<81; i++){ + for(int j=0; j<41; j++){ + m_Leff[i][j] = 0; + } + } + m_Zmax = 8.5*m; m_Limit = 1000; @@ -332,8 +340,7 @@ void GladFieldMap::LoadMap(string filename) { unsigned int count=0; int index = 0; - //while(!ifile.eof()){ - //for(unsigned int i=0; i<401841; i++){ + TGraph* gBy = new TGraph(); for(int ix=0; ix<m_Nx; ix++){ for(int iy=0; iy<m_Ny; iy++){ for(int iz=0; iz<m_Nz; iz++){ @@ -348,26 +355,30 @@ void GladFieldMap::LoadMap(string filename) { x = x*10; y = y*10; z = z*10; + + //m_Leff[ix][iy] += abs(By)*m_bin; + // Need to fill this TGraph before scaling the field to get the proper Leff // + gBy->SetPoint(iz,z,abs(By)); z = z + x*sin(m_Tilt); z += m_Z_Glad; - Bx *= m_Scale; - By *= m_Scale; - Bz *= m_Scale; + Bx *= -m_Scale; + By *= -m_Scale; + Bz *= -m_Scale; m_Bx.push_back(Bx*tesla); m_By.push_back(By*tesla); m_Bz.push_back(Bz*tesla); - - /*vector<double> p = {x,y,z}; + /*vector<double> p = {x,y,z}; Bx*=tesla; By*=tesla; Bz*=tesla; vector<double> B = {Bx,By,Bz}; m_field[p] = B;*/ } + m_Leff[ix][iy] = gBy->Integral()/m_Bmax; } } diff --git a/NPLib/Detectors/Sofia/GladFieldMap.h b/NPLib/Detectors/Sofia/GladFieldMap.h index 155861800..5eac86cb3 100644 --- a/NPLib/Detectors/Sofia/GladFieldMap.h +++ b/NPLib/Detectors/Sofia/GladFieldMap.h @@ -51,8 +51,11 @@ class GladFieldMap{ vector<double> m_Bx; vector<double> m_By; vector<double> m_Bz; + double m_Bmax; + double m_B; + double m_Current; double m_Z_Glad; - double m_Leff; + double m_Leff[81][41]; double m_Tilt; int m_Nx; int m_Ny; @@ -86,9 +89,14 @@ class GladFieldMap{ public: void SetZGlad(double val) {m_Z_Glad = val;} - void SetLeff(double val) {m_Leff = val;} + void SetLeff(int ix, int iy, double val) {m_Leff[ix][iy] = val;} void SetGladTiltAngle(double val) {m_Tilt = val;} void SetScale(double val) {m_Scale = val;} + void SetCurrent(double val){ + m_Current = val; + m_Scale = m_Current/3583.81; + m_B = 2.2*m_Scale; + } void SetCentralTheta(double val) {m_CentralTheta = val;} void SetX_MWPC3(double val) {m_X_MWPC3 = val;} @@ -101,6 +109,16 @@ class GladFieldMap{ void SetInitPos(TVector3 Pos) {m_InitPos = Pos;} void SetInitDir(TVector3 Dir) {m_InitPos = Dir;} + public: + double GetLeff(int ix, int iy) {return m_Leff[ix][iy];} + double GetB() {return m_B;} + double GetXmin() {return m_x_min;} + double GetXmax() {return m_x_max;} + double GetYmin() {return m_y_min;} + double GetYmax() {return m_y_max;} + double GetZmin() {return m_z_min;} + double GetZmax() {return m_z_max;} + public: void LoadMap(string filename); vector<double> InterpolateB(const vector<double>& pos); diff --git a/NPLib/Detectors/Sofia/TSofMwpcPhysics.cxx b/NPLib/Detectors/Sofia/TSofMwpcPhysics.cxx index 2bf422432..cc2d1ca6d 100644 --- a/NPLib/Detectors/Sofia/TSofMwpcPhysics.cxx +++ b/NPLib/Detectors/Sofia/TSofMwpcPhysics.cxx @@ -148,10 +148,11 @@ void TSofMwpcPhysics::BuildPhysicalEvent() { } } - double X1 = -1000; - double X2 = -1000; - double Y = -1000; for(int i=0; i<m_NumberOfDetectors; i++){ + double X1 = -1000; + double X2 = -1000; + double Y = -1000; + int det_num = i+1; if(det_num<4){ double qleft = Buffer_X1_Q[i][StripMaxX1[i]-1]; @@ -177,6 +178,8 @@ void TSofMwpcPhysics::BuildPhysicalEvent() { PositionX1.push_back(X1); PositionX2.push_back(X2); PositionY.push_back(Y); + + //cout << det_num << " " << X1 << " " << X2 << " " << Y << endl; } if(det_num==4 && fPairX.size()>0 && fPairY.size()>0){ @@ -196,12 +199,12 @@ void TSofMwpcPhysics::BuildPhysicalEvent() { } else break; } - + // *** Finding Y clusters *** // while(GetChargeMax(fPairY) > fThresholdY && fPairY.size() > 4){ const auto pelt = max_element(fPairY.begin(), fPairY.end(), compare_charge); int indice = distance(fPairY.begin(), pelt); - + if(indice>0 && indice<fPairY.size()-1){ fClusterY.push_back(FindCluster(fPairY)); } diff --git a/NPLib/Detectors/Sofia/TSofTwimPhysics.cxx b/NPLib/Detectors/Sofia/TSofTwimPhysics.cxx index 449d8db1f..d0fe83970 100644 --- a/NPLib/Detectors/Sofia/TSofTwimPhysics.cxx +++ b/NPLib/Detectors/Sofia/TSofTwimPhysics.cxx @@ -50,7 +50,8 @@ TSofTwimPhysics::TSofTwimPhysics() m_NumberOfDetectors(0), m_Beta(-1), m_BetaNorm(0.838), - m_NumberOfSections(4), + m_NumberOfSections(4), + m_SPLINE_CORRECTION(0), m_NumberOfAnodesPerSection(16) { } @@ -225,6 +226,12 @@ void TSofTwimPhysics::PreTreat() { double Energy = Cal->ApplyCalibration("SofTwim/SEC"+NPL::itoa(m_EventData->GetSectionNbr(i))+"_ANODE"+NPL::itoa(m_EventData->GetAnodeNbr(i))+"_ENERGY",m_EventData->GetEnergy(i)); double DT = Cal->ApplyCalibration("SofTwim/SEC"+NPL::itoa(m_EventData->GetSectionNbr(i))+"_ANODE"+NPL::itoa(m_EventData->GetAnodeNbr(i))+"_TIME",m_EventData->GetDriftTime(i)); + int section = m_EventData->GetSectionNbr(i); + int anode = m_EventData->GetAnodeNbr(i); + if(m_SPLINE_CORRECTION){ + DT = DT - fcorr_dt[section-1][anode-1]->Eval(DT); + } + m_PreTreatedData->SetSectionNbr(m_EventData->GetSectionNbr(i)); m_PreTreatedData->SetAnodeNbr(m_EventData->GetAnodeNbr(i)); m_PreTreatedData->SetEnergy(Energy); @@ -280,11 +287,11 @@ void TSofTwimPhysics::ReadAnalysisConfig() { AnalysisConfigFile.ignore(numeric_limits<streamsize>::max(), '\n' ); } - else if (whatToDo=="SPLINE_SECTION_BETA_PATH") { + else if (whatToDo=="SPLINE_CORR_DT_PATH") { AnalysisConfigFile >> DataBuffer; - m_SPLINE_SECTION_BETA_PATH = DataBuffer; - cout << "*** Loading Spline for Beta correction per section ***" << endl; - LoadSplineBeta(); + m_SPLINE_DT_PATH = DataBuffer; + cout << "*** Loading Spline for Drift Time Correction per section and anode ***" << endl; + LoadSplineDT(); } else if (whatToDo=="E_THRESHOLD") { @@ -302,16 +309,21 @@ void TSofTwimPhysics::ReadAnalysisConfig() { /////////////////////////////////////////////////////////////////////////// -void TSofTwimPhysics::LoadSplineBeta(){ - TString filename = m_SPLINE_SECTION_BETA_PATH; +void TSofTwimPhysics::LoadSplineDT(){ + TString filename = m_SPLINE_DT_PATH; TFile* ifile = new TFile(filename,"read"); if(ifile->IsOpen()){ cout << "Loading splines..." << endl; + + m_SPLINE_CORRECTION = true; + for(int s=0; s<m_NumberOfSections; s++){ - TString splinename = Form("spline_sec%i",s+1); - fcorr_beta_sec[s] = (TSpline3*) ifile->FindObjectAny(splinename); - cout << fcorr_beta_sec[s]->GetName() << endl; + for(int a=0; a<m_NumberOfAnodesPerSection; a++){ + TString splinename = Form("spline_corr_dt_sec%i_anode%i",s+1,a+1); + fcorr_dt[s][a] = (TSpline3*) ifile->FindObjectAny(splinename); + cout << fcorr_dt[s][a]->GetName() << endl; + } } } else diff --git a/NPLib/Detectors/Sofia/TSofTwimPhysics.h b/NPLib/Detectors/Sofia/TSofTwimPhysics.h index ac10c26c9..fdd35f04a 100644 --- a/NPLib/Detectors/Sofia/TSofTwimPhysics.h +++ b/NPLib/Detectors/Sofia/TSofTwimPhysics.h @@ -131,7 +131,7 @@ class TSofTwimPhysics : public TObject, public NPL::VDetector { // needed for online analysis for example void SetRawDataPointer(TSofTwimData* rawDataPointer) {m_EventData = rawDataPointer;} - void LoadSplineBeta(); + void LoadSplineDT(); void SetBeta(double beta) {m_Beta = beta;} double GetBeta() {return m_Beta;} @@ -153,10 +153,11 @@ class TSofTwimPhysics : public TObject, public NPL::VDetector { double m_E_Threshold; //! double m_Beta; //! double m_BetaNorm; //! - string m_SPLINE_SECTION_BETA_PATH; //! + string m_SPLINE_DT_PATH; //! + bool m_SPLINE_CORRECTION; //! private: - TSpline3* fcorr_beta_sec[4]; //! + TSpline3* fcorr_dt[4][16]; //! // number of detectors private: diff --git a/Projects/s455/Analysis.cxx b/Projects/s455/Analysis.cxx index 940c3947d..6ed3caddd 100644 --- a/Projects/s455/Analysis.cxx +++ b/Projects/s455/Analysis.cxx @@ -57,6 +57,9 @@ struct TofPair double y3 = -1000; double x3lab = 0; double z3lab = 0; + double xc = 0; + double yc = 0; + double zc = 0; }; @@ -79,9 +82,8 @@ void Analysis::Init(){ SofMwpc= (TSofMwpcPhysics*) m_DetectorManager->GetDetector("SofMwpc"); m_GladField = new GladFieldMap(); - m_GladField->SetScale(-2135./3583.81); + m_GladField->SetCurrent(2135.); m_GladField->SetZGlad(2724.); - m_GladField->SetLeff(2.067*m); m_GladField->SetGladTiltAngle(14.*deg); m_GladField->LoadMap("GladFieldMap.dat"); m_GladField->SetCentralTheta(20.*deg); @@ -556,14 +558,12 @@ void Analysis::FissionFragmentAnalysis(){ // *** Calculation Theta_out *** // double Theta0 = 20.*deg; - double XA; + double XA = 0; double ZA = 2328.; //double ZA = 2328.-4434.; - double XC; - double ZG = 4434.; - double ZC; - double XMW3 = -1436.; - double ZMW3 = 8380; + double ZG = 2724+1075;//4434.; + double ZMW3 = 8483; + double XMW3 = -(ZMW3-ZG)*tan(Theta0); double ZMW2 = 2576; double X3lab = 0; double Z3lab = 0;; @@ -576,9 +576,10 @@ void Analysis::FissionFragmentAnalysis(){ TVector3 FinalPos[2]; for(int i=0; i<2; i++){ XA = TofHit[i].DT; - XC = (XA+(ZG-ZA)*tan(TofHit[i].theta_in)) / (1-tan(Tilt)*tan(TofHit[i].theta_in)); - ZC = ZG + XC*tan(Tilt); - + TofHit[i].xc = (XA+(ZG-ZA)*tan(TofHit[i].theta_in)) / (1-tan(Tilt)*tan(TofHit[i].theta_in)); + TofHit[i].yc = TofHit[i].y*0.5; + TofHit[i].zc = ZG + TofHit[i].xc*tan(Tilt); + X3lab = TofHit[i].x3*cos(Theta0) + XMW3; Z3lab = TofHit[i].x3*sin(Theta0) + ZMW3; TofHit[i].x3lab = X3lab; @@ -588,8 +589,8 @@ void Analysis::FissionFragmentAnalysis(){ InitDir[i] = TVector3(sin(TofHit[i].theta_in),0,cos(TofHit[i].theta_in)); FinalPos[i] = TVector3(X3lab,0,Z3lab); - vC = TVector3(XC,0,ZC); - vOut = TVector3(X3lab-XC,0,Z3lab-ZC); + vC = TVector3(TofHit[i].xc,0,TofHit[i].zc); + vOut = TVector3(X3lab-TofHit[i].xc,0,Z3lab-TofHit[i].zc); double PathLength = vC.Mag() + vOut.Mag() + 74.; PathLength = PathLength/1000.; @@ -619,22 +620,24 @@ void Analysis::FissionFragmentAnalysis(){ iZsum = iZ1 + iZ2; } - double MagB = 2185*2.2/3584; - double Bx = 0; - double By = MagB/1000.; - double Bz = 0; - TVector3 B = TVector3(Bx,By,Bz); - double Leff = 2.067; - /*double rho1 = Leff/abs(2*sin(0.5*(TofHit[0].theta_out-TofHit[0].theta_in))*cos(Tilt-0.5*(TofHit[0].theta_out-TofHit[0].theta_in))); - double rho2 = Leff/abs(2*sin(0.5*(TofHit[1].theta_out-TofHit[1].theta_in))*cos(Tilt-0.5*(TofHit[1].theta_out-TofHit[1].theta_in))); - double Brho1 = MagB*rho1; - double Brho2 = MagB*rho2;*/ - - double Brho1 = 0; + double MagB = m_GladField->GetB()/1000; + int ix, iy; + ix = (int)(TofHit[0].xc - m_GladField->GetXmin())/50; + iy = (int)(TofHit[0].yc - m_GladField->GetYmin())/50; + double Leff1 = m_GladField->GetLeff(ix,iy); + ix = (int)(TofHit[1].xc - m_GladField->GetXmin())/50; + iy = (int)(TofHit[1].yc - m_GladField->GetYmin())/50; + double Leff2 = m_GladField->GetLeff(ix,iy); + double rho1 = Leff1/abs(2*sin(0.5*(TofHit[0].theta_out-TofHit[0].theta_in))*cos(Tilt-0.5*(TofHit[0].theta_out-TofHit[0].theta_in))); + double rho2 = Leff2/abs(2*sin(0.5*(TofHit[1].theta_out-TofHit[1].theta_in))*cos(Tilt-0.5*(TofHit[1].theta_out-TofHit[1].theta_in))); + double Brho1 = MagB*rho1; + double Brho2 = MagB*rho2; + + /*double Brho1 = 0; double Brho2 = 0; Brho1 = m_GladField->FindBrho(InitPos[0], InitDir[0], FinalPos[0]); Brho2 = m_GladField->FindBrho(InitPos[1], InitDir[1], FinalPos[1]); - //cout << Brho1 << " " << Brho2 << endl; + //cout << Brho1 << " " << Brho2 << endl;*/ Beta_Z1 = TofHit[0].beta; Beta_Z2 = TofHit[1].beta; @@ -824,7 +827,7 @@ void Analysis::InitParameter(){ fK_LS2 = -30e-8; fBrho0 = 12.3255; - fRunID = 12; + fRunID = 5; // Beam parameter // fZBeta_p0 = 1; diff --git a/Projects/s455/RunToTreat.txt b/Projects/s455/RunToTreat.txt index 96e1b4884..b75d3cc6c 100644 --- a/Projects/s455/RunToTreat.txt +++ b/Projects/s455/RunToTreat.txt @@ -55,8 +55,8 @@ RootFileName %/media/sofia/s455/raw/run_raw_0401.root %% 187Pb - %/media/sofia/s455/raw/run_raw_0402.root - %/media/sofia/s455/raw/run_raw_0403.root + /media/sofia/s455/raw/run_raw_0402.root + /media/sofia/s455/raw/run_raw_0403.root %% 184Hg %/media/sofia/s455/raw/run_raw_0404.root @@ -85,6 +85,6 @@ RootFileName %/media/sofia/s455/raw/run_raw_0426.root %% 197At - /media/sofia/s455/raw/run_raw_0427.root - /media/sofia/s455/raw/run_raw_0428.root - /media/sofia/s455/raw/run_raw_0429.root + %/media/sofia/s455/raw/run_raw_0427.root + %/media/sofia/s455/raw/run_raw_0428.root + %/media/sofia/s455/raw/run_raw_0429.root diff --git a/Projects/s455/calibration/SofSci/SofSci_physics.cal b/Projects/s455/calibration/SofSci/SofSci_physics.cal index 8778ee911..b5d573448 100644 --- a/Projects/s455/calibration/SofSci/SofSci_physics.cal +++ b/Projects/s455/calibration/SofSci/SofSci_physics.cal @@ -1,4 +1,4 @@ -SofSci_TOF2INV_V -8.0515 0.00737389 +SofSci_TOF2INV_V -8.04267 0.00737389 SofSci_LENGTH_S2 135.614 -SofSci_DET1_POSPAR 45.0 80.0 +SofSci_DET1_POSPAR 90 54.6 SofSci_DET2_POSPAR 943.287 86.652 diff --git a/Projects/s455/calibration/SofTrim/SofTrim_SectionAlign.cal b/Projects/s455/calibration/SofTrim/SofTrim_SectionAlign.cal index 37d3efaaa..80e81ae38 100644 --- a/Projects/s455/calibration/SofTrim/SofTrim_SectionAlign.cal +++ b/Projects/s455/calibration/SofTrim/SofTrim_SectionAlign.cal @@ -1,3 +1,3 @@ -SofTrim_SEC1_ALIGN -457.863 1.03809 +SofTrim_SEC1_ALIGN 14.3427 1.02007 SofTrim_SEC2_ALIGN 0 1 -SofTrim_SEC3_ALIGN -2599.29 1.18757 +SofTrim_SEC3_ALIGN -2905.47 1.2027 diff --git a/Projects/s455/calibration/SofTwim/SofTwim_Time.cal b/Projects/s455/calibration/SofTwim/SofTwim_Time.cal index fad7b8f79..a9d56a408 100644 --- a/Projects/s455/calibration/SofTwim/SofTwim_Time.cal +++ b/Projects/s455/calibration/SofTwim/SofTwim_Time.cal @@ -1,70 +1,64 @@ -SofTwim_SEC1_ANODE1_TIME 140 -0.0067 -SofTwim_SEC1_ANODE2_TIME 140 -0.0067 -SofTwim_SEC1_ANODE3_TIME 140 -0.0067 -SofTwim_SEC1_ANODE4_TIME 140 -0.0067 -SofTwim_SEC1_ANODE5_TIME 140 -0.0067 -SofTwim_SEC1_ANODE6_TIME 140 -0.0067 -SofTwim_SEC1_ANODE7_TIME 140 -0.0067 -SofTwim_SEC1_ANODE8_TIME 140 -0.0067 -SofTwim_SEC1_ANODE9_TIME 140 -0.0067 -SofTwim_SEC1_ANODE10_TIME 140 -0.0067 -SofTwim_SEC1_ANODE11_TIME 140 -0.0067 -SofTwim_SEC1_ANODE12_TIME 140 -0.0067 -SofTwim_SEC1_ANODE13_TIME 140 -0.0067 -SofTwim_SEC1_ANODE14_TIME 140 -0.0067 -SofTwim_SEC1_ANODE15_TIME 140 -0.0067 -SofTwim_SEC1_ANODE16_TIME 140 -0.0067 - -SofTwim_SEC2_ANODE1_TIME 140 -0.0067 -SofTwim_SEC2_ANODE2_TIME 140 -0.0067 -SofTwim_SEC2_ANODE3_TIME 140 -0.0067 -SofTwim_SEC2_ANODE4_TIME 140 -0.0067 -SofTwim_SEC2_ANODE5_TIME 140 -0.0067 -SofTwim_SEC2_ANODE6_TIME 140 -0.0067 -SofTwim_SEC2_ANODE7_TIME 140 -0.0067 -SofTwim_SEC2_ANODE8_TIME 140 -0.0067 -SofTwim_SEC2_ANODE9_TIME 140 -0.0067 -SofTwim_SEC2_ANODE10_TIME 140 -0.0067 -SofTwim_SEC2_ANODE11_TIME 140 -0.0067 -SofTwim_SEC2_ANODE12_TIME 140 -0.0067 -SofTwim_SEC2_ANODE13_TIME 140 -0.0067 -SofTwim_SEC2_ANODE14_TIME 140 -0.0067 -SofTwim_SEC2_ANODE15_TIME 140 -0.0067 -SofTwim_SEC2_ANODE16_TIME 140 -0.0067 - -SofTwim_SEC3_ANODE1_TIME -140 0.0067 -SofTwim_SEC3_ANODE2_TIME -140 0.0067 -SofTwim_SEC3_ANODE3_TIME -140 0.0067 -SofTwim_SEC3_ANODE4_TIME -140 0.0067 -SofTwim_SEC3_ANODE5_TIME -140 0.0067 -SofTwim_SEC3_ANODE6_TIME -140 0.0067 -SofTwim_SEC3_ANODE7_TIME -140 0.0067 -SofTwim_SEC3_ANODE8_TIME -140 0.0067 -SofTwim_SEC3_ANODE9_TIME -140 0.0067 -SofTwim_SEC3_ANODE10_TIME -140 0.0067 -SofTwim_SEC3_ANODE11_TIME -140 0.0067 -SofTwim_SEC3_ANODE12_TIME -140 0.0067 -SofTwim_SEC3_ANODE13_TIME -140 0.0067 -SofTwim_SEC3_ANODE14_TIME -140 0.0067 -SofTwim_SEC3_ANODE15_TIME -140 0.0067 -SofTwim_SEC3_ANODE16_TIME -140 0.0067 - -SofTwim_SEC4_ANODE1_TIME -140 0.0067 -SofTwim_SEC4_ANODE2_TIME -140 0.0067 -SofTwim_SEC4_ANODE3_TIME -140 0.0067 -SofTwim_SEC4_ANODE4_TIME -140 0.0067 -SofTwim_SEC4_ANODE5_TIME -140 0.0067 -SofTwim_SEC4_ANODE6_TIME -140 0.0067 -SofTwim_SEC4_ANODE7_TIME -140 0.0067 -SofTwim_SEC4_ANODE8_TIME -140 0.0067 -SofTwim_SEC4_ANODE9_TIME -140 0.0067 -SofTwim_SEC4_ANODE10_TIME -140 0.0067 -SofTwim_SEC4_ANODE11_TIME -140 0.0067 -SofTwim_SEC4_ANODE12_TIME -140 0.0067 -SofTwim_SEC4_ANODE13_TIME -140 0.0067 -SofTwim_SEC4_ANODE14_TIME -140 0.0067 -SofTwim_SEC4_ANODE15_TIME -140 0.0067 -SofTwim_SEC4_ANODE16_TIME -140 0.0067 - - - +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 -- GitLab