diff --git a/.github/workflows/distributions.yaml b/.github/workflows/distributions.yaml deleted file mode 100644 index 9251973..0000000 --- a/.github/workflows/distributions.yaml +++ /dev/null @@ -1,201 +0,0 @@ -name: Generating Distributions -run-name: Generating Distributions for changes made by @${{ github.actor }} -on: [push] - -jobs: - Base: - runs-on: self-hosted - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Building AmpTools - run: | - git fetch origin - git rebase origin/master - mkdir Tutorials/Dalitz/lib - mkdir Tutorials/Dalitz/bin - make - export AMPTOOLS_HOME=$(pwd) - echo "AMPTOOLS_HOME=$AMPTOOLS_HOME" >> $GITHUB_ENV - echo "AMPTOOLS=$AMPTOOLS_HOME/AmpTools" >> $GITHUB_ENV - echo "AMPPLOTTER=$AMPTOOLS_HOME/AmpPlotter" >> $GITHUB_ENV - echo "DALITZ=$AMPTOOLS_HOME/Tutorials/Dalitz" >> $GITHUB_ENV - echo "UNIT_TESTS=$AMPTOOLS_HOME/UnitTests" >> $GITHUB_ENV - - name: Generating Data - run: | - cd $UNIT_TESTS - $DALITZ/bin/generatePhaseSpace phasespace.gen.root 100000 12345 - $DALITZ/bin/toyAcceptance phasespace.gen.root phasespace.acc.root 12345 - $DALITZ/bin/generatePhysics parserTest.cfg physics.gen.root 100000 12345 - $DALITZ/bin/toyAcceptance physics.gen.root physics.acc.root 12345 - $DALITZ/bin/fitAmplitudes parserTest.cfg - - name: Generating Distributions - run: | - cd $UNIT_TESTS - for n in {1..100} - do - ./distributions - echo "Iteration $n done" - done - - name: Committing changes - id: commit_changes - run: | - git config --local user.email "action@github.com" - git config --local user.name "github-actions" - cd $UNIT_TESTS - cd models - mv distFile.csv distBase.csv - git add distBase.csv - git commit -m "Added Distributions" - - name: Push changes - uses: ad-m/github-push-action@master - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - - MPI: - runs-on: self-hosted - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Building AmpTools - run: | - git fetch origin - git rebase origin/master - mkdir Tutorials/Dalitz/lib - mkdir Tutorials/Dalitz/bin - make mpi - export AMPTOOLS_HOME=$(pwd) - echo "AMPTOOLS_HOME=$AMPTOOLS_HOME" >> $GITHUB_ENV - echo "AMPTOOLS=$AMPTOOLS_HOME/AmpTools" >> $GITHUB_ENV - echo "AMPPLOTTER=$AMPTOOLS_HOME/AmpPlotter" >> $GITHUB_ENV - echo "DALITZ=$AMPTOOLS_HOME/Tutorials/Dalitz" >> $GITHUB_ENV - echo "UNIT_TESTS=$AMPTOOLS_HOME/UnitTests" >> $GITHUB_ENV - - name: ConfigFileParser - if: success() || failure() - run: | - cd $UNIT_TESTS - $DALITZ/bin/generatePhaseSpace phasespace.gen.root 100000 12345 - $DALITZ/bin/toyAcceptance phasespace.gen.root phasespace.acc.root 12345 - $DALITZ/bin/generatePhysics parserTest.cfg physics.gen.root 100000 12345 - $DALITZ/bin/toyAcceptance physics.gen.root physics.acc.root 12345 - $DALITZ/bin/fitAmplitudes parserTest.cfg - - name: Generating Distributions - run: | - cd $UNIT_TESTS - for n in {1..100} - do - mpirun -n 3 ./distributionsMPI - echo "Iteration $n done" - done - - name: Committing changes - run: | - git config --local user.email "action@github.com" - git config --local user.name "github-actions" - cd $UNIT_TESTS - cd models - mv distFile.csv distMPI.csv - git add distMPI.csv - git commit -m "Added Distributions" - - name: Push changes - uses: ad-m/github-push-action@master - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - - - GPU: - runs-on: self-hosted - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Building AmpTools - run: | - git fetch origin - git rebase origin/master - mkdir Tutorials/Dalitz/lib - mkdir Tutorials/Dalitz/bin - make gpu - export AMPTOOLS_HOME=$(pwd) - echo "AMPTOOLS_HOME=$AMPTOOLS_HOME" >> $GITHUB_ENV - echo "AMPTOOLS=$AMPTOOLS_HOME/AmpTools" >> $GITHUB_ENV - echo "AMPPLOTTER=$AMPTOOLS_HOME/AmpPlotter" >> $GITHUB_ENV - echo "DALITZ=$AMPTOOLS_HOME/Tutorials/Dalitz" >> $GITHUB_ENV - echo "UNIT_TESTS=$AMPTOOLS_HOME/UnitTests" >> $GITHUB_ENV - - name: ConfigFileParser - if: success() || failure() - run: | - cd $UNIT_TESTS - $DALITZ/bin/generatePhaseSpace_GPU phasespace.gen.root 100000 12345 - $DALITZ/bin/toyAcceptance_GPU phasespace.gen.root phasespace.acc.root 12345 - $DALITZ/bin/generatePhysics_GPU parserTest.cfg physics.gen.root 100000 12345 - $DALITZ/bin/toyAcceptance_GPU physics.gen.root physics.acc.root 12345 - $DALITZ/bin/fitAmplitudes_GPU parserTest.cfg - - name: Generating Distributions - run: | - cd $UNIT_TESTS - for n in {1..100} - do - ./distributions_GPU - echo "Iteration $n done" - done - - name: Committing changes - run: | - git config --local user.email "action@github.com" - git config --local user.name "github-actions" - cd $UNIT_TESTS - cd models - mv distFile.csv distGPU.csv - git add distGPU.csv - git commit -m "Added Distributions" - - name: Push changes - uses: ad-m/github-push-action@master - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - - MPI-GPU: - runs-on: self-hosted - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Building AmpTools - run: | - git fetch origin - git rebase origin/master - mkdir Tutorials/Dalitz/lib - mkdir Tutorials/Dalitz/bin - make mpigpu - export AMPTOOLS_HOME=$(pwd) - echo "AMPTOOLS_HOME=$AMPTOOLS_HOME" >> $GITHUB_ENV - echo "AMPTOOLS=$AMPTOOLS_HOME/AmpTools" >> $GITHUB_ENV - echo "AMPPLOTTER=$AMPTOOLS_HOME/AmpPlotter" >> $GITHUB_ENV - echo "DALITZ=$AMPTOOLS_HOME/Tutorials/Dalitz" >> $GITHUB_ENV - echo "UNIT_TESTS=$AMPTOOLS_HOME/UnitTests" >> $GITHUB_ENV - - name: ConfigFileParser - if: success() || failure() - run: | - cd $UNIT_TESTS - $DALITZ/bin/generatePhaseSpace_GPU phasespace.gen.root 100000 12345 - $DALITZ/bin/toyAcceptance_GPU phasespace.gen.root phasespace.acc.root 12345 - $DALITZ/bin/generatePhysics_GPU parserTest.cfg physics.gen.root 100000 12345 - $DALITZ/bin/toyAcceptance_GPU physics.gen.root physics.acc.root 12345 - mpirun -n 3 $DALITZ/bin/fitAmplitudesMPI_GPU parserTest.cfg - - name: Generating Distributions - run: | - cd $UNIT_TESTS - for n in {1..100} - do - mpirun -n 3 ./distributionsMPI_GPU - echo "Iteration $n done" - done - - name: Committing changes - run: | - git config --local user.email "action@github.com" - git config --local user.name "github-actions" - cd $UNIT_TESTS - cd models - mv distFile.csv distMPIGPU.csv - git add distMPIGPU.csv - git commit -m "Added Distributions" - - name: Push changes - uses: ad-m/github-push-action@master - with: - github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/UnitTests/distributions.cc b/UnitTests/distributions.cc deleted file mode 100644 index 2c4cad4..0000000 --- a/UnitTests/distributions.cc +++ /dev/null @@ -1,80 +0,0 @@ -#include "DalitzAmp/BreitWigner.h" -#include "DalitzAmp/Constraint.h" -#include "DalitzDataIO/DalitzDataReader.h" -#include "IUAmpTools/AmpToolsInterface.h" -#include "IUAmpTools/ConfigFileParser.h" -#include "IUAmpTools/ConfigurationInfo.h" -#include "IUAmpTools/FitResults.h" -#include -#include -#include -#include -#include -#include -#include - -#include "IUAmpTools/report.h" -static const char* kModule = "distributions"; -using namespace std; - -int main() -{ - ofstream fout; - AmpToolsInterface::registerAmplitude(BreitWigner()); - AmpToolsInterface::registerNeg2LnLikContrib(Constraint()); - AmpToolsInterface::registerDataReader(DalitzDataReader()); - - string distFile = "models/distFile.csv"; - fout.open(distFile, ios::app); - string cfgname = "parserTest.cfg"; - ConfigFileParser parser(cfgname); - ConfigurationInfo* cfgInfo = parser.getConfigurationInfo(); - AmpToolsInterface ATI(cfgInfo); - AmpToolsInterface::setRandomSeed(12345); - double neg2LL_before = ATI.likelihood(); - fout << neg2LL_before << ","; - - MinuitMinimizationManager* fitManager = ATI.minuitMinimizationManager(); - fitManager->setStrategy(1); - - fitManager->migradMinimization(); - - double neg2LL_after = ATI.likelihood(); - fout << neg2LL_after << ","; - fout << ATI.likelihood("base") << ","; - fout << ATI.likelihood("constrained") << ","; - fout << ATI.likelihood("symmetrized_implicit") << ","; - fout << ATI.likelihood("symmetrized_explicit") << ","; - ATI.finalizeFit(); - - // fitResults - - const FitResults* fitResults = ATI.fitResults(); - pair intensity = fitResults->intensity(); - fout << intensity.first << ","; - fout << intensity.second << ","; - pair pd = fitResults->phaseDiff("base::s1::R12", "base::s1::R13"); - fout << pd.first << ","; - fout << pd.second << ","; - complex ppBase = fitResults->productionParameter("base::s1::R12"); - fout << ppBase.real() << ","; - fout << ppBase.imag() << ","; - complex ppConstrained = fitResults->productionParameter("constrained::s2::RC12"); - fout << ppConstrained.real() << ","; - fout << ppConstrained.imag() << ","; - complex ppSymm = fitResults->productionParameter("symmetrized_explicit::s4::RSE12"); - fout << ppSymm.real() << ","; - fout << ppSymm.imag() << ","; - double bestMinimum = fitResults->bestMinimum(); - fout << bestMinimum << ","; - vector parNames = fitResults->parNameList(); - fout << parNames.size() << ","; - vector parVals = fitResults->parValueList(); - for (const double i : parVals) { - fout << i << ","; - } - fout << "\n"; - - fout.close(); - return 0; -} diff --git a/UnitTests/distributionsMPI.cc b/UnitTests/distributionsMPI.cc deleted file mode 100644 index 03639ea..0000000 --- a/UnitTests/distributionsMPI.cc +++ /dev/null @@ -1,95 +0,0 @@ -#include "DalitzAmp/BreitWigner.h" -#include "DalitzAmp/Constraint.h" -#include "DalitzDataIO/DalitzDataReader.h" -#include "IUAmpTools/ConfigFileParser.h" -#include "IUAmpTools/ConfigurationInfo.h" -#include "IUAmpTools/FitResults.h" -#include "IUAmpToolsMPI/AmpToolsInterfaceMPI.h" -#include "IUAmpToolsMPI/DataReaderMPI.h" -#include -#include -#include -#include -#include -#include -#include -#include - -#include "IUAmpTools/report.h" -static const char* kModule = "distributionsMPI"; -using namespace std; - -int main(int argc, char* argv[]) -{ - ofstream fout; - MPI_Init(&argc, &argv); - int rank; - int size; - MPI_Comm_rank(MPI_COMM_WORLD, &rank); - MPI_Comm_size(MPI_COMM_WORLD, &size); - - string distFile = "models/distFile.csv"; - fout.open(distFile, ios::app); - - string cfgname = "parserTest.cfg"; - AmpToolsInterfaceMPI::registerAmplitude(BreitWigner()); - AmpToolsInterfaceMPI::registerNeg2LnLikContrib(Constraint()); - AmpToolsInterfaceMPI::registerDataReader(DataReaderMPI()); - ConfigFileParser parser(cfgname); - ConfigurationInfo* cfgInfo = parser.getConfigurationInfo(); - AmpToolsInterfaceMPI ATI(cfgInfo); - AmpToolsInterface::setRandomSeed(12345); - - // AmpToolsInterface - if (rank == 0) { - - double neg2LL_before = ATI.likelihood(); - fout << neg2LL_before << ","; - - MinuitMinimizationManager* fitManager = ATI.minuitMinimizationManager(); - fitManager->setStrategy(1); - - fitManager->migradMinimization(); - - double neg2LL_after = ATI.likelihood(); - fout << neg2LL_after << ","; - fout << ATI.likelihood("base") << ","; - fout << ATI.likelihood("constrained") << ","; - fout << ATI.likelihood("symmetrized_implicit") << ","; - fout << ATI.likelihood("symmetrized_explicit") << ","; - ATI.finalizeFit(); - - // fitResults - - const FitResults* fitResults = ATI.fitResults(); - pair intensity = fitResults->intensity(); - fout << intensity.first << ","; - fout << intensity.second << ","; - pair pd = fitResults->phaseDiff("base::s1::R12", "base::s1::R13"); - fout << pd.first << ","; - fout << pd.second << ","; - complex ppBase = fitResults->productionParameter("base::s1::R12"); - fout << ppBase.real() << ","; - fout << ppBase.imag() << ","; - complex ppConstrained = fitResults->productionParameter("constrained::s2::RC12"); - fout << ppConstrained.real() << ","; - fout << ppConstrained.imag() << ","; - complex ppSymm = fitResults->productionParameter("symmetrized_explicit::s4::RSE12"); - fout << ppSymm.real() << ","; - fout << ppSymm.imag() << ","; - double bestMinimum = fitResults->bestMinimum(); - fout << bestMinimum << ","; - vector parNames = fitResults->parNameList(); - fout << parNames.size() << ","; - vector parVals = fitResults->parValueList(); - for (const double i : parVals) { - fout << i << ","; - } - fout << "\n"; - fout.close(); - } - - ATI.exitMPI(); - MPI_Finalize(); - return 0; -}