d0scan_qt comply with the D0 runtime environment specification. Hence, one can build a tar file that will contain everything that's needed to run d0scan_qt on a non D0 machine. However, the original RTE implementation is no longer functional, this is an attempt at using the tools used for grid processing.
Here is a brief description of the procedure. Currently, the grid tarball script only allows to make a script for an executable in a frozen release, i.e. one cannot use it to make a tarball of a local working directory. You must be under an sh-like shell like bash. In the following, lines starting with a # sign are comment lines.
Creating the tarball (clued0, d0minoXX):
# use bash instead of *csh
bash
# go to some directory under which you want to build the tarball (called
# sandbox here)
setup D0RunII p17.09.00 -O SRT_QUAL=maxopt
setup d0rte -d
# create the sandbox directory
$D0RTE_DIR/scripts/makeD0_Production_Sandbox.sh p17.09.00 sandbox maxopt d0scan_qt_x
# put minimal root structure (will be in future d0scan RTE scripts)
mkdir -p sandbox/rundata/root/include
cp $ROOTSYS/include/* sandbox/rundata/root/include
mkdir -p sandbox/rundata/root/etc
cp $ROOTSYS/etc/* sandbox/rundata/root/etc
# copy also the d0correct+d0scan executable
cp ${SRT_PUBLIC_CONTEXT}/bin/${SRT_SUBDIR}/d0scan_qt_d0correct_x sandbox/bin/${SRT_SUBDIR}/
cd sandbox
cp ${SRT_PUBLIC_CONTEXT}/D0reltools/rcp_init_writable.sh .
. GlobalEnvBootstrap.sh
# fix geometry_db
cd geometry_db
ln -sf ../rundata/geometry_db/db .
cd ..
# remove mesa libraries from tarball
\rm lib/${D0RTE_SUBDIR}/libGL*
# cleanup the sandbox directory to reduce the size of the tarball
cd rundata
\rm -fR tsim_*
cd ..
# make the tarball
cd ..
tar czhf sandbox.tgz sandbox/
Running d0scan on a non D0 machine using the tarball:
# use bash instead of *csh
bash
# go to some directory under which you want to untar the sandbox
# get the tarball and untar it
. GlobalEnvBootstrap.sh
./rcp_init_writable.sh
# got to a directory where you want to run the display
# create links, etc
. ${D0RTE_RTEDIR}/rundata/runtime-scripts/d0scan_qt_x/d0scan_qt_x-runtime.sh $PWD
# the following lines will not be needed once the d0scan RTE has been updated
export ptable=${D0RTE_RTEDIR}/rundata/mcpp/dat/ptable.dat
export ROOTSYS=${D0RTE_RTEDIR}/rundata/root
ln -sf ${D0RTE_RTEDIR}/rundata/smtraw/peds/* .
export hmatL07=${D0RTE_RTEDIR}/rundata/hmreco/dat/hmatrix-L07.dat
export hmatL08=${D0RTE_RTEDIR}/rundata/hmreco/dat/hmatrix-L08.dat
export hmatL09=${D0RTE_RTEDIR}/rundata/hmreco/dat/hmatrix-L09.dat
export hmatL41=${D0RTE_RTEDIR}/rundata/hmreco/dat/hmatrix-L41.dat
export hmatH07=${D0RTE_RTEDIR}/rundata/hmreco/dat/hmatrix-H07.dat
export hmatH08=${D0RTE_RTEDIR}/rundata/hmreco/dat/hmatrix-H08.dat
export hmatH09=${D0RTE_RTEDIR}/rundata/hmreco/dat/hmatrix-H09.dat
export hmatH41=${D0RTE_RTEDIR}/rundata/hmreco/dat/hmatrix-H41.dat
# run the display
${D0RTE_RTEDIR}/bin/${D0RTE_SUBDIR}/d0scan_qt_x -rcp ${D0RTE_RTEDIR}/rundata/framework_rcps/d0scan_qt_x/run_d0scan_qt_off_tmb.rcp -input_file mytmb
Notes:
d0scan_qt_x: gl.c:1778: cc_glglue_instance: Assertion `gi->versionstr && "could not call glGetString() -- no current GL context?"' failed.The current fix is to unset ROOTSYS. The reason is not understood and that probably implies that one can no longer run d0correct+d0scan.
Last Modified: 1 December, 2005 .