diff --git a/.github/dependabot.yml b/.github/dependabot.yml index bf5bb420ac..a98a416e9e 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,21 +1,18 @@ version: 2 -registries: - clas12maven: - type: maven-repository - url: https://clasweb.jlab.org/clas12maven - jhep: - type: maven-repository - url: https://clasweb.jlab.org/jhep/maven +# registries: FIXME: disabled, see +# clas12maven: +# type: maven-repository +# url: https://clasweb.jlab.org/.clas12maven +# jhep: +# type: maven-repository +# url: https://clasweb.jlab.org/.jhep/maven updates: - package-ecosystem: "maven" directory: "/" schedule: interval: "weekly" - registries: - - clas12maven - - jhep ignore: - dependency-name: "org.jlab:groot" # since version numbers are not in order - dependency-name: "org.ejml:ejml-simple" # keep version the same as `j4ml:j4ml-clas12:jar:0.9-SNAPSHOT`; see pull requests #636 and #632 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index da4d0f3e27..f46eba9093 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,8 +21,10 @@ defaults: shell: bash env: - java_version: 25 + JAVA_VERSION: 21 # must be consistent with POM; see also dependabot config for any version limits + JAVA_VERSION_LATEST: 25 # the latest `JAVA_VERSION` that we test with CI java_distribution: zulu + javadoc_version: 25 # newer than `JAVA_VERSION` for better javadoc groovy_version: 4.x CCDB_CONNECTION: 'sqlite:////cvmfs/oasis.opensciencegrid.org/jlab/hallb/clas12/sw/noarch/data/ccdb/ccdb_latest.sqlite' nthreads: 1 @@ -40,8 +42,6 @@ jobs: with: key: raw_test_data # fixed key will always hit; clear cache to trigger cache miss path: | - clas_005038.evio.00000 - clas_021559.evio.00001 clas_018779.evio.00001 lookup-only: true - name: install xrootd-client @@ -51,10 +51,12 @@ jobs: sudo apt -y install xrootd-client - name: download if: ${{ steps.cache.outputs.cache-hit != 'true' }} +# run: | +# xrdcp xroot://sci-xrootd.jlab.org///osgpool/hallb/clas12/validation/raw/rg-d/clas_018779.evio.00001 ./ run: | - xrdcp xroot://sci-xrootd.jlab.org///osgpool/hallb/clas12/validation/clas_005038.evio.00000 ./ - xrdcp xroot://sci-xrootd.jlab.org///osgpool/hallb/clas12/validation/raw/rg-l/clas_021559.evio.00001 ./ - xrdcp xroot://sci-xrootd.jlab.org///osgpool/hallb/clas12/validation/raw/rg-d/clas_018779.evio.00001 ./ + git lfs install + git clone --depth 1 https://code.jlab.org/hallb/clas12/validation-data + cp validation-data/raw/rg-d/clas_018779.evio.00001 . # build ############################################################################# @@ -71,17 +73,9 @@ jobs: - uses: actions/checkout@v5 - uses: actions/setup-java@v5 with: - java-version: ${{ env.java_version }} + java-version: ${{ env.JAVA_VERSION }} distribution: ${{ env.java_distribution }} cache: maven - - name: install xrootd-client (linux) - if: ${{ matrix.runner == 'ubuntu-latest' }} - run: | - sudo apt -y update - sudo apt -y install xrootd-client - - name: install xrootd-client (macos) - if: ${{ matrix.runner == 'macos-latest' }} - run: brew install xrootd - name: setup cvmfs uses: cvmfs-contrib/github-action-cvmfs@v5 with: @@ -92,7 +86,11 @@ jobs: if: ${{ github.ref_type == 'tag' }} run: libexec/version-bump.sh ${{ github.ref_name }} - name: build - run: ./build-coatjava.sh --clara --xrootd --no-progress -T${{ env.nthreads }} + run: | + git lfs install + git submodule update --init ./etc/data/magfield + ./build-coatjava.sh --cvmfs --no-progress -T${{ env.nthreads }} + ./install-clara -b -c ./coatjava ./clara - name: tar # tarball to preserve permissions run: | tar czvf coatjava.tar.gz coatjava @@ -108,27 +106,40 @@ jobs: # tests ############################################################################# + java_matrix: # make JSON job matrix, to workaround GitHub's lack of `env` var support in job matrix params + runs-on: ubuntu-latest + outputs: + versions: ${{ steps.matrix.outputs.versions }} + steps: + - name: matrix + id: matrix + run: echo versions="[\"${{ env.JAVA_VERSION }}\",\"${{ env.JAVA_VERSION_LATEST }}\"]" | tee -a $GITHUB_OUTPUT + unit_tests: + needs: + - java_matrix + strategy: + fail-fast: false + matrix: + JAVA_VERSION: ${{ fromJson(needs.java_matrix.outputs.versions) }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: actions/setup-java@v5 with: - java-version: ${{ env.java_version }} + java-version: ${{ matrix.JAVA_VERSION }} distribution: ${{ env.java_distribution }} cache: maven - - name: install xrootd-client - run: | - sudo apt -y update - sudo apt -y install xrootd-client - uses: cvmfs-contrib/github-action-cvmfs@v5 with: cvmfs_repositories: 'oasis.opensciencegrid.org' - name: unit tests - run: ./build-coatjava.sh --xrootd --unittests --no-progress -T${{ env.nthreads }} + run: ./build-coatjava.sh --cvmfs --unittests --no-progress -T${{ env.nthreads }} - name: collect jacoco report + if: ${{ matrix.JAVA_VERSION == env.JAVA_VERSION }} run: validation/jacoco-aggregate.sh - name: publish jacoco report + if: ${{ matrix.JAVA_VERSION == env.JAVA_VERSION }} uses: actions/upload-artifact@v5 with: name: jacoco_report @@ -143,7 +154,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v5 with: - java-version: ${{ env.java_version }} + java-version: ${{ env.JAVA_VERSION }} distribution: ${{ env.java_distribution }} cache: maven - uses: cvmfs-contrib/github-action-cvmfs@v5 @@ -165,16 +176,12 @@ jobs: - name: Set up JDK uses: actions/setup-java@v5 with: - java-version: ${{ env.java_version }} + java-version: ${{ env.JAVA_VERSION }} distribution: ${{ env.java_distribution }} cache: maven - uses: cvmfs-contrib/github-action-cvmfs@v5 with: cvmfs_repositories: 'oasis.opensciencegrid.org' - - name: install xrootd-client - run: | - sudo apt -y update - sudo apt -y install xrootd-client - uses: actions/download-artifact@v6 with: name: build_ubuntu-latest @@ -182,15 +189,13 @@ jobs: with: key: raw_test_data path: | - clas_005038.evio.00000 - clas_021559.evio.00001 clas_018779.evio.00001 - name: untar build run: tar xzvf coatjava.tar.gz - name: run test run: | ls -lhtr - ./coatjava/bin/decoder -n 10000 -o dog.hipo ./clas_005038.evio.00000 + ./coatjava/bin/decoder -n 10000 -o dog.hipo ./clas_018779.evio.00001 test_clara: needs: [ build, download_test_data ] @@ -202,7 +207,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v5 with: - java-version: ${{ env.java_version }} + java-version: ${{ env.JAVA_VERSION }} distribution: ${{ env.java_distribution }} cache: maven - name: setup cvmfs @@ -216,8 +221,6 @@ jobs: with: key: raw_test_data path: | - clas_005038.evio.00000 - clas_021559.evio.00001 clas_018779.evio.00001 - name: untar build run: | @@ -258,7 +261,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v5 with: - java-version: ${{ env.java_version }} + java-version: ${{ env.JAVA_VERSION }} distribution: ${{ env.java_distribution }} cache: maven - uses: actions/download-artifact@v6 @@ -268,9 +271,13 @@ jobs: with: cvmfs_repositories: 'oasis.opensciencegrid.org' - name: untar build - run: tar xzvf coatjava.tar.gz + run: | + tar xzvf coatjava.tar.gz + tar xzvf clara.tar.gz - name: run test run: | + git lfs install + git submodule update --init validation/advanced-tests/data cd validation/advanced-tests echo "COMMAND: ${{ matrix.cmd }}" ${{ matrix.cmd }} @@ -283,7 +290,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v5 with: - java-version: ${{ env.java_version }} + java-version: ${{ env.JAVA_VERSION }} distribution: ${{ env.java_distribution }} cache: maven - name: setup groovy @@ -306,7 +313,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v5 with: - java-version: ${{ env.java_version }} + java-version: ${{ env.JAVA_VERSION }} distribution: ${{ env.java_distribution }} cache: maven - uses: actions/download-artifact@v6 @@ -342,7 +349,7 @@ jobs: - name: set up JDK uses: actions/setup-java@v5 with: - java-version: ${{ env.java_version }} + java-version: ${{ env.javadoc_version }} distribution: ${{ env.java_distribution }} cache: maven - name: build coatjava javadocs # javadoc:aggregate output dir cannot be controlled, so assume the latest "standard" path and `mv` it diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d796ce2370..d2ac1c03a2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,6 +5,7 @@ workflow: - if: $CI_PIPELINE_SOURCE == "merge_request_event" auto_cancel: on_new_commit: interruptible + - if: $CI_PIPELINE_SOURCE == "schedule" - if: $CI_COMMIT_BRANCH == "main" auto_cancel: on_new_commit: conservative @@ -14,15 +15,42 @@ workflow: default: interruptible: true + before_script: + - export CLARA_HOME=$CI_PROJECT_DIR/clara + - export COATJAVA=$CI_PROJECT_DIR/coatjava + - export PATH=$CLARA_HOME/plugins/clas12/bin:$PATH + - export PATH=$CLARA_HOME/bin:$PATH + - export PATH=$COATJAVA/bin:$PATH stages: + - mirror - build - test - deploy +mirror: + stage: mirror + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" + script: + - git config --global --add safe.directory $CI_PROJECT_DIR + - git config --global user.email "ci-bot@code.jlab.org" + - git config --global user.name "GitLab CI" + - git checkout development + - git config pull.rebase true + - git remote set-url origin https://github.com/jeffersonlab/coatjava + - git pull origin development + - git remote set-url origin https://gitlab-ci-token:${CI_JOB_TOKEN}@code.jlab.org/hallb/clas12/coatjava/coatjava.git + - git push + build: stage: build + needs: + - job: mirror + optional: true script: + - git lfs install + - git submodule update --init etc/data/magfield - ./build-coatjava.sh --clara -T$JL_RUNNER_AVAIL_CPU --quiet --no-progress - tar -czf coatjava.tar.gz coatjava - tar -czf clara.tar.gz clara @@ -33,7 +61,7 @@ build: - coatjava.tar.gz - clara.tar.gz -depana: +.depana: allow_failure: true stage: build script: @@ -43,56 +71,51 @@ depana: download: stage: build script: - - xrdcp xroot://sci-xrootd.jlab.org///osgpool/hallb/clas12/validation/clas_005038.evio.00000 ./ - - xrdcp xroot://sci-xrootd.jlab.org///osgpool/hallb/clas12/validation/raw/rg-l/clas_021559.evio.00001 ./ - - xrdcp xroot://sci-xrootd.jlab.org///osgpool/hallb/clas12/validation/raw/rg-d/clas_018779.evio.00001 ./ +# - xrdcp xroot://sci-xrootd.jlab.org///osgpool/hallb/clas12/validation/raw/rg-d/clas_018779.evio.00001 ./ + - git clone https://code.jlab.org/hallb/clas12/validation-data + - cp validation-data/raw/rg-d/clas_018779.evio.00001 . artifacts: when: always expire_in: 1 day paths: - - clas_005038.evio.00000 - - clas_021559.evio.00001 - clas_018779.evio.00001 -spotbugs: +.spotbugs: stage: test needs: [build] dependencies: [build] script: - - > - tar -xzf coatjava.tar.gz && - ./build-coatjava.sh -T$JL_RUNNER_AVAIL_CPU --spotbugs --quiet --no-progress + - tar -xzf coatjava.tar.gz + - ./build-coatjava.sh -T$JL_RUNNER_AVAIL_CPU --spotbugs --quiet --no-progress -unit_tests: +.unit_tests: stage: test needs: [build] dependencies: [build] script: - - > - tar -xzf coatjava.tar.gz && - ./build-coatjava.sh -T$JL_RUNNER_AVAIL_CPU --unittests --quiet --no-progress && - ./validation/jacoco-aggregate.sh + - tar -xzf coatjava.tar.gz + - ./build-coatjava.sh -T$JL_RUNNER_AVAIL_CPU --unittests --quiet --no-progress + - ./validation/jacoco-aggregate.sh artifacts: when: always expire_in: 1 day paths: - publish -docs: +.docs: stage: test needs: [build,unit_tests] dependencies: [build,unit_tests] script: - - > - tar -xzf coatjava.tar.gz && - python3 -m venv venv && - source venv/bin/activate && - python3 -m pip install -r docs/mkdocs/requirements.txt && - ./docs/mkdocs/generate.sh pages && - libexec/build-javadocs.sh && - ls -l && ls -l pages && ls -l publish && - mv target/reports/apidocs pages/javadoc && - cp -r publish pages/jacoco + - tar -xzf coatjava.tar.gz + - python3 -m venv venv + - source venv/bin/activate + - python3 -m pip install -r docs/mkdocs/requirements.txt + - ./docs/mkdocs/generate.sh pages + - libexec/build-javadocs.sh + - ls -l && ls -l pages && ls -l publish + - mv target/reports/apidocs pages/javadoc + - cp -r publish pages/jacoco artifacts: when: always expire_in: 7 days @@ -104,10 +127,12 @@ eb: needs: [build] dependencies: [build] script: - - > - tar -xzf coatjava.tar.gz && - cd validation/advanced-tests && - ./run-eb-tests.sh -100 ${ARG} + - tar -xzf coatjava.tar.gz + - tar -xzf clara.tar.gz + - git lfs install + - git submodule update --init validation/advanced-tests/data + - cd validation/advanced-tests + - ./run-eb-tests.sh -100 ${ARG} parallel: matrix: - ARG: electronproton @@ -116,34 +141,51 @@ eb: - ARG: electronneutronC - ARG: electronFTpion +decoder: + stage: test + needs: [build,download] + dependencies: [build,download] + script: + - tar -xzf clara.tar.gz + - decoder -n 1000 -o clas_018779_00001.hipo clas_018779.evio.00001 + artifacts: + when: always + expire_in: 1 day + paths: + - clas_018779_00001.hipo + clara: - allow_failure: true stage: test - needs: [build] - dependencies: [build] + needs: [build,download] + dependencies: [build,download] script: - - > - tar -xzf clara.tar.gz && - ./clara/plugins/clas12/bin/run-clara -c ./clara - -t $JL_RUNNER_AVAIL_CPU -y ./etc/services/rgd-clarode.yml - -n 100 -o ./out clas_018779.evio.00001 + - tar -xzf clara.tar.gz + - run-clara -v -c $CLARA_HOME -t $JL_RUNNER_AVAIL_CPU -y ./etc/services/rgd-clarode.yml -n 100 -o out clas_018779.evio.00001 profile: stage: test - needs: [build] - dependencies: [build] + needs: [build,decoder] + dependencies: [build,decoder] script: - - > - tar -xzf coatjava.tar.gz && - libexec/profile.sh + - tar -xzf coatjava.tar.gz + - libexec/profile -f flamegraph -e cpu clas_018779_00001.hipo + - libexec/profile -f flamegraph -e nativemem clas_018779_00001.hipo + - libexec/profile -f flamegraph -e alloc clas_018779_00001.hipo + artifacts: + when: always + expire_in: 1 week + paths: + - pro_flamegraph_cpu_clas_018779_00001 + - pro_flamegraph_nativemem_clas_018779_00001 + - pro_flamegraph_alloc_clas_018779_00001 -deploy: +.deploy: stage: deploy script: - - echo DEPLOY!!! + - echo DEPLOY! -release: +.release: stage: deploy script: - - echo RELEASE!!! + - echo RELEASE! diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000..b5a2f825c4 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "etc/data/magfield"] + path = etc/data/magfield + url = https://code.jlab.org/hallb/clas12/magfield +[submodule "validation/advanced-tests/data"] + path = validation/advanced-tests/data + url = https://code.jlab.org/hallb/clas12/coatjava/advanced-tests diff --git a/bin/run-clara b/bin/run-clara index 152d218326..c85d672f0d 100755 --- a/bin/run-clara +++ b/bin/run-clara @@ -15,6 +15,7 @@ Options:\n \t-n number of events (default=-1)\n \t-m merge output files (see dependencies below)\n \t-l larger JVM memory requests\n +\t-v verbose output\n \t-h print this help and exit\n\n Merging outputs (-m) requires hipo-utils and yq (https://github.com/mikefarah/yq).' @@ -26,7 +27,7 @@ function error() { threads=2 prefix=rec_ CLARA_USER_DATA=. -while getopts y:o:p:c:t:n:lqmh opt +while getopts y:o:p:c:t:n:lqmvh opt do case $opt in y) yaml=$OPTARG ;; @@ -38,6 +39,7 @@ do l) large=1 ;; m) merge=1 ;; q) quiet=1 ;; + v) set -o xtrace ;; h) echo -e "\n$usage" && echo -e $info && exit 0 ;; esac done diff --git a/build-coatjava.sh b/build-coatjava.sh index 22559520f0..c29676e1d4 100755 --- a/build-coatjava.sh +++ b/build-coatjava.sh @@ -23,8 +23,10 @@ usage='''build-coatjava.sh [OPTIONS]... [MAVEN_OPTIONS]... --xrootd use xrootd to download field maps --cvmfs use cvmfs to download field maps + --lfs use lfs for field maps and test data --clara install clara too + --data download test data (requires lfs) --help show this message @@ -40,7 +42,9 @@ downloadMaps="yes" runUnitTests="no" useXrootd=false useCvmfs=false +useLfs=false installClara=false +downloadData=false mvnArgs=() wgetArgs=() for xx in $@ @@ -61,8 +65,10 @@ do wgetArgs+=(--no-verbose) ;; --xrootd) useXrootd=true ;; - --cvmfs) useCvmfs=true ;; - --clara) installClara=true ;; + --cvmfs) useCvmfs=true ;; + --lfs) useLfs=true ;; + --clara) installClara=true ;; + --data) downloadData=true ;; -h|--help) echo "$usage" exit 2 @@ -71,6 +77,18 @@ do esac done +if $downloadData && ! $useLfs; then + echo "$usage" + echo "ERROR::::::::::: --data requires --lfs" + exit 2 +fi + +# Currently only git-lfs works from offsite: +if ! [[ $(hostname) == *.jlab.org ]]; then + echo "INFO: using --lfs for offsite usage" + useLfs=true +fi + src_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" &> /dev/null && pwd)" prefix_dir=$src_dir/coatjava clara_home=$src_dir/clara @@ -91,8 +109,13 @@ download () { if $useXrootd; then xrdcp $1 ./ ret=$? + elif $useLfs; then + cd $src_dir + git submodule update --init etc/data/magfield + if $downloadData; then git submodule update --init validation/advanced-tests/data; fi + cd - > /dev/null elif $useCvmfs; then - cp $1 ./ + cp -v $1 ./ ret=$? elif command_exists wget ; then $wget $1 @@ -116,6 +139,7 @@ magfield_dir=$src_dir/etc/data/magfield if [ $cleanBuild == "no" ] && [ $downloadMaps == "yes" ]; then echo 'Retrieving field maps ...' webDir=https://clasweb.jlab.org/clas12offline/magfield + if $useLfs; then webDir=${magfield_dir##$src_dir}; fi if $useXrootd; then webDir=xroot://sci-xrootd.jlab.org//osgpool/hallb/clas12/coatjava/magfield; fi if $useCvmfs; then webDir=/cvmfs/oasis.opensciencegrid.org/jlab/hallb/clas12/sw/noarch/data/magfield; fi mkdir -p $magfield_dir diff --git a/common-tools/clara-io/pom.xml b/common-tools/clara-io/pom.xml index bb3ebb8630..26e476f6c1 100644 --- a/common-tools/clara-io/pom.xml +++ b/common-tools/clara-io/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas clara-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas common-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -44,25 +44,25 @@ org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-analysis - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/common-tools/clas-analysis/pom.xml b/common-tools/clas-analysis/pom.xml index 8e6c9433ed..e4afd3eae3 100644 --- a/common-tools/clas-analysis/pom.xml +++ b/common-tools/clas-analysis/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas clas-analysis - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas common-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -38,55 +38,55 @@ org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-physics - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-jcsg - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-logging - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas swim-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/eventmerger/EventMerger.java b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/eventmerger/EventMerger.java index 7d9e62c623..7b64087430 100644 --- a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/eventmerger/EventMerger.java +++ b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/eventmerger/EventMerger.java @@ -15,7 +15,6 @@ import org.jlab.io.hipo.HipoDataSource; import org.jlab.io.hipo.HipoDataSync; import org.jlab.jnp.hipo4.data.SchemaFactory; -import org.jlab.logging.DefaultLogger; import org.jlab.utils.benchmark.ProgressPrintout; import org.jlab.utils.options.OptionParser; import org.jlab.utils.system.ClasUtilsFile; @@ -346,8 +345,6 @@ private boolean mergeEvents(DataEvent event, int scale) { public static void main(String[] args) { - DefaultLogger.debug(); - OptionParser parser = new OptionParser("bg-merger"); parser.addRequired("-o" ,"merged file"); parser.addRequired("-i" ,"signal event file"); @@ -418,4 +415,4 @@ public static void main(String[] args) { } -} \ No newline at end of file +} diff --git a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/eventmerger/RandomTriggerFilter.java b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/eventmerger/RandomTriggerFilter.java index c2b4073b19..e7465408cb 100644 --- a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/eventmerger/RandomTriggerFilter.java +++ b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/eventmerger/RandomTriggerFilter.java @@ -6,7 +6,6 @@ import org.jlab.jnp.hipo4.io.HipoReader; import org.jlab.jnp.hipo4.io.HipoWriterSorted; import org.jlab.jnp.utils.json.JsonObject; -import org.jlab.logging.DefaultLogger; import org.jlab.utils.benchmark.ProgressPrintout; import org.jlab.utils.options.OptionParser; import org.jlab.utils.system.ClasUtilsFile; @@ -141,8 +140,6 @@ public static long readTriggerMask(String mask) { public static void main(String[] args){ - DefaultLogger.debug(); - OptionParser parser = new OptionParser("trigger-filter"); parser.addRequired("-o" ,"output file"); parser.addRequired("-b" ,"trigger bit mask (e.g. 0x0000008000000000 to select the FC trigger"); diff --git a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/eventmerger/RandomTriggerSplit.java b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/eventmerger/RandomTriggerSplit.java index 388120b731..56e700b242 100644 --- a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/eventmerger/RandomTriggerSplit.java +++ b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/eventmerger/RandomTriggerSplit.java @@ -3,7 +3,6 @@ import org.jlab.jnp.hipo4.data.*; import org.jlab.jnp.hipo4.io.HipoReader; import org.jlab.jnp.hipo4.io.HipoWriterSorted; -import org.jlab.logging.DefaultLogger; import org.jlab.utils.benchmark.ProgressPrintout; import org.jlab.utils.options.OptionParser; import org.jlab.utils.system.ClasUtilsFile; @@ -37,8 +36,6 @@ private HipoWriterSorted openOutputFile(String outputfile){ public static void main(String[] args){ - DefaultLogger.debug(); - OptionParser parser = new OptionParser("trigger-splitter"); parser.addOption("-o" ,"", "output file prefix"); parser.addOption("-n" ,"-1", "maximum number of events to process"); diff --git a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/physics/TestEvent.java b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/physics/TestEvent.java index de2a465184..88551876b5 100644 --- a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/physics/TestEvent.java +++ b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/physics/TestEvent.java @@ -21,13 +21,20 @@ public static void main(String args[]) { } public static HipoDataEvent get(DetectorType t) { + SchemaFactory sf = new SchemaFactory(); + sf.initFromDirectory(CLASResources.getResourcePath("etc/bankdefs/hipo4")); + HipoReader reader = new HipoReader(); String dir = CLASResources.getResourcePath("etc/data/test"); String stub = t.getName().toLowerCase(); reader.open(String.format("%s/%s.hipo",dir,stub)); + Event e = new Event(); reader.getEvent(e, 0); - return new HipoDataEvent(e,reader.getSchemaFactory()); + if(t==DetectorType.DC) + return getDCSector1ElectronEvent(e); + else + return new HipoDataEvent(e,sf); } private static void write() { @@ -47,15 +54,21 @@ private static void write(String path, Event e) { } } - public static HipoDataEvent getDCSector1ElectronEvent(int event) { - HipoReader reader = new HipoReader(); - reader.open(CLASResources.getResourcePath("etc/data/test/dc.hipo")); - Event e = new Event(); - reader.getEvent(e, event); - return new HipoDataEvent(e,reader.getSchemaFactory()); + public static HipoDataEvent getDCSector1ElectronEvent(Event e) { + SchemaFactory sf = new SchemaFactory(); + sf.initFromDirectory(CLASResources.getResourcePath("etc/bankdefs/hipo4")); + + Bank mcPart = new Bank(sf.getSchema("MC::Particle")); + e.read(mcPart); + Bank recEvent = new Bank(sf.getSchema("RECHB::Event"), 1); + recEvent.putFloat("startTime", 0, mcPart.getByte("vt", 0)); + e.write(recEvent); + + return new HipoDataEvent(e,sf); } - - public static HipoDataEvent getDCSector1ElectronEvent(SchemaFactory schemaFactory) { + + @Deprecated + public static HipoDataEvent getDCSector1ElectronEvent(SchemaFactory schemaFactory) { Event testEvent = new Event(); // this event is based on a gemc event with diff --git a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/Processor.java b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/Processor.java index 91e53d2e45..f5f4ca1cee 100644 --- a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/Processor.java +++ b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/Processor.java @@ -8,7 +8,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.jlab.logging.DefaultLogger; import org.jlab.jnp.hipo4.data.Bank; import org.jlab.jnp.hipo4.data.Event; @@ -223,7 +222,6 @@ private static void replace(Map files) { } public static void main(String args[]) { - DefaultLogger.debug(); Processor p = new Processor(System.getenv("HOME")+"/tmp","r*.hipo",false,false); } diff --git a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/Tag1ToEvent.java b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/Tag1ToEvent.java index 5ac8763c65..eb93cc67d6 100644 --- a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/Tag1ToEvent.java +++ b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/postprocess/Tag1ToEvent.java @@ -36,13 +36,12 @@ public class Tag1ToEvent { public static void main(String[] args) { OptionParser parser = new OptionParser("postprocess"); - parser.useExternalLogger(); // necessary, since we have `LOGGER` here parser.addOption("-q","0","do beam charge and livetime (0/1=false/true)"); parser.addOption("-d","0","do delayed helicity (0/1=false/true)"); parser.addOption("-f","0","rebuild the HEL::flip banks (0/1=false/true)"); parser.addRequired("-o","output.hipo"); parser.parse(args); - SplitLogger.configureLevel(LOGGER, parser.getLogLevel()); + parser.syncLogLevel(LOGGER); if (parser.getInputList().isEmpty()) { parser.printUsage(); LOGGER.severe("No input file(s) specified."); diff --git a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/roads/DictionaryCreator.java b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/roads/DictionaryCreator.java index 0f5a25e052..f34b219b29 100644 --- a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/roads/DictionaryCreator.java +++ b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/roads/DictionaryCreator.java @@ -7,7 +7,6 @@ import java.util.List; import org.jlab.io.base.DataEvent; import org.jlab.io.hipo.HipoDataSource; -import org.jlab.logging.DefaultLogger; import org.jlab.utils.benchmark.ProgressPrintout; import org.jlab.utils.options.OptionParser; @@ -69,8 +68,6 @@ public void createDictionary(String inputFileName, String dictName, int maxEvent public static void main(String[] args) { - - DefaultLogger.debug(); OptionParser parser = new OptionParser("dict-maker"); parser.setRequiresInputList(false); @@ -130,4 +127,4 @@ public static void main(String[] args) { } -} \ No newline at end of file +} diff --git a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/roads/DictionaryGenerator.java b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/roads/DictionaryGenerator.java index 4f3c158539..d2ea228f20 100644 --- a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/roads/DictionaryGenerator.java +++ b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/roads/DictionaryGenerator.java @@ -24,7 +24,6 @@ import org.jlab.geom.prim.Path3D; import org.jlab.geom.prim.Point3D; import org.jlab.geometry.prim.Line3d; -import org.jlab.logging.DefaultLogger; import org.jlab.utils.benchmark.ProgressPrintout; import org.jlab.utils.options.OptionParser; @@ -339,8 +338,6 @@ private int swimtoLayer(int sector, int l, int sl, Swim sw) { public static void main(String[] args) { - DefaultLogger.debug(); - OptionParser parser = new OptionParser("dict-generator"); parser.setRequiresInputList(false); parser.addRequired("-torus", "torus scale"); diff --git a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/roads/DictionaryMerger.java b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/roads/DictionaryMerger.java index d7aeb8f276..f15378ff63 100644 --- a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/roads/DictionaryMerger.java +++ b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/roads/DictionaryMerger.java @@ -7,7 +7,6 @@ import java.io.FileWriter; import java.io.IOException; import java.util.List; -import org.jlab.logging.DefaultLogger; import org.jlab.utils.benchmark.ProgressPrintout; import org.jlab.utils.options.OptionParser; @@ -30,8 +29,6 @@ public boolean init() { public static void main(String[] args) { - - DefaultLogger.debug(); OptionParser parser = new OptionParser("dict-merger"); parser.addOption("-o","output.txt", "output dictionary file"); @@ -104,4 +101,4 @@ public static void main(String[] args) { } -} \ No newline at end of file +} diff --git a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/roads/DictionaryValidator.java b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/roads/DictionaryValidator.java index 98a5c8a82f..880fb2964f 100644 --- a/common-tools/clas-analysis/src/main/java/org/jlab/analysis/roads/DictionaryValidator.java +++ b/common-tools/clas-analysis/src/main/java/org/jlab/analysis/roads/DictionaryValidator.java @@ -16,7 +16,6 @@ import org.jlab.groot.group.DataGroup; import org.jlab.io.base.DataEvent; import org.jlab.io.hipo.HipoDataSource; -import org.jlab.logging.DefaultLogger; import org.jlab.utils.benchmark.ProgressPrintout; import org.jlab.utils.options.OptionParser; @@ -303,8 +302,6 @@ public void processFile(String fileName, int wireBin, int pcalBin, int sectorDep public static void main(String[] args) { - - DefaultLogger.debug(); OptionParser parser = new OptionParser("dict-validator"); parser.setRequiresInputList(false); @@ -401,4 +398,4 @@ public static void main(String[] args) { } -} \ No newline at end of file +} diff --git a/common-tools/clas-decay-tools/pom.xml b/common-tools/clas-decay-tools/pom.xml index c638444283..557ffe9ec2 100644 --- a/common-tools/clas-decay-tools/pom.xml +++ b/common-tools/clas-decay-tools/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas clas-decay-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas common-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -21,59 +21,54 @@ org.jlab.clas swim-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar cnuphys swimmer - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT cnuphys magfield - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-vtx - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas clas-reco - 13.4.0-SNAPSHOT - - - org.jlab.clas - clas-logging - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-physics - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/common-tools/clas-decay-tools/src/main/java/org/jlab/clas/decay/analysis/AnalysisEngine.java b/common-tools/clas-decay-tools/src/main/java/org/jlab/clas/decay/analysis/AnalysisEngine.java index f49b5a1fc7..d357268c73 100644 --- a/common-tools/clas-decay-tools/src/main/java/org/jlab/clas/decay/analysis/AnalysisEngine.java +++ b/common-tools/clas-decay-tools/src/main/java/org/jlab/clas/decay/analysis/AnalysisEngine.java @@ -5,7 +5,6 @@ package org.jlab.clas.decay.analysis; import org.jlab.clas.swimtools.MagFieldsEngine; -import org.jlab.logging.DefaultLogger; /** * @@ -20,8 +19,6 @@ public AnalysisEngine() { public static void main(String[] args) { - DefaultLogger.debug(); - MagFieldsEngine enf = new MagFieldsEngine(); enf.init(); diff --git a/common-tools/clas-detector/pom.xml b/common-tools/clas-detector/pom.xml index fe2478525b..634547dd45 100644 --- a/common-tools/clas-detector/pom.xml +++ b/common-tools/clas-detector/pom.xml @@ -4,20 +4,20 @@ org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas common-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -43,19 +43,19 @@ org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-logging - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/common-tools/clas-detector/src/main/java/org/jlab/detector/decode/CLASDecoder4.java b/common-tools/clas-detector/src/main/java/org/jlab/detector/decode/CLASDecoder4.java index 5821f8df29..799b260188 100644 --- a/common-tools/clas-detector/src/main/java/org/jlab/detector/decode/CLASDecoder4.java +++ b/common-tools/clas-detector/src/main/java/org/jlab/detector/decode/CLASDecoder4.java @@ -17,8 +17,6 @@ import org.jlab.detector.helicity.HelicityState; import org.jlab.detector.pulse.ModeAHDC; -import org.jlab.logging.DefaultLogger; - import org.jlab.io.base.DataEvent; import org.jlab.io.evio.EvioDataEvent; import org.jlab.io.evio.EvioSource; @@ -59,7 +57,6 @@ public CLASDecoder4(boolean development){ hipoEvent = (HipoDataEvent) writer.createEvent(); String dir = ClasUtilsFile.getResourceDir("CLAS12DIR", "etc/bankdefs/hipo4"); schemaFactory.initFromDirectory(dir); - DefaultLogger.debug(); } public CLASDecoder4(){ @@ -69,7 +66,6 @@ public CLASDecoder4(){ hipoEvent = (HipoDataEvent) writer.createEvent(); String dir = ClasUtilsFile.getResourceDir("CLAS12DIR", "etc/bankdefs/hipo4"); schemaFactory.initFromDirectory(dir); - DefaultLogger.debug(); } public SchemaFactory getSchemaFactory(){ diff --git a/common-tools/clas-detector/src/main/java/org/jlab/detector/examples/RawEventViewer.java b/common-tools/clas-detector/src/main/java/org/jlab/detector/examples/RawEventViewer.java index e3e02903cd..acddb64458 100644 --- a/common-tools/clas-detector/src/main/java/org/jlab/detector/examples/RawEventViewer.java +++ b/common-tools/clas-detector/src/main/java/org/jlab/detector/examples/RawEventViewer.java @@ -20,7 +20,6 @@ import org.jlab.io.evio.EvioDataEvent; import org.jlab.io.task.DataSourceProcessorPane; import org.jlab.io.task.IDataEventListener; -import org.jlab.logging.DefaultLogger; /** * @@ -174,7 +173,6 @@ public void processShape(DetectorShape2D shape) { } public static void main(String[] args){ - DefaultLogger.debug(); JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); RawEventViewer viewer = new RawEventViewer(); diff --git a/common-tools/clas-detector/src/main/java/org/jlab/detector/scalers/DaqScalers.java b/common-tools/clas-detector/src/main/java/org/jlab/detector/scalers/DaqScalers.java index 108458acbc..57262c6a27 100644 --- a/common-tools/clas-detector/src/main/java/org/jlab/detector/scalers/DaqScalers.java +++ b/common-tools/clas-detector/src/main/java/org/jlab/detector/scalers/DaqScalers.java @@ -9,6 +9,8 @@ import org.jlab.jnp.hipo4.data.Event; import org.jlab.jnp.hipo4.data.SchemaFactory; import org.jlab.utils.groups.IndexedTable; +import java.util.logging.Logger; +import org.jlab.logging.SplitLogger; /** * @@ -51,6 +53,8 @@ public class DaqScalers { private long timestamp=0; private int evnum=0; + private static final Logger logger = SplitLogger.create(DaqScalers.class.getName()); + public DaqScalers setTimestamp(long timestamp) { this.timestamp=timestamp; return this; @@ -95,11 +99,13 @@ public static double getSeconds(Date rst,Date uet) { public static DaqScalers create(Bank runScalerBank) { DaqScalers ds=new DaqScalers(); ds.dsc2=new Dsc2Scaler(); - for (int ii=0; ii 0) { + ds.dsc2.setLivetime(runScalerBank.getFloat("livetime", 0)); + ds.dsc2.setBeamCharge(runScalerBank.getFloat("fcup",0)); + ds.dsc2.setBeamChargeGated(runScalerBank.getFloat("fcupgated",0)); + } + if (runScalerBank.getRows() > 1) { + logger.warning("found event where RUN::scaler bank has more than 1 row"); } return ds; } diff --git a/common-tools/clas-detector/src/main/java/org/jlab/detector/swaps/SwapManager.java b/common-tools/clas-detector/src/main/java/org/jlab/detector/swaps/SwapManager.java index 96a5c82c7e..f8acf56675 100644 --- a/common-tools/clas-detector/src/main/java/org/jlab/detector/swaps/SwapManager.java +++ b/common-tools/clas-detector/src/main/java/org/jlab/detector/swaps/SwapManager.java @@ -10,7 +10,6 @@ import org.jlab.io.base.DataBank; import org.jlab.io.base.DataEvent; import org.jlab.jnp.hipo4.data.SchemaFactory; -import org.jlab.logging.DefaultLogger; import org.jlab.utils.groups.IndexedTable; /** @@ -267,8 +266,6 @@ private void initDetectors(List detectorNames) { public static void main(String[] args) { - DefaultLogger.debug(); - SwapManager man1 = new SwapManager(Arrays.asList("DC"),"08/10/2020","10/13/2024"); System.err.println(man1.banksToTables.get("DC::tot")); diff --git a/common-tools/clas-geometry/pom.xml b/common-tools/clas-geometry/pom.xml index b34f2b4035..c1a36dc594 100644 --- a/common-tools/clas-geometry/pom.xml +++ b/common-tools/clas-geometry/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas common-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/common-tools/clas-io/pom.xml b/common-tools/clas-io/pom.xml index 9c6ba04f01..a4f6fadaa1 100644 --- a/common-tools/clas-io/pom.xml +++ b/common-tools/clas-io/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas common-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -50,13 +50,13 @@ org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-logging - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT compile diff --git a/common-tools/clas-io/src/main/java/org/jlab/io/utils/EvioCure.java b/common-tools/clas-io/src/main/java/org/jlab/io/utils/EvioCure.java index d62a828cb7..5f5f902cb2 100644 --- a/common-tools/clas-io/src/main/java/org/jlab/io/utils/EvioCure.java +++ b/common-tools/clas-io/src/main/java/org/jlab/io/utils/EvioCure.java @@ -7,7 +7,7 @@ import org.jlab.coda.jevio.EventWriter; import org.jlab.coda.jevio.EvioException; import org.jlab.coda.jevio.EvioReader; -import org.jlab.logging.DefaultLogger; +import org.jlab.logging.SplitLogger; /** * @@ -15,10 +15,9 @@ */ public class EvioCure { - private static final Logger LOGGER = Logger.getLogger(EvioCure.class.getName()); + private static final Logger LOGGER = SplitLogger.create(EvioCure.class.getName()); public static void main(String[] args) { - DefaultLogger.debug(); String inputFile = args[0]; String outputFile = args[1]; diff --git a/common-tools/clas-jcsg/pom.xml b/common-tools/clas-jcsg/pom.xml index 41db98b7f2..70baa827b5 100644 --- a/common-tools/clas-jcsg/pom.xml +++ b/common-tools/clas-jcsg/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas clas-jcsg - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas common-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -32,17 +32,17 @@ org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT java3d diff --git a/common-tools/clas-logging/pom.xml b/common-tools/clas-logging/pom.xml index c301922eca..9b654e4d22 100644 --- a/common-tools/clas-logging/pom.xml +++ b/common-tools/clas-logging/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas clas-logging - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas common-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/common-tools/clas-logging/src/main/java/org/jlab/logging/DefaultLogger.java b/common-tools/clas-logging/src/main/java/org/jlab/logging/DefaultLogger.java deleted file mode 100644 index e3ae831470..0000000000 --- a/common-tools/clas-logging/src/main/java/org/jlab/logging/DefaultLogger.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.jlab.logging; - -import java.io.IOException; -import java.io.InputStream; -import java.util.logging.Level; -import java.util.logging.LogManager; -import java.util.logging.Logger; - -/** - * Read a logging configuration and load it into the global log manager. - * - * @author Nick Tyler, UofSC - * - * Modified from hps-java logging - * @author Jeremy McCormick, SLAC - */ -public class DefaultLogger { - - private static void init(String resource) { - // if already set, don't override - if (System.getProperty("java.util.logging.config.file") == null) { - InputStream inputStream = DefaultLogger.class.getResourceAsStream(resource); - try { - LogManager.getLogManager().readConfiguration(inputStream); - Logger.getLogger(DefaultLogger.class.getName()).log(Level.INFO, "Reading logging properties from org/jlab/logging/{0}", resource); - } catch (SecurityException | IOException e) { - throw new RuntimeException("Initialization of default logging configuration failed.", e); - } - } - } - - private static void init(Level level){ - init(level.toString().toLowerCase()+".properties"); - } - - public static void initialize() { - init(Level.FINE); - } - - public static void initialize(Level level) { - init(level); - } - - public static void debug() { - init(Level.FINE); - } - - public static void silent() { - init("silent.properties"); - } - - public static void main(String[] args) { - DefaultLogger.initialize(); - Logger.getLogger(DefaultLogger.class.getName()).log(Level.INFO,"Info"); - Logger.getLogger(DefaultLogger.class.getName()).log(Level.WARNING,"Warning"); - Logger.getLogger(DefaultLogger.class.getName()).log(Level.SEVERE,"Severe"); - } -} diff --git a/common-tools/clas-logging/src/main/java/org/jlab/logging/SplitLogger.java b/common-tools/clas-logging/src/main/java/org/jlab/logging/SplitLogger.java index a41a29417b..51492b29c3 100644 --- a/common-tools/clas-logging/src/main/java/org/jlab/logging/SplitLogger.java +++ b/common-tools/clas-logging/src/main/java/org/jlab/logging/SplitLogger.java @@ -81,8 +81,19 @@ public synchronized void publish(java.util.logging.LogRecord record) { logger.addHandler(errorHandler); // set the log level, since the handlers need to know it too - Level thisLevel = logger.getLevel(); - if(thisLevel==null) { // caller did not set log level, use parent + Level thisLevel = null; + // if a system property named '.level' is set, use that + String userLevelProperty = System.getProperty(logger.getName() + ".level"); + if(userLevelProperty != null) + thisLevel = Level.parse(userLevelProperty); + // else if the `SplitLoggerConfig` default level was set, use that level + else if(SplitLoggerConfig.INSTANCE.defaultLevelWasSet()) + thisLevel = SplitLoggerConfig.INSTANCE.getDefaultLevel(); + // else fallback to the level of `logger` itself + else + thisLevel = logger.getLevel(); + // if all else fails, try to use the parent's level + if(thisLevel==null) { thisLevel = logger.getParent().getLevel(); if(thisLevel==null) { // should never happen, but just in case, fall back to default and complain directly to `stderr` thisLevel = Level.INFO; diff --git a/common-tools/clas-logging/src/main/java/org/jlab/logging/SplitLoggerConfig.java b/common-tools/clas-logging/src/main/java/org/jlab/logging/SplitLoggerConfig.java new file mode 100644 index 0000000000..515b3a9a21 --- /dev/null +++ b/common-tools/clas-logging/src/main/java/org/jlab/logging/SplitLoggerConfig.java @@ -0,0 +1,36 @@ +package org.jlab.logging; + +import java.util.logging.Level; + +/** Configuration singleton for {@code SplitLogger} */ +public enum SplitLoggerConfig { + + /** singleton instance */ + INSTANCE; + + private volatile Level defaultLevel = Level.INFO; + private volatile boolean calledSetDefaultLevel = false; + + /** + * Set the default {@code logging.Level} for all new {@code SplitLogger} instances. + * Note: see {@code SplitLogger} details to check if other ways to set logging levels will take priority over this. + * @param level the log level + */ + public synchronized void setDefaultLevel(Level level) { + this.defaultLevel = level; + this.calledSetDefaultLevel = true; + } + + /** @return the default {@code logging.Level} for all new {@code SplitLogger} instances. + * Note: see {@code SplitLogger} details to check if other ways to set logging levels will take priority over this. + */ + public Level getDefaultLevel() { + return this.defaultLevel; + } + + /** @return true if {@code setDefaultLevel} was called */ + public boolean defaultLevelWasSet() { + return this.calledSetDefaultLevel; + } + +} diff --git a/common-tools/clas-logging/src/main/resources/org/jlab/logging/fine.properties b/common-tools/clas-logging/src/main/resources/org/jlab/logging/fine.properties deleted file mode 100644 index 533518ce90..0000000000 --- a/common-tools/clas-logging/src/main/resources/org/jlab/logging/fine.properties +++ /dev/null @@ -1,29 +0,0 @@ -# -# Global logging configuration for clas -# Nick Tyler, UofSC -# -# Modified from hps-java logging -# Jeremy McCormick, SLAC -# - -# default global level -.level = FINE - -# default handler which prints to console -handlers = java.util.logging.ConsoleHandler - -# Old detailed format -# prints timestamp (1$), level (4$), source ($2), message (5$), and (optionally) an exception (6$). -#java.util.logging.SimpleFormatter.format = %1$tY-%1$tm-%1$td %1$tT [%4$s] %2$s :: %5$s%6$s%n - -# New simplified format -# MESSAGE -java.util.logging.SimpleFormatter.format = %5$s%6$s%n - -# configure the console handler -java.util.logging.ConsoleHandler.level = ALL -java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter - - - - diff --git a/common-tools/clas-logging/src/main/resources/org/jlab/logging/finer.properties b/common-tools/clas-logging/src/main/resources/org/jlab/logging/finer.properties deleted file mode 100644 index 6b4ae22e3c..0000000000 --- a/common-tools/clas-logging/src/main/resources/org/jlab/logging/finer.properties +++ /dev/null @@ -1,29 +0,0 @@ -# -# Global logging configuration for clas -# Nick Tyler, UofSC -# -# Modified from hps-java logging -# Jeremy McCormick, SLAC -# - -# default global level -.level = FINER - -# default handler which prints to console -handlers = java.util.logging.ConsoleHandler - -# Old detailed format -# prints timestamp (1$), level (4$), source ($2), message (5$), and (optionally) an exception (6$). -#java.util.logging.SimpleFormatter.format = %1$tY-%1$tm-%1$td %1$tT [%4$s] %2$s :: %5$s%6$s%n - -# New simplified format -# MESSAGE -java.util.logging.SimpleFormatter.format = %5$s%6$s%n - -# configure the console handler -java.util.logging.ConsoleHandler.level = ALL -java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter - - - - diff --git a/common-tools/clas-logging/src/main/resources/org/jlab/logging/finest.properties b/common-tools/clas-logging/src/main/resources/org/jlab/logging/finest.properties deleted file mode 100644 index 42fe7a21c0..0000000000 --- a/common-tools/clas-logging/src/main/resources/org/jlab/logging/finest.properties +++ /dev/null @@ -1,29 +0,0 @@ -# -# Global logging configuration for clas -# Nick Tyler, UofSC -# -# Modified from hps-java logging -# Jeremy McCormick, SLAC -# - -# default global level -.level = FINEST - -# default handler which prints to console -handlers = java.util.logging.ConsoleHandler - -# Old detailed format -# prints timestamp (1$), level (4$), source ($2), message (5$), and (optionally) an exception (6$). -#java.util.logging.SimpleFormatter.format = %1$tY-%1$tm-%1$td %1$tT [%4$s] %2$s :: %5$s%6$s%n - -# New simplified format -# MESSAGE -java.util.logging.SimpleFormatter.format = %5$s%6$s%n - -# configure the console handler -java.util.logging.ConsoleHandler.level = ALL -java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter - - - - diff --git a/common-tools/clas-logging/src/main/resources/org/jlab/logging/info.properties b/common-tools/clas-logging/src/main/resources/org/jlab/logging/info.properties deleted file mode 100644 index 3f312f06ae..0000000000 --- a/common-tools/clas-logging/src/main/resources/org/jlab/logging/info.properties +++ /dev/null @@ -1,29 +0,0 @@ -# -# Global logging configuration for clas -# Nick Tyler, UofSC -# -# Modified from hps-java logging -# Jeremy McCormick, SLAC -# - -# default global level -.level = INFO - -# default handler which prints to console -handlers = java.util.logging.ConsoleHandler - -# Old detailed format -# prints timestamp (1$), level (4$), source ($2), message (5$), and (optionally) an exception (6$). -#java.util.logging.SimpleFormatter.format = %1$tY-%1$tm-%1$td %1$tT [%4$s] %2$s :: %5$s%6$s%n - -# New simplified format -# MESSAGE -java.util.logging.SimpleFormatter.format = %5$s%6$s%n - -# configure the console handler -java.util.logging.ConsoleHandler.level = ALL -java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter - - - - diff --git a/common-tools/clas-logging/src/main/resources/org/jlab/logging/silent.properties b/common-tools/clas-logging/src/main/resources/org/jlab/logging/silent.properties deleted file mode 100644 index 508704d952..0000000000 --- a/common-tools/clas-logging/src/main/resources/org/jlab/logging/silent.properties +++ /dev/null @@ -1,51 +0,0 @@ -# -# Global logging configuration for clas -# Nick Tyler, UofSC -# -# Modified from hps-java logging -# Jeremy McCormick, SLAC -# - -# default global level -.level = WARNING - -# default handler which prints to console -handlers = java.util.logging.ConsoleHandler - -# Old detailed format -# prints timestamp (1$), level (4$), source ($2), message (5$), and (optionally) an exception (6$). -#java.util.logging.SimpleFormatter.format = %1$tY-%1$tm-%1$td %1$tT [%4$s] %2$s :: %5$s%6$s%n - -# New simplified format -# [LEVEL][LOGGER] MESSAGE -java.util.logging.SimpleFormatter.format = %1$tT [%4$s] %5$s%6$s%n - -# configure the console handler -java.util.logging.ConsoleHandler.level = ALL -java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter - -# turn minuit logging off -org.freehep.math.minuit.level = OFF - -# calibration logging -org.jlab.detector.calib.level = OFF - -# Reconstruction level -org.jlab.clas.reco.level = OFF - -# Hipo io level -org.jlab.io.hipo = OFF - -# Magnetic Field level -cnuphys.magfield.level = OFF - -# Log level for each service -org.jlab.service.ec.level = OFF -org.jlab.service.eb.level = OFF -org.jlab.rec.cvt.services.level = OFF -org.jlab.service.htcc.level = OFF -org.jlab.rec.dc.level = OFF - - - - diff --git a/common-tools/clas-logging/src/main/resources/org/jlab/logging/warning.properties b/common-tools/clas-logging/src/main/resources/org/jlab/logging/warning.properties deleted file mode 100644 index 2254d698cd..0000000000 --- a/common-tools/clas-logging/src/main/resources/org/jlab/logging/warning.properties +++ /dev/null @@ -1,29 +0,0 @@ -# -# Global logging configuration for clas -# Nick Tyler, UofSC -# -# Modified from hps-java logging -# Jeremy McCormick, SLAC -# - -# default global level -.level = WARNING - -# default handler which prints to console -handlers = java.util.logging.ConsoleHandler - -# Old detailed format -# prints timestamp (1$), level (4$), source ($2), message (5$), and (optionally) an exception (6$). -#java.util.logging.SimpleFormatter.format = %1$tY-%1$tm-%1$td %1$tT [%4$s] %2$s :: %5$s%6$s%n - -# New simplified format -# MESSAGE -java.util.logging.SimpleFormatter.format = %5$s%6$s%n - -# configure the console handler -java.util.logging.ConsoleHandler.level = ALL -java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter - - - - diff --git a/common-tools/clas-math/pom.xml b/common-tools/clas-math/pom.xml index 920327b64e..0aa9bc60c1 100644 --- a/common-tools/clas-math/pom.xml +++ b/common-tools/clas-math/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas clas-math - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas common-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/common-tools/clas-physics/pom.xml b/common-tools/clas-physics/pom.xml index db348121ea..62e7806ffe 100644 --- a/common-tools/clas-physics/pom.xml +++ b/common-tools/clas-physics/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas clas-physics - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas common-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/common-tools/clas-reco/pom.xml b/common-tools/clas-reco/pom.xml index 027e9e95a1..af09f0d37c 100644 --- a/common-tools/clas-reco/pom.xml +++ b/common-tools/clas-reco/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas common-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -45,43 +45,49 @@ cnuphys magfield - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT cnuphys swimmer - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-physics - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT + + + + org.jlab.clas + clas-logging + 13.4.1-SNAPSHOT diff --git a/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/EngineProcessor.java b/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/EngineProcessor.java index 71c9a8d1ea..0e9d61551f 100644 --- a/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/EngineProcessor.java +++ b/common-tools/clas-reco/src/main/java/org/jlab/clas/reco/EngineProcessor.java @@ -17,7 +17,7 @@ import java.util.Arrays; import org.jlab.jnp.hipo4.data.SchemaFactory; import org.json.JSONObject; -import org.jlab.logging.DefaultLogger; +import org.jlab.logging.SplitLogger; import org.jlab.utils.ClaraYaml; /** @@ -30,7 +30,7 @@ public class EngineProcessor { public static final String ENGINE_CLASS_PP = "org.jlab.service.postproc.PostprocEngine"; private final Map processorEngines = new LinkedHashMap<>(); - private static final Logger LOGGER = Logger.getLogger(EngineProcessor.class.getPackage().getName()); + private static final Logger LOGGER = SplitLogger.create(EngineProcessor.class.getPackage().getName()); private boolean updateDictionary = true; private SchemaFactory banksToKeep = null; private final List schemaExempt = Arrays.asList("RUN::config","DC::tdc"); @@ -365,6 +365,7 @@ public static void main(String[] args){ parser.addOption("-H","0","restream helicity"); parser.parse(args); + parser.syncLogLevel(LOGGER); List services = parser.getInputList(); diff --git a/common-tools/clas-tracking/pom.xml b/common-tools/clas-tracking/pom.xml index 5bc3eafe6c..4fe9b5befc 100644 --- a/common-tools/clas-tracking/pom.xml +++ b/common-tools/clas-tracking/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas clas-tracking - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas common-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -33,23 +33,23 @@ org.jlab.clas swim-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-physics - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/common-tools/clas-utils/pom.xml b/common-tools/clas-utils/pom.xml index 400129c17e..078aca5183 100644 --- a/common-tools/clas-utils/pom.xml +++ b/common-tools/clas-utils/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas common-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -22,7 +22,7 @@ org.jlab.clas clas-logging - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/Benchmark.java b/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/Benchmark.java index dddbfaf69c..011a9d81d5 100644 --- a/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/Benchmark.java +++ b/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/Benchmark.java @@ -1,18 +1,11 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ - package org.jlab.utils.benchmark; -import java.util.ArrayList; import java.util.Arrays; -import java.util.HashMap; +import java.util.Collection; +import java.util.LinkedHashMap; import java.util.Map; import java.util.Timer; import java.util.TimerTask; -import java.util.TreeMap; /** * @@ -20,136 +13,99 @@ */ public class Benchmark { - private static Benchmark benchmarkInstance = new Benchmark(); - - private final Map timerStore = new HashMap(); + private static final Benchmark benchmarkInstance = new Benchmark(); + private final Map timerStore = new LinkedHashMap<>(); private Timer updateTimer = null; + + public Benchmark(){} - - public Benchmark(){ - + public static Benchmark getInstance(){ + return benchmarkInstance; } - public void printTimer(int interval){ - TimerTask timerTask = new TimerTask() - { - public void run() - { - //what to do at each excecution - System.out.println(benchmarkStringValue()); - } - }; + public void printTimer(int seconds){ + TimerTask timerTask = new TimerTask() { + @Override + public void run() { System.out.println(getInstance()); } + }; updateTimer = new Timer("Benchmark"); - updateTimer.scheduleAtFixedRate(timerTask, 0, interval); + updateTimer.scheduleAtFixedRate(timerTask, 0, 1000*seconds); } - public void reset(){ - for(Map.Entry entry : this.timerStore.entrySet()){ - entry.getValue().reset(); - } - } - - public static Benchmark getInstance(){ - return benchmarkInstance; + for (BenchmarkTimer bt : timerStore.values()) + bt.reset(); } public void addTimer(String name){ - if(timerStore.containsKey(name)==true){ - System.err.println("[Benchmark] -----> error. timer with name (" - + name + ") already exists"); - } else { - BenchmarkTimer timer = new BenchmarkTimer(name); - timerStore.put(timer.getName(), timer); - } + if (!timerStore.containsKey(name)) + timerStore.put(name, new BenchmarkTimer(name)); + else + System.err.println("[Benchmark] -----> error. timer with name ("+ name + ") already exists"); } public void pause(String name){ - if(timerStore.containsKey(name)==false){ - addTimer(name); - } else { + if (!timerStore.containsKey(name)) + timerStore.put(name, new BenchmarkTimer(name)); + else timerStore.get(name).pause(); - } } public void resume(String name){ - if(timerStore.containsKey(name)==false){ - //System.err.println("[Benchmark] -----> error. no timer defined with name (" - //+ name + ")"); - addTimer(name); - timerStore.get(name).resume(); - } else { - timerStore.get(name).resume(); - } + if (!timerStore.containsKey(name)) + timerStore.put(name, new BenchmarkTimer(name)); + timerStore.get(name).resume(); } - public BenchmarkTimer getTimer(String name){ - if(timerStore.containsKey(name)==true){ - return timerStore.get(name); - } - return null; + public BenchmarkTimer getTimer(String name){ + return timerStore.getOrDefault(name, null); } - - - public String benchmarkStringValue(){ - StringBuilder str = new StringBuilder(); - ArrayList timerStrings = new ArrayList(); - for(Map.Entry timer : timerStore.entrySet()){ - timerStrings.add(timer.getValue().toString()); - //str.append(timer.getValue().toString()); - //str.append("\n"); - } - - if(timerStrings.size()>0){ - int len = timerStrings.get(0).length(); - char[] asterix = new char[len+8]; - Arrays.fill(asterix,'*'); - String margins = new String(asterix); - str.append(margins); - str.append("\n"); - str.append("* BENCHMARK RESULTS \n"); - str.append(margins); - str.append("\n"); - for(String lines : timerStrings){ - str.append("* "); - str.append(lines); - str.append(" *\n"); - } - str.append(margins); - str.append("\n"); - } - - return str.toString(); + + public BenchmarkTimer getTotal(String name) { + BenchmarkTimer total = new BenchmarkTimer(name); + for (BenchmarkTimer b : timerStore.values()) + total.add(b); + return total; } + @Override public String toString(){ - StringBuilder str = new StringBuilder(); - ArrayList timerStrings = new ArrayList(); - for(Map.Entry timer : timerStore.entrySet()){ - timerStrings.add(timer.getValue().toString()); - //str.append(timer.getValue().toString()); - //str.append("\n"); - } - - if(timerStrings.size()>0){ - int len = timerStrings.get(0).length(); - char[] asterix = new char[len+8]; + StringBuilder s = new StringBuilder(); + Collection timers = timerStore.values(); + if (!timers.isEmpty()) { + int len = timers.iterator().next().toString().length(); + char[] asterix = new char[len+8]; Arrays.fill(asterix,'*'); String margins = new String(asterix); - str.append(margins); - str.append("\n"); - str.append("* BENCHMARK RESULTS \n"); - str.append(margins); - str.append("\n"); - for(String lines : timerStrings){ - str.append("* "); - str.append(lines); - str.append(" *\n"); + s.append(margins); + s.append("\n"); + s.append("* BENCHMARK RESULTS \n"); + s.append(margins); + s.append("\n"); + for (BenchmarkTimer b : timers) { + s.append("* "); + s.append(b); + s.append(" *\n"); } - str.append(margins); - str.append("\n"); + s.append("* "); + s.append(getTotal("")); + s.append(" *\n"); + s.append(margins); + s.append("\n"); + } + return s.toString(); + } + + public static void main(String[] args){ + Benchmark b = getInstance(); + b.printTimer(10); + int loop = 0; + while(true){ + b.resume("COUNT"); + loop++; + b.pause("COUNT"); + try { Thread.sleep(2000); } + catch (InterruptedException ex) {} } - - return str.toString(); } } diff --git a/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/BenchmarkTimer.java b/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/BenchmarkTimer.java index 74c712d008..0f824ea6ba 100644 --- a/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/BenchmarkTimer.java +++ b/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/BenchmarkTimer.java @@ -1,9 +1,3 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ - package org.jlab.utils.benchmark; /** @@ -13,16 +7,12 @@ public class BenchmarkTimer { private String timerName = "generic"; - - private long lastStartTime = 0; private long totalTime = 0; private long timeAtResume = 0; private int numberOfCalls = 0; private Boolean isPaused = true; - public BenchmarkTimer(){ - - } + public BenchmarkTimer(){} public BenchmarkTimer(String name){ timerName = name; @@ -47,9 +37,13 @@ public void pause(){ isPaused = true; } } - + + public void add(BenchmarkTimer b) { + totalTime += b.totalTime; + numberOfCalls += b.numberOfCalls; + } + public void reset(){ - lastStartTime = 0; totalTime = 0; timeAtResume = 0; numberOfCalls = 0; diff --git a/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/ProgressPrintout.java b/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/ProgressPrintout.java index 0ceef4269c..2737572550 100644 --- a/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/ProgressPrintout.java +++ b/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/ProgressPrintout.java @@ -1,11 +1,5 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package org.jlab.utils.benchmark; -import java.util.Map; import java.util.Set; import java.util.TreeMap; import java.util.logging.Level; @@ -17,12 +11,9 @@ */ public class ProgressPrintout { - private TreeMap items = new TreeMap(); - private TreeMap itemMax = new TreeMap(); - - private Long previousPrintoutTime = (long) 0; - private Long startPrintoutTime = (long) 0; - + private TreeMap items = new TreeMap<>(); + private Long previousPrintoutTime = (long) 0; + private Long startPrintoutTime = (long) 0; private double printoutIntervalSeconds = 10.0; private String printoutLeadingString = ">>>>> progress : "; private Integer numberOfCalls = 0; @@ -83,12 +74,12 @@ public void setAsDouble(String name, Double value){ public String getItemString(String itemname){ StringBuilder str = new StringBuilder(); - if(this.items.get(itemname) instanceof Integer){ - str.append(String.format(" %s : %5d",itemname,(Integer)this.items.get(itemname))); + if(this.items.get(itemname) instanceof Integer integer){ + str.append(String.format(" %s : %5d",itemname, integer)); } - if(this.items.get(itemname) instanceof Double){ - str.append(String.format(" %s : %8.3f",itemname,(Double)this.items.get(itemname))); + if(this.items.get(itemname) instanceof Double aDouble){ + str.append(String.format(" %s : %8.3f",itemname, aDouble)); } return str.toString(); } @@ -103,7 +94,6 @@ public static void main(String[] args){ } catch (InterruptedException ex) { Logger.getLogger(ProgressPrintout.class.getName()).log(Level.SEVERE, null, ex); } - //System.out.println("cycle " + loop); progress.updateStatus(); } } diff --git a/common-tools/clas-utils/src/main/java/org/jlab/utils/options/OptionParser.java b/common-tools/clas-utils/src/main/java/org/jlab/utils/options/OptionParser.java index c8533f20e8..780e031317 100644 --- a/common-tools/clas-utils/src/main/java/org/jlab/utils/options/OptionParser.java +++ b/common-tools/clas-utils/src/main/java/org/jlab/utils/options/OptionParser.java @@ -8,8 +8,10 @@ import java.util.Properties; import java.util.Set; import java.util.TreeMap; +import java.util.logging.Logger; import java.util.logging.Level; -import org.jlab.logging.DefaultLogger; +import org.jlab.logging.SplitLogger; +import org.jlab.logging.SplitLoggerConfig; /** * @@ -25,8 +27,7 @@ public class OptionParser { private String program = "undefined"; private boolean requiresInputList = true; private String programDescription = ""; - private Level logLevel = Level.FINE; // default log level - private boolean usingExternalLogger = false; // if true, do not use `DefaultLogger` here + private Level logLevel = Level.INFO; // default log level public OptionParser(){ init(); @@ -191,8 +192,7 @@ else if(this.containsOptions(arguments,"-v","-version")==true){ private void setVerbosity(String level) { try { this.logLevel = Level.parse(level); - if (!usingExternalLogger) - DefaultLogger.initialize(this.logLevel); // do not do this if using SplitLogger externally, otherwise you get NO log printouts whatsoever + SplitLoggerConfig.INSTANCE.setDefaultLevel(this.logLevel); } catch (IllegalArgumentException e) { System.err.println("Invalid -l java.util.logging.Level: "+level); @@ -222,8 +222,23 @@ public Level getLogLevel() { return this.logLevel; } - public void useExternalLogger() { - this.usingExternalLogger = true; // FIXME: if we get rid of `DefaultLogger`, we can get rid of this kluge + /** + * Set the log level of a list of classes to your preferred level. + * Use this to override the user's choice of logging level for certain classes. + * @param level the log level + * @param classList string names of the classes + */ + public static void overrideLogLevel(String level, String... classList) { + for(var className : classList) + System.setProperty(className + ".level", level); + } + + /** + * Set the log level to be consistent with the level set by the user's {@code -l} option + * @param externalLogger an external {@code Logger} instance, typically one owned by the owner of this {@code OptionParser} instance + */ + public void syncLogLevel(Logger externalLogger) { + SplitLogger.configureLevel(externalLogger, this.logLevel); } public static void main(String[] args){ diff --git a/common-tools/cnuphys/magfield/pom.xml b/common-tools/cnuphys/magfield/pom.xml index 82ede3b27e..c91c69bd53 100644 --- a/common-tools/cnuphys/magfield/pom.xml +++ b/common-tools/cnuphys/magfield/pom.xml @@ -4,13 +4,13 @@ cnuphys magfield - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar cnuphys clas12 - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/common-tools/cnuphys/pom.xml b/common-tools/cnuphys/pom.xml index f0b697bbf1..9bcb5c3966 100644 --- a/common-tools/cnuphys/pom.xml +++ b/common-tools/cnuphys/pom.xml @@ -4,13 +4,13 @@ cnuphys clas12 - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT pom org.jlab.clas common-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/common-tools/cnuphys/snr/pom.xml b/common-tools/cnuphys/snr/pom.xml index 3af4da04ea..a89dfb7bcb 100644 --- a/common-tools/cnuphys/snr/pom.xml +++ b/common-tools/cnuphys/snr/pom.xml @@ -4,13 +4,13 @@ cnuphys snr - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar cnuphys clas12 - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/common-tools/cnuphys/splot/pom.xml b/common-tools/cnuphys/splot/pom.xml index 646b89b314..2b54e2828f 100644 --- a/common-tools/cnuphys/splot/pom.xml +++ b/common-tools/cnuphys/splot/pom.xml @@ -4,13 +4,13 @@ cnuphys splot - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar cnuphys clas12 - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/common-tools/cnuphys/swimmer/pom.xml b/common-tools/cnuphys/swimmer/pom.xml index 3bbbde17e8..d8e1edd592 100644 --- a/common-tools/cnuphys/swimmer/pom.xml +++ b/common-tools/cnuphys/swimmer/pom.xml @@ -4,26 +4,26 @@ cnuphys swimmer - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar cnuphys clas12 - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT cnuphys magfield - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT cnuphys splot - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/common-tools/coat-libs/pom.xml b/common-tools/coat-libs/pom.xml index 2b700f3101..337f3d20a5 100644 --- a/common-tools/coat-libs/pom.xml +++ b/common-tools/coat-libs/pom.xml @@ -4,13 +4,13 @@ org.jlab.coat coat-libs - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas common-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -66,85 +66,85 @@ org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clara-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-jcsg - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-analysis - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-math - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-physics - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas swim-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-tracking - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-decay-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT cnuphys snr - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/common-tools/pom.xml b/common-tools/pom.xml index 014b8f6560..7157834db7 100644 --- a/common-tools/pom.xml +++ b/common-tools/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas common-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT pom org.jlab.clas coatjava - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/common-tools/swim-tools/pom.xml b/common-tools/swim-tools/pom.xml index 543d01cfef..52b628fe23 100644 --- a/common-tools/swim-tools/pom.xml +++ b/common-tools/swim-tools/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas swim-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas common-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -21,37 +21,37 @@ org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT cnuphys magfield - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT cnuphys swimmer - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/etc/bankdefs/util/bankSplit.py b/etc/bankdefs/util/bankSplit.py index 801902b9ca..9340d248f5 100755 --- a/etc/bankdefs/util/bankSplit.py +++ b/etc/bankdefs/util/bankSplit.py @@ -116,6 +116,7 @@ def create(dirname, banklist): mon.extend(rgl) dst.extend(rgl) +create("tag1/", set(tag1)) create("dst/", set(dst)) create("dsthb/", set(dsthb)) create("calib/", set(calib)) diff --git a/etc/data/magfield b/etc/data/magfield new file mode 160000 index 0000000000..a0e899ea96 --- /dev/null +++ b/etc/data/magfield @@ -0,0 +1 @@ +Subproject commit a0e899ea96c86609ea36f5111ed7c319e8463673 diff --git a/etc/data/test/dc.hipo b/etc/data/test/dc.hipo index 97de698439..0f15629fa1 100644 Binary files a/etc/data/test/dc.hipo and b/etc/data/test/dc.hipo differ diff --git a/install-clara b/install-clara index 876d0c408a..ec5d65f5f0 100755 --- a/install-clara +++ b/install-clara @@ -56,10 +56,17 @@ function cleanup() { } function build_clara { - git clone --branch $clara --depth 1 https://code.jlab.org/hallb/clas12/clara-java + #git clone --branch $clara --depth 1 https://code.jlab.org/hallb/clas12/clara-java + git clone --depth 1 https://code.jlab.org/hallb/clas12/clara-java cd clara-java && CLARA_HOME=$1 ./gradlew deploy && cd - } +function build_grapes { + #git clone --branch $grapes --depth 1 https://code.jlab.org/hallb/clas12/coatjava/grapes + git clone --depth 1 https://code.jlab.org/hallb/clas12/coatjava/grapes + cd grapes && mvn package && cd - +} + trap cleanup EXIT # Configure: @@ -133,14 +140,14 @@ fi if ! compgen -G "$coatjava/lib/clas/coat-libs-*.jar" > /dev/null then echo -e "\nRetrieving COATJAVA version $coatjava ..." - get https://clasweb.jlab.org/clas12offline/distribution/coatjava/coatjava-$coatjava.tar.gz - coatjava=./coatjava + get https://github.com/JeffersonLab/coatjava/releases/download/$coatjava/coatjava-$coatjava.tar.gz + coatjava=./coatjava-$coatjava fi mkdir -p clara-cre/plugins/clas12/config cp -Lr $coatjava/etc $coatjava/bin $coatjava/lib* clara-cre/plugins/clas12 # GRAPES: echo -e "\nRetrieving GRAPES version $grapes ..." -get https://clasweb.jlab.org/clas12offline/distribution/grapes/grapes-$grapes.tar.gz -mv grapes-$grapes clara-cre/plugins/grapes - +build_grapes $PWD/grapes +mkdir -p clara-cre/plugins/grapes/lib/core/ +cp grapes/target/grapes-*core*.jar clara-cre/plugins/grapes/lib/core/ diff --git a/libexec/profile b/libexec/profile new file mode 100755 index 0000000000..fefe609977 --- /dev/null +++ b/libexec/profile @@ -0,0 +1,51 @@ +#!/bin/bash + +set -e + +# configure: +event=cpu #nativemem +format=flat +nevents=1000 +seconds=12 +yaml=etc/services/data-ai-uber.yml +while getopts y:n:f:e:s:h opt +do + case $opt in + s) seconds=$OPTARG ;; + y) yaml=$OPTARG ;; + n) nevents=$OPTARG ;; + f) format=$OPTARG ;; + e) event=$OPTARG ;; + h) echo "\nUsage: profile [-y YAML] [-n #] [-e EVENT] datafile" && exit 0 ;; + esac +done +shift $((OPTIND-1)) +data=$1 +stub=$(basename $data) +stub=${stub%%.*} + +which asprof >& /dev/null +[ "$?" -ne 0 ] && echo 'ERROR: asprof is not in $PATH.' && exit 9 + +recon-util -y $yaml -n $nevents -o pro_$stub.hipo -i $data >& pro_$stub.log & +pid_bash=$! + +echo PID1=$pid_bash +sleep 5 +pid_java=$(pgrep -P "$pid_bash") + +echo PID2=$pid_java + +ps waux && ps -p $pid_java + +echo "Waiting for 60 seconds of CoatJava warmup ..." +for x in $(seq 60); do let y=60-$x && echo -e -n "\r$y ..." && sleep 1; done + +tail -n 42 pro_$stub.log + +asprof --title "Coatjava - asprof - $event" -e $event \ + -d $seconds -o $format -f pro_${format}_${event}_$stub $pid_java + +kill -9 $pid_java +rm -f pro_$stub.hipo + diff --git a/libexec/profile.sh b/libexec/profile.sh deleted file mode 100755 index 0b1538d7ba..0000000000 --- a/libexec/profile.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -echo PROFILE!!! - -#asprof -e cpu -d 120 \ -# -o tree -f results/$1_tree_cpu.html \ -# $(pidof java) - -#asprof -e nativemem -d 120 \ -# -o tree -f results/$1_tree_nativemem.html \ -# $(pidof java) - -#asprof -e nativemem -d 120 \ -# -f results/$1_mem.jfr \ -# $(pidof java) - diff --git a/libexec/scaling b/libexec/scaling index 909b85631f..0de022937d 100755 --- a/libexec/scaling +++ b/libexec/scaling @@ -1,21 +1,27 @@ #!/usr/bin/env python3 def cli(): - import os,argparse + import os,sys,argparse cli = argparse.ArgumentParser(description='CLARA scaling test') - cli.add_argument('-y',help='YAML file',required=True) + cli.add_argument('-P',help='plot only',action='store_true') + cli.add_argument('-y',help='YAML file',default=None) cli.add_argument('-c',help='CLARA_HOME path',default=os.getenv('CLARA_HOME',None)) - cli.add_argument('-t',help='threads',default=[2,4],type=int,action='append') + cli.add_argument('-t',help='threads (default=4,8)',default='4,8') cli.add_argument('-e',help='events per thread',default=100,type=int) - cli.add_argument('input',help='input data file') + cli.add_argument('-i',help='input data file',default=None) cfg = cli.parse_args() - import sys - if cfg.c is None: sys.exit('-c or $CLARA_HOME is required') + cfg.t = cfg.t.split(',') + if cfg.P: + cfg.i = 'scaling.txt' + else: + if cfg.y is None: sys.exit('-y YAML is required w/o -P') + if cfg.c is None: sys.exit('-c or $CLARA_HOME is required w/o -P') + if cfg.i is None: sys.exit('-i is required') return cfg def run(cmd): import subprocess - print('scaling >>> '+' '.join(cmd)) + print('run >>> '+' '.join(cmd)) p = subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,universal_newlines=True,encoding='latin-1') for line in iter(p.stdout.readline, ''): line = line.strip() @@ -26,7 +32,9 @@ def run(cmd): pass def benchmark(cfg, threads): - import collections + import sys,shutil,collections + if not shutil.which('run-clara'): + sys.exit('run-clara is not in $PATH') exiting,benchmarks = False,collections.OrderedDict() cmd = ['run-clara', '-c',cfg.c, @@ -45,38 +53,38 @@ def benchmark(cfg, threads): exiting = False elif len(cols) > 20: if line.find('Processed') >= 0: - benchmarks['event'] = float(cols[12]) + benchmarks['Event'] = float(cols[12]) elif exiting: # catch-all for services: if len(cols) > 14: - if 'services' not in benchmarks: - benchmarks['services'] = collections.OrderedDict() - benchmarks['services'][cols[2]] = float(cols[14]) + if 'Services' not in benchmarks: + benchmarks['Services'] = collections.OrderedDict() + benchmarks['Services'][cols[2]] = float(cols[14]) # FIXME: what are these, why don't they add up? elif line.find('Average processing time') >= 0: - benchmarks['avg'] = float(cols[6]) + benchmarks['Avg'] = float(cols[6]) elif line.find('Total processing time') >= 0: - benchmarks['total'] = float(cols[6]) + benchmarks['Total'] = float(cols[6]) elif line.find('Total orchestrator time') >= 0: - benchmarks['orch'] = float(cols[6]) + benchmarks['Orch'] = float(cols[6]) except ValueError: pass return benchmarks def table(benchmarks): table = [] - header = [ 'threads' ] + header = [ 'Threads' ] b = benchmarks[0][1] - header.extend([x for x in b if x != 'services']) - if 'services' in b: - header.extend(b['services'].keys()) + header.extend([x for x in b if x != 'Services']) + if 'Services' in b: + header.extend(b['Services'].keys()) table.append(header) for b in benchmarks: threads,benchmark = b[0],b[1] row = [threads] - for k in ['event','avg','total','orch','services']: + for k in ['Event','Avg','Total','Orch','Services']: if k in benchmark: - if k == 'services': + if k == 'Services': row.extend(benchmark[k].values()) else: row.append(benchmark[k]) @@ -90,13 +98,75 @@ def show(benchmarks): def save(benchmarks): with open('scaling.txt','w') as f: for row in table(benchmarks): - f.write(' '.join([str(x) for x in row])) + f.write(' '.join([str(x) for x in row])+'\n') + +gnuplot=''' +set terminal qt size 1000,700 + +set multiplot layout 2,2 +set datafile columnheaders +set title font 'sans,14' +set key box +set xlabel 'Threads' +set ylabel 'Event Time [ms]' +set yrange [0:] + +set title 'I/O' +set key outside right width 2 +plot 'scaling.txt' \ + using 1:(($2*$1)) pt 7 with points title columnhead(2) ,\ + '' using 1:((column($#))) pt 7 with points title 'Total' ,\ + '' using 1:($6) pt 7 with points title 'Reader' ,\ + '' using 1:((column($#-1))) pt 7 with points title 'Writer' ,\ + '' using 1:(($6*$1)) pt 7 with points title 'IOver' ,\ + +set title 'Engines' + +# data-ai-uber.yml: +#plot 'scaling.txt' \ +# using 1:($7) pt 7 with points title columnhead(7) ,\ +# '' using 1:($8) pt 7 with points title columnhead(8) ,\ +# '' using 1:($9) pt 7 with points title columnhead(9) ,\ +# '' using 1:($10) pt 7 with points title columnhead(10) ,\ +# '' using 1:($11) pt 7 with points title columnhead(11) ,\ +# '' using 1:($12) pt 7 with points title columnhead(12) ,\ + +# rgd-clarode.yml: +plot 'scaling.txt' \ + using 1:($7) pt 7 with points title columnhead(7) ,\ + '' using 1:($14) pt 7 with points title columnhead(14) ,\ + '' using 1:($15) pt 7 with points title columnhead(15) ,\ + '' using 1:($16) pt 7 with points title columnhead(16) ,\ + '' using 1:($26) pt 9 with points title columnhead(26) ,\ + '' using 1:($19) pt 7 with points title columnhead(19) ,\ + '' using 1:($28) pt 9 with points title columnhead(28) ,\ + '' using 1:($33) pt 9 with points title columnhead(33) ,\ + +set title 'Throughput' +set ylabel 'Rate [Hz]' +set size 0.7,0.5 +set origin 0.12,0 +unset key +f(x) = m*x +fit [0:24] f(x) 'scaling.txt' using 1:(1/$2*1e3) via m +plot 'scaling.txt' using 1:(1/$2*1e3) pt 7, f(x) +''' + +def plot(): + import tempfile + with tempfile.NamedTemporaryFile(mode='w') as f: + f.write(gnuplot) + f.flush() + list(run(['gnuplot','-p',f.name])) + input() if __name__ == '__main__': cfg = cli() - benchmarks = [] - for threads in cfg.t: - benchmarks.append([threads, benchmark(cfg, threads)]) - show(benchmarks) - save(benchmarks) + if not cfg.P: + benchmarks = [] + for threads in cfg.t: + benchmarks.append([threads, benchmark(cfg, threads)]) + show(benchmarks) + save(benchmarks) + plot() diff --git a/libexec/scaling.gpl b/libexec/scaling.gpl new file mode 100644 index 0000000000..14db409d70 --- /dev/null +++ b/libexec/scaling.gpl @@ -0,0 +1,51 @@ + +set terminal qt size 1000,700 + +set multiplot layout 2,2 +set datafile columnheaders +set title font 'sans,14' +set key box +set xlabel 'Threads' +set ylabel 'Event Time [ms]' +set yrange [0:] + +set title 'I/O' +set key outside right width 2 +plot 'scaling.txt' \ + using 1:(($2*$1)) pt 7 with points title columnhead(2) ,\ + '' using 1:((column($#))) pt 7 with points title 'Total' ,\ + '' using 1:($6) pt 7 with points title 'Reader' ,\ + '' using 1:((column($#-1))) pt 7 with points title 'Writer' ,\ + '' using 1:(($6*$1)) pt 7 with points title 'IOver' ,\ + +set title 'Engines' + +# data-ai-uber.yml: +#plot 'scaling.txt' \ +# using 1:($7) pt 7 with points title columnhead(7) ,\ +# '' using 1:($8) pt 7 with points title columnhead(8) ,\ +# '' using 1:($9) pt 7 with points title columnhead(9) ,\ +# '' using 1:($10) pt 7 with points title columnhead(10) ,\ +# '' using 1:($11) pt 7 with points title columnhead(11) ,\ +# '' using 1:($12) pt 7 with points title columnhead(12) ,\ + +# rgd-clarode.yml: +plot 'scaling.txt' \ + using 1:($7) pt 7 with points title columnhead(7) ,\ + '' using 1:($14) pt 7 with points title columnhead(14) ,\ + '' using 1:($15) pt 7 with points title columnhead(15) ,\ + '' using 1:($16) pt 7 with points title columnhead(16) ,\ + '' using 1:($26) pt 9 with points title columnhead(26) ,\ + '' using 1:($19) pt 7 with points title columnhead(19) ,\ + '' using 1:($28) pt 9 with points title columnhead(28) ,\ + '' using 1:($33) pt 9 with points title columnhead(33) ,\ + +set title 'Throughput' +set ylabel 'Rate [Hz]' +set size 0.7,0.5 +set origin 0.12,0 +unset key +f(x) = m*x +fit [0:24] f(x) 'scaling.txt' using 1:(1/$2*1e3) via m +plot 'scaling.txt' using 1:(1/$2*1e3) pt 7, f(x) + diff --git a/pom.xml b/pom.xml index b3bce791ef..074926a901 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.jlab.clas coatjava - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT pom @@ -279,7 +279,7 @@ maven-compiler-plugin 3.14.1 - 21 + 21 UTF-8 diff --git a/reconstruction/ai/pom.xml b/reconstruction/ai/pom.xml index 7ea1e834fe..321966b416 100644 --- a/reconstruction/ai/pom.xml +++ b/reconstruction/ai/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12.detector clas12detector-ai - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -18,19 +18,19 @@ org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/alert/pom.xml b/reconstruction/alert/pom.xml index 54a84bc809..c0961d69f6 100644 --- a/reconstruction/alert/pom.xml +++ b/reconstruction/alert/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12.detector clas12detector-alert - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -30,60 +30,54 @@ org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT compile org.jlab.clas clas-analysis - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT test org.jlab.clas clas-tracking - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT compile org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT compile - - org.jlab.clas - clas-logging - 13.4.0-SNAPSHOT - test - org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT compile org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT compile org.jlab.clas clas-physics - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT compile org.jlab.clas swim-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT compile diff --git a/reconstruction/alert/src/main/java/org/jlab/rec/ahdc/Hit/HitReader.java b/reconstruction/alert/src/main/java/org/jlab/rec/ahdc/Hit/HitReader.java index 54a8c047a6..e30adafce3 100644 --- a/reconstruction/alert/src/main/java/org/jlab/rec/ahdc/Hit/HitReader.java +++ b/reconstruction/alert/src/main/java/org/jlab/rec/ahdc/Hit/HitReader.java @@ -6,7 +6,7 @@ import org.jlab.io.base.DataEvent; import org.jlab.detector.banks.RawDataBank; import org.jlab.geom.detector.alert.AHDC.AlertDCDetector; -import org.jlab.rec.constants.CalibrationConstantsLoader; +import org.jlab.rec.alert.constants.CalibrationConstantsLoader; public class HitReader { diff --git a/reconstruction/alert/src/main/java/org/jlab/rec/alert/constants/CalibrationConstantsLoader.java b/reconstruction/alert/src/main/java/org/jlab/rec/alert/constants/CalibrationConstantsLoader.java index df966352d4..032c72a066 100644 --- a/reconstruction/alert/src/main/java/org/jlab/rec/alert/constants/CalibrationConstantsLoader.java +++ b/reconstruction/alert/src/main/java/org/jlab/rec/alert/constants/CalibrationConstantsLoader.java @@ -1,4 +1,4 @@ -package org.jlab.rec.constants; +package org.jlab.rec.alert.constants; import org.jlab.detector.calib.utils.ConstantsManager; import org.jlab.detector.calib.utils.DatabaseConstantProvider; diff --git a/reconstruction/alert/src/main/java/org/jlab/rec/atof/hit/ATOFHit.java b/reconstruction/alert/src/main/java/org/jlab/rec/atof/hit/ATOFHit.java index d168120ef7..895faeb015 100644 --- a/reconstruction/alert/src/main/java/org/jlab/rec/atof/hit/ATOFHit.java +++ b/reconstruction/alert/src/main/java/org/jlab/rec/atof/hit/ATOFHit.java @@ -4,9 +4,7 @@ import org.jlab.geom.prim.Point3D; import org.jlab.rec.atof.constants.Parameters; import java.util.logging.Logger; -import org.jlab.detector.calib.utils.DatabaseConstantProvider; -import org.jlab.geom.detector.alert.ATOF.AlertTOFFactory; -import org.jlab.rec.constants.CalibrationConstantsLoader; +import org.jlab.rec.alert.constants.CalibrationConstantsLoader; /** * @@ -21,14 +19,6 @@ public class ATOFHit { static final Logger LOGGER = Logger.getLogger(ATOFHit.class.getName()); - //For aligning bar together, take module 0, component 10 as the reference - //For now the table is full of things with order = 0 or order = 1 for the bars - //However these offsets are defined uniquely for order 0 and order 1 - //Eventually the table will need to be revisited, either by adding another table - //That does not index the order or by indexing things with order 2 (or another number) - private int referenceModuleKey = 0*10000 + 0*1000 + 10*10 + 0; - double[] timeOffsetsRef = CalibrationConstantsLoader.ATOF_TIME_OFFSETS.get(referenceModuleKey); - private int sector, layer, component, order; private int tdc, tot; private float startTime; @@ -198,19 +188,25 @@ public final int convertTdcToTime() { //Converting tdc to ns, event start time correction this.time = Parameters.TDC2TIME*this.tdc - this.startTime; - - //For now we use order 0 to read everything because the current calib constants - //are not for a specific bar channel - //Eventually this will need to be adjusted - int key = this.sector*10000 + this.layer*1000 + this.component*10 + 0;//this.order; + //TODO: When table structure evolves, pay attention to order. + //Key for the current channel + int key = this.sector*10000 + this.layer*1000 + this.component*10 + 0;//this.order; + //Key for the reference channel over which all the others sharing the same z are aligned + int referenceModuleKey = this.component*10; + //Time offsets double[] timeOffsets = CalibrationConstantsLoader.ATOF_TIME_OFFSETS.get(key); + double[] timeOffsetsRef = CalibrationConstantsLoader.ATOF_TIME_OFFSETS.get(referenceModuleKey); + //The names below correspond to the CCDB entries //They will most probably evolve - //For now let's say t0 is used to store the bar-to-bar alignment + //For now let's say t0 is used to store the bar-to-bar and wedge-to-wedge alignments double t0 = timeOffsets[0]; - double tB2B = (t0 - timeOffsetsRef[0])/2; + double tChannelToChannelPhiAlignment = (t0 - timeOffsetsRef[0]); + if(this.type=="bar up" || this.type=="bar down") //bar alignment is done with the sum of the two times + tChannelToChannelPhiAlignment=tChannelToChannelPhiAlignment/2.; + //tud is used to store the bar up - bar down alignment double tud = timeOffsets[1]; //The rest of the constants are not used for now @@ -243,19 +239,19 @@ public final int convertTdcToTime() { veff = Parameters.VEFF; //Wedge hits are placed at the center of wedges and sipm at their top distance_to_sipm = Parameters.WEDGE_THICKNESS / 2.; - timeOffset = 0; //To be replaced with w2w time and eventual other offsets + timeOffset = - tChannelToChannelPhiAlignment; } case "bar up" -> { veff = Parameters.VEFF; //The distance will be computed at barhit level when z information is available distance_to_sipm = 0; - timeOffset = - tud/2. - tB2B; + timeOffset = - tud/2. - tChannelToChannelPhiAlignment; } case "bar down" -> { veff = Parameters.VEFF; //The distance will be computed at barhit level when z information is available distance_to_sipm = 0; - timeOffset = + tud/2. - tB2B; + timeOffset = + tud/2. - tChannelToChannelPhiAlignment; } case "bar" -> { LOGGER.finest("Bar hit type, cannot convert tdc to time."); diff --git a/reconstruction/alert/src/main/java/org/jlab/rec/atof/hit/BarHit.java b/reconstruction/alert/src/main/java/org/jlab/rec/atof/hit/BarHit.java index 87b186eb50..fd46440c27 100644 --- a/reconstruction/alert/src/main/java/org/jlab/rec/atof/hit/BarHit.java +++ b/reconstruction/alert/src/main/java/org/jlab/rec/atof/hit/BarHit.java @@ -1,6 +1,7 @@ package org.jlab.rec.atof.hit; import org.jlab.rec.atof.constants.Parameters; +import org.jlab.rec.alert.constants.CalibrationConstantsLoader; /** * @@ -14,6 +15,8 @@ public class BarHit extends ATOFHit { //A bar hit is the combination of a downstream and upstream hits private ATOFHit hitUp, hitDown; + //Effective velocity read from CCDB + double vEff; public ATOFHit getHitUp() { return hitUp; @@ -36,7 +39,7 @@ public void setHitDown(ATOFHit hit_down) { * */ public final void computeZ() { - this.setZ(Parameters.VEFF/2. * (hitUp.getTime() - hitDown.getTime())); + this.setZ(this.vEff/2. * (hitUp.getTime() - hitDown.getTime())); } /** @@ -56,7 +59,7 @@ public final void computeTime() { time_at_sipm = this.hitUp.getTime(); distance_to_sipm = Parameters.LENGTH_ATOF/2. + this.getZ(); } - this.setTime(time_at_sipm - distance_to_sipm/Parameters.VEFF); + this.setTime(time_at_sipm - distance_to_sipm/this.vEff); } /** @@ -88,6 +91,11 @@ public BarHit(ATOFHit hit_down, ATOFHit hit_up) { this.setComponent(10); this.setX(hit_up.getX()); this.setY(hit_up.getY()); + + //CCDB readout for the effective velocity + int key = this.getSector()*10000 + this.getLayer()*1000 + this.getComponent()*10; + double[] vEffTable = CalibrationConstantsLoader.ATOF_EFFECTIVE_VELOCITY.get(key); + this.vEff = vEffTable[0]; this.computeZ(); this.computeTime(); this.computeEnergy(); diff --git a/reconstruction/alert/src/main/java/org/jlab/service/ahdc/AHDCEngine.java b/reconstruction/alert/src/main/java/org/jlab/service/ahdc/AHDCEngine.java index 522f04f534..14f138ed34 100644 --- a/reconstruction/alert/src/main/java/org/jlab/service/ahdc/AHDCEngine.java +++ b/reconstruction/alert/src/main/java/org/jlab/service/ahdc/AHDCEngine.java @@ -27,7 +27,7 @@ import org.jlab.detector.calib.utils.DatabaseConstantProvider; import org.jlab.geom.detector.alert.AHDC.AlertDCDetector; import org.jlab.geom.detector.alert.AHDC.AlertDCFactory; -import org.jlab.rec.constants.CalibrationConstantsLoader; +import org.jlab.rec.alert.constants.CalibrationConstantsLoader; import org.jlab.detector.pulse.ModeAHDC; /** AHDCEngine reconstruction service. diff --git a/reconstruction/alert/src/main/java/org/jlab/service/atof/ATOFEngine.java b/reconstruction/alert/src/main/java/org/jlab/service/atof/ATOFEngine.java index c7c83e3b8b..b65f7886d6 100644 --- a/reconstruction/alert/src/main/java/org/jlab/service/atof/ATOFEngine.java +++ b/reconstruction/alert/src/main/java/org/jlab/service/atof/ATOFEngine.java @@ -19,7 +19,7 @@ import org.jlab.rec.atof.hit.ATOFHit; import org.jlab.rec.atof.hit.BarHit; import org.jlab.rec.atof.hit.HitFinder; -import org.jlab.rec.constants.CalibrationConstantsLoader; +import org.jlab.rec.alert.constants.CalibrationConstantsLoader; //import org.jlab.rec.alert.projections.TrackProjector; /** diff --git a/reconstruction/alert/src/test/java/org/jlab/service/alert/AHDCTest.java b/reconstruction/alert/src/test/java/org/jlab/service/alert/AHDCTest.java index f9ce42c9b0..292f5f57d2 100644 --- a/reconstruction/alert/src/test/java/org/jlab/service/alert/AHDCTest.java +++ b/reconstruction/alert/src/test/java/org/jlab/service/alert/AHDCTest.java @@ -5,7 +5,6 @@ import org.jlab.io.base.DataEvent; import org.jlab.detector.base.DetectorType; -import org.jlab.logging.DefaultLogger; import org.jlab.analysis.physics.TestEvent; import org.jlab.service.ahdc.AHDCEngine; import org.jlab.rec.ahdc.Mode; @@ -20,7 +19,6 @@ public class AHDCTest { @Test public void run() { System.setProperty("CLAS12DIR", "../../"); - DefaultLogger.debug(); DataEvent event = TestEvent.get(DetectorType.AHDC); diff --git a/reconstruction/alert/src/test/java/org/jlab/service/alert/ATOFTest.java b/reconstruction/alert/src/test/java/org/jlab/service/alert/ATOFTest.java index cd53cb33c6..e275fffc9c 100644 --- a/reconstruction/alert/src/test/java/org/jlab/service/alert/ATOFTest.java +++ b/reconstruction/alert/src/test/java/org/jlab/service/alert/ATOFTest.java @@ -5,7 +5,6 @@ import org.jlab.io.base.DataEvent; import org.jlab.detector.base.DetectorType; -import org.jlab.logging.DefaultLogger; import org.jlab.analysis.physics.TestEvent; import org.jlab.service.atof.ATOFEngine; @@ -17,7 +16,6 @@ public class ATOFTest { @Test public void run() { System.setProperty("CLAS12DIR", "../../"); - DefaultLogger.debug(); DataEvent event = TestEvent.get(DetectorType.ATOF); diff --git a/reconstruction/band/pom.xml b/reconstruction/band/pom.xml index 8a474cf5c7..5efef7aa1c 100644 --- a/reconstruction/band/pom.xml +++ b/reconstruction/band/pom.xml @@ -4,35 +4,35 @@ org.jlab.clas12.detector clas12detector-band - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/bg/pom.xml b/reconstruction/bg/pom.xml index ba3f61ba25..2b8aeef189 100644 --- a/reconstruction/bg/pom.xml +++ b/reconstruction/bg/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12.detector clas12detector-bg - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -18,19 +18,19 @@ org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-analysis - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/calib/pom.xml b/reconstruction/calib/pom.xml index 58613a7937..0b14438379 100644 --- a/reconstruction/calib/pom.xml +++ b/reconstruction/calib/pom.xml @@ -6,13 +6,13 @@ org.jlab.clas12.detector clas12detector-calib - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -20,19 +20,19 @@ org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/cnd/pom.xml b/reconstruction/cnd/pom.xml index 3e83a58a40..3e645ee151 100644 --- a/reconstruction/cnd/pom.xml +++ b/reconstruction/cnd/pom.xml @@ -4,45 +4,45 @@ org.jlab.clas12.detector clas12detector-cnd - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-cvt - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/cvt/pom.xml b/reconstruction/cvt/pom.xml index 5978c74303..dfe02abdd9 100644 --- a/reconstruction/cvt/pom.xml +++ b/reconstruction/cvt/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12.detector clas12detector-cvt - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -26,68 +26,68 @@ cnuphys magfield - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-jcsg - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-analysis - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT test org.jlab.clas clas-tracking - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-logging - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-physics - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas swim-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-eb - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT test jar diff --git a/reconstruction/cvt/src/main/java/org/jlab/rec/cvt/Geometry.java b/reconstruction/cvt/src/main/java/org/jlab/rec/cvt/Geometry.java index dd14ef47c7..f925f3974e 100644 --- a/reconstruction/cvt/src/main/java/org/jlab/rec/cvt/Geometry.java +++ b/reconstruction/cvt/src/main/java/org/jlab/rec/cvt/Geometry.java @@ -30,7 +30,7 @@ import org.jlab.groot.data.GraphErrors; import org.jlab.groot.graphics.EmbeddedCanvasTabbed; import org.jlab.groot.group.DataGroup; -import org.jlab.logging.DefaultLogger; +import org.jlab.logging.SplitLogger; import org.jlab.rec.cvt.bmt.BMTGeometry; import org.jlab.rec.cvt.bmt.BMTType; import org.jlab.rec.cvt.bmt.CCDBConstantsLoader; @@ -94,7 +94,7 @@ public class Geometry { private static boolean LOADED; - private final static Logger LOGGER = Logger.getLogger(Geometry.class.getName()); + private final static Logger LOGGER = SplitLogger.create(Geometry.class.getName()); // private constructor for a singleton @@ -513,13 +513,13 @@ public static DataGroup compareStrips(List geo1, List geo2, Poin * @param args */ public static void main(String[] args) { - DefaultLogger.debug(); OptionParser parser = new OptionParser("Compare CVT geometries from two variations"); parser.setRequiresInputList(false); parser.addOption("-var1", "default", "geometry variation 1"); parser.addOption("-var2", "rgb_spring2019", "geometry variation 2"); parser.addOption("-offset", "0", "compensate for the average offset of SVT-R1 strip upstream end (1)"); parser.parse(args); + parser.syncLogLevel(LOGGER); int run = 11; String var1 = parser.getOption("-var1").stringValue(); diff --git a/reconstruction/cvt/src/test/java/org/jlab/rec/cvt/services/CVTReconstructionTest.java b/reconstruction/cvt/src/test/java/org/jlab/rec/cvt/services/CVTReconstructionTest.java index 6bbe902913..8fea0c57de 100644 --- a/reconstruction/cvt/src/test/java/org/jlab/rec/cvt/services/CVTReconstructionTest.java +++ b/reconstruction/cvt/src/test/java/org/jlab/rec/cvt/services/CVTReconstructionTest.java @@ -12,7 +12,6 @@ import org.jlab.analysis.math.ClasMath; import org.jlab.clas.swimtools.MagFieldsEngine; import org.jlab.detector.base.DetectorType; -import org.jlab.logging.DefaultLogger; import org.jlab.utils.CLASResources; /** @@ -24,7 +23,6 @@ public class CVTReconstructionTest { @Test public void testCVTReconstruction() { - DefaultLogger.debug(); System.setProperty("CLAS12DIR", "../../"); diff --git a/reconstruction/dc/pom.xml b/reconstruction/dc/pom.xml index 9cb9add642..c597653a2a 100644 --- a/reconstruction/dc/pom.xml +++ b/reconstruction/dc/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12.detector clas12detector-dc - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -33,69 +33,69 @@ cnuphys magfield - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT test org.jlab.clas clas-tracking - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-jcsg - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-analysis - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT test org.jlab.clas clas-math - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-logging - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-physics - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT cnuphys snr - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.plugins @@ -105,7 +105,7 @@ org.jlab.clas swim-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT junit diff --git a/reconstruction/dc/src/main/java/org/jlab/service/dc/DCEngine.java b/reconstruction/dc/src/main/java/org/jlab/service/dc/DCEngine.java index 5bfba7b14e..2f0add9508 100644 --- a/reconstruction/dc/src/main/java/org/jlab/service/dc/DCEngine.java +++ b/reconstruction/dc/src/main/java/org/jlab/service/dc/DCEngine.java @@ -4,6 +4,7 @@ import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; +import org.jlab.logging.SplitLogger; import org.jlab.clas.reco.ReconstructionEngine; import org.jlab.detector.banks.RawBank.OrderType; import org.jlab.io.base.DataBank; @@ -39,7 +40,7 @@ public class DCEngine extends ReconstructionEngine { private String dafChi2Cut = null; private String dafAnnealingFactorsTB = null; - public static final Logger LOGGER = Logger.getLogger(ReconstructionEngine.class.getName()); + public static final Logger LOGGER = SplitLogger.create(ReconstructionEngine.class.getName()); public DCEngine(String name) { diff --git a/reconstruction/dc/src/main/java/org/jlab/service/dc/LayerEfficiencyAnalyzer.java b/reconstruction/dc/src/main/java/org/jlab/service/dc/LayerEfficiencyAnalyzer.java index 1a2d7002e1..300ed153c1 100644 --- a/reconstruction/dc/src/main/java/org/jlab/service/dc/LayerEfficiencyAnalyzer.java +++ b/reconstruction/dc/src/main/java/org/jlab/service/dc/LayerEfficiencyAnalyzer.java @@ -26,7 +26,6 @@ import org.jlab.io.base.DataEvent; import org.jlab.io.task.DataSourceProcessorPane; import org.jlab.io.task.IDataEventListener; -import org.jlab.logging.DefaultLogger; import org.jlab.rec.dc.banks.HitReader; import org.jlab.rec.dc.cluster.ClusterCleanerUtilities; import org.jlab.rec.dc.cluster.ClusterFinder; @@ -420,8 +419,6 @@ public void saveHistosToFile(String fileName) { public static void main(String[] args) { - DefaultLogger.debug(); - JFrame frame = new JFrame("DC ANALYSIS"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Dimension screensize = null; @@ -440,6 +437,7 @@ public static void main(String[] args) { OptionParser parser = new OptionParser("dclayereffs-anal"); parser.addOption("-i",""); parser.parse(args); + parser.syncLogLevel(LOGGER); if(parser.hasOption("-i")==true){ String inputFile = parser.getOption("-i").stringValue(); diff --git a/reconstruction/dc/src/test/java/org/jlab/service/dc/DCReconstructionTest.java b/reconstruction/dc/src/test/java/org/jlab/service/dc/DCReconstructionTest.java index cfcf56a608..888d26197c 100644 --- a/reconstruction/dc/src/test/java/org/jlab/service/dc/DCReconstructionTest.java +++ b/reconstruction/dc/src/test/java/org/jlab/service/dc/DCReconstructionTest.java @@ -11,7 +11,6 @@ import org.jlab.clas.swimtools.MagFieldsEngine; import org.jlab.detector.base.DetectorType; -import org.jlab.logging.DefaultLogger; import org.jlab.utils.CLASResources; /** @@ -23,8 +22,6 @@ public class DCReconstructionTest { @Test public void testDCReconstruction() { - DefaultLogger.debug(); - System.setProperty("CLAS12DIR", "../../"); String mapDir = CLASResources.getResourcePath("etc")+"/data/magfield"; diff --git a/reconstruction/eb/pom.xml b/reconstruction/eb/pom.xml index 3ee2374ed2..60b161a05d 100644 --- a/reconstruction/eb/pom.xml +++ b/reconstruction/eb/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12.detector clas12detector-eb - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -21,80 +21,74 @@ cnuphys magfield - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT test org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-analysis - 13.4.0-SNAPSHOT - test - - - org.jlab.clas - clas-logging - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT test org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-physics - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas swim-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-dc - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-ec - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-tof - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-htcc - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-ltcc - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT junit diff --git a/reconstruction/eb/src/test/java/org/jlab/service/eb/EBReconstructionTest.java b/reconstruction/eb/src/test/java/org/jlab/service/eb/EBReconstructionTest.java index e35a1dec27..64f1dcd6cc 100644 --- a/reconstruction/eb/src/test/java/org/jlab/service/eb/EBReconstructionTest.java +++ b/reconstruction/eb/src/test/java/org/jlab/service/eb/EBReconstructionTest.java @@ -11,7 +11,6 @@ import org.jlab.io.base.DataBank; import org.jlab.io.base.DataEvent; -import org.jlab.logging.DefaultLogger; import org.jlab.service.dc.DCHBEngine; import org.jlab.service.dc.DCTBEngine; import org.jlab.service.ec.ECEngine; @@ -108,7 +107,6 @@ public boolean hasValidRefs(DataEvent ev, @Test public void testEBReconstruction() { - DefaultLogger.debug(); System.setProperty("CLAS12DIR", "../../"); DataEvent photonEvent = TestEvent.get(DetectorType.ECAL); diff --git a/reconstruction/ec/pom.xml b/reconstruction/ec/pom.xml index 51503511aa..4f561157ea 100644 --- a/reconstruction/ec/pom.xml +++ b/reconstruction/ec/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12.detector clas12detector-ec - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -21,44 +21,38 @@ org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-analysis - 13.4.0-SNAPSHOT - test - - - org.jlab.clas - clas-logging - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT test org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-physics - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT junit diff --git a/reconstruction/ec/src/test/java/org/jlab/service/ec/ECReconstructionTest.java b/reconstruction/ec/src/test/java/org/jlab/service/ec/ECReconstructionTest.java index 503b6cf226..ab55de260f 100644 --- a/reconstruction/ec/src/test/java/org/jlab/service/ec/ECReconstructionTest.java +++ b/reconstruction/ec/src/test/java/org/jlab/service/ec/ECReconstructionTest.java @@ -7,7 +7,6 @@ import org.jlab.analysis.physics.TestEvent; import org.jlab.detector.base.DetectorType; -import org.jlab.logging.DefaultLogger; /** * @@ -17,7 +16,6 @@ public class ECReconstructionTest { @Test public void testECReconstruction() { - DefaultLogger.debug(); System.setProperty("CLAS12DIR", "../../"); diff --git a/reconstruction/fmt/pom.xml b/reconstruction/fmt/pom.xml index 0aaf83fe09..13dad22f7d 100644 --- a/reconstruction/fmt/pom.xml +++ b/reconstruction/fmt/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12.detector clas12detector-fmt - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -21,37 +21,37 @@ org.jlab.clas swim-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-physics - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/ft/pom.xml b/reconstruction/ft/pom.xml index 8983fe53c1..d777ff6395 100644 --- a/reconstruction/ft/pom.xml +++ b/reconstruction/ft/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12.detector clas12detector-ft - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -21,32 +21,32 @@ org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-physics - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/htcc/pom.xml b/reconstruction/htcc/pom.xml index f019b0d7af..6d27d53359 100644 --- a/reconstruction/htcc/pom.xml +++ b/reconstruction/htcc/pom.xml @@ -4,35 +4,35 @@ org.jlab.clas12.detector clas12detector-htcc - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/ltcc/pom.xml b/reconstruction/ltcc/pom.xml index 588d3fc3e2..d6153bdd7f 100644 --- a/reconstruction/ltcc/pom.xml +++ b/reconstruction/ltcc/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12.detector clas12detector-ltcc - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -26,27 +26,27 @@ org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/mc/pom.xml b/reconstruction/mc/pom.xml index 2d373b5840..0b1acea0d1 100644 --- a/reconstruction/mc/pom.xml +++ b/reconstruction/mc/pom.xml @@ -4,35 +4,35 @@ org.jlab.clas12.detector clas12detector-mc - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-physics - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/mltn/pom.xml b/reconstruction/mltn/pom.xml index 9f0962e4ff..cb6faa2b1a 100644 --- a/reconstruction/mltn/pom.xml +++ b/reconstruction/mltn/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12.detector clas12detector-mltn - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -38,13 +38,13 @@ org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/pom.xml b/reconstruction/pom.xml index fa66d6feb0..9017da037c 100644 --- a/reconstruction/pom.xml +++ b/reconstruction/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT pom org.jlab.clas coatjava - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/postproc/pom.xml b/reconstruction/postproc/pom.xml index d8d172193f..0a994f3b26 100644 --- a/reconstruction/postproc/pom.xml +++ b/reconstruction/postproc/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12.detector clas12detector-postproc - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -18,19 +18,19 @@ org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-analysis - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/raster/pom.xml b/reconstruction/raster/pom.xml index d8274dd5af..2bca450a86 100644 --- a/reconstruction/raster/pom.xml +++ b/reconstruction/raster/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12.detector clas12detector-raster - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -21,22 +21,22 @@ org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/recoil/pom.xml b/reconstruction/recoil/pom.xml index c6ba248e97..18b7c40238 100644 --- a/reconstruction/recoil/pom.xml +++ b/reconstruction/recoil/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12.detector clas12detector-recoil - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -21,27 +21,27 @@ org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-jcsg - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/rich/pom.xml b/reconstruction/rich/pom.xml index c39521b56b..8e95941087 100644 --- a/reconstruction/rich/pom.xml +++ b/reconstruction/rich/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12.detector clas12detector-rich - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -21,37 +21,37 @@ org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-jcsg - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-physics - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/rtpc/pom.xml b/reconstruction/rtpc/pom.xml index 3a3dfc3e3f..0e6429f3eb 100644 --- a/reconstruction/rtpc/pom.xml +++ b/reconstruction/rtpc/pom.xml @@ -4,20 +4,20 @@ org.jlab.clas12.detector clas12detector-rtpc - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT cnuphys magfield - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.apache.commons @@ -26,33 +26,33 @@ org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-tracking - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT compile org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-physics - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/swaps/pom.xml b/reconstruction/swaps/pom.xml index 0416f077b1..4b7b7b3fe4 100644 --- a/reconstruction/swaps/pom.xml +++ b/reconstruction/swaps/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12.detector clas12detector-swaps - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -18,19 +18,19 @@ org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/tof/pom.xml b/reconstruction/tof/pom.xml index c5b9065bb0..874898c0d5 100644 --- a/reconstruction/tof/pom.xml +++ b/reconstruction/tof/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12.detector clas12detector-tof - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -18,43 +18,43 @@ org.jlab.clas clas-jcsg - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-physics - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-utils - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/uber/pom.xml b/reconstruction/uber/pom.xml index c34d7815df..ccf8ab2350 100644 --- a/reconstruction/uber/pom.xml +++ b/reconstruction/uber/pom.xml @@ -4,110 +4,110 @@ org.jlab.clas12.detector clas12detector-uber - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas swim-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-dc - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-ec - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-tof - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-htcc - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-ltcc - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-ft - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-cnd - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-band - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-cvt - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-raster - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-vtx - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-calib - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-rtpc - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-rich - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-eb - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-mltn - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas12.detector clas12detector-fmt - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/urwell/pom.xml b/reconstruction/urwell/pom.xml index 9bb7bd1538..b68999b7ce 100644 --- a/reconstruction/urwell/pom.xml +++ b/reconstruction/urwell/pom.xml @@ -4,13 +4,13 @@ org.jlab.clas12.detector clas12detector-urwell - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT @@ -21,27 +21,27 @@ org.jlab.clas clas-detector - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-jcsg - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/reconstruction/vtx/pom.xml b/reconstruction/vtx/pom.xml index db28d4f17f..25e1c66a93 100644 --- a/reconstruction/vtx/pom.xml +++ b/reconstruction/vtx/pom.xml @@ -4,41 +4,41 @@ org.jlab.clas12.detector clas12detector-vtx - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar org.jlab.clas12 reconstruction - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas swim-tools - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT jar cnuphys swimmer - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-reco - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-io - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT org.jlab.clas clas-geometry - 13.4.0-SNAPSHOT + 13.4.1-SNAPSHOT diff --git a/validation/advanced-tests/data b/validation/advanced-tests/data new file mode 160000 index 0000000000..cebf632bbd --- /dev/null +++ b/validation/advanced-tests/data @@ -0,0 +1 @@ +Subproject commit cebf632bbd0a5b45ee3e1f34ee1b24903a0a1013 diff --git a/validation/advanced-tests/run-advanced-tests.sh b/validation/advanced-tests/run-advanced-tests.sh index d763f7ec12..240822351e 100755 --- a/validation/advanced-tests/run-advanced-tests.sh +++ b/validation/advanced-tests/run-advanced-tests.sh @@ -1,27 +1,24 @@ #!/bin/bash -f -# coatjava must already be built at ../../coatjava/ +# coatjava and clara must already be built at ../../coatjava/ +# and input data files at ./data # set up environment JAVA_OPTS="-Djava.util.logging.config.file=$PWD/../../etc/logging/debug.properties" -CLARA_HOME=$PWD/clara_installation/ ; export CLARA_HOME +CLARA_HOME=$PWD/../../clara/ ; export CLARA_HOME COAT=$CLARA_HOME/plugins/clas12/ -# install clara -../../install-clara -c ../../coatjava $CLARA_HOME -[ $? -ne 0 ] && echo "clara installation error" && exit 1 - # source coatjava environment source $COAT/libexec/env.sh classPath="${COATJAVA_CLASSPATH}:../lib/*:src/" # download test files -wget --no-check-certificate http://clasweb.jlab.org/clas12offline/distribution/coatjava/validation_files/twoTrackEvents_809_raw.evio.tar.gz -[ $? -ne 0 ] && echo "wget validation files failure" && exit 2 -tar -zxvf twoTrackEvents_809_raw.evio.tar.gz +#wget --no-check-certificate http://clasweb.jlab.org/clas12offline/distribution/coatjava/validation_files/twoTrackEvents_809_raw.evio.tar.gz +#[ $? -ne 0 ] && echo "wget validation files failure" && exit 2 +#tar -zxvf twoTrackEvents_809_raw.evio.tar.gz # run decoder -$COAT/bin/decoder -t -0.5 -s 0.0 -i ./twoTrackEvents_809_raw.evio -o ./twoTrackEvents_809.hipo -c 2 +$COAT/bin/decoder -t -0.5 -s 0.0 -i ./data/twoTrackEvents_809_raw.evio -o ./twoTrackEvents_809.hipo -c 2 [ $? -ne 0 ] && echo "decoder failure" && exit 3 # take a peek diff --git a/validation/advanced-tests/run-eb-tests.sh b/validation/advanced-tests/run-eb-tests.sh index bbd5f7b921..43ca6e6ed4 100755 --- a/validation/advanced-tests/run-eb-tests.sh +++ b/validation/advanced-tests/run-eb-tests.sh @@ -1,10 +1,12 @@ #!/bin/bash webDir=http://clasweb.jlab.org/clas12offline/distribution/coatjava/validation_files/eb -webVersion=5.11-fid-tm-r11 +webVersion=5.11-fid-tm-dc2-r11 webDir=$webDir/$webVersion +webDir=./data/$webVersion # coatjava must already be built at ../../coatjava/ +# and input test data files at ./data # whether to use CLARA (0=no) useClara=0 @@ -121,8 +123,8 @@ then fi # download test files, if necessary: - wget -N --no-check-certificate $webDir/${stub}.hipo - if [ $? != 0 ] ; then echo "wget validation files failure" ; exit 1 ; fi + #wget -N --no-check-certificate $webDir/${stub}.hipo + #if [ $? != 0 ] ; then echo "wget validation files failure" ; exit 1 ; fi # update the schema dictionary: (no longer necessary now that recon-util does it) #rm -f up_${stub}.hipo @@ -134,7 +136,7 @@ then then GEOMDBVAR=$geoDbVariation export GEOMDBVAR - ../../coatjava/bin/recon-util -i ${stub}.hipo -o out_${stub}.hipo -c 2 + ../../coatjava/bin/recon-util -i ${webDir}/${stub}.hipo -o out_${stub}.hipo -c 2 else echo "set inputDir $PWD/" > cook.clara echo "set outputDir $PWD/" >> cook.clara diff --git a/validation/advanced-tests/src/eb/EBTwoTrackTest.java b/validation/advanced-tests/src/eb/EBTwoTrackTest.java index 41061a2568..a0e4b26f40 100644 --- a/validation/advanced-tests/src/eb/EBTwoTrackTest.java +++ b/validation/advanced-tests/src/eb/EBTwoTrackTest.java @@ -155,9 +155,7 @@ else if (ss.equals("electrondeuteronC")) { hadronPDG=45; } else if (ss.equals("electrongammaFT")) { - isForwardTagger=true; - ftPDG=22; - hadronPDG=11; + hadronPDG=22; } else udfFileType=true; diff --git a/validation/advanced-tests/src/eb/scripts/gen.groovy b/validation/advanced-tests/src/eb/scripts/gen.groovy index 4bf9b846db..c5ea774d58 100644 --- a/validation/advanced-tests/src/eb/scripts/gen.groovy +++ b/validation/advanced-tests/src/eb/scripts/gen.groovy @@ -111,7 +111,7 @@ if (isForwardTagger) { pgen2.setRange( 3.0, 8.0, 2.5, 4.5, - -10.0, 10.0); + 110.0, 130.0); } else if (pid==-22 || pid==-211 || pid==-2212 || pid==-321) { // electron in FT