Notes about setting up MVD software

on the BNL linux computers in phool

These instructions worked today (23-Nov-99).

I have tried to record exactly what I did to set up phool in my account on phnxmvd (a.k.a. rcas0040) at BNL. This is a Pentium-something computer running a version of RedHat linux. Here is a link to a page (from the phenix offline group/Kyle Pope) at BNL which tells how to set up phool at BNL. The offline group's page tends to be updated more than mine. It is also written for a more general case. If these instructions do not work, try the offline group's instructions instead. If you find an error in these instructions, tell me.

Login to one of gateway machines at BNL. My experience says that less users connect to rsshgw.rhic.bnl.gov than rcf.rhic.bnl.gov. Then go to phnxmvd(a.k.a. rcas0040).
ssh rsshgw.rhic.bnl.gov
(or ssh rcf.rhic.bnl.gov)
(give password)
ssh phnxmvd
(give password if it asks)

Go to the top directory, below which the software will be installed.
cd your_top_directory_here

PH_HOME is an enviroment variable which points to the top of the directory tree where you want to work.
setenv PH_HOME $PWD
You have to set up environment for the PHENIX Root-based analysis framework .
source /opt/phenix/bin/phenix_setup.csh
Then set up LD_LIBRARY_PATH.
setenv LD_LIBRARY_PATH "${PH_HOME}/install/i686-pc-linux-gnu/lib:${LD_LIBRARY_PATH}"

Or save this script onto $PH_HOME and excute it. This script will take care of all the above works.
source phool_env

Assuming you have not already done so, create parts of the directory trees below $PH_HOME. I am not sure what fraction of these trees would get created in the rest of the procedure, but you need to do at least part of this yourself.

mkdir $PH_HOME/source
mkdir $PH_HOME/work
mkdir $PH_HOME/install
mkdir $PH_HOME/build
mkdir $PH_HOME/build/i686-pc-linux-gnu
mkdir $PH_HOME/build/i686-pc-linux-gnu/mvd
mkdir $PH_HOME/build/i686-pc-linux-gnu/mvd/src
mkdir $PH_HOME/install/i686-pc-linux-gnu

Setup access to afs/cvs files at BNL:
klog your_account_name_at_bnl
(give password)

Now "checkout" the mvd code and macros from the cvs repository (accessed via afs) at BNL:
cd $PH_HOME/source
cvs checkout -d mvd offline/packages/mvd
cd $PH_HOME
cvs checkout -d work offline/packages/gea/macros

The following instructions are stolen almost directly from this document by Kyle Pope:
Copy modified wrappers from source directory to build directory.
cd $PH_HOME/build/i686-pc-linux-gnu/mvd/src
cp $PH_HOME/source/mvd/src/* .

Whenever you make any change with any source code you have to copy that file to  $PH_HOME/build/i686-pc-linux-gnu/mvd/src. Otherwise makefile does not know that change you have made.

Get ready to make the libraries:
cd $PH_HOME/build/i686-pc-linux-gnu/mvd
the following is one line:
$PH_HOME/source/mvd/autogen.sh --prefix=$PH_HOME/install/i686-pc-linux-gnu

make the libraries:
make
(this takes a 5 or 10 minutes)

continue:
make install

Go to the work directory
cd $PH_HOME/work
See if LD_LIBRARY_PATH has been set all right
echo $LD_LIBRARY_PATH

There are 6 macro files you can choose from.
mvdResp.C reads in simulation data in root format and writes out a prdf. This macro will call modules up to mMvdDCM.
mvdReco.C reads in a prdf  and writes out a DST. This macro calls modules from mMvdUnpack upto vertex finding module(mMvdPseudoTrk).
mvdTest.C does what both of mvdResp.C and mvdReco.C do.

These 3 modules will call mMvdPseudoTrk as a vertex finding module. If you want to call mMvdZcor then you have to include BBC modules in your macros. In this case the macro you need is one of following 3 macros.
bbcmvdReco.C
bbcmvdResp.C
or bbcmvdTest.C
You don't need to compile BBC codes yourself. You only need to set up LD_LIBRARY_PATH correctly to use built-in BBC library on  AFS area.

If you are going to run a reconstruction then link a prdf you want to use.
ln -s /direct/phenix+data02/rhphemds/pisatest/hjievt_175auaucentsq08_0218991v00.prdf phnx.prdf

Mvd codes need some calibration data files.
cp /afs/rhic/phenix/software/calibration/new/MVD*.dat .

Or you can make macros yourself using PYRITE. But I haven't tried.
 

  • 1. Start the GUI by typing "/afs/rhic/phenix/software/pyrite/pro/pyrite.tcl &"
  • 2. Click on the "Quick Configurations" button.
  • 3. Click on the "Recon" button in the "MVD" row. The BBC reconstruction button will be automatically activated.
  • 4. "Exit Window With Changes"
  • 5. Click on the "Write PHOOL Macros" button.
  • 6. Give your macro a name (default="foo") and press the "Write Macros" button to generate the macros. In this example I assume you used "mvd". Click "Write Macros" then "Close Window".
  • 7. Exit Pyrite.

  •  

     

    Here is a way to make sure the system doesn't make big core files in your directory if you do not intend to look at them:
    touch core
    chmod 444 core

    Start root, then tell root to run 2 events:
    root -b
    .x mvdResp.C;
    or .x mvdReco.C(2);
    or .x mvdTest.C;
    or .x bbcmvdResp.C
    or .x bbcmvdReco.C(2);
    or .x bbcmvdTest.C;

    In fact 5 of the above macros worked but bbcmvdReco.C came to an end with segmentation violation.


    John Sullivan
    comments to: sullivan@lanl.gov
    updated 29-Sep-1999

    Sangsu Ryu
    comments to: ryu@p2hp2.lanl.gov
    updated 24-Nov-1999