diff --git a/NPLib/Detectors/Sofia/GladFieldMap.cxx b/NPLib/Detectors/Sofia/GladFieldMap.cxx index df7f7ce7a0d4d114cdcc62ca2be1d4d2186228a5..11e32284589eec51797ae8da60b941403cbd1480 100644 --- a/NPLib/Detectors/Sofia/GladFieldMap.cxx +++ b/NPLib/Detectors/Sofia/GladFieldMap.cxx @@ -158,7 +158,6 @@ double GladFieldMap::GetFlightPath(TVector3 vStart, double Brho, TVector3 Pos, T track = Propagate(Brho, Pos, Dir, true); FlightPath += (Pos - vStart).Mag(); - unsigned int vsize = track.size(); for(unsigned int i=0; i<vsize-1; i++){ TVector3 point1 = track[i]; @@ -404,7 +403,8 @@ void GladFieldMap::LoadMap(string filename) { } } - m_R_max = m_z_max; + m_R_max = m_x_max; + //m_R_max = m_z_max; cout << endl; cout << "///////// ASCII file loaded"<< endl; cout << "m_field size= " << m_By.size() << endl; diff --git a/Projects/Sofia/Analysis.cxx b/Projects/Sofia/Analysis.cxx index f01f92f7beec682562cff804e6c50c383e923cae..0bc490065effea0acd9aea2550691560e86420bd 100644 --- a/Projects/Sofia/Analysis.cxx +++ b/Projects/Sofia/Analysis.cxx @@ -41,9 +41,7 @@ void Analysis::Init(){ InitialConditions = new TInitialConditions(); InteractionCoordinates = new TInteractionCoordinates(); - /*if(beam_ana==false) - FissionConditions = new TFissionConditions(); -*/ + FissionConditions = new TFissionConditions(); InitInputBranch(); InitOutputBranch(); @@ -69,16 +67,14 @@ void Analysis::TreatEvent(){ ReInit(); - if(beam_ana==true) - BeamAnalysis(); - else - FFAnalysis(); + //BeamAnalysis(); + FFAnalysis(); } //////////////////////////////////////////////////////////////////////////////// void Analysis::FFAnalysis(){ - /*int mult = InteractionCoordinates->GetDetectedMultiplicity(); + int mult = InteractionCoordinates->GetDetectedMultiplicity(); if(mult==2){ int A_CN = FissionConditions->GetA_CN(); int Z_CN = FissionConditions->GetZ_CN(); @@ -92,10 +88,10 @@ void Analysis::FFAnalysis(){ double beta = beam->GetBeta(); double BeamTimeOffset = v1.Mag()*mm/(beta*NPUNITS::c_light); for(int i=0; i<mult; i++){ - double Time = ran.Gaus(InteractionCoordinates->GetTime(i) - BeamTimeOffset,0.); - m_XE.push_back(ran.Gaus(InteractionCoordinates->GetDetectedPositionX(i),0)); + double Time = ran.Gaus(InteractionCoordinates->GetTime(i) - BeamTimeOffset,0.02); + m_XE.push_back(ran.Gaus(InteractionCoordinates->GetDetectedPositionX(i),1)); m_YE.push_back(ran.Gaus(InteractionCoordinates->GetDetectedPositionY(i),0)); - m_ZE.push_back(ran.Gaus(InteractionCoordinates->GetDetectedPositionZ(i),0)); + m_ZE.push_back(ran.Gaus(InteractionCoordinates->GetDetectedPositionZ(i),1)); TVector3 vE = TVector3(m_XE[i],m_YE[i],m_ZE[i]); //TVector3 vE = TVector3(m_XE[i],0,m_ZE[i]); TVector3 vA = TVector3(0,0,z_target); @@ -104,8 +100,8 @@ void Analysis::FFAnalysis(){ //int Z = FissionConditions->GetFragmentZ(i); int Z = InteractionCoordinates->GetZ(i); double ThetaIn = FissionConditions->GetFragmentTheta(i); - if(FissionConditions->GetFragmentMomentumX(i)<0) - ThetaIn = -ThetaIn; + //if(FissionConditions->GetFragmentMomentumX(i)<0) + //ThetaIn = -ThetaIn; double Phi = FissionConditions->GetFragmentPhi(i); double Brho = FissionConditions->GetFragmentBrho(i); @@ -114,6 +110,7 @@ void Analysis::FFAnalysis(){ m_TOF.push_back(Time); m_Adet.push_back(Adet); m_Asim.push_back(Asim); + m_Zsim.push_back(Z); m_Brho.push_back(Brho); m_ThetaIn.push_back(ThetaIn); @@ -124,14 +121,13 @@ void Analysis::FFAnalysis(){ double beta = velocity * m/ns / NPUNITS::c_light; double gamma = 1. / sqrt(1 - beta*beta); double AoQ = Brho_calc / (3.107 * beta * gamma); - double A_calc = AoQ*Z; + double A_calc = AoQ*(double)Z; m_Brho_calc.push_back(Brho_calc); m_FlightPath.push_back(PathLength); m_A_calc.push_back(A_calc); } - }*/ - + } } //////////////////////////////////////////////////////////////////////////////// @@ -192,11 +188,9 @@ void Analysis::InitInputBranch(){ RootInput::getInstance()->GetChain()->SetBranchStatus("fDetecetd_*",true); RootInput::getInstance()->GetChain()->SetBranchAddress("InteractionCoordinates",&InteractionCoordinates); - /*if(beam_ana==false){ - RootInput::getInstance()->GetChain()->SetBranchStatus("FissionConditions",true); - RootInput::getInstance()->GetChain()->SetBranchStatus("fFC_*",true); - RootInput::getInstance()->GetChain()->SetBranchAddress("FissionConditions",&FissionConditions); - }*/ + RootInput::getInstance()->GetChain()->SetBranchStatus("FissionConditions",true); + RootInput::getInstance()->GetChain()->SetBranchStatus("fFC_*",true); + RootInput::getInstance()->GetChain()->SetBranchAddress("FissionConditions",&FissionConditions); } @@ -206,6 +200,7 @@ void Analysis::InitOutputBranch(){ RootOutput::getInstance()->GetTree()->Branch("ThetaIn",&m_ThetaIn); RootOutput::getInstance()->GetTree()->Branch("Brho",&m_Brho); RootOutput::getInstance()->GetTree()->Branch("Asim",&m_Asim); + RootOutput::getInstance()->GetTree()->Branch("Zsim",&m_Zsim); RootOutput::getInstance()->GetTree()->Branch("Adet",&m_Adet); RootOutput::getInstance()->GetTree()->Branch("Brho_calc",&m_Brho_calc); RootOutput::getInstance()->GetTree()->Branch("A_calc",&m_A_calc); @@ -221,6 +216,7 @@ void Analysis::ReInit(){ m_TOF.clear(); m_Brho.clear(); m_Asim.clear(); + m_Zsim.clear(); m_Adet.clear(); m_ThetaIn.clear(); m_XE.clear(); diff --git a/Projects/Sofia/Analysis.h b/Projects/Sofia/Analysis.h index 50fc980f598bffbe3a225b272c61ab76ba3e31b3..db50851911873caa360f17ccc8f552e7e39cc723 100644 --- a/Projects/Sofia/Analysis.h +++ b/Projects/Sofia/Analysis.h @@ -50,9 +50,10 @@ class Analysis: public NPL::VAnalysis{ vector<double> m_ThetaIn; vector<double> m_Brho; vector<int> m_Asim; + vector<int> m_Zsim; vector<int> m_Adet; vector<double> m_Brho_calc; - vector<int> m_A_calc; + vector<double> m_A_calc; vector<double> m_FlightPath; vector<double> m_XE; vector<double> m_YE; @@ -61,7 +62,7 @@ class Analysis: public NPL::VAnalysis{ private: TInitialConditions* InitialConditions; TInteractionCoordinates* InteractionCoordinates; - //TFissionConditions* FissionConditions; + TFissionConditions* FissionConditions; TRandom3 ran; GladFieldMap* m_GladField; diff --git a/Projects/Sofia/sofia.detector b/Projects/Sofia/sofia.detector index d1c6979262161c1767c2875ed91529caf47ed523..dcd99551f0061900111d59742347ba897140ed6f 100644 --- a/Projects/Sofia/sofia.detector +++ b/Projects/Sofia/sofia.detector @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%Target +Target THICKNESS= 0.03 mm RADIUS= 100 mm MATERIAL= CD2 diff --git a/Projects/Sofia/sofia.reaction b/Projects/Sofia/sofia.reaction index b8c6ca43232b4ffdd7ab2410e6407787abc02c2b..11582def2c1120258c44e9560f9593e7fa55727c 100644 --- a/Projects/Sofia/sofia.reaction +++ b/Projects/Sofia/sofia.reaction @@ -6,18 +6,18 @@ Beam Particle= 190Pb Energy= 100276 ExcitationEnergy= 0 MeV - SigmaEnergy= 10000 + SigmaEnergy= 0 SigmaX= 0 mm SigmaY= 0 mm - SigmaThetaX= 0 - SigmaPhiY= 0 + SigmaThetaX= 0 deg + SigmaPhiY= 0 deg MeanThetaX= 0 MeanPhiY= 0 deg MeanX= 0 mm MeanY= 0 mm ZEmission= -5000 mm %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%TwoBodyReaction +TwoBodyReaction Beam= 190Pb Target= 208Pb Light= 190Pb @@ -29,7 +29,7 @@ Beam ShootHeavy= 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FissionDecay - CompoundNucleus= 191Pb + CompoundNucleus= 190Pb FissionModel= GEF VamosChargeStates= 0 Shoot_FF= 1