Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update validation image #62

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
324 changes: 162 additions & 162 deletions .github/workflows/validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
name: Validate library
runs-on: ubuntu-latest
container:
image: ghcr.io/lobis/root-geant4-garfield:rest-for-physics
image: ghcr.io/rest-for-physics/root:latest
steps:
- uses: rest-for-physics/framework/.github/actions/checkout@master
with:
Expand All @@ -33,7 +33,7 @@ jobs:
name: Validate pre-commit config
runs-on: ubuntu-latest
container:
image: ghcr.io/lobis/root-geant4-garfield:rest-for-physics
image: ghcr.io/rest-for-physics/root:latest
steps:
- name: Checkout axionlib
uses: rest-for-physics/framework/.github/actions/checkout@master
Expand All @@ -50,7 +50,7 @@ jobs:
name: Build only axionlib
runs-on: ubuntu-latest
container:
image: ghcr.io/lobis/root-geant4-garfield:rest-for-physics
image: ghcr.io/rest-for-physics/root:latest
steps:
- name: Build and install
uses: rest-for-physics/framework/.github/actions/build@master
Expand All @@ -61,14 +61,14 @@ jobs:
id: axionlib-install-cache
uses: actions/cache@v3
with:
key: ${{ env.BRANCH_NAME }}-${{ github.sha }}
key: ${{ env.BRANCH_NAME }}-axion-${{ github.sha }}
path: ${{ env.REST_PATH }}

macros-health:
name: "Macros with clean error output"
runs-on: ubuntu-latest
container:
image: ghcr.io/lobis/root-geant4-garfield:rest-for-physics
image: ghcr.io/rest-for-physics/root:latest
needs: [ build-axionlib ]
steps:
- uses: rest-for-physics/framework/.github/actions/checkout@master
Expand All @@ -80,7 +80,7 @@ jobs:
uses: actions/cache@v3
id: axionlib-install-cache
with:
key: ${{ env.BRANCH_NAME }}-${{ github.sha }}
key: ${{ env.BRANCH_NAME }}-axion-${{ github.sha }}
path: ${{ env.REST_PATH }}
- name: Load restRootMacros in axiolib standalone
run: |
Expand All @@ -94,175 +94,175 @@ jobs:
name: Check physics
runs-on: ubuntu-latest
container:
image: ghcr.io/lobis/root-geant4-garfield:rest-for-physics
image: ghcr.io/rest-for-physics/root:latest
needs: [ build-axionlib ]
steps:
- uses: rest-for-physics/framework/.github/actions/checkout@master
with:
branch: ${{ env.BRANCH_NAME }}
repository: rest-for-physics/axionlib
path: ${{ env.AXION_LIB_PATH }}
- name: Restore cache
uses: actions/cache@v3
id: axionlib-install-cache
with:
key: ${{ env.BRANCH_NAME }}-${{ github.sha }}
path: ${{ env.REST_PATH }}
- name: Basic physics tests
run: |
source ${{ env.REST_PATH }}/thisREST.sh
cd ${{ env.AXION_LIB_PATH }}/pipeline/physics/
wget https://rest-for-physics.github.io/axionlib-data/bufferGas/He.abs
wget https://rest-for-physics.github.io/axionlib-data/bufferGas/He.nff
wget https://rest-for-physics.github.io/axionlib-data/bufferGas/Ne.abs
wget https://rest-for-physics.github.io/axionlib-data/bufferGas/Ne.nff
wget https://rest-for-physics.github.io/axionlib-data/bufferGas/bufferGases.rml
wget https://rest-for-physics.github.io/axionlib-data/magneticField/fields.rml
wget https://rest-for-physics.github.io/axionlib-data/magneticField/Bykovskiy_201906.dat
restRoot -b -q AxionPhysicsValidation.C
- uses: rest-for-physics/framework/.github/actions/checkout@master
with:
branch: ${{ env.BRANCH_NAME }}
repository: rest-for-physics/axionlib
path: ${{ env.AXION_LIB_PATH }}
- name: Restore cache
uses: actions/cache@v3
id: axionlib-install-cache
with:
key: ${{ env.BRANCH_NAME }}-axion-${{ github.sha }}
path: ${{ env.REST_PATH }}
- name: Basic physics tests
run: |
source ${{ env.REST_PATH }}/thisREST.sh
cd ${{ env.AXION_LIB_PATH }}/pipeline/physics/
wget https://sultan.unizar.es/axionlib-data/bufferGas/He.abs
wget https://sultan.unizar.es/axionlib-data/bufferGas/He.nff
wget https://sultan.unizar.es/axionlib-data/bufferGas/Ne.abs
wget https://sultan.unizar.es/axionlib-data/bufferGas/Ne.nff
wget https://sultan.unizar.es/axionlib-data/bufferGas/bufferGases.rml
wget https://sultan.unizar.es/axionlib-data/magneticField/fields.rml
wget https://sultan.unizar.es/axionlib-data/magneticField/Bykovskiy_201906.dat
restRoot -b -q AxionPhysicsValidation.C

