From 3d870d6efb9cfd30d09529d61118e8ccb46394bf Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Fri, 7 Jan 2022 22:50:23 +0100 Subject: [PATCH 01/22] Fixing compilation issues --- src/CommandLineSetup.cxx | 2 ++ src/PhysicsList.cxx | 1 + 2 files changed, 3 insertions(+) diff --git a/src/CommandLineSetup.cxx b/src/CommandLineSetup.cxx index 553b97dd..903398de 100644 --- a/src/CommandLineSetup.cxx +++ b/src/CommandLineSetup.cxx @@ -4,6 +4,8 @@ #include "CommandLineSetup.h" +#include + #include using namespace std; diff --git a/src/PhysicsList.cxx b/src/PhysicsList.cxx index 83de786c..8d906e7f 100644 --- a/src/PhysicsList.cxx +++ b/src/PhysicsList.cxx @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include From fc5556a99e99706ddb77d795181343413e4223ba Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Fri, 7 Jan 2022 22:52:25 +0100 Subject: [PATCH 02/22] 08.Alphas example added --- examples/08.Alphas/alphas.rml | 90 +++++++++++++++++++++++ examples/08.Alphas/geometry/geometry.gdml | 47 ++++++++++++ examples/08.Alphas/geometry/setup.gdml | 34 +++++++++ 3 files changed, 171 insertions(+) create mode 100644 examples/08.Alphas/alphas.rml create mode 100644 examples/08.Alphas/geometry/geometry.gdml create mode 100644 examples/08.Alphas/geometry/setup.gdml diff --git a/examples/08.Alphas/alphas.rml b/examples/08.Alphas/alphas.rml new file mode 100644 index 00000000..06466e1d --- /dev/null +++ b/examples/08.Alphas/alphas.rml @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + // Use only one EM physics list + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/08.Alphas/geometry/geometry.gdml b/examples/08.Alphas/geometry/geometry.gdml new file mode 100644 index 00000000..87530419 --- /dev/null +++ b/examples/08.Alphas/geometry/geometry.gdml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/08.Alphas/geometry/setup.gdml b/examples/08.Alphas/geometry/setup.gdml new file mode 100644 index 00000000..cae5aa23 --- /dev/null +++ b/examples/08.Alphas/geometry/setup.gdml @@ -0,0 +1,34 @@ + + + + + + ]> + + + + + + + + + + + + + + + + + &materials; + + &geometry; + + + + + + + From 2b23b9f1dcad4af2ab369d950ebcd09fb8e1a854 Mon Sep 17 00:00:00 2001 From: clang runner Date: Thu, 13 Jan 2022 12:24:17 +0100 Subject: [PATCH 03/22] Updating alphas.rml and geometry --- examples/08.Alphas/alphas.rml | 16 ++++++------ examples/08.Alphas/geometry/geometry.gdml | 31 ++++++++++++++++++----- examples/08.Alphas/geometry/setup.gdml | 7 ++--- 3 files changed, 36 insertions(+), 18 deletions(-) diff --git a/examples/08.Alphas/alphas.rml b/examples/08.Alphas/alphas.rml index 06466e1d..71cf8b81 100644 --- a/examples/08.Alphas/alphas.rml +++ b/examples/08.Alphas/alphas.rml @@ -20,15 +20,15 @@ By default REST units are mm, keV and degrees - - + + - + @@ -36,20 +36,20 @@ By default REST units are mm, keV and degrees - + - + - + - - + + diff --git a/examples/08.Alphas/geometry/geometry.gdml b/examples/08.Alphas/geometry/geometry.gdml index 87530419..b252a6c2 100644 --- a/examples/08.Alphas/geometry/geometry.gdml +++ b/examples/08.Alphas/geometry/geometry.gdml @@ -1,15 +1,22 @@ - - - + + + + + + + + + + - - + + @@ -22,6 +29,11 @@ + + + + + @@ -34,12 +46,17 @@ - + - + + + + + + diff --git a/examples/08.Alphas/geometry/setup.gdml b/examples/08.Alphas/geometry/setup.gdml index cae5aa23..4d2ea411 100644 --- a/examples/08.Alphas/geometry/setup.gdml +++ b/examples/08.Alphas/geometry/setup.gdml @@ -1,5 +1,5 @@ - + @@ -13,10 +13,11 @@ + - - + + From b49d851c1a98291ae41c1ec5656de1ecb851e6e5 Mon Sep 17 00:00:00 2001 From: clang runner Date: Thu, 13 Jan 2022 12:24:57 +0100 Subject: [PATCH 04/22] Uploading 08.alphas analysis and plots --- examples/08.Alphas/analysis.rml | 54 +++++++++++++++++++++++++++++ examples/08.Alphas/plots.rml | 60 +++++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+) create mode 100644 examples/08.Alphas/analysis.rml create mode 100644 examples/08.Alphas/plots.rml diff --git a/examples/08.Alphas/analysis.rml b/examples/08.Alphas/analysis.rml new file mode 100644 index 00000000..e96f2e5b --- /dev/null +++ b/examples/08.Alphas/analysis.rml @@ -0,0 +1,54 @@ + + + + + + + + + + + + %options are : essential silent, warning, info, debug + + + + + + + + + + + + + + + + + + + + + + + + // observable = all will add all NON `custom` observables + + + + + + + + + + + + + + + diff --git a/examples/08.Alphas/plots.rml b/examples/08.Alphas/plots.rml new file mode 100644 index 00000000..58ec9d46 --- /dev/null +++ b/examples/08.Alphas/plots.rml @@ -0,0 +1,60 @@ + + + + + + //change this value to "auto" to enable database + //change this value to "auto" to enable database + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From c86234f6b02878c4d7b66c8e709e24f17fe2b793 Mon Sep 17 00:00:00 2001 From: clang runner Date: Tue, 25 Jan 2022 10:37:07 +0100 Subject: [PATCH 05/22] Updating configuration files --- examples/08.Alphas/alphas.rml | 2 +- examples/08.Alphas/analysis.rml | 3 +-- examples/08.Alphas/plots.rml | 37 +++++++-------------------------- 3 files changed, 9 insertions(+), 33 deletions(-) diff --git a/examples/08.Alphas/alphas.rml b/examples/08.Alphas/alphas.rml index 71cf8b81..76a6d350 100644 --- a/examples/08.Alphas/alphas.rml +++ b/examples/08.Alphas/alphas.rml @@ -21,7 +21,7 @@ By default REST units are mm, keV and degrees - + diff --git a/examples/08.Alphas/analysis.rml b/examples/08.Alphas/analysis.rml index e96f2e5b..1c581e0a 100644 --- a/examples/08.Alphas/analysis.rml +++ b/examples/08.Alphas/analysis.rml @@ -12,7 +12,6 @@ internal values are saved. - %options are : essential silent, warning, info, debug @@ -25,7 +24,7 @@ internal values are saved. - + diff --git a/examples/08.Alphas/plots.rml b/examples/08.Alphas/plots.rml index 58ec9d46..b2cfe218 100644 --- a/examples/08.Alphas/plots.rml +++ b/examples/08.Alphas/plots.rml @@ -2,54 +2,31 @@ - - //change this value to "auto" to enable database - //change this value to "auto" to enable database - - - + - + - - + + - - + + - + - - - From a667ea42c6771ea7f9216f3f3e4f45d3d12d7e26 Mon Sep 17 00:00:00 2001 From: clang runner Date: Tue, 25 Jan 2022 10:37:43 +0100 Subject: [PATCH 06/22] Adding plots image --- examples/08.Alphas/plots.png | Bin 0 -> 20458 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 examples/08.Alphas/plots.png diff --git a/examples/08.Alphas/plots.png b/examples/08.Alphas/plots.png new file mode 100644 index 0000000000000000000000000000000000000000..1d662a4c484cc754ec7e0f867677adecd16bd1d4 GIT binary patch literal 20458 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 AMF0Q* literal 0 HcmV?d00001 From bf06b5287612cbaa58475d5c29e17881094501d4 Mon Sep 17 00:00:00 2001 From: clang runner Date: Tue, 25 Jan 2022 10:47:05 +0100 Subject: [PATCH 07/22] plots.rml Output file is now generated at execution path --- examples/08.Alphas/plots.rml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/08.Alphas/plots.rml b/examples/08.Alphas/plots.rml index b2cfe218..1eaed888 100644 --- a/examples/08.Alphas/plots.rml +++ b/examples/08.Alphas/plots.rml @@ -6,7 +6,7 @@ - + From 6909c4545c14240d85df55d9816b2a32fb762d20 Mon Sep 17 00:00:00 2001 From: clang runner Date: Tue, 25 Jan 2022 10:47:18 +0100 Subject: [PATCH 08/22] Adding validation script --- examples/08.Alphas/Validate.C | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 examples/08.Alphas/Validate.C diff --git a/examples/08.Alphas/Validate.C b/examples/08.Alphas/Validate.C new file mode 100644 index 00000000..018c3c32 --- /dev/null +++ b/examples/08.Alphas/Validate.C @@ -0,0 +1,28 @@ + +Int_t Validate() { + TFile* f = new TFile("plots.root"); + + TH1F* h1 = (TH1F*)f->Get("1MeV_5um"); + if (h1->Integral() != 1578) { + cout << "Wrong number of alphas produced at 1MeV_5um!" << endl; + cout << "Histogram contains : " << h1->Integral() << endl; + return 10; + } + + TH1F* h2 = (TH1F*)f->Get("5MeV_5um"); + if (h2->Integral() != 7182) { + cout << "Wrong number of alphas produced at 5MeV_5um!" << endl; + cout << "Histogram contains : " << h2->Integral() << endl; + return 20; + } + + TH1F* h3 = (TH1F*)f->Get("5MeV_1um"); + if (h3->Integral() != 9421) { + cout << "Wrong number of alphas produced at 5MeV_1um!" << endl; + cout << "Histogram contains : " << h3->Integral() << endl; + return 30; + } + + cout << "All tests passed! [\033[32mOK\033[0m]\n"; + return 0; +} From 86d26a85cc2e091810c7efb78850e6efa19fc0fb Mon Sep 17 00:00:00 2001 From: clang runner Date: Tue, 25 Jan 2022 10:48:13 +0100 Subject: [PATCH 09/22] Adding 08.Alphas to validation pipeline --- .gitlab-ci.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7b40d61b..7187cd72 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -138,6 +138,28 @@ loadRESTLibs: - restG4 singleDecay.rml - restRoot -b -q Validate.C'("Run00002_Be7_SingleChainDecay.root", 1)' +08_Alphas: + type: examples + script: + - . ${CI_PROJECT_DIR}/install/thisREST.sh + - cd ${CI_PROJECT_DIR}/install/examples/08.Alphas/ + - mkdir data + - export REST_ENERGY=5 + - export REST_FOIL=1 + - restG4 alphas.rml + - export REST_ENERGY=5 + - export REST_FOIL=5 + - restG4 alphas.rml + - export REST_ENERGY=1 + - export REST_FOIL=5 + - restG4 alphas.rml + - restManager + - restManager --c analysis.rml --f Run_1MeV_5um.root + - restManager --c analysis.rml --f Run_5MeV_1um.root + - restManager --c analysis.rml --f Run_5MeV_5um.root + - restManager --c plots.rml --f "data/*g4Ana*root" + - restRoot -b -q Validate.C + 09_Pb210_Shielding: type: examples From 289350a588dc7f1b78b93f70e237fb5fa192c8a5 Mon Sep 17 00:00:00 2001 From: clang runner Date: Tue, 25 Jan 2022 11:13:38 +0100 Subject: [PATCH 10/22] Adding a README --- .gitlab-ci.yml | 1 - examples/08.Alphas/README.md | 81 ++++++++++++++++++++++++++++++++ examples/08.Alphas/event.png | Bin 0 -> 9584 bytes examples/08.Alphas/geometry.png | Bin 0 -> 20131 bytes 4 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 examples/08.Alphas/README.md create mode 100644 examples/08.Alphas/event.png create mode 100644 examples/08.Alphas/geometry.png diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7187cd72..dcd2ff23 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -153,7 +153,6 @@ loadRESTLibs: - export REST_ENERGY=1 - export REST_FOIL=5 - restG4 alphas.rml - - restManager - restManager --c analysis.rml --f Run_1MeV_5um.root - restManager --c analysis.rml --f Run_5MeV_1um.root - restManager --c analysis.rml --f Run_5MeV_5um.root diff --git a/examples/08.Alphas/README.md b/examples/08.Alphas/README.md new file mode 100644 index 00000000..5cf8ceaa --- /dev/null +++ b/examples/08.Alphas/README.md @@ -0,0 +1,81 @@ +**Date:** 25/January/2022 + +**Author:** Javier Galan (javier.galan@unizar.es) + +This example tests the generation of alphas with a well defined energy from a thin foil immersed in a gas volume. + +#### Detector geometry + +The geometry consists of a 10x10x10cm3 box made of Argon gas. In the middle of the box a small copper plate is placed. The thickness of the plate in um can be controlled with an enviromental system variable, REST_FOIL. + +#### Event generator +The event generator will produce mono-energetic alphas produced in the copper sample volume (physical volume named source). The energy of the alphas can be controled using the REST_ENERGY system environment variable expressed in MeV. + +#### Testing the example + +Create a "data" directory if not existing already + +``` +mkdir data +``` + +Execute the following to launch the generation of 10,000 alphas. + +``` +restG4 alphas.rml +``` + +Execute the following to launch the processing of the generated events and produce few observables inside the analysis tree. + +``` +restG4 --c analysis.rml --f data/FileGenerated.root +``` + +See also `../../.gitlab-ci.yml` and `Validation.C` for validation routines executed in the pipeline. The following plot is generated using the pipeline. + + +![alphaPlots](plots.png) + +Commands to reproduce the figure shown follow: + +``` +mkdir data +export REST_ENERGY=5 +export REST_FOIL=1 +restG4 alphas.rml + +export REST_FOIL=5 +restG4 alphas.rml + +export REST_ENERGY=1 +restG4 alphas.rml + +restManager --c analysis.rml --f Run_1MeV_5um.root +restManager --c analysis.rml --f Run_5MeV_1um.root +restManager --c analysis.rml --f Run_5MeV_5um.root +restManager --c plots.rml --f "data/*g4Ana*root" +``` + + +A minimal ROOT shell commands to visualize the detector geometry is: + +``` +export REST_FOIL=5 +restRoot +root [0] TRestGDMLParser *g = new TRestGDMLParser() +root [1] TGeoManager *geo = g->GetGeoManager("geometry/setup.gdml") +root [2] geo->GetTopVolume()->Draw("ogl") +``` + +![geometry](geometry.png) + +Minimal ROOT shell commands to visualize events + +``` +restRootMacros +root [0] REST_Geant4_ViewEvent("data/Run_5MeV_1um.root") +root [1] TGeoManager *geo = g->GetGeoManager("geometry/setup.gdml") +root [2] geo->GetTopVolume()->Draw("ogl") +``` + +![geometry](event.png) diff --git a/examples/08.Alphas/event.png b/examples/08.Alphas/event.png new file mode 100644 index 0000000000000000000000000000000000000000..ef3421681a227f8467de91e07bdb99ae7dbe6eae GIT binary patch literal 9584 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 V>YxnZH&q~zjD(_i$vdOq{{eobX4U`z literal 0 HcmV?d00001 diff --git a/examples/08.Alphas/geometry.png b/examples/08.Alphas/geometry.png new file mode 100644 index 0000000000000000000000000000000000000000..f8376ba0ff88eab23302edc71127c5873309274e GIT binary patch literal 20131 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 literal 0 HcmV?d00001 From a72ce622c836b3e485ee5968abadd1a16a34da77 Mon Sep 17 00:00:00 2001 From: clang runner Date: Tue, 25 Jan 2022 11:21:00 +0100 Subject: [PATCH 11/22] README adjusting plot size --- examples/08.Alphas/README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/examples/08.Alphas/README.md b/examples/08.Alphas/README.md index 5cf8ceaa..4f1ae473 100644 --- a/examples/08.Alphas/README.md +++ b/examples/08.Alphas/README.md @@ -2,6 +2,12 @@ **Author:** Javier Galan (javier.galan@unizar.es) + + This example tests the generation of alphas with a well defined energy from a thin foil immersed in a gas volume. #### Detector geometry @@ -34,7 +40,7 @@ restG4 --c analysis.rml --f data/FileGenerated.root See also `../../.gitlab-ci.yml` and `Validation.C` for validation routines executed in the pipeline. The following plot is generated using the pipeline. -![alphaPlots](plots.png) +![plot](plots.png) Commands to reproduce the figure shown follow: From 798fa30bae1cb5bd713c6b3d3da47236db2936f9 Mon Sep 17 00:00:00 2001 From: clang runner Date: Tue, 25 Jan 2022 11:21:55 +0100 Subject: [PATCH 12/22] Testing size --- examples/08.Alphas/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/08.Alphas/README.md b/examples/08.Alphas/README.md index 4f1ae473..ebe5f5d0 100644 --- a/examples/08.Alphas/README.md +++ b/examples/08.Alphas/README.md @@ -4,7 +4,7 @@ @@ -84,4 +84,4 @@ root [1] TGeoManager *geo = g->GetGeoManager("geometry/setup.gdml") root [2] geo->GetTopVolume()->Draw("ogl") ``` -![geometry](event.png) +![event](event.png) From f50720f68678cc19b3c0bba5e43b844ad31d49c6 Mon Sep 17 00:00:00 2001 From: clang runner Date: Tue, 25 Jan 2022 11:24:52 +0100 Subject: [PATCH 13/22] Testing size --- examples/08.Alphas/README.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/examples/08.Alphas/README.md b/examples/08.Alphas/README.md index ebe5f5d0..b69d2a79 100644 --- a/examples/08.Alphas/README.md +++ b/examples/08.Alphas/README.md @@ -2,12 +2,6 @@ **Author:** Javier Galan (javier.galan@unizar.es) - - This example tests the generation of alphas with a well defined energy from a thin foil immersed in a gas volume. #### Detector geometry @@ -40,7 +34,7 @@ restG4 --c analysis.rml --f data/FileGenerated.root See also `../../.gitlab-ci.yml` and `Validation.C` for validation routines executed in the pipeline. The following plot is generated using the pipeline. -![plot](plots.png) +![plot](plots.png | width=400) Commands to reproduce the figure shown follow: From 6b529418164c7b363d207ccba326d7573f63bd3e Mon Sep 17 00:00:00 2001 From: clang runner Date: Tue, 25 Jan 2022 11:33:54 +0100 Subject: [PATCH 14/22] Adding few fixes --- examples/08.Alphas/README.md | 4 ++-- examples/08.Alphas/geometry/geometry.gdml | 4 ++-- examples/08.Alphas/plots.png | Bin 20458 -> 59239 bytes 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/08.Alphas/README.md b/examples/08.Alphas/README.md index b69d2a79..23c34dc7 100644 --- a/examples/08.Alphas/README.md +++ b/examples/08.Alphas/README.md @@ -31,10 +31,10 @@ Execute the following to launch the processing of the generated events and produ restG4 --c analysis.rml --f data/FileGenerated.root ``` -See also `../../.gitlab-ci.yml` and `Validation.C` for validation routines executed in the pipeline. The following plot is generated using the pipeline. +See also `../../.gitlab-ci.yml` and `Validation.C` for validation routines executed in the pipeline. The following plot showing the energy spectrum is generated using the pipeline. -![plot](plots.png | width=400) +![plot](plots.png) Commands to reproduce the figure shown follow: diff --git a/examples/08.Alphas/geometry/geometry.gdml b/examples/08.Alphas/geometry/geometry.gdml index b252a6c2..15380660 100644 --- a/examples/08.Alphas/geometry/geometry.gdml +++ b/examples/08.Alphas/geometry/geometry.gdml @@ -50,8 +50,8 @@ - - + + diff --git a/examples/08.Alphas/plots.png b/examples/08.Alphas/plots.png index 1d662a4c484cc754ec7e0f867677adecd16bd1d4..0fb4bbd5e4b1caeacb89fabd7ecc223b052d2ef5 100644 GIT binary patch literal 59239 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 Lwo;{nW$^z2JN1iL literal 20458 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 AMF0Q* From 50ae85140b8871abc22ad91a0e8e601623fda6c5 Mon Sep 17 00:00:00 2001 From: clang runner Date: Tue, 25 Jan 2022 11:36:00 +0100 Subject: [PATCH 15/22] Fixing pipeline --- .gitlab-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dcd2ff23..97c573e4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -153,9 +153,9 @@ loadRESTLibs: - export REST_ENERGY=1 - export REST_FOIL=5 - restG4 alphas.rml - - restManager --c analysis.rml --f Run_1MeV_5um.root - - restManager --c analysis.rml --f Run_5MeV_1um.root - - restManager --c analysis.rml --f Run_5MeV_5um.root + - restManager --c analysis.rml --f data/Run_1MeV_5um.root + - restManager --c analysis.rml --f data/Run_5MeV_1um.root + - restManager --c analysis.rml --f data/Run_5MeV_5um.root - restManager --c plots.rml --f "data/*g4Ana*root" - restRoot -b -q Validate.C From 9590ac332ef5e68d2761aff6bd7a175e8b5a633a Mon Sep 17 00:00:00 2001 From: clang runner Date: Tue, 25 Jan 2022 12:22:06 +0100 Subject: [PATCH 16/22] 08.Alphas adding further tests to pipeline --- examples/08.Alphas/Validate.C | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/examples/08.Alphas/Validate.C b/examples/08.Alphas/Validate.C index 018c3c32..6defc215 100644 --- a/examples/08.Alphas/Validate.C +++ b/examples/08.Alphas/Validate.C @@ -23,6 +23,38 @@ Int_t Validate() { return 30; } + TRestRun* run = new TRestRun("data/Run_g4Analysis_1MeV_5um.root"); + TRestAnalysisTree* aT = run->GetAnalysisTree(); + + // Testing an arbitrary entry + run->GetEntry(100); + + Int_t thetaInt = (int)(1000 * aT->GetObservableValue("g4Ana_thetaPrimary")); + if (thetaInt != 515) { + cout << "Wrong theta angle value for entry 100!" << endl; + return 60; + } + + Int_t phiInt = (int)(1000 * aT->GetObservableValue("g4Ana_phiPrimary")); + if (phiInt != 1539) { + cout << "Wrong theta angle value for entry 100!" << endl; + return 60; + } + + Double_t theta = aT->GetObservableAverage("g4Ana_thetaPrimary"); + if ((int)(1000 * theta) != 1589) { + cout << "Wrong theta angle average!" << endl; + cout << "Theta angle average : " << theta << " while it should be : " << 1.589 << endl; + return 80; + } + + Double_t phi = aT->GetObservableAverage("g4Ana_phiPrimary"); + if ((int)(1000 * phi) != 27) { + cout << "Wrong phi angle average!" << endl; + cout << "Phi angle average : " << phi << " while it should be : " << 0.027 << endl; + return 90; + } + cout << "All tests passed! [\033[32mOK\033[0m]\n"; return 0; } From 7ad9202d4d682ffdc4e358118869f068bc4f4273 Mon Sep 17 00:00:00 2001 From: clang runner Date: Tue, 25 Jan 2022 15:52:41 +0100 Subject: [PATCH 17/22] examples/08.Alphas disabling previewPlot to avoid seg.fault --- .gitlab-ci.yml | 2 +- examples/08.Alphas/plots.rml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 97c573e4..a0dc3d96 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -156,7 +156,7 @@ loadRESTLibs: - restManager --c analysis.rml --f data/Run_1MeV_5um.root - restManager --c analysis.rml --f data/Run_5MeV_1um.root - restManager --c analysis.rml --f data/Run_5MeV_5um.root - - restManager --c plots.rml --f "data/*g4Ana*root" + - restManager --c plots.rml --f "data/*g4Ana*root" --batch - restRoot -b -q Validate.C diff --git a/examples/08.Alphas/plots.rml b/examples/08.Alphas/plots.rml index 1eaed888..96abfff9 100644 --- a/examples/08.Alphas/plots.rml +++ b/examples/08.Alphas/plots.rml @@ -4,7 +4,7 @@ - + From 725a5066a0b545e8d4ad1f3acb672b6ace244176 Mon Sep 17 00:00:00 2001 From: clang runner Date: Tue, 25 Jan 2022 16:12:51 +0100 Subject: [PATCH 18/22] Validate.C adding more output --- examples/08.Alphas/Validate.C | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/examples/08.Alphas/Validate.C b/examples/08.Alphas/Validate.C index 6defc215..a3e9e5c8 100644 --- a/examples/08.Alphas/Validate.C +++ b/examples/08.Alphas/Validate.C @@ -27,14 +27,36 @@ Int_t Validate() { TRestAnalysisTree* aT = run->GetAnalysisTree(); // Testing an arbitrary entry + cout << 98 << endl; + run->GetEntry(98); + cout << (int)(1000 * aT->GetObservableValue("g4Ana_thetaPrimary")) << endl; + + cout << 99 << endl; + run->GetEntry(99); + cout << (int)(1000 * aT->GetObservableValue("g4Ana_thetaPrimary")) << endl; + + cout << 100 << endl; run->GetEntry(100); + cout << (int)(1000 * aT->GetObservableValue("g4Ana_thetaPrimary")) << endl; + + cout << 101 << endl; + run->GetEntry(101); + cout << (int)(1000 * aT->GetObservableValue("g4Ana_thetaPrimary")) << endl; + + cout << 102 << endl; + run->GetEntry(102); + cout << (int)(1000 * aT->GetObservableValue("g4Ana_thetaPrimary")) << endl; Int_t thetaInt = (int)(1000 * aT->GetObservableValue("g4Ana_thetaPrimary")); if (thetaInt != 515) { cout << "Wrong theta angle value for entry 100!" << endl; + cout << "Theta value is : " << thetaInt << endl; return 60; } + run->GetEntry(101); + cout << (int)(1000 * aT->GetObservableValue("g4Ana_thetaPrimary")) << endl; + Int_t phiInt = (int)(1000 * aT->GetObservableValue("g4Ana_phiPrimary")); if (phiInt != 1539) { cout << "Wrong theta angle value for entry 100!" << endl; From 26efa49468d626666e1cb433c0ef3c70d68a2e60 Mon Sep 17 00:00:00 2001 From: clang runner Date: Tue, 25 Jan 2022 17:31:01 +0100 Subject: [PATCH 19/22] Validate.C fixed pipeline --- examples/08.Alphas/Validate.C | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/examples/08.Alphas/Validate.C b/examples/08.Alphas/Validate.C index a3e9e5c8..9cbbef85 100644 --- a/examples/08.Alphas/Validate.C +++ b/examples/08.Alphas/Validate.C @@ -26,26 +26,7 @@ Int_t Validate() { TRestRun* run = new TRestRun("data/Run_g4Analysis_1MeV_5um.root"); TRestAnalysisTree* aT = run->GetAnalysisTree(); - // Testing an arbitrary entry - cout << 98 << endl; - run->GetEntry(98); - cout << (int)(1000 * aT->GetObservableValue("g4Ana_thetaPrimary")) << endl; - - cout << 99 << endl; - run->GetEntry(99); - cout << (int)(1000 * aT->GetObservableValue("g4Ana_thetaPrimary")) << endl; - - cout << 100 << endl; run->GetEntry(100); - cout << (int)(1000 * aT->GetObservableValue("g4Ana_thetaPrimary")) << endl; - - cout << 101 << endl; - run->GetEntry(101); - cout << (int)(1000 * aT->GetObservableValue("g4Ana_thetaPrimary")) << endl; - - cout << 102 << endl; - run->GetEntry(102); - cout << (int)(1000 * aT->GetObservableValue("g4Ana_thetaPrimary")) << endl; Int_t thetaInt = (int)(1000 * aT->GetObservableValue("g4Ana_thetaPrimary")); if (thetaInt != 515) { From b85141b238c3ca95adca6b94895333cf1885caa3 Mon Sep 17 00:00:00 2001 From: clang runner Date: Tue, 25 Jan 2022 18:12:17 +0100 Subject: [PATCH 20/22] Validate.C Final fix --- examples/08.Alphas/Validate.C | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/examples/08.Alphas/Validate.C b/examples/08.Alphas/Validate.C index 9cbbef85..8021bff8 100644 --- a/examples/08.Alphas/Validate.C +++ b/examples/08.Alphas/Validate.C @@ -35,12 +35,10 @@ Int_t Validate() { return 60; } - run->GetEntry(101); - cout << (int)(1000 * aT->GetObservableValue("g4Ana_thetaPrimary")) << endl; - Int_t phiInt = (int)(1000 * aT->GetObservableValue("g4Ana_phiPrimary")); if (phiInt != 1539) { - cout << "Wrong theta angle value for entry 100!" << endl; + cout << "Wrong phi angle value for entry 100!" << endl; + cout << "Phi value is : " << phiInt << endl; return 60; } From a1974d54dec56b8e9b3797e9c24ce8b4e7d9e19a Mon Sep 17 00:00:00 2001 From: clang runner Date: Wed, 26 Jan 2022 10:30:12 +0100 Subject: [PATCH 21/22] restG4 examples are now copied to REST_PATH/examples/restG4/ --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cb04a8eb..0cf36057 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -64,8 +64,8 @@ target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARIES}) target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC ${INCLUDE_DIRS}) # Copy scripts to the build directory -install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/examples - DESTINATION . +install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/examples/ + DESTINATION ./examples/restG4/ COMPONENT install ) From f76b5e2be37db6e711ce3d94534629de977d011a Mon Sep 17 00:00:00 2001 From: clang runner Date: Wed, 26 Jan 2022 10:53:11 +0100 Subject: [PATCH 22/22] Updating pipeline to use new restG4 examples location --- .gitlab-ci.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a0dc3d96..6d9a9bd9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -83,7 +83,7 @@ loadRESTLibs: type: examples script: - . ${CI_PROJECT_DIR}/install/thisREST.sh - - cd ${CI_PROJECT_DIR}/install/examples/01.NLDBD/ + - cd ${CI_PROJECT_DIR}/install/examples/restG4/01.NLDBD/ - restG4 NLDBD.rml - geant4-config --version - restRoot -b -q Validate.C'("Run00001_NLDBD_Test.root")' @@ -92,7 +92,7 @@ loadRESTLibs: type: examples script: - . ${CI_PROJECT_DIR}/install/thisREST.sh - - cd ${CI_PROJECT_DIR}/install/examples/03.Fluorescence/ + - cd ${CI_PROJECT_DIR}/install/examples/restG4/03.Fluorescence/ - restG4 gamma.rml - restManager --c g4Analysis.rml --f Run00111_Gamma_Fluorescence.root - geant4-config --version @@ -102,7 +102,7 @@ loadRESTLibs: type: examples script: - . ${CI_PROJECT_DIR}/install/thisREST.sh - - cd ${CI_PROJECT_DIR}/install/examples/04.MuonScan/ + - cd ${CI_PROJECT_DIR}/install/examples/restG4/04.MuonScan/ - restG4 Muon.rml - geant4-config --version - restRoot -b -q Validate.C'("Run00111_restG4_MuonsFromPoint_rest.root")' @@ -113,7 +113,7 @@ loadRESTLibs: type: examples script: - . ${CI_PROJECT_DIR}/install/thisREST.sh - - cd ${CI_PROJECT_DIR}/install/examples/05.PandaXIII/ + - cd ${CI_PROJECT_DIR}/install/examples/restG4/05.PandaXIII/ - restG4 Xe136bb0n.rml - restRoot -b -q ValidateG4.C'("Xe136bb0n_n2E06.root")' @@ -121,7 +121,7 @@ loadRESTLibs: type: examples script: - . ${CI_PROJECT_DIR}/install/thisREST.sh - - cd ${CI_PROJECT_DIR}/install/examples/06.IonRecoils/ + - cd ${CI_PROJECT_DIR}/install/examples/restG4/06.IonRecoils/ - restG4 recoils.rml - restRoot -b -q Validate.C'("Run00001_F20_Recoils.root")' @@ -129,7 +129,7 @@ loadRESTLibs: type: examples script: - . ${CI_PROJECT_DIR}/install/thisREST.sh - - cd ${CI_PROJECT_DIR}/install/examples/07.FullChainDecay/ + - cd ${CI_PROJECT_DIR}/install/examples/restG4/07.FullChainDecay/ - restG4 fullChain.rml - restG4 singleDecay.rml - restRoot -b -q Validate.C'("Run00001_U238_FullChainDecay.root", 14)' @@ -142,7 +142,7 @@ loadRESTLibs: type: examples script: - . ${CI_PROJECT_DIR}/install/thisREST.sh - - cd ${CI_PROJECT_DIR}/install/examples/08.Alphas/ + - cd ${CI_PROJECT_DIR}/install/examples/restG4/08.Alphas/ - mkdir data - export REST_ENERGY=5 - export REST_FOIL=1 @@ -164,6 +164,6 @@ loadRESTLibs: type: examples script: - . ${CI_PROJECT_DIR}/install/thisREST.sh - - cd ${CI_PROJECT_DIR}/install/examples/09.Pb210_Shield/ + - cd ${CI_PROJECT_DIR}/install/examples/restG4/09.Pb210_Shield/ - restG4 Pb210.rml - restRoot -b -q Validate.C'("Run00001_Pb210_Shielding.root")'