diff --git a/bin/build_detector.sh b/bin/build_detector.sh
index d6b9069204bb3bb4abcbc12aee05d845ce0d1682..9836a604fcc0aaf9d5e06c4d944f9974116b21f7 100755
--- a/bin/build_detector.sh
+++ b/bin/build_detector.sh
@@ -5,8 +5,8 @@
## =============================================================================
## make sure we launch this script from the project root directory
-PROJECT_ROOT="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"/..
-pushd ${PROJECT_ROOT}
+#PROJECT_ROOT="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"/..
+#pushd ${PROJECT_ROOT}
## =============================================================================
## Load the environment variables. To build the detector we need the following
@@ -21,7 +21,7 @@ pushd ${PROJECT_ROOT}
##
## You can read options/env.sh for more in-depth explanations of the variables
## and how they can be controlled.
-source bin/env.sh
+source $(dirname "$0")/env.sh
## =============================================================================
## Step 1: download/update the detector definitions (if needed)
@@ -29,44 +29,55 @@ pushd ${DETECTOR_PREFIX}
## We need an up-to-date copy of the detector
## start clean to avoid issues...
-if [ -d ${JUGGLER_DETECTOR} ]; then
+if [ -d "${JUGGLER_DETECTOR}" ]; then
echo "cleaning up ${JUGGLER_DETECTOR}"
- rm -rf ${JUGGLER_DETECTOR}
+ mv "${JUGGLER_DETECTOR}" /tmp/.
fi
echo "Fetching ${JUGGLER_DETECTOR}"
-git clone -b ${JUGGLER_DETECTOR_VERSION} https://eicweb.phy.anl.gov/EIC/detectors/${JUGGLER_DETECTOR}.git
-#else
- #echo "Updating ${JUGGLER_DETECTOR}"
- #pushd ${JUGGLER_DETECTOR}
- #git pull --ff-only
- #popd
-#fi
+git clone -b ${JUGGLER_DETECTOR_VERSION} --depth 1 https://eicweb.phy.anl.gov/EIC/detectors/${JUGGLER_DETECTOR}.git
+
+## We need an up-to-date copy of the detector
+## start clean to avoid issues...
+if [ -d "${BEAMLINE_CONFIG}" ]; then
+ echo "cleaning up ${BEAMLINE_CONFIG}"
+ mv "${BEAMLINE_CONFIG}" /tmp/.
+fi
+echo "Fetching ${BEAMLINE_CONFIG}"
+echo "git clone -b ${BEAMLINE_CONFIG_VERSION} --depth 1 https://eicweb.phy.anl.gov/EIC/detectors/${BEAMLINE_CONFIG}.git"
+git clone -b ${BEAMLINE_CONFIG_VERSION} --depth 1 https://eicweb.phy.anl.gov/EIC/detectors/${BEAMLINE_CONFIG}.git
+
## We also need an up-to-date copy of the accelerator. For now this is done
## manually. Down the road we could maybe automize this with cmake
if [ -d accelerator ]; then
echo "cleaning up accelerator"
- rm -rf accelerator
+ mv accelerator /tmp/.
fi
echo "Fetching accelerator"
-git clone https://eicweb.phy.anl.gov/EIC/detectors/accelerator.git
-#else
-# echo "Updating accelerator"
-# pushd accelerator
-# git pull --ff-only
-# popd
-#fi
+git clone --depth 1 https://eicweb.phy.anl.gov/EIC/detectors/accelerator.git
+
## Now symlink the accelerator definition into the detector definition
echo "Linking accelerator definition into detector definition"
ln -s -f ${DETECTOR_PREFIX}/accelerator/eic ${DETECTOR_PATH}/eic
+ln -s -f ${DETECTOR_PREFIX}/${BEAMLINE_CONFIG}/${BEAMLINE_CONFIG} ${DETECTOR_PATH}/${BEAMLINE_CONFIG}
+popd
## =============================================================================
## Step 2: Compile and install the detector definition
echo "Building and installing the ${JUGGLER_DETECTOR} package"
-mkdir -p ${DETECTOR_PREFIX}/build
-pushd ${DETECTOR_PREFIX}/build
+mkdir -p ${DETECTOR_PREFIX}/${JUGGLER_DETECTOR}_build
+pushd ${DETECTOR_PREFIX}/${JUGGLER_DETECTOR}_build
cmake ${DETECTOR_PATH} -DCMAKE_INSTALL_PREFIX=${LOCAL_PREFIX} -DCMAKE_CXX_STANDARD=17 && make -j30 install || exit 1
-cmake ${DETECTOR_PATH} -DCMAKE_INSTALL_PREFIX=${LOCAL_PREFIX} -DCMAKE_CXX_STANDARD=17 && make -j30 install
+popd
+rm -rf ${DETECTOR_PREFIX}/${JUGGLER_DETECTOR}_build
+
+mkdir -p ${DETECTOR_PREFIX}/${BEAMLINE_CONFIG}_build
+pushd ${DETECTOR_PREFIX}/${BEAMLINE_CONFIG}_build
+cmake ${DETECTOR_PREFIX}/${BEAMLINE_CONFIG} -DCMAKE_INSTALL_PREFIX=${LOCAL_PREFIX} -DCMAKE_CXX_STANDARD=17 && make -j30 install || exit 1
+popd
+rm -rf ${DETECTOR_PREFIX}/${BEAMLINE_CONFIG}_build
+
+
## =============================================================================
## Step 3: That's all!
diff --git a/bin/env.sh b/bin/env.sh
index ad9a73a16397ef6c627d2776a56900746bd70042..0e3b82e0a0c6a26a98783166f6ddbff0813bb1a6 100755
--- a/bin/env.sh
+++ b/bin/env.sh
@@ -32,6 +32,15 @@ echo "Setting up the Physics Benchmarks environment"
## in case you would like to modify the detector package or
## number of events to be analyzed during the benchmark
+if [ ! -n "${BEAMLINE_CONFIG}" ] ; then
+ export BEAMLINE_CONFIG="ip6"
+fi
+
+if [ ! -n "${BEAMLINE_CONFIG_VERSION}" ] ; then
+ export BEAMLINE_CONFIG_VERSION="master"
+fi
+
+
## Detector package to be used during the benchmark process
if [ ! -n "${JUGGLER_DETECTOR}" ] ; then
export JUGGLER_DETECTOR="topside"
@@ -110,6 +119,8 @@ echo "LOCAL_DATA_PATH: ${LOCAL_DATA_PATH}"
echo "DETECTOR_PREFIX: ${DETECTOR_PREFIX}"
echo "DETECTOR_PATH: ${DETECTOR_PATH}"
echo "ROOT_BUILD_DIR: ${ROOT_BUILD_DIR}"
+echo "BEAMLINE_CONFIG: ${BEAMLINE_CONFIG}"
+echo "BEAMLINE_CONFIG_VERSION: ${BEAMLINE_CONFIG_VERSION}"
## =============================================================================
## Setup PATH and LD_LIBRARY_PATH to include our prefixes
diff --git a/bin/print_env.sh b/bin/print_env.sh
index 6b5b36313e5433070179fe5a86d791d7728c1c1a..d8b19f517d873525029b474c9ff8bab0011bc687 100755
--- a/bin/print_env.sh
+++ b/bin/print_env.sh
@@ -11,3 +11,5 @@ echo "LOCAL_PREFIX: ${LOCAL_PREFIX}"
echo "LOCAL_DATA_PATH: ${LOCAL_DATA_PATH}"
echo "DETECTOR_PREFIX: ${DETECTOR_PREFIX}"
echo "DETECTOR_PATH: ${DETECTOR_PATH}"
+echo "BEAMLINE_CONFIG: ${BEAMLINE_CONFIG}"
+echo "BEAMLINE_CONFIG_VERSION: ${BEAMLINE_CONFIG_VERSION}"