From fc299960293cf9dcd6d83bcb47ed59e3e4612f6f Mon Sep 17 00:00:00 2001 From: Lukas Koch Date: Thu, 5 Dec 2024 16:39:36 +0100 Subject: [PATCH] Fix/clean build hall (#38) * Define default geometries in makefile. * Build 2 in parallel. * Update CHANGELOG. * Fix test workflow. --- .github/workflows/release.yml | 2 +- .github/workflows/tests.yml | 22 +- CHANGELOG.md | 4 +- Makefile | 211 +++++++++++++ README.md | 15 +- build_hall.sh | 571 ---------------------------------- 6 files changed, 236 insertions(+), 589 deletions(-) create mode 100644 Makefile delete mode 100755 build_hall.sh diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bbaa054..fb194b6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,7 @@ jobs: - name: Setup run: pip install . - name: Build default gdml files - run: ./build_hall.sh + run: make -j2 - name: Rename gdml files to include tag run: | for F in *.gdml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 08f0341..b842cbe 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -21,14 +21,12 @@ jobs: - name: Setup run: pip install . - name: Build defaul gdml - run: ./build_hall.sh + run: make -j2 - name: Upload default geometry uses: actions/upload-artifact@v4 with: name: Default Geometry - path: | - nd_hall_with_lar_tms_sand.gdml - anti_fiducial_nd_hall_with_lar_tms_sand.gdml + path: "*.gdml" if-no-files-found: error check_overlaps: name: Check geometry for overlaps @@ -45,15 +43,21 @@ jobs: - name: Debug artifact run: | ls -l - head nd_hall_with_lar_tms_sand.gdml + head *.gdml - name: Run standard overlap check run: | - root -q -b 'checkOverlaps.C("nd_hall_with_lar_tms_sand.gdml", 0)' 2>&1 | tee check.log - grep "Number of illegal overlaps/extrusions : 0" check.log + for F in *.gdml + do + root -q -b "checkOverlaps.C(\"${F}\", 0)" 2>&1 | tee check.log + grep "Number of illegal overlaps/extrusions : 0" check.log + done - name: Run sampling overlap check run: | - root -q -b 'checkOverlaps.C("nd_hall_with_lar_tms_sand.gdml", 1)' 2>&1 | tee check.log - grep "Number of illegal overlaps/extrusions : 0" check.log + for F in *.gdml + do + root -q -b "checkOverlaps.C(\"${F}\", 1)" 2>&1 | tee check.log + grep "Number of illegal overlaps/extrusions : 0" check.log + done put_online: name: Put geometries online for visual inspection runs-on: ubuntu-latest diff --git a/CHANGELOG.md b/CHANGELOG.md index 31eaa79..555e4e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,14 +11,16 @@ Geometry releases will be tagged as `Descriptive_tag_v_X.Y.Z`. ### Changed - Bump gegede to version 0.8.0 +- Define default geometries in Makefile instead of bash script ### Removed - Removed old gdml files from repo. +- Default geometry definitions that did not build (missing KLOE cfg file) ### Added -- generate complete ND geo with SAND provided with a Drift Chamber using `build_hall.sh sand_opt3_DRIFT1` +- generate complete ND geo with SAND provided with a Drift Chamber using target `sand_opt3_DRIFT1.gdml` ## [TDR_Production_geometry_v_1.0.3] diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..2a65bc4 --- /dev/null +++ b/Makefile @@ -0,0 +1,211 @@ +.PHONY: clean all prod tms tms_nosand gar garlite empty sandopt + +# Default +prod: tms + +# Other options +all: tms tms_nosand gar_nosand garlite_nosand empty sandopt + +tms: nd_hall_with_lar_tms_sand.gdml \ + anti_fiducial_nd_hall_with_lar_tms_sand.gdml + +tms_nosand: nd_hall_with_lar_tms_nosand.gdml + +gar_nosand: nd_hall_with_lar_gar_nosand.gdml + +garlite_nosand: nd_hall_with_lar_garlite_nosand.gdml + +empty: nd_hall_no_dets.gdml + +sandopt: SAND_opt1_STT1.gdml \ + SAND_opt2_STT1.gdml \ + SAND_opt2_STT3.gdml \ + SAND_opt3_STT1.gdml \ + SAND_opt3_DRIFT1.gdml \ + only_SAND_DRIFT.gdml + +clean: + rm *.gdml + +%.gdml: + gegede-cli $^ -w World -o $@ + +nd_hall_with_lar_tms_sand.gdml: duneggd/Config/WORLDggd.cfg \ + duneggd/Config/ND_Hall_Air_Volume_LAr_TMS_SAND.cfg \ + duneggd/Config/ND_Hall_Rock.cfg \ + duneggd/Config/ND_ElevatorStruct.cfg \ + duneggd/Config/ND_CraneRailStruct1.cfg \ + duneggd/Config/ND_CraneRailStruct2.cfg \ + duneggd/Config/ND_HallwayStruct.cfg \ + duneggd/Config/ND_CryoStruct.cfg \ + duneggd/Config/SAND_MAGNET.cfg \ + duneggd/Config/SAND_INNERVOLOPT2.cfg \ + duneggd/Config/SAND_ECAL.cfg \ + duneggd/Config/SAND_STT/STT1.cfg \ + duneggd/Config/SAND_GRAIN.cfg \ + duneggd/Config/TMS.cfg \ + duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ + duneggd/Config/ArgonCube/ArgonCubeDetector.cfg + +anti_fiducial_nd_hall_with_lar_tms_sand.gdml: duneggd/Config/WORLDggd.cfg \ + duneggd/Config/ND_Hall_Air_Volume_LAr_TMS_SAND.cfg \ + duneggd/Config/ND_Hall_Rock.cfg \ + duneggd/Config/ND_ElevatorStruct.cfg \ + duneggd/Config/ND_CraneRailStruct1.cfg \ + duneggd/Config/ND_CraneRailStruct2.cfg \ + duneggd/Config/ND_HallwayStruct.cfg \ + duneggd/Config/ND_CryoStruct.cfg \ + duneggd/Config/SAND_MAGNET.cfg \ + duneggd/Config/SAND_INNERVOLOPT2.cfg \ + duneggd/Config/SAND_ECAL.cfg \ + duneggd/Config/SAND_STT/STT1.cfg \ + duneggd/Config/SAND_GRAIN.cfg \ + duneggd/Config/TMS.cfg \ + duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ + duneggd/Config/ArgonCube/ArgonCubeDetectorNoActive.cfg + +nd_hall_with_lar_tms_nosand.gdml: duneggd/Config/WORLDggd.cfg \ + duneggd/Config/ND_Hall_Air_Volume_LAr_TMS_noSAND.cfg \ + duneggd/Config/ND_Hall_Rock.cfg \ + duneggd/Config/ND_ElevatorStruct.cfg \ + duneggd/Config/ND_CraneRailStruct1.cfg \ + duneggd/Config/ND_CraneRailStruct2.cfg \ + duneggd/Config/ND_HallwayStruct.cfg \ + duneggd/Config/ND_CryoStruct.cfg \ + duneggd/Config/TMS.cfg \ + duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ + duneggd/Config/ArgonCube/ArgonCubeDetector.cfg + +nd_hall_with_lar_gar_nosand.gdml: duneggd/Config/WORLDggd.cfg \ + duneggd/Config/ND_Hall_Air_Volume_No_KLOE.cfg \ + duneggd/Config/ND_Hall_Rock.cfg \ + duneggd/Config/ND_ElevatorStruct.cfg \ + duneggd/Config/ND_CraneRailStruct1.cfg \ + duneggd/Config/ND_CraneRailStruct2.cfg \ + duneggd/Config/ND_HallwayStruct.cfg \ + duneggd/Config/ND_CryoStruct.cfg \ + duneggd/Config/ND-GAr/ND-GAr-SPYv3_noTPC.cfg \ + duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ + duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ + duneggd/Config/ArgonCube/ArgonCubeDetector.cfg + +nd_hall_with_lar_garlite_nosand.gdml: duneggd/Config/WORLDggd.cfg \ + duneggd/Config/ND_Hall_Air_Volume_No_KLOE.cfg \ + duneggd/Config/ND_Hall_Rock.cfg \ + duneggd/Config/ND_ElevatorStruct.cfg \ + duneggd/Config/ND_CraneRailStruct1.cfg \ + duneggd/Config/ND_CraneRailStruct2.cfg \ + duneggd/Config/ND_HallwayStruct.cfg \ + duneggd/Config/ND_CryoStruct.cfg \ + duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ + duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ + duneggd/Config/ND-GAr-Lite/MPD_Temporary_SPY_v3_IntegratedMuID.cfg + +SAND_opt1_STT1.gdml: duneggd/Config/WORLDggd.cfg \ + duneggd/Config/ND_Hall_Air_Volume.cfg \ + duneggd/Config/ND_Hall_Rock.cfg \ + duneggd/Config/ND_ElevatorStruct.cfg \ + duneggd/Config/SAND_MAGNET.cfg \ + duneggd/Config/SAND_INNERVOLOPT1.cfg \ + duneggd/Config/SAND_ECAL.cfg \ + duneggd/Config/SAND_STT/STT1.cfg \ + duneggd/Config/SAND_GRAIN.cfg \ + duneggd/Config/ND_CraneRailStruct1.cfg \ + duneggd/Config/ND_CraneRailStruct2.cfg \ + duneggd/Config/ND_HallwayStruct.cfg \ + duneggd/Config/ND_CryoStruct.cfg \ + duneggd/Config/ND-GAr/ND-GAr-SPYv3_noTPC.cfg \ + duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ + duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ + duneggd/Config/ArgonCube/ArgonCubeDetector.cfg + +SAND_opt2_STT1.gdml: duneggd/Config/WORLDggd.cfg \ + duneggd/Config/ND_Hall_Air_Volume.cfg \ + duneggd/Config/ND_Hall_Rock.cfg \ + duneggd/Config/ND_ElevatorStruct.cfg \ + duneggd/Config/SAND_MAGNET.cfg \ + duneggd/Config/SAND_INNERVOLOPT2.cfg \ + duneggd/Config/SAND_ECAL.cfg \ + duneggd/Config/SAND_STT/STT1.cfg \ + duneggd/Config/SAND_GRAIN.cfg \ + duneggd/Config/ND_CraneRailStruct1.cfg \ + duneggd/Config/ND_CraneRailStruct2.cfg \ + duneggd/Config/ND_HallwayStruct.cfg \ + duneggd/Config/ND_CryoStruct.cfg \ + duneggd/Config/ND-GAr/ND-GAr-SPYv3_noTPC.cfg \ + duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ + duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ + duneggd/Config/ArgonCube/ArgonCubeDetector.cfg + +SAND_opt2_STT3.gdml: duneggd/Config/WORLDggd.cfg \ + duneggd/Config/ND_Hall_Air_Volume.cfg \ + duneggd/Config/ND_Hall_Rock.cfg \ + duneggd/Config/ND_ElevatorStruct.cfg \ + duneggd/Config/SAND_MAGNET.cfg \ + duneggd/Config/SAND_INNERVOLOPT2.cfg \ + duneggd/Config/SAND_ECAL.cfg \ + duneggd/Config/SAND_STT/STT3.cfg \ + duneggd/Config/SAND_GRAIN.cfg \ + duneggd/Config/ND_CraneRailStruct1.cfg \ + duneggd/Config/ND_CraneRailStruct2.cfg \ + duneggd/Config/ND_HallwayStruct.cfg \ + duneggd/Config/ND_CryoStruct.cfg \ + duneggd/Config/ND-GAr/ND-GAr-SPYv3_noTPC.cfg \ + duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ + duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ + duneggd/Config/ArgonCube/ArgonCubeDetector.cfg + +SAND_opt3_STT1.gdml: duneggd/Config/WORLDggd.cfg \ + duneggd/Config/ND_Hall_Air_Volume.cfg \ + duneggd/Config/ND_Hall_Rock.cfg \ + duneggd/Config/ND_ElevatorStruct.cfg \ + duneggd/Config/SAND_MAGNET.cfg \ + duneggd/Config/SAND_INNERVOLOPT3.cfg \ + duneggd/Config/SAND_ECAL.cfg \ + duneggd/Config/SAND_STT/STT1.cfg \ + duneggd/Config/SAND_GRAIN.cfg \ + duneggd/Config/ND_CraneRailStruct1.cfg \ + duneggd/Config/ND_CraneRailStruct2.cfg \ + duneggd/Config/ND_HallwayStruct.cfg \ + duneggd/Config/ND_CryoStruct.cfg \ + duneggd/Config/ND-GAr/ND-GAr-SPYv3_noTPC.cfg \ + duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ + duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ + duneggd/Config/ArgonCube/ArgonCubeDetector.cfg + + +SAND_opt3_DRIFT1.gdml: duneggd/Config/WORLDggd.cfg \ + duneggd/Config/ND_Hall_Air_Volume.cfg \ + duneggd/Config/ND_Hall_Rock.cfg \ + duneggd/Config/ND_ElevatorStruct.cfg \ + duneggd/Config/SAND_MAGNET.cfg \ + duneggd/Config/SAND_INNERVOLOPTDRIFT1.cfg \ + duneggd/Config/SAND_ECAL.cfg \ + duneggd/Config/SAND_DRIFT_CHAMBER/DRIFT1.cfg \ + duneggd/Config/SAND_GRAIN.cfg \ + duneggd/Config/ND_CraneRailStruct1.cfg \ + duneggd/Config/ND_CraneRailStruct2.cfg \ + duneggd/Config/ND_HallwayStruct.cfg \ + duneggd/Config/ND_CryoStruct.cfg \ + duneggd/Config/ND-GAr/ND-GAr-SPYv3_noTPC.cfg \ + duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ + duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ + duneggd/Config/ArgonCube/ArgonCubeDetector.cfg + +only_SAND_DRIFT.gdml: duneggd/Config/WORLDggd.cfg \ + duneggd/Config/ND_Hall_Air_Volume_Only_SAND.cfg \ + duneggd/Config/ND_Hall_Rock.cfg \ + duneggd/Config/SAND_MAGNET.cfg \ + duneggd/Config/SAND_INNERVOLOPTDRIFT1.cfg \ + duneggd/Config/SAND_ECAL.cfg \ + duneggd/Config/SAND_DRIFT_CHAMBER/DRIFT1.cfg \ + duneggd/Config/SAND_GRAIN.cfg + +nd_hall_no_dets.gdml: duneggd/Config/WORLDggd.cfg \ + duneggd/Config/ND_Hall_Air_Volume_NoDets.cfg \ + duneggd/Config/ND_Hall_Rock.cfg \ + duneggd/Config/ND_ElevatorStruct.cfg \ + duneggd/Config/ND_CraneRailStruct1.cfg \ + duneggd/Config/ND_CraneRailStruct2.cfg \ + duneggd/Config/ND_HallwayStruct.cfg \ + duneggd/Config/ND_CryoStruct.cfg diff --git a/README.md b/README.md index 7be8b33..15d1a8b 100644 --- a/README.md +++ b/README.md @@ -30,17 +30,18 @@ Don't forget to check your variable `PATH`: export PATH=~/.local/bin/:${PATH} ``` -# Example -To run an example containing basic detectors, you could process like: -```bash -gegede-cli duneggd/Config/PRIMggd_example.cfg duneggd/Config/DETENCLOSURE-prim-only.cfg duneggd/Config/WORLDggd.cfg -w World -o example.gdml -``` +# Building default geometries -To run a full example containing surrounded magnet +The default geometries are defined in the `Makefile`. To build them just invoke ```bash -gegede-cli duneggd/Config/PRIMggd_example.cfg duneggd/Config/SECggd_example.cfg duneggd/Config/DETENCLOSURE.cfg duneggd/Config/WORLDggd.cfg -w World -o full_example.gdml +make prod ``` +Have a look in the `Makefile` to see what kind of geometries are defined there. + +Hint: The `nosand` geometries build much, _much_ faster than the geometries +including the `sand` detector. + # Quick Visualization To do a quick check or your geometry file you can use ROOT-CERN: ```bash diff --git a/build_hall.sh b/build_hall.sh deleted file mode 100755 index 6c7c585..0000000 --- a/build_hall.sh +++ /dev/null @@ -1,571 +0,0 @@ -#! /bin/bash - -# use the first argument to indicate what we should build -# if no argument build everything -option=$1 - -if [ -z $option ]; -then - option="prod" -fi - - -####################################################################### start of Production area -# full hall with detectors for mini-production version 1. - -###FULL HALL -if [ $option = "all" -o $option = "prod" -o $option = "production1_tms" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_LAr_TMS_SAND.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/SAND_MAGNET.cfg \ - duneggd/Config/SAND_INNERVOLOPT2.cfg \ - duneggd/Config/SAND_ECAL.cfg \ - duneggd/Config/SAND_STT/STT1.cfg \ - duneggd/Config/SAND_GRAIN.cfg \ - duneggd/Config/TMS.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o nd_hall_with_lar_tms_sand.gdml -fi - -## No active LAR (Anti-fiducial) -if [ $option = "all" -o $option = "prod" -o $option = "production1_tms" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_LAr_TMS_SAND.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/SAND_MAGNET.cfg \ - duneggd/Config/SAND_INNERVOLOPT2.cfg \ - duneggd/Config/SAND_ECAL.cfg \ - duneggd/Config/SAND_STT/STT1.cfg \ - duneggd/Config/SAND_GRAIN.cfg \ - duneggd/Config/TMS.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetectorNoActive.cfg \ - -w World -o anti_fiducial_nd_hall_with_lar_tms_sand.gdml -fi - - - -####################################################################### start of miniProduction area - -# full hall with detectors for mini-production version 1. -#There are three versions : -# 1. LAr + GAr (+ SAND), -# 2. LAr + GArLite (+ SAND), -# 3. LAr + TMS (+ SAND) - -if [ $option = "all" -o $option = "miniproduction1_gar" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/KLOE_with_3DST.cfg \ - duneggd/Config/KLOEEMCALO.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3_noTPC.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o nd_hall_with_lar_gar_sand.gdml -fi - -if [ $option = "all" -o $option = "miniproduction1_gar_nosand" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_No_KLOE.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3_noTPC.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o nd_hall_with_lar_gar_nosand.gdml -fi - -if [ $option = "all" -o $option = "miniproduction1_garlite" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/KLOE_with_3DST.cfg \ - duneggd/Config/KLOEEMCALO.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - duneggd/Config/ND-GAr-Lite/MPD_Temporary_SPY_v3_IntegratedMuID.cfg \ - -w World -o nd_hall_with_lar_garlite_sand.gdml -fi - -if [ $option = "all" -o $option = "miniproduction1_garlite_nosand" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_No_KLOE.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - duneggd/Config/ND-GAr-Lite/MPD_Temporary_SPY_v3_IntegratedMuID.cfg \ - -w World -o nd_hall_with_lar_garlite_nosand.gdml -fi - -if [ $option = "all" -o $option = "miniproduction1_tms" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_LAr_TMS_SAND.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/SAND_MAGNET.cfg \ - duneggd/Config/SAND_INNERVOLOPT2.cfg \ - duneggd/Config/SAND_ECAL.cfg \ - duneggd/Config/SAND_STT/STT1.cfg \ - duneggd/Config/SAND_GRAIN.cfg \ - duneggd/Config/TMS.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o nd_hall_with_lar_tms_sand.gdml -fi - -if [ $option = "all" -o $option = "miniproduction1_tms_nosand" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_LAr_TMS_noSAND.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/TMS.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o nd_hall_with_lar_tms_nosand.gdml -fi - -#################################################################### end of miniProduction area - -# build the full hall -if [ $option = "all" -o $option = "full" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/KLOE_with_3DST.cfg \ - duneggd/Config/KLOEEMCALO.cfg \ - duneggd/Config/MPD_Concept_SPY_v2_IntegratedMuID.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o nd_hall_with_dets.gdml -fi - -if [ $option = "all" -o $option = "3DST_STT" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/KLOE_with_3DST_STT.cfg \ - duneggd/Config/KLOEEMCALO.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o nd_hall_with_3DST_STT.gdml -fi - -# build a hall with no detectors -if [ $option = "all" -o $option = "empty" ]; -then - -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_NoDets.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - -w World -o nd_hall_no_dets.gdml -fi - -if [ $option = "all" -o $option = "lar" ]; -then -# build a hall with only LAr -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_Only_LAr.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/KLOE_with_3DST.cfg \ - duneggd/Config/KLOEEMCALO.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o nd_hall_only_lar.gdml -fi -# anti-fiducial LAr -if [ $option = "all" -o $option = "lar_antifid" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_Only_LAr.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/KLOE_with_3DST.cfg \ - duneggd/Config/KLOEEMCALO.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetectorNoActive.cfg \ - -w World -o nd_hall_lar_antifid.gdml -fi - -# MPD only -if [ $option = "all" -o $option = "mpd" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_Only_MPD.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/KLOE_with_3DST.cfg \ - duneggd/Config/KLOEEMCALO.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - -w World -o nd_hall_only_mpd.gdml -fi - -# MPD anti-fiducial -if [ $option = "all" -o $option = "mpd_antifid" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_Only_MPD.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/KLOE_with_3DST.cfg \ - duneggd/Config/KLOEEMCALO.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3_noTPC.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o nd_hall_only_mpd_antifid.gdml -fi - - -# KLOE only -if [ $option = "all" -o $option = "kloe" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_Only_KLOE.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/KLOE_with_3DST.cfg \ - duneggd/Config/KLOEEMCALO.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o nd_hall_only_kloe.gdml -fi - -# KLOE filled with STT -if [ $option = "all" -o $option = "kloe_sttonly" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_Only_KLOE.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/KLOE_STTFULL.cfg \ - duneggd/Config/KLOEEMCALO.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o nd_hall_kloe_sttonly.gdml -fi - -# KLOE filled with STT and LAr target -if [ $option = "all" -o $option = "kloe_sttlar" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_Only_KLOE.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/KLOE_STTLAR.cfg \ - duneggd/Config/STTLAR.cfg \ - duneggd/Config/KLOEEMCALO.cfg \ - -w World -o nd_hall_kloe_sttLAr.gdml -fi - -# SAND OPT 1 STT1 -if [ $option = "sand_opt1" -o $option = "sand_opt1_STT1" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/SAND_MAGNET.cfg \ - duneggd/Config/SAND_INNERVOLOPT1.cfg \ - duneggd/Config/SAND_ECAL.cfg \ - duneggd/Config/SAND_STT/STT1.cfg \ - duneggd/Config/SAND_GRAIN.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3_noTPC.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o SAND_opt1_STT1.gdml -fi - -# SAND OPT 2 STT1 -if [ $option = "all" -o $option = "sand_opt2_STT1" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/SAND_MAGNET.cfg \ - duneggd/Config/SAND_INNERVOLOPT2.cfg \ - duneggd/Config/SAND_ECAL.cfg \ - duneggd/Config/SAND_STT/STT1.cfg \ - duneggd/Config/SAND_GRAIN.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3_noTPC.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o SAND_opt2_STT1.gdml -fi - -# SAND OPT 2 STT3 -if [ $option = "all" -o $option = "sand_opt2_STT3" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/SAND_MAGNET.cfg \ - duneggd/Config/SAND_INNERVOLOPT2.cfg \ - duneggd/Config/SAND_ECAL.cfg \ - duneggd/Config/SAND_STT/STT3.cfg \ - duneggd/Config/SAND_GRAIN.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3_noTPC.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o SAND_opt2_STT3.gdml -fi -# SAND OPT 3 STT1 -if [ $option = "all" -o $option = "sand_opt3_STT1" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/SAND_MAGNET.cfg \ - duneggd/Config/SAND_INNERVOLOPT3.cfg \ - duneggd/Config/SAND_ECAL.cfg \ - duneggd/Config/SAND_STT/STT1.cfg \ - duneggd/Config/SAND_GRAIN.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3_noTPC.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o SAND_opt3_STT1.gdml -fi - -# SAND OPT 3 DRIFT1 -if [ $option = "all" -o $option = "sand_opt3_DRIFT1" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/SAND_MAGNET.cfg \ - duneggd/Config/SAND_INNERVOLOPTDRIFT1.cfg \ - duneggd/Config/SAND_ECAL.cfg \ - duneggd/Config/SAND_DRIFT_CHAMBER/DRIFT1.cfg \ - duneggd/Config/SAND_GRAIN.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3_noTPC.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o SAND_opt3_DRIFT1.gdml -fi - -# SAND OPT 1 drift -if [ $option = "all" -o $option = "only_sand_drift" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_Only_SAND.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/SAND_MAGNET.cfg \ - duneggd/Config/SAND_INNERVOLOPTDRIFT1.cfg \ - duneggd/Config/SAND_ECAL.cfg \ - duneggd/Config/SAND_DRIFT_CHAMBER/DRIFT1.cfg \ - duneggd/Config/SAND_GRAIN.cfg \ - -w World -o only_SAND_DRIFT.gdml -fi - -# if [ $option = "all" -o $option = "test_sand_opt2_STT1" ]; -# then -# gegede-cli duneggd/Config/WORLDggd.cfg \ -# duneggd/Config/ND_Hall_Air_Volume_Only_SAND.cfg \ -# duneggd/Config/ND_Hall_Rock.cfg \ -# duneggd/Config/SAND_MAGNET.cfg \ -# duneggd/Config/SAND_INNERVOLOPT2.cfg \ -# duneggd/Config/SAND_ECAL.cfg \ -# duneggd/Config/SAND_STT/STT1.cfg \ -# duneggd/Config/SAND_GRAIN.cfg \ -# -w World -o test_SAND_opt2_STT1_5Mod.gdml -# fi - -# KLOE anti-fiducial -if [ $option = "all" -o $option = "kloe_antifid" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_Only_KLOE.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/KLOE_No_3DST.cfg \ - duneggd/Config/KLOEEMCALO.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o nd_hall_only_kloe_antifid.gdml -fi - -# LAr and MPD (No KLOE) -if [ $option = "all" -o $option = "lar_mpd" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_No_KLOE.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/KLOE_with_3DST.cfg \ - duneggd/Config/KLOEEMCALO.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o nd_hall_lar_mpd.gdml -fi - -# LAr and MPD anti-fiducial (for MPD) -if [ $option = "all" -o $option = "lar_mpd_antifid" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_No_KLOE.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/KLOE_with_3DST.cfg \ - duneggd/Config/KLOEEMCALO.cfg \ - duneggd/Config/ND-GAr/ND-GAr-SPYv3_noTPC.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o nd_hall_lar_mpd_antifid.gdml -fi - -# LAr and TMS (No KLOE) -if [ $option = "all" -o $option = "lar_tms" ]; -then -gegede-cli duneggd/Config/WORLDggd.cfg \ - duneggd/Config/ND_Hall_Air_Volume_LAr_TMS.cfg \ - duneggd/Config/ND_Hall_Rock.cfg \ - duneggd/Config/ND_ElevatorStruct.cfg \ - duneggd/Config/KLOE_with_3DST.cfg \ - duneggd/Config/KLOEEMCALO.cfg \ - duneggd/Config/TMS.cfg \ - duneggd/Config/ND_CraneRailStruct1.cfg \ - duneggd/Config/ND_CraneRailStruct2.cfg \ - duneggd/Config/ND_HallwayStruct.cfg \ - duneggd/Config/ND_CryoStruct.cfg \ - duneggd/Config/ArgonCube/ArgonCubeCryostat.cfg \ - duneggd/Config/ArgonCube/ArgonCubeDetector.cfg \ - -w World -o nd_hall_lar_tms.gdml -fi -