Skip to content

Commit 2a31f1c

Browse files
authored
Merge pull request #361 from JeffersonLab/v2.3.x
Release v2.3.x
2 parents 701c7e8 + 4bb6624 commit 2a31f1c

File tree

237 files changed

+74467
-35882
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

237 files changed

+74467
-35882
lines changed

.dockerignore

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1-
build
2-
map_directory
1+
# install destinations
2+
bin/*
3+
lib/*
4+
share/*
5+
6+
# develop directories
7+
.git/*
8+
build/*
9+
10+
# large content
11+
rootfiles/*
12+
13+
# large directory
14+
# but cheaper to copy than download
15+
#map_directory/*
16+
17+
# large content
18+
*.root
319

.gitignore

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,19 @@
11
images
22

3+
# random seed files
4+
G4Master_run*.rndm
5+
G4Worker?_run*.rndm
6+
G4Worker?_run*evt*.rndm
7+
run*evt*.rndm
8+
currentEvent.rndm
9+
currentRun.rndm
10+
311
# output from createHTML
412
_remoll_*.html
513

14+
# Jupyter checkpoints
15+
.ipynb_checkpoints
16+
617
# backups etc
718
*~
819
*.swp
@@ -11,7 +22,7 @@ _remoll_*.html
1122
*.DS_Store
1223

1324
#ignore doxygen files for now
14-
doc
25+
Doxygen
1526

1627
#ignore libraries and helper files
1728
*.so
@@ -49,6 +60,7 @@ log
4960
#ignore project files for eclipse
5061
.cproject
5162
.project
63+
.settings
5264

5365
#ignore build type file
5466
.buildtype
@@ -62,3 +74,11 @@ sample_gdml.*
6274
#ignore log files
6375
*.log
6476
callgrind.*
77+
78+
# jekyll
79+
_site
80+
.sass-cache
81+
.jekyll-cache
82+
.jekyll-metadata
83+
vendor
84+
Gemfile.lock

.travis.yml

Lines changed: 53 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -2,52 +2,68 @@ sudo: required
22
services:
33
- docker
44

5-
script:
6-
- docker build -t jeffersonlab/remoll .
7-
- for suite in load validate overlap ; do
8-
docker run --rm -t jeffersonlab/remoll scripts/tests/test_geometries.sh ${suite} ;
9-
done
10-
- for suite in unit ; do
11-
docker run --rm -t jeffersonlab/remoll scripts/tests/test_macros.sh ${suite} ;
12-
done
13-
- for suite in commit release ; do
14-
docker run -t jeffersonlab/remoll sh -c "
15-
scripts/tests/test_macros.sh ${suite} &&
16-
scripts/tests/targz_macros.sh ${suite} &&
17-
scripts/tests/watermark.sh ${suite}
18-
" || exit 1 ;
19-
docker cp $(docker ps -l -q):"/jlab/remoll/remolltest.*.*.log.tar.gz" . ;
20-
docker cp $(docker ps -l -q):"/jlab/remoll/remolltest.*.*.root.tar.gz" . ;
21-
docker cp $(docker ps -l -q):"/jlab/remoll/remolltest.*.*.analysis.log.tar.gz" . ;
22-
docker cp $(docker ps -l -q):"/jlab/remoll/remolltest.*.*.analysis.pdf.tar.gz" . ;
23-
docker cp $(docker ps -l -q):"/jlab/remoll/remolltest.*.*.analysis.root.tar.gz" . ;
24-
docker cp $(docker ps -l -q):"/jlab/remoll/rootfiles_tests_*_*_analysis.pdf" . ;
25-
docker rm $(docker ps -l -q) ;
26-
done
27-
28-
after_success:
29-
- docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD";
30-
- if [ "$TRAVIS_BRANCH" == "master" ]; then
31-
docker tag jeffersonlab/remoll jeffersonlab/remoll:latest && docker push jeffersonlab/remoll:latest ;
32-
else
33-
docker tag jeffersonlab/remoll jeffersonlab/remoll:$TRAVIS_BRANCH && docker push jeffersonlab/remoll:$TRAVIS_BRANCH ;
34-
fi
5+
jobs:
6+
include:
7+
- stage: build docker image
8+
script:
9+
- docker build -t jeffersonlab/remoll:$TRAVIS_BRANCH .
10+
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin ;
11+
if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then
12+
if [ "$TRAVIS_BRANCH" == "master" ]; then
13+
docker tag jeffersonlab/remoll:$TRAVIS_BRANCH jeffersonlab/remoll:latest ;
14+
docker push jeffersonlab/remoll:latest ;
15+
docker tag jeffersonlab/remoll:latest jeffersonlab/remoll:$TRAVIS_BRANCH ;
16+
else
17+
docker push jeffersonlab/remoll:$TRAVIS_BRANCH ;
18+
fi
19+
fi
20+
- stage: tests
21+
script:
22+
- for suite in load validate overlap ; do
23+
echo "=== scripts/tests/test_geometries.sh ${suite} ===" ;
24+
mkdir -p ${PWD}/logfiles ${PWD}/rootfiles ;
25+
time docker run --rm -v ${PWD}/rootfiles:/jlab/remoll/rootfiles -v ${PWD}/logfiles:/jlab/remoll/logfiles -t jeffersonlab/remoll:$TRAVIS_BRANCH sh -c "
26+
scripts/tests/test_geometries.sh ${suite}
27+
" ;
28+
done ;
29+
ls -al ${PWD}/logfiles ${PWD}/rootfiles
30+
- script:
31+
- for suite in unit ; do
32+
echo "=== scripts/tests/test_macros.sh ${suite} ===" ;
33+
mkdir -p ${PWD}/logfiles ${PWD}/rootfiles ;
34+
time docker run --rm -v ${PWD}/rootfiles:/jlab/remoll/rootfiles -v ${PWD}/logfiles:/jlab/remoll/logfiles -t jeffersonlab/remoll:$TRAVIS_BRANCH sh -c "
35+
scripts/tests/test_macros.sh ${suite}
36+
" ;
37+
done ;
38+
ls -al ${PWD}/logfiles ${PWD}/rootfiles
39+
- script:
40+
- for suite in commit ; do
41+
echo "=== scripts/tests/test_macros.sh ${suite} ===" ;
42+
mkdir -p ${PWD}/logfiles ${PWD}/rootfiles ;
43+
time docker run --rm -v ${PWD}/rootfiles:/jlab/remoll/rootfiles -v ${PWD}/logfiles:/jlab/remoll/logfiles -t jeffersonlab/remoll:$TRAVIS_BRANCH sh -c "
44+
scripts/tests/test_macros.sh ${suite} &&
45+
scripts/tests/targz_macros.sh ${suite} &&
46+
scripts/tests/watermark.sh ${suite}
47+
" ;
48+
done ;
49+
ls -al ${PWD}/logfiles ${PWD}/rootfiles
3550
3651
notifications:
37-
slack: jlab12gev:PVp0QYADLTXmFdicK6WXkTGN
52+
slack:
53+
secure: MLIeBG8iFcmiqrUknT3KId+w/ufa93ybUhm9BaYv0OhopdqF7bTW5sPY/8ZKfe7VKkw5UqICloRHkfi9BGza3IJSUi13gSDtVyN5KPb95jRUJuU5yVLrF1cTC77HuuDar1z8RXBwfGE8noVS5ztJM1Svke+U8Ilz2c5aKE9cHyvG5c8ZixKnMyWPRsPLl8gnHwgJRoPMCz1IMcs20Fhtf6K3KcpCQ2X8T7gVGUBf+GOawsmAsF40EvhDtJNh5ZJkqAzzAUFagFVixTJQ1FeCnuiyBDR9oEkrBwc+/tmxI1QvFtDmWi9VTQX0FFLmt9BtwZ4ZZuuBY8TEhAZiqjKwkaN4qduYGxGEQHdm7qFN5Ncmh347W9PPQHfRW/+e0/EF2QiwaTuzD1ElQaG8QCGS9NcM573KfdyVH9+yUbnO/D6r4CudfH3dFBZq3Mx0rQqvY8stHdl2xkjOfocz1cymXUwMbnBMcUFvPrfvEpiTr9d1+VVl36G0MtJMW0FEbb7cL6c7kwo69oCLv7+16z9phd93u0wfdisGfR4/AZgQQ3pK/0eMjHV2f1sRe2AyJzgT9TwrrKmDnvPMjYMU3lBtUuN6i9i/6exVmEMszyELh0qqgHz3Amxlx3EsfkzFodPK8DirBCE0ydEBkpWh753zJI0+G9KWHAdFTupki49Qdfw=
3854
3955
deploy:
4056
provider: releases
4157
api_key:
4258
secure: MzvvPA8KxYjEVa8C9rNtAQbtD+mDx2Wn3Em02JKMtwv953Htnv3zRcyGPfF++sLV80RvZ8NZ8pN3WfiAPTBHatUSgWh9w+GRv0G366wxKrAS4O+9BVy96U7A0gFkaXRwXirJWo4u2lJscQ1hC2IDbI2dGAS/VF5Lt1TLjWcPUL8LPcKgF80FG8+9+BUH1cRiW8mULT36EeVAB1K+vwO6Qob5k4ef66eHjkbdpuUktDr6wrehoyGXtFiBfl+XWotvcrer/51J6wn85UqCc/A+KYrVshBH/gKCD7/w6D2akNM2/sJcFdLzv5WkaQOwplsAYuzLn1cNRUKbWay5ClCSm6rsoHGfaagW4/wXk9TxqJhcdmNZ+eeAvNXAxJIeRvb82pwANlSJ658FBw2ov75p3Y6rjvc8CUPsxBXZkw3dzOgwTdjmJI9q+aD4GuVeGiq9MdyJDgXUjxlP2qEtcLJfvvF9q5Bnzy+hoAV+A5yHg0lR0VjsUem2+CdexuHb/LJLx4YVkSrCSyEELAsfyJTCYNLaMKrWKujelqtKwXy4H/rwzaja6IBP77gkisNI82bvnrzn/QsvnueGyWSu/Z2HC2M/d6WAQAl3Et9W6kOb7MK+NAmEMOTW7tzaxjD+lq8aOiLJYndrOYaymin5GLNk3F2iqZMkhMCRC2YcstNr61w=
4359
file_glob: true
4460
file:
45-
- "remolltest.*.*.log.tar.gz"
46-
- "remolltest.*.*.root.tar.gz"
47-
- "remolltest.*.*.analysis.log.tar.gz"
48-
- "remolltest.*.*.analysis.pdf.tar.gz"
49-
- "remolltest.*.*.analysis.root.tar.gz"
50-
- "rootfiles_tests_*_*_analysis.pdf"
61+
- "logfiles/remoll.*.*.log.tar.gz"
62+
- "logfiles/remoll.*.*.analysis.log.tar.gz"
63+
- "rootfiles/remoll.*.*.root.tar.gz"
64+
- "rootfiles/remoll.*.*.analysis.root.tar.gz"
65+
- "rootfiles/remoll.*.*.analysis.pdf.tar.gz"
66+
- "rootfiles/remoll_*_*_analysis_book.pdf"
5167
skip_cleanup: true
5268
on:
5369
repo: JeffersonLab/remoll

CMakeLists.txt

Lines changed: 50 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Setup the project
33
#
44
cmake_minimum_required(VERSION 3.5)
5-
project(remoll VERSION 0.1 LANGUAGES CXX)
5+
project(remoll VERSION 0.1 LANGUAGES CXX C)
66

77
# Disallow in-source builds
88
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
@@ -305,33 +305,70 @@ set(REMOLL_LOCATION /group/halla/www/hallaweb/html/12GeV/Moller/downloads/remoll
305305
set(REMOLL_DOWNLOADS http://hallaweb.jlab.org/12GeV/Moller/downloads/remoll/)
306306
set(REMOLL_MAP_DIR ${PROJECT_SOURCE_DIR}/map_directory)
307307
if(EXISTS ${REMOLL_LOCATION})
308+
message(STATUS "Copying files directly from directory...")
308309
set(REMOLL_DOWNLOADS file://${REMOLL_LOCATION})
310+
else()
311+
message(STATUS "Fieldmaps will be downloaded from web...")
309312
endif()
310313
file(DOWNLOAD
311-
${REMOLL_DOWNLOADS}/blockyUpstream_rm_1.1.txt
312-
${REMOLL_MAP_DIR}/blockyUpstream_rm_1.1.txt
313-
EXPECTED_MD5 3e2338e1ba74b03da37545e98931f5f3)
314+
${REMOLL_DOWNLOADS}/hybridJLAB.txt
315+
${REMOLL_MAP_DIR}/hybridJLAB.txt
316+
EXPECTED_MD5 c2da18fd7ab80cc4abe7eafc487963dc
317+
)
314318
file(DOWNLOAD
315-
${REMOLL_DOWNLOADS}/blockyHybrid_rm_3.0.txt
316-
${REMOLL_MAP_DIR}/blockyHybrid_rm_3.0.txt
317-
EXPECTED_MD5 b4bfef8f362e0df66f166b4e76a6847e)
319+
${REMOLL_DOWNLOADS}/upstreamJLAB_1.25.txt
320+
${REMOLL_MAP_DIR}/upstreamJLAB_1.25.txt
321+
EXPECTED_MD5 af06ed35516c17640e89ba3aa0f5b200
322+
)
323+
file(DOWNLOAD
324+
${REMOLL_DOWNLOADS}/hybridJLAB_v2.txt
325+
${REMOLL_MAP_DIR}/hybridJLAB_v2.txt
326+
EXPECTED_MD5 4a0d1abc9b80cf5f2c3dd495a1133e26
327+
)
328+
file(DOWNLOAD
329+
${REMOLL_DOWNLOADS}/segmentedJLAB_v2.txt
330+
${REMOLL_MAP_DIR}/segmentedJLAB_v2.txt
331+
EXPECTED_MD5 2a21b540f6496e3f554302f369646bbb
332+
)
333+
file(DOWNLOAD
334+
${REMOLL_DOWNLOADS}/upstreamJLAB_v2.txt
335+
${REMOLL_MAP_DIR}/upstreamJLAB_v2.txt
336+
EXPECTED_MD5 bed73f2ea44135c52222bc8e767e1954
337+
)
318338
install(FILES
319-
${REMOLL_MAP_DIR}/blockyHybrid_rm_3.0.txt
320-
${REMOLL_MAP_DIR}/blockyUpstream_rm_1.1.txt
339+
${REMOLL_MAP_DIR}/hybridJLAB.txt
340+
${REMOLL_MAP_DIR}/upstreamJLAB_1.25.txt
341+
${REMOLL_MAP_DIR}/hybridJLAB_v2.txt
342+
${REMOLL_MAP_DIR}/segmentedJLAB_v2.txt
343+
${REMOLL_MAP_DIR}/upstreamJLAB_v2.txt
321344
DESTINATION ${CMAKE_INSTALL_DATADIR}/remoll)
322345
if(ADDITIONAL_FIELDS)
323346
message(STATUS "Ensuring additional fields are available")
347+
file(DOWNLOAD
348+
${REMOLL_DOWNLOADS}/blockyUpstream_rm_1.1.txt
349+
${REMOLL_MAP_DIR}/blockyUpstream_rm_1.1.txt
350+
EXPECTED_MD5 3e2338e1ba74b03da37545e98931f5f3
351+
)
352+
file(DOWNLOAD
353+
${REMOLL_DOWNLOADS}/blockyHybrid_rm_3.0.txt
354+
${REMOLL_MAP_DIR}/blockyHybrid_rm_3.0.txt
355+
EXPECTED_MD5 b4bfef8f362e0df66f166b4e76a6847e
356+
)
324357
file(DOWNLOAD
325358
${REMOLL_DOWNLOADS}/upstreamSymmetric_sensR_0.1.txt
326359
${REMOLL_MAP_DIR}/upstreamSymmetric_sensR_0.1.txt
327-
EXPECTED_MD5 849d9dc5abab0842fc13fef7f4918648)
360+
EXPECTED_MD5 849d9dc5abab0842fc13fef7f4918648
361+
)
328362
file(DOWNLOAD
329363
${REMOLL_DOWNLOADS}/hybridSymmetric_sensR_0.1.txt
330364
${REMOLL_MAP_DIR}/hybridSymmetric_sensR_0.1.txt
331-
EXPECTED_MD5 78fad2ffa5b5ae129df11bdf0ce25333)
365+
EXPECTED_MD5 78fad2ffa5b5ae129df11bdf0ce25333
366+
)
332367
install(FILES
333-
${REMOLL_MAP_DIR}/upstreamSymmetric_sensR_0.0.txt
334-
${REMOLL_MAP_DIR}/hybridSymmetric_sensR_0.0.txt
368+
${REMOLL_MAP_DIR}/blockyHybrid_rm_3.0.txt
369+
${REMOLL_MAP_DIR}/blockyUpstream_rm_1.1.txt
370+
${REMOLL_MAP_DIR}/upstreamSymmetric_sensR_0.1.txt
371+
${REMOLL_MAP_DIR}/hybridSymmetric_sensR_0.1.txt
335372
DESTINATION ${CMAKE_INSTALL_DATADIR}/remoll)
336373
else()
337374
message(STATUS "Download additional fields with '-DADDITIONAL_FIELDS=ON'.")

Dockerfile

Lines changed: 45 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,61 @@
1-
FROM jeffersonlab/jlabce:2.3
1+
# Instructions for building remoll, a Docker image for the MOLLER experiment.
2+
#
3+
# Instructions for building the remoll image:
4+
# docker build -t jeffersonlab/remoll:latest .
5+
# Instructions for building the remoll image without cache:
6+
# docker build --no-cache -t jeffersonlab/remoll:latest .
7+
# Sharing the remoll image on DockerHub:
8+
# docker push jeffersonlab/remoll:latest
9+
#
10+
# Running the container with docker:
11+
# docker run --rm -it jeffersonlab/remoll:latest remoll macros/runexample.mac
12+
#
13+
# Running the container with singularity:
14+
# singularity build --disable-cache --fix-perms --sandbox remoll:latest docker-daemon://jeffersonlab/remoll:latest
15+
# singularity run remoll:latest remoll macros/runexample.mac
16+
# Note: building a sandbox image may not work on all filesystem or on
17+
# hyperlinked directories. Make sure you are in an actual directory with:
18+
# cd `readlink -f .`
19+
#
20+
21+
FROM jeffersonlab/jlabce:2.3-mt
222

323
# Install libgcj and pdftk
4-
RUN wget https://copr.fedorainfracloud.org/coprs/robert/gcj/repo/epel-7/robert-gcj-epel-7.repo -P /etc/yum.repos.d && \
5-
wget https://copr.fedorainfracloud.org/coprs/robert/pdftk/repo/epel-7/robert-pdftk-epel-7.repo -P /etc/yum.repos.d && \
6-
yum install -y pdftk ghostscript
24+
RUN wget -q https://copr.fedorainfracloud.org/coprs/robert/gcj/repo/epel-7/robert-gcj-epel-7.repo -P /etc/yum.repos.d && \
25+
wget -q https://copr.fedorainfracloud.org/coprs/robert/pdftk/repo/epel-7/robert-pdftk-epel-7.repo -P /etc/yum.repos.d && \
26+
yum install -q -y pdftk ghostscript
727

28+
# Add Tini entry point
29+
ENV TINI_VERSION v0.19.0
30+
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
31+
RUN chmod +x /tini
32+
33+
# Set JLab CE version
834
ENV JLAB_VERSION=2.3
935
ENV JLAB_ROOT=/jlab
10-
ENV JLAB_SOFTWARE=/jlab/2.3/Linux_CentOS7.2.1511-x86_64-gcc4.8.5
1136

37+
# Set remoll location
1238
ENV REMOLL=/jlab/remoll
1339

14-
WORKDIR $REMOLL
15-
1640
# Compile remoll
17-
ADD . .
18-
RUN source $JLAB_ROOT/$JLAB_VERSION/ce/jlab.sh && \
41+
WORKDIR $REMOLL
42+
COPY . .
43+
RUN source /etc/profile && \
1944
mkdir -p $REMOLL/build && \
2045
pushd $REMOLL/build && \
2146
cmake .. && \
2247
make -j$(nproc) && \
23-
make install
48+
make install && \
49+
make clean
50+
51+
# Environment through /etc/profile
52+
RUN ln -sf $REMOLL/bin/remoll.csh /etc/profile.d/remoll.csh
53+
RUN ln -sf $REMOLL/bin/remoll.sh /etc/profile.d/remoll.sh
2454

25-
# Create environment point bash script
26-
RUN echo '#!/bin/bash' > /entrypoint.sh && \
27-
echo 'unset OSRELEASE' >> /entrypoint.sh && \
28-
echo 'source $JLAB_ROOT/$JLAB_VERSION/ce/jlab.sh' >> /entrypoint.sh && \
29-
echo 'export PATH=${REMOLL}/bin:${PATH}' >> /entrypoint.sh && \
30-
echo 'export REMOLL=${REMOLL}' >> /entrypoint.sh && \
31-
echo 'cd $REMOLL && exec "$@"' >> /entrypoint.sh && \
32-
chmod +x /entrypoint.sh
55+
# Override JLab CE environment for container use
56+
COPY docker/jlab.sh /jlab/${JLAB_VERSION}/ce/jlab.sh
3357

34-
ENTRYPOINT ["/entrypoint.sh"]
58+
# Entry point loads the environment
59+
ENTRYPOINT ["/tini", "--", "bash", "-c", "source /etc/profile && \"$@\"", "-s"]
3560

36-
CMD ["build/remoll","-h"]
61+
CMD ["remoll"]

0 commit comments

Comments
 (0)