d0scan_qt and the D0 Run Time Environment
procedure for p17, p18 and early p20 (pre p20.05.00)

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:

  1. The DB access is not currently setup by this procedure, so one cannot display RAW data.
  2. Problems have been reported for Scientific Linux 3.0.5, where d0scan would stop, reporting OpenGL errors like:
    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.
  3. Once the d0scan RTE is fully updated in the release, the procedure will be simplified.

 

Last Modified: 1 December, 2005 .