Difference between revisions of "Quick Start Guide to building GlueX Software"
(→Check-out and build) |
(→Check-out and build: add link to environment set-up page) |
||
Line 33: | Line 33: | ||
These five lines can also be found in trunk/scripts/build_scripts/boot.csh as an executable script (the second line above checks out the build_scripts directory). | These five lines can also be found in trunk/scripts/build_scripts/boot.csh as an executable script (the second line above checks out the build_scripts directory). | ||
+ | |||
+ | Note that this prescription uses gluex_env.csh to [[HOWTO set up the GlueX environment|set-up the GlueX environment]]. | ||
=Run the code= | =Run the code= |
Revision as of 08:03, 18 May 2010
Contents
Prerequisites
You gotta start somewhere. Here that means you need Xerces-C, Cernlib, and Root. The following need to be defined first:
- XERCESCROOT
- ROOTSYS
- CERN
- CERN_LEVEL
Here is an example of a working definition on ifarml5 (running Fedora 8):
setenv XERCESCROOT /group/halld/Software/ExternalPackages/xerces-c-src_2_7_0.Linux_Fedora8-i686-gcc4.1.2 setenv ROOTSYS /apps/root/PRO/root setenv CERN /apps/cernlib/i386_fc8 setenv CERN_LEVEL 2005
and an example for jlabl3 (running RHEL5):
setenv XERCESCROOT /group/halld/Software/ExternalPackages/xerces-c-src_2_7_0.Linux_RHEL5-i686-gcc4.1.2 setenv ROOTSYS /apps/root/PRO/root setenv CERN /apps/cernlib/i386_rhel5 setenv CERN_LEVEL 2005
Check-out and build
The following will checkout out and build jana, hdds, and the GlueX source tree in the current directory:
setenv GLUEX_TOP `pwd` svn checkout https://halldsvn.jlab.org/repos/trunk/scripts/build_scripts source build_scripts/gluex_env.csh set make_targets="jana_build hdds_build halld_build" make -f $BUILD_SCRIPTS/Makefile_all $make_targets
These five lines can also be found in trunk/scripts/build_scripts/boot.csh as an executable script (the second line above checks out the build_scripts directory).
Note that this prescription uses gluex_env.csh to set-up the GlueX environment.
Run the code
Again you have to start somewhere. Let's assume that you want to get the default calibration, create a directory to run the code, update your path, run the default configuration of the Monte Carlo and reconstruct the result with a default analysis code.
Get the calibration
cd $GLUEX_TOP make -f $BUILD_SCRIPTS/Makefile_all calib_make
Create a run directory
An example:
cd $HOME mkdir run cd run
Refresh the path
rehash
Run the Monte Carlo
cp $HALLD_HOME/src/programs/Simulation/HDGeant/control.in . hdgeant
Smear the hits
mcsmear hdgeant.hddm
Run the analysis
hd_root hdgeant_nsmeared.hddm
What if I don't have the prerequisites?
If the system you are on does not have Xerces-C, ROOT, or CERNLIB, there are targets in Makefile_all that can build these for you (although YMMV). For example if you do not have xerces on your system then you can modify the instructions above as follows:
- Do not set the XERCESCROOT environment on your own (as described in the "pre-requisites" section above). gluex_env.csh will do that for you.
- Add the target "xerces_build" to the "make_targets" environment variable (as described in the "check-out and build" section above), i. e., say
set make_targets="xerces_build jana_build hdds_build halld_build"
Likewise you can build ROOT and CERNLIB in a similar manner. The appropriate targets are "cernlib_build" and "root_build" respectively.