Metadata:
name: Check metadata
runs-on: ubuntu-latest
container:
image: ghcr.io/lobis/root-geant4-garfield:rest-for-physics
image: ghcr.io/rest-for-physics/root:latest
needs: [ build-axionlib ]
steps:
- uses: rest-for-physics/framework/.github/actions/checkout@master
with:
branch: ${{ env.BRANCH_NAME }}
repository: rest-for-physics/axionlib
path: ${{ env.AXION_LIB_PATH }}
- name: Restore cache
uses: actions/cache@v3
id: axionlib-install-cache
with:
key: ${{ env.BRANCH_NAME }}-${{ github.sha }}
path: ${{ env.REST_PATH }}
- name: Magnetic field
run: |
source ${{ env.REST_PATH }}/thisREST.sh
cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/magneticField/
wget https://rest-for-physics.github.io/axionlib-data/magneticField/fields.rml
wget https://rest-for-physics.github.io/axionlib-data/magneticField/Bykovskiy_201906.dat
python magneticField.py
cd trilinear
wget https://rest-for-physics.github.io/axionlib-data/magneticField/fields.rml
restRoot -b -q GetMagneticField_test.C
cd ../boundary/
restRoot -b -q Boundaries_test.C
- name: Optics Mirrors
run: |
source ${{ env.REST_PATH }}/thisREST.sh
cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/optics/
wget https://rest-for-physics.github.io/axionlib-data/optics/optics.rml
wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/mirrors.rml
wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Reflectivity_Single_C_30_SiO2_0.N901f
wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Transmission_Single_C_30_SiO2_0.N901f
wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Reflectivity_Single_Au_250_Ni_0.4.N901f
wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Transmission_Single_Au_250_Ni_0.4.N901f
python mirrors.py
- name: MCPL Optics
run: |
source ${{ env.REST_PATH }}/thisREST.sh
cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/optics/
wget https://rest-for-physics.github.io/axionlib-data/optics/optics.rml
python mcpl.py
- name: X-ray transmission
run: |
source ${{ env.REST_PATH }}/thisREST.sh
cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/transmission/
wget https://rest-for-physics.github.io/axionlib-data/transmission/windows.rml
wget https://rest-for-physics.github.io/axionlib-data/transmission/Al.sol
wget https://rest-for-physics.github.io/axionlib-data/transmission/Si.sol
wget https://rest-for-physics.github.io/axionlib-data/transmission/Si3N4.sol
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${{ env.REST_PATH }}/mpfr-4.0.2/install/lib
python windowPlot.py
- name: Solar flux
run: |
source ${{ env.REST_PATH }}/thisREST.sh
cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/solarFlux/
wget https://rest-for-physics.github.io/axionlib-data/solarFlux/fluxes.rml
wget https://rest-for-physics.github.io/axionlib-data/solarFlux/Dummy_Galan_202202.spt
wget https://rest-for-physics.github.io/axionlib-data/solarFlux/Primakoff_Gianotti_201904.dat
wget https://rest-for-physics.github.io/axionlib-data/solarFlux/Primakoff_LennertHoof_202203.dat
python solarTests.py
python solarPlot.py
python compare.py
- uses: rest-for-physics/framework/.github/actions/checkout@master
with:
branch: ${{ env.BRANCH_NAME }}
repository: rest-for-physics/axionlib
path: ${{ env.AXION_LIB_PATH }}
- name: Restore cache
uses: actions/cache@v3
id: axionlib-install-cache
with:
key: ${{ env.BRANCH_NAME }}-axion-${{ github.sha }}
path: ${{ env.REST_PATH }}
- name: Magnetic field
run: |
source ${{ env.REST_PATH }}/thisREST.sh
cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/magneticField/
wget https://rest-for-physics.github.io/axionlib-data/magneticField/fields.rml
wget https://rest-for-physics.github.io/axionlib-data/magneticField/Bykovskiy_201906.dat
python magneticField.py
cd trilinear
wget https://rest-for-physics.github.io/axionlib-data/magneticField/fields.rml
restRoot -b -q GetMagneticField_test.C
cd ../boundary/
restRoot -b -q Boundaries_test.C
- name: Optics Mirrors
run: |
source ${{ env.REST_PATH }}/thisREST.sh
cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/optics/
wget https://rest-for-physics.github.io/axionlib-data/optics/optics.rml
wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/mirrors.rml
wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Reflectivity_Single_C_30_SiO2_0.N901f
wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Transmission_Single_C_30_SiO2_0.N901f
wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Reflectivity_Single_Au_250_Ni_0.4.N901f
wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Transmission_Single_Au_250_Ni_0.4.N901f
python mirrors.py
- name: MCPL Optics
run: |
source ${{ env.REST_PATH }}/thisREST.sh
cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/optics/
wget https://rest-for-physics.github.io/axionlib-data/optics/optics.rml
python mcpl.py
- name: X-ray transmission
run: |
source ${{ env.REST_PATH }}/thisREST.sh
cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/transmission/
wget https://rest-for-physics.github.io/axionlib-data/transmission/windows.rml
wget https://rest-for-physics.github.io/axionlib-data/transmission/Al.sol
wget https://rest-for-physics.github.io/axionlib-data/transmission/Si.sol
wget https://rest-for-physics.github.io/axionlib-data/transmission/Si3N4.sol
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${{ env.REST_PATH }}/mpfr-4.0.2/install/lib
python windowPlot.py
- name: Solar flux
run: |
source ${{ env.REST_PATH }}/thisREST.sh
cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/solarFlux/
wget https://rest-for-physics.github.io/axionlib-data/solarFlux/fluxes.rml
wget https://rest-for-physics.github.io/axionlib-data/solarFlux/Dummy_Galan_202202.spt
wget https://rest-for-physics.github.io/axionlib-data/solarFlux/Primakoff_Gianotti_201904.dat
wget https://rest-for-physics.github.io/axionlib-data/solarFlux/Primakoff_LennertHoof_202203.dat
python solarTests.py
python solarPlot.py
python compare.py

