Skip to content

Commit

Permalink
feat: upgrade EICrecon to Acts v30 (#1072)
Browse files Browse the repository at this point in the history
### Briefly, what does this PR introduce?
This upgrades EICrecon to work with Acts v30.3.2.

Because of the way changes to Acts are implemented, it is often beyond
cumbersome to achieve backwards compatibility with preprocessor
directives. While in a model of frequent updates this may be more
achievable in the interest of regression testing, it is not a good use
of anyone's time to implement this for large version jumps.

TODO:
- [ ] revert back to default jug_xl:nightly

### What kind of change does this PR introduce?
- [ ] Bug fix (issue #__)
- [x] New feature (issue #623)
- [ ] Documentation update
- [ ] Other: __

### Please check if this PR fulfills the following:
- [ ] Tests for the changes have been added
- [ ] Documentation has been added / updated
- [ ] Changes have been communicated to collaborators

### Does this PR introduce breaking changes? What changes might users
need to make to their code?
Yes. This will require Acts v30.0.0, compiled with examples
(`ACTS_BUILD_EXAMPLES=ON`).

### Does this PR change default behavior?
No changes in EICrecon which would result in different output were
intentionally introduced. If there are logic changes (e.g. CKFTracking
now fitting per seed), they were following changes in the upstream
interfaces.
  • Loading branch information
wdconinc authored Nov 17, 2023
1 parent cfcb9c6 commit fdc79ac
Show file tree
Hide file tree
Showing 45 changed files with 387 additions and 1,500 deletions.
40 changes: 23 additions & 17 deletions .github/workflows/linux-eic-shell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,19 @@ on:
default: 'jug_xl:nightly'
required: false
type: string
detector-version:
description: 'epic geometry version'
default: 'main'
required: false
type: string

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true

env:
platform-release: ${{ inputs.platform-release || 'jug_xl:nightly' }}
platform-release: ${{ inputs.platform-release || 'jug_xl:23.12-alpha' }}
detector-version: ${{ inputs.detector-version || 'main' }}
ASAN_OPTIONS: suppressions=${{ github.workspace }}/.github/asan.supp:malloc_context_size=20:detect_leaks=1:verify_asan_link_order=0:detect_stack_use_after_return=1:detect_odr_violation=1:new_delete_type_mismatch=0:intercept_tls_get_addr=0
LSAN_OPTIONS: suppressions=${{ github.workspace }}/.github/lsan.supp
UBSAN_OPTIONS: suppressions=${{ github.workspace }}/.github/ubsan.supp:print_stacktrace=1
Expand Down Expand Up @@ -84,7 +90,7 @@ jobs:
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "${{ env.platform-release }}"
setup: /opt/detector/setup.sh
setup: "/opt/detector/epic-${{ env.detector-version }}/setup.sh"
run: |
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
for lib in lib/*.so lib/EICrecon/plugins/*.so ; do
Expand Down Expand Up @@ -276,7 +282,7 @@ jobs:
if: steps.retrieve_simulation_files.outputs.cache-hit != 'true'
with:
platform-release: "${{ env.platform-release }}"
setup: /opt/detector/setup.sh
setup: "/opt/detector/epic-${{ env.detector-version }}/setup.sh"
run: |
npsim --compactFile ${DETECTOR_PATH}/${DETECTOR}_${{ matrix.detector_config }}.xml -G --random.seed 1 --gun.particle "${{ matrix.particle }}-" --gun.momentumMin "1*GeV" --gun.momentumMax "20*GeV" --gun.distribution "uniform" -N 100 --outputFile sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4hep.root -v WARNING
- uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -309,7 +315,7 @@ jobs:
if: steps.retrieve_simulation_files.outputs.cache-hit != 'true'
with:
platform-release: "${{ env.platform-release }}"
setup: /opt/detector/setup.sh
setup: "/opt/detector/epic-${{ env.detector-version }}/setup.sh"
run: |
python src/tests/LUMISPECCAL_test/TwoElectronsTopCAL.py genParticles.hepmc
npsim --compactFile ${DETECTOR_PATH}/${DETECTOR}_${{ matrix.detector_config }}.xml --inputFiles genParticles.hepmc --random.seed 1 --outputFile sim_${{ matrix.particle }}_EcalLumiSpec_${{ matrix.detector_config }}.edm4hep.root -N 100 -v WARNING
Expand Down Expand Up @@ -346,7 +352,7 @@ jobs:
if: steps.retrieve_simulation_files.outputs.cache-hit != 'true'
with:
platform-release: "${{ env.platform-release }}"
setup: /opt/detector/setup.sh
setup: "/opt/detector/epic-${{ env.detector-version }}/setup.sh"
run: |
url=root://dtn-eic.jlab.org//work/eic2/EPIC/EVGEN/DIS/NC/${{matrix.beam}}/minQ2=${{matrix.minq2}}/pythia8NCDIS_${{matrix.beam}}_minQ2=${{matrix.minq2}}_beamEffects_xAngle=-0.025_hiDiv_1.hepmc3.tree.root
npsim --compactFile ${DETECTOR_PATH}/${DETECTOR}_${{ matrix.detector_config }}.xml -N 100 --inputFiles ${url} --random.seed 1 --outputFile sim_dis_${{matrix.beam}}_minQ2=${{matrix.minq2}}_${{ matrix.detector_config }}.edm4hep.root -v WARNING
Expand Down Expand Up @@ -380,7 +386,7 @@ jobs:
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "${{ env.platform-release }}"
setup: /opt/detector/setup.sh
setup: "/opt/detector/epic-${{ env.detector-version }}/setup.sh"
run: |
export DETECTOR_CONFIG=${DETECTOR}_${{ matrix.detector_config }}
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
Expand All @@ -397,7 +403,7 @@ jobs:
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "${{ env.platform-release }}"
setup: /opt/detector/setup.sh
setup: "/opt/detector/epic-${{ env.detector-version }}/setup.sh"
run: |
export DETECTOR_CONFIG=${DETECTOR}_${{ matrix.detector_config }}
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
Expand Down Expand Up @@ -433,7 +439,7 @@ jobs:
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "${{ env.platform-release }}"
setup: /opt/detector/setup.sh
setup: "/opt/detector/epic-${{ env.detector-version }}/setup.sh"
run: |
export DETECTOR_CONFIG=${DETECTOR}_${{ matrix.detector_config }}
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
Expand Down Expand Up @@ -474,7 +480,7 @@ jobs:
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "${{ env.platform-release }}"
setup: /opt/detector/setup.sh
setup: "/opt/detector/epic-${{ env.detector-version }}/setup.sh"
run: |
export DETECTOR_CONFIG=${DETECTOR}_${{ matrix.detector_config }}
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
Expand Down Expand Up @@ -509,15 +515,15 @@ jobs:
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "${{ env.platform-release }}"
setup: /opt/detector/setup.sh
setup: "/opt/detector/epic-${{ env.detector-version }}/setup.sh"
run: |
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
ldd -r lib/*.so lib/EICrecon/plugins/*.so
- name: Run EICrecon
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "${{ env.platform-release }}"
setup: /opt/detector/setup.sh
setup: "/opt/detector/epic-${{ env.detector-version }}/setup.sh"
run: |
export DETECTOR_CONFIG=${DETECTOR}_${{ matrix.detector_config }}
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
Expand Down Expand Up @@ -557,7 +563,7 @@ jobs:
if: steps.download_previous_artifact.outputs.found_artifact == 'true'
with:
platform-release: "${{ env.platform-release }}"
setup: "/opt/detector/setup.sh"
setup: "/opt/detector/epic-${{ env.detector-version }}/setup.sh"
run: |
pip install 'pygithub>=2' 'bokeh>=3'
export PYTHONPATH=$HOME/.local/lib/python3.10/site-packages:$PYTHONPATH
Expand Down Expand Up @@ -591,7 +597,7 @@ jobs:
if: steps.download_previous_artifact.outputs.found_artifact == 'true'
with:
platform-release: "${{ env.platform-release }}"
setup: /opt/detector/setup.sh
setup: "/opt/detector/epic-${{ env.detector-version }}/setup.sh"
run: |
echo "::group::pip install"
python3 -m pip install -r ${{ github.workspace }}/.github/requirements.txt
Expand Down Expand Up @@ -622,7 +628,7 @@ jobs:
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "${{ env.platform-release }}"
setup: /opt/detector/setup.sh
setup: "/opt/detector/epic-${{ env.detector-version }}/setup.sh"
run: |
export DETECTOR_CONFIG=${DETECTOR}_${{ matrix.detector_config }}
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
Expand Down Expand Up @@ -671,7 +677,7 @@ jobs:
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "${{ env.platform-release }}"
setup: /opt/detector/setup.sh
setup: "/opt/detector/epic-${{ env.detector-version }}/setup.sh"
run: |
export DETECTOR_CONFIG=${DETECTOR}_${{ matrix.detector_config }}
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
Expand Down Expand Up @@ -706,7 +712,7 @@ jobs:
if: steps.download_previous_artifact.outputs.found_artifact == 'true'
with:
platform-release: "${{ env.platform-release }}"
setup: "/opt/detector/setup.sh"
setup: "/opt/detector/epic-${{ env.detector-version }}/setup.sh"
run: |
pip install 'pygithub>=2' 'bokeh>=3'
export PYTHONPATH=$HOME/.local/lib/python3.10/site-packages:$PYTHONPATH
Expand Down Expand Up @@ -740,7 +746,7 @@ jobs:
if: steps.download_previous_artifact.outputs.found_artifact == 'true'
with:
platform-release: "${{ env.platform-release }}"
setup: /opt/detector/setup.sh
setup: "/opt/detector/epic-${{ env.detector-version }}/setup.sh"
run: |
echo "::group::pip install"
python3 -m pip install -r ${{ github.workspace }}/.github/requirements.txt
Expand Down
5 changes: 5 additions & 0 deletions cmake/jana_plugin.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -233,13 +233,18 @@ macro(plugin_add_acts _name)
endif()
endif()

# Get ActsExamples base
get_target_property(ActsCore_LOCATION ActsCore LOCATION)
get_filename_component(ActsCore_PATH ${ActsCore_LOCATION} DIRECTORY)

# Add libraries (works same as target_include_directories)
plugin_link_libraries(${PLUGIN_NAME}
ActsCore
ActsPluginIdentification
ActsPluginTGeo
ActsPluginJson
ActsPluginDD4hep
${ActsCore_PATH}/libActsExamplesFramework.so
)

endmacro()
Expand Down
189 changes: 0 additions & 189 deletions src/algorithms/tracking/ActsExamples/EventData/GeometryContainers.hpp

This file was deleted.

Loading

0 comments on commit fdc79ac

Please sign in to comment.