KinKal
Jump to navigation
Jump to search
To develop new code in KinKal and call it in Offline you will need to define your own version of KinKal and install it in your own private extension to UPS. You need to do some initial setup in a throwaway shell:
- create a muse workdir according to Ray's instructions and cd there
- checkout your fork of Offline in the muse workdir as you would normally
- checkout your fork of KinKal in the muse workdir .The KinKal development model is the same as Offline: start with the head of main, create your own branch, develop and commit to that, and make a PR to KinKal when your development is ready.
- build KinKal according to the instructions in README. make sure to run the test (make test)
- checkout tag v0.1.4 of KinKal_to_UPS
- create the directory 'artexternals' in the muse workdir
- execute 'muse setup -q (prof, debug) depending on what you want. Note you can have both builds in the same workdir, but any given shell can be only one or the other.
- invoke KinKal_to_UPS/build -v your_version -i -b -j10, where your_version is whatever version you want (it is temporary). I have this command saved in a script /mu2e/app/users/brownd/KFTrack/install_KinKal.sh
- define a user envset in the ./muse directory. mine is /mu2e/app/users/brownd/KFTrack/muse/u002 The name is unimportant. Edit that so it refers to your_version of KinKal
Then, close that shell. From then on, you can work with KinKal and/or Offline in this muse workdir with the following commands:
- create a new shell, and cd to your muse workdir
- exectue 'export PRODUCTS=${PWD}/artexternals:${PRODUCTS}' This tells UPS to look for KinKal in your local install
- execute 'muse setup -q (prof, debug) your_envset'
(I have these defined as /mu2e/app/users/brownd/KFTrack/setup_prof.sh and setup_debug.sh in my area)'
- Any time you change KinKal rebuild and rerun the tests, and then rerun install_KinKal.sh
- Any time you change Mu2eKinKal (or after changing and rebuilding KinKal as above) rebuild Offline using 'muse build'