Ray-tracing:
name: Check ray-tracing processing chain
runs-on: ubuntu-latest
container:
image: ghcr.io/lobis/root-geant4-garfield:rest-for-physics
image: ghcr.io/rest-for-physics/root:latest
needs: [ build-axionlib ]
steps:
- uses: rest-for-physics/framework/.github/actions/checkout@master
with:
branch: ${{ env.BRANCH_NAME }}
repository: rest-for-physics/axionlib
path: ${{ env.AXION_LIB_PATH }}
- name: Restore cache
uses: actions/cache@v3
id: axionlib-install-cache
with:
key: ${{ env.BRANCH_NAME }}-${{ github.sha }}
path: ${{ env.REST_PATH }}
- name: XMM optics bench ray-tracing
run: |
source ${{ env.REST_PATH }}/thisREST.sh
export REST_NEVENTS=1000
export REST_RUN=100
cd ${{ env.AXION_LIB_PATH }}/pipeline/ray-tracing/optics/
wget https://rest-for-physics.github.io/axionlib-data/optics/xmm.rml
wget https://rest-for-physics.github.io/axionlib-data/optics/XMM.Wolter
wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Reflectivity_Single_Au_250_Ni_0.4.N901f
wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Transmission_Single_Au_250_Ni_0.4.N901f
restManager --c opticsBench.rml
restRoot -b -q ValidateXMM.C'("OpticsBench_Yaw_0.05_Dev_0.005_BabyIAXO_Run00100.root")'
- name: Window transmission
run: |
source ${{ env.REST_PATH }}/thisREST.sh
cd ${{ env.AXION_LIB_PATH }}/pipeline/ray-tracing/transmission/
wget https://rest-for-physics.github.io/axionlib-data/transmission/Si.sol
restManager --c emptyWindow.rml
restRoot ValidateTransmission.C'("EmptyVacuumWindow.root", 0.07, 0.09)'
restManager --c shiftedWindow.rml
restRoot ValidateTransmission.C'("ShiftedVacuumWindow", 0.3, 0.5)'
restManager --c siWindow.rml
restRoot -b -q ValidateTransmission.C'("SiWindow.root", 0.9, 1)'
- name: Axion-field integration
run: |
source ${{ env.REST_PATH }}/thisREST.sh
cd ${{ env.AXION_LIB_PATH }}/pipeline/ray-tracing/axion-field/
wget https://rest-for-physics.github.io/axionlib-data/magneticField/fields.rml
wget https://rest-for-physics.github.io/axionlib-data/magneticField/Bykovskiy_201906.dat
wget https://rest-for-physics.github.io/axionlib-data/bufferGas/He.abs
wget https://rest-for-physics.github.io/axionlib-data/bufferGas/He.nff
wget https://rest-for-physics.github.io/axionlib-data/bufferGas/bufferGases.rml
restManager --c photonConversion.rml
restRoot -b -q Validate.C
python3 validateStreamer.py
- name: Full ray-tracing
run: |
source ${{ env.REST_PATH }}/thisREST.sh
cd ${{ env.AXION_LIB_PATH }}/pipeline/ray-tracing/full-chain/
wget https://rest-for-physics.github.io/axionlib-data/solarFlux/fluxes.rml
wget https://rest-for-physics.github.io/axionlib-data/solarFlux/Primakoff_LennertHoof_202203.dat
wget https://rest-for-physics.github.io/axionlib-data/transmission/windows.rml
wget https://rest-for-physics.github.io/axionlib-data/transmission/Al.sol
wget https://rest-for-physics.github.io/axionlib-data/transmission/Cu.sol
wget https://rest-for-physics.github.io/axionlib-data/transmission/C10H8O4.sol
wget https://rest-for-physics.github.io/axionlib-data/optics/xmmTrueWolter.rml
wget https://rest-for-physics.github.io/axionlib-data/optics/XMM.trueWolter
wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Reflectivity_Single_Au_250_Ni_0.4.N901f
wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Transmission_Single_Au_250_Ni_0.4.N901f
wget https://rest-for-physics.github.io/axionlib-data/magneticField/fields.rml
wget https://rest-for-physics.github.io/axionlib-data/magneticField/Bykovskiy_201906.dat
wget https://rest-for-physics.github.io/axionlib-data/bufferGas/He.abs
wget https://rest-for-physics.github.io/axionlib-data/bufferGas/He.nff
export REST_LOW_AXION_MASS=1e-2
export REST_HIGH_AXION_MASS=1e-1
export REST_GAS_STEP=2
restManager --c BabyIAXO_Micromegas_XMM.rml --o output.root
restRoot -q ValidateChain.C'("output.root")'
- uses: rest-for-physics/framework/.github/actions/checkout@master
with:
branch: ${{ env.BRANCH_NAME }}
repository: rest-for-physics/axionlib
path: ${{ env.AXION_LIB_PATH }}
- name: Restore cache
uses: actions/cache@v3
id: axionlib-install-cache
with:
key: ${{ env.BRANCH_NAME }}-axion-${{ github.sha }}
path: ${{ env.REST_PATH }}
- name: XMM optics bench ray-tracing
run: |
source ${{ env.REST_PATH }}/thisREST.sh
export REST_NEVENTS=1000
export REST_RUN=100
cd ${{ env.AXION_LIB_PATH }}/pipeline/ray-tracing/optics/
wget https://rest-for-physics.github.io/axionlib-data/optics/xmm.rml
wget https://rest-for-physics.github.io/axionlib-data/optics/XMM.Wolter
wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Reflectivity_Single_Au_250_Ni_0.4.N901f
wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Transmission_Single_Au_250_Ni_0.4.N901f
restManager --c opticsBench.rml
restRoot -b -q ValidateXMM.C'("OpticsBench_Yaw_0.05_Dev_0.005_BabyIAXO_Run00100.root")'
- name: Window transmission
run: |
source ${{ env.REST_PATH }}/thisREST.sh
cd ${{ env.AXION_LIB_PATH }}/pipeline/ray-tracing/transmission/
wget https://rest-for-physics.github.io/axionlib-data/transmission/Si.sol
restManager --c emptyWindow.rml
restRoot ValidateTransmission.C'("EmptyVacuumWindow.root", 0.07, 0.09)'
restManager --c shiftedWindow.rml
restRoot ValidateTransmission.C'("ShiftedVacuumWindow", 0.3, 0.5)'
restManager --c siWindow.rml
restRoot -b -q ValidateTransmission.C'("SiWindow.root", 0.9, 1)'
- name: Axion-field integration
run: |
source ${{ env.REST_PATH }}/thisREST.sh
cd ${{ env.AXION_LIB_PATH }}/pipeline/ray-tracing/axion-field/
wget https://rest-for-physics.github.io/axionlib-data/magneticField/fields.rml
wget https://rest-for-physics.github.io/axionlib-data/magneticField/Bykovskiy_201906.dat
wget https://rest-for-physics.github.io/axionlib-data/bufferGas/He.abs
wget https://rest-for-physics.github.io/axionlib-data/bufferGas/He.nff
wget https://rest-for-physics.github.io/axionlib-data/bufferGas/bufferGases.rml
restManager --c photonConversion.rml
restRoot -b -q Validate.C
python3 validateStreamer.py
- name: Full ray-tracing
run: |
source ${{ env.REST_PATH }}/thisREST.sh
cd ${{ env.AXION_LIB_PATH }}/pipeline/ray-tracing/full-chain/
wget https://rest-for-physics.github.io/axionlib-data/solarFlux/fluxes.rml
wget https://rest-for-physics.github.io/axionlib-data/solarFlux/Primakoff_LennertHoof_202203.dat
wget https://rest-for-physics.github.io/axionlib-data/transmission/windows.rml
wget https://rest-for-physics.github.io/axionlib-data/transmission/Al.sol
wget https://rest-for-physics.github.io/axionlib-data/transmission/Cu.sol
wget https://rest-for-physics.github.io/axionlib-data/transmission/C10H8O4.sol
wget https://rest-for-physics.github.io/axionlib-data/optics/xmmTrueWolter.rml
wget https://rest-for-physics.github.io/axionlib-data/optics/XMM.trueWolter
wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Reflectivity_Single_Au_250_Ni_0.4.N901f
wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Transmission_Single_Au_250_Ni_0.4.N901f
wget https://rest-for-physics.github.io/axionlib-data/magneticField/fields.rml
wget https://rest-for-physics.github.io/axionlib-data/magneticField/Bykovskiy_201906.dat
wget https://rest-for-physics.github.io/axionlib-data/bufferGas/He.abs
wget https://rest-for-physics.github.io/axionlib-data/bufferGas/He.nff
export REST_LOW_AXION_MASS=1e-2
export REST_HIGH_AXION_MASS=1e-1
export REST_GAS_STEP=2
restManager --c BabyIAXO_Micromegas_XMM.rml --o output.root
restRoot -q ValidateChain.C'("output.root")'