diff --git a/Inputs/DetectorConfiguration/gaspardTestSpheric.detector b/Inputs/DetectorConfiguration/gaspardTestSpheric.detector index b09aa7a8e342db7a7d39728636b3b26e62b4cbd7..fb396b487b5987f3e61a9627e6b73ef5a64c061a 100644 --- a/Inputs/DetectorConfiguration/gaspardTestSpheric.detector +++ b/Inputs/DetectorConfiguration/gaspardTestSpheric.detector @@ -8,10 +8,10 @@ GeneralTarget %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Target - THICKNESS= 0.00001 + THICKNESS= 1.0 ANGLE= 0 RADIUS= 12 - MATERIAL= Pb208 + MATERIAL= CH2 NBLAYERS= 50 X= 0 Y= 0 diff --git a/Inputs/EventGenerator/134Snpt.reaction b/Inputs/EventGenerator/134Snpt.reaction index d9b48e32f2506821c5b2929798b79fb6f323ffba..6ff89b7fe5c5750df094da8717258743867915b8 100644 --- a/Inputs/EventGenerator/134Snpt.reaction +++ b/Inputs/EventGenerator/134Snpt.reaction @@ -10,8 +10,8 @@ Transfert ExcitationEnergy= 0.0 BeamEnergy= 1340 BeamEnergySpread= 0 - SigmaX= 0.851 - SigmaY= 0.851 + SigmaX= 0 + SigmaY= 0 SigmaThetaX= 0 SigmaPhiY= 0 CrossSectionPath= CS_Ep10MeV_sn134pt_gs_1h9demi.dat diff --git a/NPAnalysis/Gaspard/RunToTreat.txt b/NPAnalysis/Gaspard/RunToTreat.txt index a2fe1f5f1e53e148eb86d7ec0bc249352c38583f..60cc476706f59ff7125e8fc6d1aec2e062d9f711 100644 --- a/NPAnalysis/Gaspard/RunToTreat.txt +++ b/NPAnalysis/Gaspard/RunToTreat.txt @@ -2,5 +2,6 @@ TTreeName SimulatedTree RootFileName ../../Outputs/Simulation/mySimul.root +% ../../Outputs/Simulation/134Snpt_1h9_10MeVA_T0_B0_E0_S2mm.root % ../../Outputs/Simulation/132Sndp_3p3_10MeVA_T0_B1_E0_S05mm.root % ../../Outputs/Simulation/134Snpt_1h9_10MeVA_T1_B1_E0_S05mm.root diff --git a/NPAnalysis/Gaspard/include/ObjectManager.hh b/NPAnalysis/Gaspard/include/ObjectManager.hh index d6c97308939b5e86411184fa87c3a62682fc7cc3..488ccb7a32543ee71990fedcf42d3730a7c81e58 100644 --- a/NPAnalysis/Gaspard/include/ObjectManager.hh +++ b/NPAnalysis/Gaspard/include/ObjectManager.hh @@ -112,6 +112,9 @@ namespace ENERGYLOSS // For 134Sn(p,t) EnergyLoss LightTarget = EnergyLoss("triton_CH2.G4table", "G4Table", 1000); // G4 EnergyLoss BeamTarget = EnergyLoss("Sn134[0.0]_CH2.G4table", "G4Table", 1000); // G4 + // For 132Sn(d,t) +// EnergyLoss LightTarget = EnergyLoss("triton_CD2.G4table", "G4Table", 1000); // G4 +// EnergyLoss BeamTarget = EnergyLoss("Sn132[0.0]_CD2.G4table", "G4Table", 1000); // G4 } using namespace ENERGYLOSS ; diff --git a/NPAnalysis/Gaspard/macros/DisplayInputCrossSection.C b/NPAnalysis/Gaspard/macros/DisplayInputCrossSection.C index 7d584e715cf1402368c38a92d45b08707794f821..8f2725bdee1df41051f6b461059aaa6e9f27d5b6 100644 --- a/NPAnalysis/Gaspard/macros/DisplayInputCrossSection.C +++ b/NPAnalysis/Gaspard/macros/DisplayInputCrossSection.C @@ -26,6 +26,7 @@ void DisplayInputCrossSection() // Read cross-section 132Sn(d,d) // Angel TGraph *grdd = new TGraph(path + "132Sndd_10A_MeV_ruth.dat"); + TGraph *grpp = new TGraph(path + "132Snpp_10A_MeV_ruth.dat"); // Draw cross-sections TCanvas *can = new TCanvas("can"); @@ -49,11 +50,13 @@ void DisplayInputCrossSection() gr3->SetLineColor(kBlue); gr3->SetLineStyle(2); gr3->Draw("l"); gr4->SetLineColor(kBlue); gr4->Draw("l");*/ // gr5->Draw("l"); - grdd->Draw("l"); +// grdd->Draw("l"); + grpp->Draw("l"); // TLegend TLegend *leg = new TLegend(0.50, 0.64, 0.82, 0.84); - leg->AddEntry(grdd, "10 MeV/u", "l"); +// leg->AddEntry(grdd, "10 MeV/u", "l"); + leg->AddEntry(grpp, "10 MeV/u", "l"); /* TLegend *leg = new TLegend(0.50, 0.64, 0.82, 0.84); leg->AddEntry(grpt1, "1h9/2 10 MeV/u", "l"); leg->AddEntry(grpt2, "1h9/2 15 MeV/u", "l"); diff --git a/NPAnalysis/Gaspard/src/Analysis.cc b/NPAnalysis/Gaspard/src/Analysis.cc index 5d944556734a2a066ea49d668a648683f9da6d43..6740890e6b4a480f4c3c9f20c910d409f839c6b2 100644 --- a/NPAnalysis/Gaspard/src/Analysis.cc +++ b/NPAnalysis/Gaspard/src/Analysis.cc @@ -95,11 +95,14 @@ int main(int argc,char** argv) double E = GPDTrack->GetEnergyDeposit(); // if there is a hit in the detector array, treat it. - double Theta, ThetaStrip, angle; + double Theta, ThetaStrip, angle, ThetaCM; double DetecX, DetecY, DetecZ; double r; TVector3 A; if (E > -1000) { + // Get c.m. angle + ThetaCM = initCond->GetICEmittedAngleThetaCM(0) * deg; + // Get exact scattering angle from TInteractionCoordinates object // Theta = interCoord->GetDetectedAngleTheta(0) * deg; DetecX = interCoord->GetDetectedPositionX(0); @@ -126,24 +129,27 @@ int main(int argc,char** argv) // cout << "HitDirection: " << HitDirection.X() << " " << HitDirection.Y() << " " << HitDirection.Z() << endl; // Calculate scattering angle w.r.t. optical beam axis (do not take into account beam position on target) -// ThetaStrip = ThetaCalculation(A, TVector3(0,0,1)); -// Theta = ThetaCalculation(Detec, TVector3(0, 0, 1)); + ThetaStrip = ThetaCalculation(A, TVector3(0,0,1)); + Theta = ThetaCalculation(Detec, TVector3(0, 0, 1)); // Calculate scattering angle w.r.t. beam (ideal case) // ThetaStrip = ThetaCalculation(HitDirection, BeamDirection); // Theta = ThetaCalculation(Detec - TVector3(XTarget, YTarget, 0), BeamDirection); // Calculate scattering angle w.r.t. beam (finite spatial resolution) - double resol = 800; // in micrometer +/* double resol = 800; // in micrometer angle = gene->Rndm() * 2*3.14; r = fabs(gene->Gaus(0, resol)) * micrometer; ThetaStrip = ThetaCalculation(A - TVector3(XTarget + r*cos(angle), YTarget + r*sin(angle), 0), BeamDirection); Theta = ThetaCalculation(Detec - TVector3(XTarget + r*cos(angle), YTarget + r*sin(angle), 0), BeamDirection); - +*/ // Correct for energy loss in the target E = LightTarget.EvaluateInitialEnergy(E, myDetector->GetTargetThickness()/2 * micrometer, ThetaStrip); // Calculate excitation energy // if (Theta/deg > 150 && Theta/deg < 180) { - if (Theta/deg < 45) { +// if (Theta/deg < 60 && ThetaCM/deg < 90) { +// if (Theta/deg > 35 && Theta/deg < 45 && E/MeV < 17) { +// if (Theta/deg < 45) { + if (E/MeV < 38) { // if (Theta/deg > 90) { ExNoStrips = myReaction->ReconstructRelativistic(E, Theta / rad); Ex = myReaction->ReconstructRelativistic(E, ThetaStrip); diff --git a/NPLib/GASPARD/GaspardTracker.cxx b/NPLib/GASPARD/GaspardTracker.cxx index 7c8aa36ebd1cf849dae9f0fbce6216dbe06987d6..ee430b6cd09f6f03198c8e9429eff559047ded2f 100644 --- a/NPLib/GASPARD/GaspardTracker.cxx +++ b/NPLib/GASPARD/GaspardTracker.cxx @@ -802,7 +802,7 @@ void GaspardTracker::AddModuleDummyShape(double theta, V.Rotate( beta_w * Pi/180. , W ) ; double Face = 50; // mm - double NumberOfStrip = 100; + double NumberOfStrip = 25; double StripPitch = Face/NumberOfStrip; // mm vector<double> lineX; diff --git a/NPSimulation/include/GaspardTrackerDummyShape.hh b/NPSimulation/include/GaspardTrackerDummyShape.hh index aafc1c50503b4e01502ccfb5b20800400d428fc8..7c5fc84872c32fe4fb68c2128e5bbb8149ba15a9 100644 --- a/NPSimulation/include/GaspardTrackerDummyShape.hh +++ b/NPSimulation/include/GaspardTrackerDummyShape.hh @@ -165,8 +165,8 @@ namespace GPDDUMMYSHAPE // const G4int NumberOfStrips = 10; // 5 mm strip pitch // const G4int NumberOfStrips = 25; // 2 mm strip pitch // const G4int NumberOfStrips = 50; // 1 mm strip pitch - const G4int NumberOfStrips = 100; // 0.5 mm strip pitch -// const G4int NumberOfStrips = 500; // 0.1 mm strip pitch +// const G4int NumberOfStrips = 100; // 0.5 mm strip pitch + const G4int NumberOfStrips = 500; // 0.1 mm strip pitch // Second stage const G4double SecondStageFace = FirstStageFace;