From 81deb6f7d034a87a6b3189daddd33fb17199008a Mon Sep 17 00:00:00 2001 From: Plagnol <plagnol.leo@gmail.com> Date: Thu, 16 Jan 2025 16:23:13 +0100 Subject: [PATCH] update on Project Monster@ALTO --- Projects/Monster/PhysicsListOption.txt | 1 + Projects/Monster/macros/ShowHistograms.C | 66 +++++++++++++++++++ Projects/Monster/pipeline.sh | 2 + .../Monster/sources/isotropic_gamma.source | 51 ++++++++++++++ .../isotropic_neutron.source} | 2 +- Projects/Monster/sources/multineutrons.source | 11 ++++ Projects/Monster/sources/neutrons.txt | 11 ++++ 7 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 Projects/Monster/macros/ShowHistograms.C create mode 100755 Projects/Monster/pipeline.sh create mode 100644 Projects/Monster/sources/isotropic_gamma.source rename Projects/Monster/{neutron.source => sources/isotropic_neutron.source} (96%) create mode 100644 Projects/Monster/sources/multineutrons.source create mode 100644 Projects/Monster/sources/neutrons.txt diff --git a/Projects/Monster/PhysicsListOption.txt b/Projects/Monster/PhysicsListOption.txt index 9acc06a9a..9c3886dd8 100644 --- a/Projects/Monster/PhysicsListOption.txt +++ b/Projects/Monster/PhysicsListOption.txt @@ -10,6 +10,7 @@ OpticalPhysics 0 HadronPhysicsINCLXX 0 HadronPhysicsQGSP_BIC_HP 0 HadronPhysicsQGSP_BERT_HP 1 +HadronPhysicsQGSP_INCLXX_HP 1 Decay 0 Menate_R 0 NeutronHP 1 diff --git a/Projects/Monster/macros/ShowHistograms.C b/Projects/Monster/macros/ShowHistograms.C new file mode 100644 index 000000000..1db6f78d8 --- /dev/null +++ b/Projects/Monster/macros/ShowHistograms.C @@ -0,0 +1,66 @@ +void ShowHistograms() +{ + // Load File + TString NPPATH = getenv("NPTOOL"); + TFile* file = new TFile(NPPATH+"/Outputs/Simulation/MonsterNeutronTest.root"); + TTree* SimulatedTree = (TTree*)file->Get("SimulatedTree"); + + // Declare histograms + TH1F* h1_TOF_Monster = new TH1F("h1_TOF_Monster", "h1_TOF_Monster", 200, 0, 200); + TH1F* h1_TOF_Plastic = new TH1F("h1_TOF_Plastic", "h1_TOF_Plastic", 20, 0, 5); + TH1F* h1_TOF_diff_Monster_Plastic = new TH1F("h1_TOF_diff_Monster_Plastic", "h1_TOF_diff_Monster_Plastic", 200, 0, 200); + TH2F* h2_TOF_DetNbr_Monster = new TH2F("h2_TOF_DetNbr_Monster", "h2_TOF_DetNbr_Monster", 40, 1, 41, 200, 0, 200); + + TH1F* h1_Energy_Monster = new TH1F("h1_Energy_Monster", "h1_Energy_Monster", 500, 0, 10); + TH1F* h1_Energy_Plastic = new TH1F("h1_Energy_Plastic", "h1_Energy_Plastic", 500, 0, 10); + + TH2F* h2_InitialEnergy_TOFdiff = new TH2F("h2_InitialEnergy_TOFdiff", "h2_InitialEnergy_TOFdiff", 500, 0, 10, 200, 0, 200); + + TH1F* h1_Energy_Ge = new TH1F("h1_Energy_Ge", "h1_Energy_Ge", 1000, 0, 5000); + + // Fill histograms + SimulatedTree->Draw("Monster.fMonster_Time>>h1_TOF_Monster", "", "goff"); + SimulatedTree->Draw("Plastic_BEDO.fPlastic_BEDO_Time>>h1_TOF_Plastic", "", "goff"); + SimulatedTree->Draw("Monster.fMonster_Time-Plastic_BEDO.fPlastic_BEDO_Time>>h1_TOF_diff_Monster_Plastic", "", "goff"); + SimulatedTree->Draw("Monster.fMonster_Time:Monster.fMonster_T_DetectorNbr>>h2_TOF_DetNbr_Monster", "", "goff"); + SimulatedTree->Draw("Monster.fMonster_Energy>>h1_Energy_Monster", "", "goff"); + SimulatedTree->Draw("Plastic_BEDO.fPlastic_BEDO_Energy>>h1_Energy_Plastic", "", "goff"); + // SimulatedTree->Draw("Monster.fMonster_Time-Plastic_BEDO.fPlastic_BEDO_Time:InitialConditions.fIC_Kinetic_Energy>>h2_InitialEnergy_TOFdiff", "", "goff"); + /*Temporary : no betas to tag on right now*/SimulatedTree->Draw("Monster.fMonster_Time:InitialConditions.fIC_Kinetic_Energy>>h2_InitialEnergy_TOFdiff", "", "goff"); + SimulatedTree->Draw("Coaxial_Germanium.fCoaxial_Germanium_Energy>>h1_Energy_Ge", "", "goff"); + + // Rename axes + h1_TOF_Monster ->SetTitle("TOF_Monster;TOF (ns);#"); + h1_TOF_Plastic ->SetTitle("TOF_Plastic;TOF (ns);#"); + h1_TOF_diff_Monster_Plastic->SetTitle("TOF_diff;TOF_Monster-TOF_Plastic (ns);#"); + h2_TOF_DetNbr_Monster ->SetTitle("TOF_vs_DetNbr;Monster Detector Number;TOF (ns)"); + h1_Energy_Monster ->SetTitle("Energy_Monster;Energy (MeV);#"); + h1_Energy_Plastic ->SetTitle("Energy_Plastic;Energy (MeV);#"); + h2_InitialEnergy_TOFdiff ->SetTitle("Initial_Energy_vs_TOF;Initial Energy (MeV);TOF (ns)"); + h1_Energy_Ge ->SetTitle("Energy_Ge;Energy (MeV);#"); + + gStyle->SetOptStat(0); + TCanvas* c_TOF = new TCanvas("c_TOF", "c_TOF"); + c_TOF->Divide(2,2); + c_TOF->cd(1); + h1_TOF_Monster->Draw(); + c_TOF->cd(2); + h1_TOF_Plastic->Draw(); + c_TOF->cd(3); + h1_TOF_diff_Monster_Plastic->Draw(); + c_TOF->cd(4); + h2_TOF_DetNbr_Monster->Draw("colz"); + + TCanvas* c_Energy = new TCanvas("c_Energy", "c_Energy"); + c_Energy->Divide(2,2); + c_Energy->cd(1); + h1_Energy_Monster->Draw(); + c_Energy->cd(2); + h1_Energy_Plastic->Draw(); + c_Energy->cd(3); + h2_InitialEnergy_TOFdiff->Draw("colz"); + c_Energy->cd(4); + h1_Energy_Ge->Draw(); + + return; +} diff --git a/Projects/Monster/pipeline.sh b/Projects/Monster/pipeline.sh new file mode 100755 index 000000000..2dc686352 --- /dev/null +++ b/Projects/Monster/pipeline.sh @@ -0,0 +1,2 @@ +npsimulation -D Monster.detector -E sources/isotropic_neutron.source -B test.mac -O MonsterNeutronTest +root macros/ShowHistograms.C diff --git a/Projects/Monster/sources/isotropic_gamma.source b/Projects/Monster/sources/isotropic_gamma.source new file mode 100644 index 000000000..51a66f8de --- /dev/null +++ b/Projects/Monster/sources/isotropic_gamma.source @@ -0,0 +1,51 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%% An Isotropic Source to be used as EventGenerator %%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Energy are given in MeV , Position in mm % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Isotropic + EnergyLow= 1 keV + EnergyHigh= 20 MeV + EnergyDistribution= flat + HalfOpenAngleMin= 0 deg + HalfOpenAngleMax= 90 deg + x0= 0 mm + y0= 0 mm + z0= 0 mm + SigmaX= 0 mm + SigmaY= 0 mm + Multiplicity= 1 + Particle= gamma + +%Isotropic +% EnergyLow= 0 MeV +% EnergyHigh= 5 MeV +% %EnergyDistribution= FromHisto +% EnergyDistribution= flat +% %EnergyDistributionHist= ./EnergyDistributions/gaussian.root h +% HalfOpenAngleMin= 0 deg +% HalfOpenAngleMax= 180 deg +% x0= 0 mm +% y0= 0 mm +% z0= 0 mm +% SigmaX= 0 mm +% SigmaY= 0 mm +% Multiplicity= 1 +% Particle= positron + +%Isotropic +% EnergyLow= 1 MeV +% EnergyHigh= 1 MeV +% EnergyDistribution= flat +% HalfOpenAngleMin= 0 deg +% HalfOpenAngleMax= 180 deg +% x0= 0 mm +% y0= 0 mm +% z0= 0 mm +% SigmaX= 0 mm +% SigmaY= 0 mm +% Multiplicity= 1 +% Particle= gamma +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Supported particle type: proton, neutron, deuton, triton, He3 , alpha diff --git a/Projects/Monster/neutron.source b/Projects/Monster/sources/isotropic_neutron.source similarity index 96% rename from Projects/Monster/neutron.source rename to Projects/Monster/sources/isotropic_neutron.source index f6d2480d8..0ed291584 100644 --- a/Projects/Monster/neutron.source +++ b/Projects/Monster/sources/isotropic_neutron.source @@ -5,7 +5,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Isotropic EnergyLow= 1 MeV - EnergyHigh= 1 MeV + EnergyHigh= 10 MeV HalfOpenAngleMin= 0 deg HalfOpenAngleMax= 180 deg x0= 0 mm diff --git a/Projects/Monster/sources/multineutrons.source b/Projects/Monster/sources/multineutrons.source new file mode 100644 index 000000000..58dfcbdf0 --- /dev/null +++ b/Projects/Monster/sources/multineutrons.source @@ -0,0 +1,11 @@ +MultipleParticle + x0= 0 mm + y0= 0 mm + z0= 0 nm + HalfOpenAngleMin= 0 deg + HalfOpenAngleMax= 180 deg + SigmaX= 0 mm + SigmaY= 0 mm + Events= 10 + EventFile= sources/neutrons.txt + diff --git a/Projects/Monster/sources/neutrons.txt b/Projects/Monster/sources/neutrons.txt new file mode 100644 index 000000000..e9346a0b2 --- /dev/null +++ b/Projects/Monster/sources/neutrons.txt @@ -0,0 +1,11 @@ +Multiplicity 10 +neutron 1 0 +neutron 2 0 +neutron 3 0 +neutron 4 0 +neutron 5 0 +neutron 6 0 +neutron 7 0 +neutron 8 0 +neutron 9 0 +neutron 10 0 -- GitLab