Skip to content
Snippets Groups Projects
Commit a594fc74 authored by deserevi's avatar deserevi
Browse files

* Changes in Gaspard analysis (not important)

parent 8a7fbc48
No related branches found
No related tags found
No related merge requests found
...@@ -8,10 +8,10 @@ ...@@ -8,10 +8,10 @@
GeneralTarget GeneralTarget
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Target Target
THICKNESS= 0.00001 THICKNESS= 1.0
ANGLE= 0 ANGLE= 0
RADIUS= 12 RADIUS= 12
MATERIAL= Pb208 MATERIAL= CH2
NBLAYERS= 50 NBLAYERS= 50
X= 0 X= 0
Y= 0 Y= 0
......
...@@ -10,8 +10,8 @@ Transfert ...@@ -10,8 +10,8 @@ Transfert
ExcitationEnergy= 0.0 ExcitationEnergy= 0.0
BeamEnergy= 1340 BeamEnergy= 1340
BeamEnergySpread= 0 BeamEnergySpread= 0
SigmaX= 0.851 SigmaX= 0
SigmaY= 0.851 SigmaY= 0
SigmaThetaX= 0 SigmaThetaX= 0
SigmaPhiY= 0 SigmaPhiY= 0
CrossSectionPath= CS_Ep10MeV_sn134pt_gs_1h9demi.dat CrossSectionPath= CS_Ep10MeV_sn134pt_gs_1h9demi.dat
......
...@@ -2,5 +2,6 @@ TTreeName ...@@ -2,5 +2,6 @@ TTreeName
SimulatedTree SimulatedTree
RootFileName RootFileName
../../Outputs/Simulation/mySimul.root ../../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/132Sndp_3p3_10MeVA_T0_B1_E0_S05mm.root
% ../../Outputs/Simulation/134Snpt_1h9_10MeVA_T1_B1_E0_S05mm.root % ../../Outputs/Simulation/134Snpt_1h9_10MeVA_T1_B1_E0_S05mm.root
...@@ -112,6 +112,9 @@ namespace ENERGYLOSS ...@@ -112,6 +112,9 @@ namespace ENERGYLOSS
// For 134Sn(p,t) // For 134Sn(p,t)
EnergyLoss LightTarget = EnergyLoss("triton_CH2.G4table", "G4Table", 1000); // G4 EnergyLoss LightTarget = EnergyLoss("triton_CH2.G4table", "G4Table", 1000); // G4
EnergyLoss BeamTarget = EnergyLoss("Sn134[0.0]_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 ; using namespace ENERGYLOSS ;
......
...@@ -26,6 +26,7 @@ void DisplayInputCrossSection() ...@@ -26,6 +26,7 @@ void DisplayInputCrossSection()
// Read cross-section 132Sn(d,d) // Read cross-section 132Sn(d,d)
// Angel // Angel
TGraph *grdd = new TGraph(path + "132Sndd_10A_MeV_ruth.dat"); TGraph *grdd = new TGraph(path + "132Sndd_10A_MeV_ruth.dat");
TGraph *grpp = new TGraph(path + "132Snpp_10A_MeV_ruth.dat");
// Draw cross-sections // Draw cross-sections
TCanvas *can = new TCanvas("can"); TCanvas *can = new TCanvas("can");
...@@ -49,11 +50,13 @@ void DisplayInputCrossSection() ...@@ -49,11 +50,13 @@ void DisplayInputCrossSection()
gr3->SetLineColor(kBlue); gr3->SetLineStyle(2); gr3->Draw("l"); gr3->SetLineColor(kBlue); gr3->SetLineStyle(2); gr3->Draw("l");
gr4->SetLineColor(kBlue); gr4->Draw("l");*/ gr4->SetLineColor(kBlue); gr4->Draw("l");*/
// gr5->Draw("l"); // gr5->Draw("l");
grdd->Draw("l"); // grdd->Draw("l");
grpp->Draw("l");
// TLegend // TLegend
TLegend *leg = new TLegend(0.50, 0.64, 0.82, 0.84); 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); /* TLegend *leg = new TLegend(0.50, 0.64, 0.82, 0.84);
leg->AddEntry(grpt1, "1h9/2 10 MeV/u", "l"); leg->AddEntry(grpt1, "1h9/2 10 MeV/u", "l");
leg->AddEntry(grpt2, "1h9/2 15 MeV/u", "l"); leg->AddEntry(grpt2, "1h9/2 15 MeV/u", "l");
......
...@@ -95,11 +95,14 @@ int main(int argc,char** argv) ...@@ -95,11 +95,14 @@ int main(int argc,char** argv)
double E = GPDTrack->GetEnergyDeposit(); double E = GPDTrack->GetEnergyDeposit();
// if there is a hit in the detector array, treat it. // 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 DetecX, DetecY, DetecZ;
double r; double r;
TVector3 A; TVector3 A;
if (E > -1000) { if (E > -1000) {
// Get c.m. angle
ThetaCM = initCond->GetICEmittedAngleThetaCM(0) * deg;
// Get exact scattering angle from TInteractionCoordinates object // Get exact scattering angle from TInteractionCoordinates object
// Theta = interCoord->GetDetectedAngleTheta(0) * deg; // Theta = interCoord->GetDetectedAngleTheta(0) * deg;
DetecX = interCoord->GetDetectedPositionX(0); DetecX = interCoord->GetDetectedPositionX(0);
...@@ -126,24 +129,27 @@ int main(int argc,char** argv) ...@@ -126,24 +129,27 @@ int main(int argc,char** argv)
// cout << "HitDirection: " << HitDirection.X() << " " << HitDirection.Y() << " " << HitDirection.Z() << endl; // 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) // 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)); ThetaStrip = ThetaCalculation(A, TVector3(0,0,1));
// Theta = ThetaCalculation(Detec, TVector3(0, 0, 1)); Theta = ThetaCalculation(Detec, TVector3(0, 0, 1));
// Calculate scattering angle w.r.t. beam (ideal case) // Calculate scattering angle w.r.t. beam (ideal case)
// ThetaStrip = ThetaCalculation(HitDirection, BeamDirection); // ThetaStrip = ThetaCalculation(HitDirection, BeamDirection);
// Theta = ThetaCalculation(Detec - TVector3(XTarget, YTarget, 0), BeamDirection); // Theta = ThetaCalculation(Detec - TVector3(XTarget, YTarget, 0), BeamDirection);
// Calculate scattering angle w.r.t. beam (finite spatial resolution) // 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; angle = gene->Rndm() * 2*3.14;
r = fabs(gene->Gaus(0, resol)) * micrometer; r = fabs(gene->Gaus(0, resol)) * micrometer;
ThetaStrip = ThetaCalculation(A - TVector3(XTarget + r*cos(angle), YTarget + r*sin(angle), 0), BeamDirection); 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); Theta = ThetaCalculation(Detec - TVector3(XTarget + r*cos(angle), YTarget + r*sin(angle), 0), BeamDirection);
*/
// Correct for energy loss in the target // Correct for energy loss in the target
E = LightTarget.EvaluateInitialEnergy(E, myDetector->GetTargetThickness()/2 * micrometer, ThetaStrip); E = LightTarget.EvaluateInitialEnergy(E, myDetector->GetTargetThickness()/2 * micrometer, ThetaStrip);
// Calculate excitation energy // Calculate excitation energy
// if (Theta/deg > 150 && Theta/deg < 180) { // 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) { // if (Theta/deg > 90) {
ExNoStrips = myReaction->ReconstructRelativistic(E, Theta / rad); ExNoStrips = myReaction->ReconstructRelativistic(E, Theta / rad);
Ex = myReaction->ReconstructRelativistic(E, ThetaStrip); Ex = myReaction->ReconstructRelativistic(E, ThetaStrip);
......
...@@ -802,7 +802,7 @@ void GaspardTracker::AddModuleDummyShape(double theta, ...@@ -802,7 +802,7 @@ void GaspardTracker::AddModuleDummyShape(double theta,
V.Rotate( beta_w * Pi/180. , W ) ; V.Rotate( beta_w * Pi/180. , W ) ;
double Face = 50; // mm double Face = 50; // mm
double NumberOfStrip = 100; double NumberOfStrip = 25;
double StripPitch = Face/NumberOfStrip; // mm double StripPitch = Face/NumberOfStrip; // mm
vector<double> lineX; vector<double> lineX;
......
...@@ -165,8 +165,8 @@ namespace GPDDUMMYSHAPE ...@@ -165,8 +165,8 @@ namespace GPDDUMMYSHAPE
// const G4int NumberOfStrips = 10; // 5 mm strip pitch // const G4int NumberOfStrips = 10; // 5 mm strip pitch
// const G4int NumberOfStrips = 25; // 2 mm strip pitch // const G4int NumberOfStrips = 25; // 2 mm strip pitch
// const G4int NumberOfStrips = 50; // 1 mm strip pitch // const G4int NumberOfStrips = 50; // 1 mm strip pitch
const G4int NumberOfStrips = 100; // 0.5 mm strip pitch // const G4int NumberOfStrips = 100; // 0.5 mm strip pitch
// const G4int NumberOfStrips = 500; // 0.1 mm strip pitch const G4int NumberOfStrips = 500; // 0.1 mm strip pitch
// Second stage // Second stage
const G4double SecondStageFace = FirstStageFace; const G4double SecondStageFace = FirstStageFace;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment