diff --git a/.github/workflows/key4hep.yml b/.github/workflows/key4hep.yml index bb4e45b..8c6e1d0 100644 --- a/.github/workflows/key4hep.yml +++ b/.github/workflows/key4hep.yml @@ -1,31 +1,49 @@ -name: keyh4ep -on: [push, pull_request] +# Do not edit this file, it will be overwritten! +# The template file can be found in +# https://github.com/key4hep/key4hep-actions/blob/main/workflows/key4hep-build.yaml + +name: Key4hep build +on: + push: + branches: + - master + pull_request: + workflow_dispatch: + schedule: + - cron: "16 4 * * *" + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true jobs: - build-and-test: - runs-on: ubuntu-latest + build: strategy: + matrix: + build_type: ["release", "nightly"] + image: ["alma9"] + include: + - build_type: nightly + image: ubuntu24 + - build_type: nightly + image: ubuntu26 fail-fast: false - + runs-on: ubuntu-latest + container: + image: ghcr.io/key4hep/key4hep-images/${{ matrix.image }}-cvmfs + options: --privileged + volumes: + - /home/runner/.cache/ccache:/root/.cache/ccache + defaults: + run: + shell: bash steps: - - uses: actions/checkout@v3 - - uses: cvmfs-contrib/github-action-cvmfs@v3 - - uses: aidasoft/run-lcg-view@v4 - with: - container: centos7 - view-path: /cvmfs/sw-nightlies.hsf.org/key4hep - run: | - mkdir build - cd build - echo "::group::Run CMake" - cmake -GNinja \ - -DCMAKE_CXX_FLAGS=" -fdiagnostics-color=always " \ - -DCMAKE_CXX_STANDARD=17 \ - -DCMAKE_INSTALL_PREFIX=../install \ - .. - echo "::endgroup::" && echo "::group::Build" - ninja -k0 - echo "::endgroup::" && echo "::group::Run Tests" - ctest --output-on-failure - echo "::endgroup::" && echo "::group::Install" - ninja install + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 #v7.0.1 + - name: Mount CVMFS + run: /mount.sh + - uses: key4hep/key4hep-actions/cache-external-data@main + - uses: key4hep/key4hep-actions/key4hep-build@main + with: + build_type: ${{ matrix.build_type }} + image: ${{ matrix.image }} + stack: ${{ matrix.stack }} diff --git a/src/ForwardTracking/EndcapHit01.cc b/src/ForwardTracking/EndcapHit01.cc index 144cc2f..1740f0a 100644 --- a/src/ForwardTracking/EndcapHit01.cc +++ b/src/ForwardTracking/EndcapHit01.cc @@ -76,14 +76,14 @@ EndcapHit01::EndcapHit01( TrackerHit* trackerHit , const SectorSystemEndcap* con radius = sqrt(radius); double _cosTheta = (pos[2]/radius); - double _phi = atan2(pos[1],pos[0]); - - if (_phi < 0.) _phi = _phi + 2*M_PI; + double phi = atan2(pos[1],pos[0]); + + if (phi < 0.) phi = phi + 2*M_PI; // YV, for debugging. Calculate sector here and not through the IVXHit base class //calculateSector(); - _sector = _sectorSystemEndcap->getSector( _layer, _phi, _cosTheta ); + _sector = _sectorSystemEndcap->getSector( _layer, phi, _cosTheta ); //We assume a real hit. If it is virtual, this has to be set. diff --git a/src/ForwardTracking/ForwardTracking.cc b/src/ForwardTracking/ForwardTracking.cc index 09f18a9..c8df2c2 100644 --- a/src/ForwardTracking/ForwardTracking.cc +++ b/src/ForwardTracking/ForwardTracking.cc @@ -712,7 +712,7 @@ void ForwardTracking::processEvent( LCEvent * evt ) { else streamlog_out( DEBUG2 ) << "Keeping track because of good helix fit: chi2/ndf = " << chi2OverNdf << "\n"; } - catch( FTDHelixFitterException e ){ + catch( const FTDHelixFitterException& e ){ streamlog_out( DEBUG3 ) << "Track rejected, because fit failed: " << e.what() << "\n"; @@ -752,7 +752,7 @@ void ForwardTracking::processEvent( LCEvent * evt ) { } - catch( FitterException e ){ + catch( const FitterException& e ){ streamlog_out( DEBUG3 ) << "Track rejected, because fit failed: " << e.what() << "\n"; @@ -916,7 +916,7 @@ void ForwardTracking::processEvent( LCEvent * evt ) { trkCol->addElement( trackImpl ); } - catch( FitterException e ){ + catch( const FitterException& e ){ streamlog_out( DEBUG4 ) << "ForwardTracking: track couldn't be finalized due to fitter error: " << e.what() << "\n"; delete trackImpl; diff --git a/src/TrackingFeedback/RecoTrack.cc b/src/TrackingFeedback/RecoTrack.cc index c95a166..905ce86 100644 --- a/src/TrackingFeedback/RecoTrack.cc +++ b/src/TrackingFeedback/RecoTrack.cc @@ -66,7 +66,7 @@ std::string RecoTrack::getRecoTrackInfo() const{ Fitter fitter( _track, _trkSystem ); info << "Chi2Prob = " << fitter.getChi2Prob( lcio::TrackState::AtIP ) << "\n"; } - catch( FitterException e ){ + catch( const FitterException& e ){ info << "Could not be fitted!!!\n"; diff --git a/src/TrackingFeedback/TrackingFeedbackProcessor.cc b/src/TrackingFeedback/TrackingFeedbackProcessor.cc index c2d1c0d..1e3b8a1 100644 --- a/src/TrackingFeedback/TrackingFeedbackProcessor.cc +++ b/src/TrackingFeedback/TrackingFeedbackProcessor.cc @@ -335,7 +335,7 @@ void TrackingFeedbackProcessor::processEvent( LCEvent * evt ) { chi2Prob = fitter.getChi2Prob( lcio::TrackState::AtIP ); } - catch( FitterException e ){ + catch( const FitterException& e ){ streamlog_out( DEBUG3 ) << "Monte Carlo Track " << i << " fit failed: " << e.what() << "\n"; @@ -858,7 +858,7 @@ void TrackingFeedbackProcessor::saveRootInformation(){ _trueTrack_Ndf = fitter.getNdf( lcio::TrackState::AtIP ); } - catch( FitterException e ){ + catch( const FitterException& e ){ _trueTrack_chi2prob = -1; _trueTrack_chi2 = -1; @@ -903,7 +903,7 @@ void TrackingFeedbackProcessor::saveRootInformation(){ _recoTrack_Ndf = fitter.getNdf( lcio::TrackState::AtIP ); } - catch( FitterException e ){ + catch( const FitterException& e ){ _recoTrack_chi2prob = -1; _recoTrack_chi2 = -1; diff --git a/src/TrackingFeedback/TrueTrack.cc b/src/TrackingFeedback/TrueTrack.cc index e0f5f9c..24dddce 100644 --- a/src/TrackingFeedback/TrueTrack.cc +++ b/src/TrackingFeedback/TrueTrack.cc @@ -94,7 +94,7 @@ std::string TrueTrack::getTrueTrackInfo() const{ << ", Ndf = " << fitter.getNdf( lcio::TrackState::AtIP ) << "\n"; } - catch( FitterException e ){ + catch( const FitterException& e ){ trackInfo << "Could not be fitted!!!\n";