From c230d532497d05e1b5c8ded1a12b450cc6a53d63 Mon Sep 17 00:00:00 2001 From: Morfouace <pierre.morfouace@cea.fr> Date: Tue, 8 Nov 2022 15:28:15 +0100 Subject: [PATCH] Updating Sofia project --- Inputs/EventGenerator/sofia_238U.reaction | 6 +- NPLib/Detectors/Sofia/TSofFissionFragment.cxx | 17 +- NPLib/Detectors/Sofia/TSofFissionFragment.h | 55 ++-- NPLib/Detectors/Sofia/TSofTwimPhysics.cxx | 8 +- NPSimulation/Process/FissionDecay.cc | 4 +- Projects/Sofia/sofia.detector | 2 +- Projects/s455/Analysis.cxx | 237 ++++++++---------- Projects/s455/RunToTreat.txt | 1 + 8 files changed, 163 insertions(+), 167 deletions(-) diff --git a/Inputs/EventGenerator/sofia_238U.reaction b/Inputs/EventGenerator/sofia_238U.reaction index 91c30af90..ff77058ce 100644 --- a/Inputs/EventGenerator/sofia_238U.reaction +++ b/Inputs/EventGenerator/sofia_238U.reaction @@ -5,9 +5,9 @@ Beam Particle= 238U Energy= 135660 - ExcitationEnergy= 15 MeV + ExcitationEnergy= 0 MeV SigmaEnergy= 2 - SigmaX= 6 mm + SigmaX= 5 mm SigmaY= 5 mm SigmaThetaX= 0 SigmaPhiY= 0 @@ -16,7 +16,7 @@ Beam MeanX= 0.0 mm MeanY= 0.0 mm %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%TwoBodyReaction +TwoBodyReaction Beam= 238U Target= 208Pb Light= 208Pb diff --git a/NPLib/Detectors/Sofia/TSofFissionFragment.cxx b/NPLib/Detectors/Sofia/TSofFissionFragment.cxx index c9ed1d005..a937d2314 100644 --- a/NPLib/Detectors/Sofia/TSofFissionFragment.cxx +++ b/NPLib/Detectors/Sofia/TSofFissionFragment.cxx @@ -52,19 +52,24 @@ void TSofFissionFragment::Clear() { fFF_TOF.clear(); fFF_Gamma.clear(); fFF_Brho.clear(); + fFF_Rho.clear(); + fFF_Omega.clear(); fFF_DT.clear(); fFF_Section.clear(); fFF_ThetaIn.clear(); fFF_ThetaOut.clear(); fFF_TofPosX.clear(); fFF_TofPosY.clear(); - fFF_PosX1.clear(); - fFF_PosX2.clear(); - fFF_PosX3.clear(); - fFF_PosY1.clear(); - fFF_PosY2.clear(); - fFF_PosY3.clear(); fFF_FlightPath.clear(); + fFF_Leff.clear(); + fFF_XB.clear(); + fFF_XC.clear(); + fFF_XD.clear(); + fFF_ZB.clear(); + fFF_ZC.clear(); + fFF_ZD.clear(); + fFF_X3lab.clear(); + fFF_Z3lab.clear(); fFF_Zsum = -1; fFF_iZsum = -1; diff --git a/NPLib/Detectors/Sofia/TSofFissionFragment.h b/NPLib/Detectors/Sofia/TSofFissionFragment.h index 2290d8472..0b30ff4a1 100644 --- a/NPLib/Detectors/Sofia/TSofFissionFragment.h +++ b/NPLib/Detectors/Sofia/TSofFissionFragment.h @@ -43,19 +43,24 @@ class TSofFissionFragment : public TObject { vector<double> fFF_TOF; vector<double> fFF_Gamma; vector<double> fFF_Brho; + vector<double> fFF_Rho; + vector<double> fFF_Omega; vector<double> fFF_DT; vector<int> fFF_Section; vector<double> fFF_ThetaIn; vector<double> fFF_ThetaOut; vector<double> fFF_TofPosX; vector<double> fFF_TofPosY; - vector<double> fFF_PosX1; - vector<double> fFF_PosX2; - vector<double> fFF_PosX3; - vector<double> fFF_PosY1; - vector<double> fFF_PosY2; - vector<double> fFF_PosY3; + vector<double> fFF_XB; + vector<double> fFF_XC; + vector<double> fFF_XD; + vector<double> fFF_ZB; + vector<double> fFF_ZC; + vector<double> fFF_ZD; + vector<double> fFF_X3lab; + vector<double> fFF_Z3lab; vector<double> fFF_FlightPath; + vector<double> fFF_Leff; double fFF_Zsum; int fFF_iZsum; @@ -92,27 +97,32 @@ class TSofFissionFragment : public TObject { inline void SetTOF(double val){fFF_TOF.push_back(val);};//! inline void SetGamma(double val){fFF_Gamma.push_back(val);};//! inline void SetBrho(double val){fFF_Brho.push_back(val);};//! + inline void SetRho(double val){fFF_Rho.push_back(val);};//! + inline void SetOmega(double val){fFF_Omega.push_back(val);};//! inline void SetDT(double val){fFF_DT.push_back(val);};//! inline void SetSection(int val){fFF_Section.push_back(val);};//! inline void SetThetaIn(double val){fFF_ThetaIn.push_back(val);};//! inline void SetThetaOut(double val){fFF_ThetaOut.push_back(val);};//! inline void SetTofPosX(double val){fFF_TofPosX.push_back(val);};//! inline void SetTofPosY(double val){fFF_TofPosY.push_back(val);};//! - inline void SetPosX1(double val){fFF_PosX1.push_back(val);};//! - inline void SetPosX2(double val){fFF_PosX2.push_back(val);};//! - inline void SetPosX3(double val){fFF_PosX3.push_back(val);};//! - inline void SetPosY1(double val){fFF_PosY1.push_back(val);};//! - inline void SetPosY2(double val){fFF_PosY2.push_back(val);};//! - inline void SetPosY3(double val){fFF_PosY3.push_back(val);};//! inline void SetFlightPath(double val){fFF_FlightPath.push_back(val);};//! + inline void SetLeff(double val){fFF_Leff.push_back(val);};//! + inline void SetPosXB(double val){fFF_XB.push_back(val);};//! + inline void SetPosXC(double val){fFF_XC.push_back(val);};//! + inline void SetPosXD(double val){fFF_XD.push_back(val);};//! + inline void SetPosZB(double val){fFF_ZB.push_back(val);};//! + inline void SetPosZC(double val){fFF_ZC.push_back(val);};//! + inline void SetPosZD(double val){fFF_ZD.push_back(val);};//! + inline void SetPosX3lab(double val){fFF_X3lab.push_back(val);};//! + inline void SetPosZ3lab(double val){fFF_Z3lab.push_back(val);};//! ////////////////////// GETTERS //////////////////////// int GetMult() {return fFF_Z.size();}//! int GetMultTofPos() {return fFF_TofPosY.size();}//! - int GetMultMwpc1() {return fFF_PosY1.size();}//! + /*int GetMultMwpc1() {return fFF_PosY1.size();}//! int GetMultMwpc2() {return fFF_PosY2.size();}//! - int GetMultMwpc3() {return fFF_PosY3.size();}//! + int GetMultMwpc3() {return fFF_PosY3.size();}//!*/ inline double GetZsum() const {return fFF_Zsum;}//! inline int GetiZsum() const {return fFF_iZsum;}//! inline int GetPlastic(int i) const {return fFF_Plastic[i];}//! @@ -124,19 +134,24 @@ class TSofFissionFragment : public TObject { inline double GetTOF(int i) const {return fFF_TOF[i];}//! inline double GetGamma(int i) const {return fFF_Gamma[i];}//! inline double GetBrho(int i) const {return fFF_Brho[i];}//! + inline double GetRho(int i) const {return fFF_Rho[i];}//! + inline double GetOmega(int i) const {return fFF_Omega[i];}//! inline double GetDT(int i) const {return fFF_DT[i];}//! inline double GetSection(int i) const {return fFF_Section[i];}//! inline double GetThetaIn(int i) const {return fFF_ThetaIn[i];}//! inline double GetThetaOut(int i) const {return fFF_ThetaOut[i];}//! inline double GetTofPosX(int i) const {return fFF_TofPosX[i];}//! inline double GetTofPosY(int i) const {return fFF_TofPosY[i];}//! - inline double GetPosX1(int i) const {return fFF_PosX1[i];}//! - inline double GetPosX2(int i) const {return fFF_PosX2[i];}//! - inline double GetPosX3(int i) const {return fFF_PosX3[i];}//! - inline double GetPosY1(int i) const {return fFF_PosY1[i];}//! - inline double GetPosY2(int i) const {return fFF_PosY2[i];}//! - inline double GetPosY3(int i) const {return fFF_PosY3[i];}//! inline double GetFlightPath(int i) const {return fFF_FlightPath[i];}//! + inline double GetLeff(int i) const {return fFF_Leff[i];}//! + inline double GetPosXB(int i) const {return fFF_XB[i];}//! + inline double GetPosXC(int i) const {return fFF_XC[i];}//! + inline double GetPosXD(int i) const {return fFF_XD[i];}//! + inline double GetPosZB(int i) const {return fFF_ZB[i];}//! + inline double GetPosZC(int i) const {return fFF_ZC[i];}//! + inline double GetPosZD(int i) const {return fFF_ZD[i];}//! + inline double GetPosX3lab(int i) const {return fFF_X3lab[i];}//! + inline double GetPosZ3lab(int i) const {return fFF_Z3lab[i];}//! ////////////////////////////////////////////////////////////// diff --git a/NPLib/Detectors/Sofia/TSofTwimPhysics.cxx b/NPLib/Detectors/Sofia/TSofTwimPhysics.cxx index f5f1a5e66..a1a69269e 100644 --- a/NPLib/Detectors/Sofia/TSofTwimPhysics.cxx +++ b/NPLib/Detectors/Sofia/TSofTwimPhysics.cxx @@ -193,7 +193,7 @@ void TSofTwimPhysics::BuildPhysicalEvent() { double p1 = (12*xysum -xsum*ysum)/(12*x2sum - xsum*xsum); Theta1 = atan(p1); - Theta.push_back(-Theta1); + Theta.push_back(Theta1); } if(Esec2>0){ Esec2 = Cal->ApplyCalibration("SofTwim/SEC2_ALIGN",Esec2); @@ -217,7 +217,7 @@ void TSofTwimPhysics::BuildPhysicalEvent() { double p1 = (12*xysum -xsum*ysum)/(12*x2sum - xsum*xsum); Theta2 = atan(p1); - Theta.push_back(-Theta2); + Theta.push_back(Theta2); } if(Esec3>0){ Esec3 = Cal->ApplyCalibration("SofTwim/SEC3_ALIGN",Esec3); @@ -241,7 +241,7 @@ void TSofTwimPhysics::BuildPhysicalEvent() { double p1 = (12*xysum -xsum*ysum)/(12*x2sum - xsum*xsum); Theta3 = atan(p1); - Theta.push_back(-Theta3); + Theta.push_back(Theta3); } if(Esec4>0){ Esec4 = Cal->ApplyCalibration("SofTwim/SEC4_ALIGN",Esec4); @@ -265,7 +265,7 @@ void TSofTwimPhysics::BuildPhysicalEvent() { double p1 = (12*xysum -xsum*ysum)/(12*x2sum - xsum*xsum); Theta4 = atan(p1); - Theta.push_back(-Theta4); + Theta.push_back(Theta4); } m_Beta = -1; diff --git a/NPSimulation/Process/FissionDecay.cc b/NPSimulation/Process/FissionDecay.cc index e126a46cb..e87765164 100644 --- a/NPSimulation/Process/FissionDecay.cc +++ b/NPSimulation/Process/FissionDecay.cc @@ -183,12 +183,12 @@ void FissionDecay::DoIt(const G4FastTrack& fastTrack,G4FastStep& fastStep){ if(Zsum == m_CompoundParticle.GetZ()) m_FissionConditions->SetNeutronMultiplicity(m_CompoundParticle.GetA()-Asum); - for(unsigned int i = 0 ; i < size ; i++){ + for(int i=size-1; i>=0; --i){ // Get the decaying particle int FFZ = FissionFragment[i].GetZ(); int FFA = FissionFragment[i].GetA(); FissionFragmentDef=NULL; - + // Set the momentum direction G4ThreeVector Momentum (DPx[i],DPy[i],DPz[i]); Momentum=Momentum.unit(); diff --git a/Projects/Sofia/sofia.detector b/Projects/Sofia/sofia.detector index 36c9551bc..3cba4f8d2 100644 --- a/Projects/Sofia/sofia.detector +++ b/Projects/Sofia/sofia.detector @@ -12,7 +12,7 @@ SofTofW R= 4.5 m THETA= -18 deg PHI= 0 deg - Yoffset= 30.0 mm + Yoffset= 0.0 mm Build_GLAD= 1 GLAD_TiltAngle= 14 deg GLAD_DistanceFromTarget= 3.3 m diff --git a/Projects/s455/Analysis.cxx b/Projects/s455/Analysis.cxx index 421c79723..1ada8376f 100644 --- a/Projects/s455/Analysis.cxx +++ b/Projects/s455/Analysis.cxx @@ -37,8 +37,10 @@ struct TofPair double tof = -1000; double velocity = -1; double beta = -1; + double gamma = -1; double theta_in = -10; double theta_out = -10; + double psi = -10; int plastic = -1; // int isLorR = -1; @@ -50,6 +52,10 @@ struct TofPair // *** isUorD = 2 -> Down int section = -1; double Esec = -1; + double Z = 0; + int iZ = 0; + double AoQ = 0; + double A = 0; double DT = -100; double x2twim = -1000; double x2 = -1000; @@ -57,10 +63,18 @@ struct TofPair double y3 = -1000; double x3lab = 0; double z3lab = 0; + double xb = 0; double xc = 0; + double xd = 0; double yc = 0; + double zb = 0; double zc = 0; + double zd = 0; double flight_path = 0; + double Leff = 0; + double rho = 0; + double Brho = 0; + double omega = 0; }; @@ -540,12 +554,6 @@ void Analysis::FissionFragmentAnalysis(){ for(int i=0; i<2; i++){ int section = TofHit[i].section; - /*double drift_time; - if(section==1) drift_time = DT1; - if(section==2) drift_time = DT2; - if(section==3) drift_time = DT3; - if(section==4) drift_time = DT4;*/ - double DT_eval; if(section<3) DT_eval=55; if(section>2) DT_eval=-55; @@ -561,164 +569,131 @@ void Analysis::FissionFragmentAnalysis(){ double Theta0 = 20.*deg; double XA = 0; double ZA = 2272; - double Zfission = 335.; - double ZGlad_entrance = 2694.; + //double ZGlad_entrance = 2694.; + double ZGlad_entrance = 2694.+540.5; double Leff_init = 2150.; - //double ZG = ZGlad_entrance+Leff_init/2; - double ZG = ZGlad_entrance+540; + //double ZG = ZGlad_entrance+1654.; + double ZG = ZGlad_entrance+1113.5; double ZMW3 = 8450;//8483; double XMW3 = -(ZMW3-ZG)*tan(Theta0); double ZMW2 = 2576; double X3lab = 0; double Z3lab = 0;; double Tilt = 14.*deg; - TVector3 vOut; TVector3 vZ = TVector3(0,0,1); - TVector3 vC; - TVector3 InitPos[2]; - TVector3 InitDir[2]; - TVector3 FinalPos[2]; double XC = 0; double ZC = 0; - double Leff = 0; + double XB = 0; + double ZB = 0; + double XD = 0; + double ZD = 0; + double MagB = m_GladField->GetB()/1000; for(int i=0; i<2; i++){ XA = TofHit[i].DT; if(XA != -1e6){ + // *** Extroplate to C position *** // XC = (XA+(ZG-ZA)*tan(TofHit[i].theta_in)) / (1-tan(Tilt)*tan(TofHit[i].theta_in)); ZC = ZG + XC*tan(Tilt); - - /*int ix = (int)(XC - m_GladField->GetXmin())/50; - int iy = (int)(ZC - m_GladField->GetYmin())/50; - Leff = m_GladField->GetLeff(ix,iy); - ZG = ZGlad_entrance + Leff/2; - 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 = XC; - TofHit[i].yc = TofHit[i].y*0.5; + TofHit[i].yc = 0;//TofHit[i].y*0.5; TofHit[i].zc = ZC; + int ix, iy; + ix = (int)(TofHit[0].xc - m_GladField->GetXmin())/50; + iy = (int)(TofHit[0].yc - m_GladField->GetYmin())/50; + TofHit[i].Leff = m_GladField->GetLeff(ix,iy); + X3lab = TofHit[i].x3*cos(Theta0) + XMW3; Z3lab = TofHit[i].x3*sin(Theta0) + ZMW3; TofHit[i].x3lab = X3lab; TofHit[i].z3lab = Z3lab; - - InitPos[i] = TVector3(XA,0,ZA); - InitDir[i] = TVector3(sin(TofHit[i].theta_in),0,cos(TofHit[i].theta_in)); - FinalPos[i] = TVector3(X3lab,0,Z3lab); - - 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.; + TVector3 vC = TVector3(TofHit[i].xc,0,TofHit[i].zc); + TVector3 vOut = TVector3(X3lab-TofHit[i].xc,0,Z3lab-TofHit[i].zc); + double angle = -vZ.Angle(vOut); + TofHit[i].theta_out = angle; + TofHit[i].psi = TofHit[i].theta_in - TofHit[i].theta_out; + TofHit[i].rho = TofHit[i].Leff/(2*sin(0.5*TofHit[i].psi)*cos(Tilt-0.5*TofHit[i].psi)); + TofHit[i].Brho = MagB*TofHit[i].rho; + + // *** Extrapolate to B position *** // + double ZI = ZG - TofHit[i].Leff/(2*cos(Tilt)); + XB = (XA+(ZI-ZA)*tan(TofHit[i].theta_in)) / (1-tan(Tilt)*tan(TofHit[i].theta_in)); + ZB = ZI + XB*tan(Tilt); + TofHit[i].xb = XB; + TofHit[i].zb = ZB; + TVector3 vB = TVector3(XB,0,ZB); + + // *** Extrapolate to D position *** // + //XD = XC + TofHit[i].Leff/2*sin(angle)/cos(angle+Tilt); + XD = XC + TofHit[i].Leff/2*tan(angle+Tilt)*cos(Tilt); + //ZD = ZC + TofHit[i].Leff/2*cos(angle)/cos(angle+Tilt); + ZD = ZC + TofHit[i].Leff/2*cos(Tilt); + TofHit[i].xd = XD; + TofHit[i].zd = ZD; + TVector3 vD = TVector3(XD,0,ZD); + + TVector3 v1 = TVector3(XB,0,ZB); + TVector3 v3 = TVector3(X3lab-XD,0,Z3lab-ZD); + TofHit[i].omega = abs(2.*asin(sqrt(pow(XD-XB,2) + pow(ZD-ZB,2))/(2*TofHit[i].rho))); + double Path1 = v1.Mag(); + double Path2 = TofHit[i].rho*TofHit[i].omega; + double Path3 = v3.Mag(); + double PathLength = Path1 + Path2 + Path3 + 74.; PathLength = PathLength/1000.; - double angle = vZ.Angle(vOut); TofHit[i].flight_path = PathLength; TofHit[i].velocity = PathLength/TofHit[i].tof; TofHit[i].beta = TofHit[i].velocity * m/ns / NPUNITS::c_light; - TofHit[i].theta_out = angle; - TofHit[i].x2twim = XA + (ZMW2-ZA)*tan(TofHit[i].theta_in); + TofHit[i].x2twim = XA; + + double Z = TofHit[i].Esec; + Z = fZff_p0 + fZff_p1*Z + fZff_p2*Z*Z; + Z = sqrt(Z); + int iZ = (int) round(Z); + TofHit[i].Z = Z; + TofHit[i].iZ = iZ; + + TofHit[i].gamma = 1. / sqrt(1 - TofHit[i].beta*TofHit[i].beta); + TofHit[i].AoQ = TofHit[i].Brho / (3.10761 * TofHit[i].beta * TofHit[i].gamma); + TofHit[i].A = TofHit[i].AoQ * TofHit[i].iZ; + } } - Z1 = TofHit[0].Esec; - Z2 = TofHit[1].Esec; - - - if(Z1>0 && Z2>0){ - Z1 = fZff_p0 + fZff_p1*Z1 + fZff_p2*Z1*Z1; - Z2 = fZff_p0 + fZff_p1*Z2 + fZff_p2*Z2*Z2; - - Z1 = sqrt(Z1); - Z2 = sqrt(Z2); - - Zsum = Z1+Z2; + // *** Filling the Fission Fragment Tree *** // + for(int i=0; i<2; i++){ + SofFF->SetTOF(TofHit[i].tof); + SofFF->SetTofPosX(TofHit[i].x); + SofFF->SetTofPosY(TofHit[i].y); + SofFF->SetPlastic(TofHit[i].plastic); + SofFF->SetPosXB(TofHit[i].xb); + SofFF->SetPosXC(TofHit[i].xc); + SofFF->SetPosXD(TofHit[i].xd); + SofFF->SetPosZB(TofHit[i].zb); + SofFF->SetPosZC(TofHit[i].zc); + SofFF->SetPosZD(TofHit[i].zd); + SofFF->SetPosX3lab(TofHit[i].x3lab); + SofFF->SetPosZ3lab(TofHit[i].z3lab); + SofFF->SetThetaIn(TofHit[i].theta_in/deg); + SofFF->SetThetaOut(TofHit[i].theta_out/deg); + SofFF->SetBeta(TofHit[i].beta); + SofFF->SetGamma(TofHit[i].gamma); + SofFF->SetiZ(TofHit[i].iZ); + SofFF->SetZ(TofHit[i].Z); + SofFF->SetAoQ(TofHit[i].AoQ); + SofFF->SetA(TofHit[i].A); + SofFF->SetBrho(TofHit[i].Brho); + SofFF->SetRho(TofHit[i].rho); + SofFF->SetOmega(TofHit[i].omega); + SofFF->SetDT(TofHit[i].DT); + SofFF->SetSection(TofHit[i].section); + SofFF->SetLeff(TofHit[i].Leff); + SofFF->SetFlightPath(TofHit[i].flight_path); - iZ1 = (int) round(Z1); - iZ2 = (int) round(Z2); - iZsum = iZ1 + iZ2; } - - 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;*/ - - Beta_Z1 = TofHit[0].beta; - Beta_Z2 = TofHit[1].beta; - Gamma1 = 1. / sqrt(1 - Beta_Z1 * Beta_Z1); - Gamma2 = 1. / sqrt(1 - Beta_Z2 * Beta_Z2); - - AoQ1 = Brho1 / (3.10761 * Beta_Z1 * Gamma1); - AoQ2 = Brho2 / (3.10761 * Beta_Z2 * Gamma2); - - A1 = AoQ1 * iZ1; - A2 = AoQ2 * iZ2; - - // *** Filling the Fission Fragment Tree *** // - SofFF->SetTOF(TofHit[0].tof); - SofFF->SetTOF(TofHit[1].tof); - SofFF->SetTofPosX(TofHit[0].x); - SofFF->SetTofPosX(TofHit[1].x); - SofFF->SetTofPosY(TofHit[0].y); - SofFF->SetTofPosY(TofHit[1].y); - SofFF->SetPlastic(TofHit[0].plastic); - SofFF->SetPlastic(TofHit[1].plastic); - - SofFF->SetPosX1(TofHit[0].x2twim); - SofFF->SetPosX1(TofHit[1].x2twim); - SofFF->SetPosX2(TofHit[0].x2); - SofFF->SetPosX2(TofHit[1].x2); - SofFF->SetPosX3(TofHit[0].x3); - SofFF->SetPosX3(TofHit[1].x3); - SofFF->SetPosY3(TofHit[0].y3); - SofFF->SetPosY3(TofHit[1].y3); - - 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); - SofFF->SetGamma(Gamma1); - SofFF->SetGamma(Gamma2); - SofFF->SetiZ(iZ1); - SofFF->SetiZ(iZ2); - SofFF->SetZ(Z1); - SofFF->SetZ(Z2); - SofFF->SetAoQ(AoQ1); - SofFF->SetAoQ(AoQ2); - SofFF->SetA(A1); - SofFF->SetA(A2); - SofFF->SetBrho(Brho1); - SofFF->SetBrho(Brho2); - - SofFF->SetDT(TofHit[0].DT); - SofFF->SetDT(TofHit[1].DT); - SofFF->SetSection(TofHit[0].section); - SofFF->SetSection(TofHit[1].section); - - SofFF->SetZsum(Zsum); - SofFF->SetiZsum(iZsum); - - SofFF->SetFlightPath(TofHit[0].flight_path); - SofFF->SetFlightPath(TofHit[1].flight_path); + SofFF->SetZsum(TofHit[0].Z+TofHit[1].Z); + SofFF->SetiZsum(TofHit[0].iZ+TofHit[1].iZ); } } } diff --git a/Projects/s455/RunToTreat.txt b/Projects/s455/RunToTreat.txt index 96e1b4884..aebd6fbe7 100644 --- a/Projects/s455/RunToTreat.txt +++ b/Projects/s455/RunToTreat.txt @@ -6,6 +6,7 @@ RootFileName %/media/sofia/s455/raw/run_raw_0368.root %/media/sofia/s455/raw/run_raw_0369.root %/media/sofia/s455/raw/run_raw_0419.root + %/media/sofia/s455/raw/run_raw_0421.root %/media/sofia/s455/raw/run_raw_0422.root %% 216Th -- GitLab