|
NOvA /
Offline InstallationInstallation guide for NOvA offline softwareThis guide is intended to get users started form scratch on a new computer system and end with a working installation of the NOvA offline software. Contents:
Installation of external packages and NOvA software:The NOvA software makes use of several external packages which need to be installed before you can begin to build the NOvA software. Many are fairly standard and you may have them installed already on your system. If you need to install the packages yourself, please refer to the NOvA-specific documentation by clicking on the package name in the left-hand column in the table below. To get the dependencies among the packages correct, they should be installed in the order given in the table. The table also indicates the versions for which the installation procedure has been tested. Other versions of the package may work together, but not all combinations have or can be tested. If you run across a version set that does not work, please post them here. Newer versions than those listed are expected to be OK. The FMWK packages are a somewhat special case. While they are not NOvA-specific, they are maintained by NOvA collaborators and hence while they are technically an external package, we maintain some ownership of them. They are incorporated into our releases in the same way as any NOvA-specific packages. If you follow the instructions below, this distinction may not be apparent to you -- that is as it should be! The Virtual MC allows you to use geant4 or geant3. If you want to use geant3, you'll need to download and install it. A C++ interface is provided in Root via the TGeant3 class. Installation of the virtual Monte Carlo is a little bit tricky and if you intend to install it, you need to think a head a little bit. In particular, you will need to install geant4 with "granular libraries" and, although it says its optional, my build failed without the "vgm" package installed. The complete list of external packages used by the NOvA software are:
Making your base release workYou'll probably want to create some setup scripts, so users (yourself included) will have an easier time using the base release. The recommended way is to create a setup directory in the top level of your $SRT_DIST (should be directory novasoft): % cd $SRT_DIST Now copy some files from the base development release to this setup directory: % cp $SRT_DIST/releases/development/setup/setup_novasoft* . This will have copied 3 files: When that is done, you should be able to log out, log back in, and source your version of setup_novasoft_....csh (or sh). This will setup the base release, and perform all the necessary SRT setups. Ordinary users will be able to use these scripts to use the base release each time they start a new session. If you are responsible for maintaining the base release, you can go ahead and try to compile it! % cd $SRT_PUBLIC_CONTEXT % make clean % make Note 1: If your build fails because the DatabaseBase, EventGeneratorBase, SimulationBase, and/or Header packages is not present, follow these steps: In the $SRT_DIST director make directories for the missing packages: % cd $SRT_DIST/packages % mkdir DatabaseBase % mkdir EventGeneratorBase % mkdir SimulationBase % mkdir Header In each of these subdirectories you will want to make a file called "cvsroot". For DatabaseBase, the content of this file should be: % cd DatabaseBase % echo ':pserver:anonymous@enrico1.physics.indiana.edu:/root' > cvsroot For the other packages its: % cd EventGeneratorBase % echo ':pserver:anonymous@cdcvs.fnal.gov:/cvs/cd_read_only' > cvsroot % cd ../Header % cp ../EventGeneratorBase/cvsroot . % cd ../SimulationBase % cp ../EventGeneratorBase/cvsroot . These files will point the releases at the correct CVS repositories for these packages. Note 2: In recent Mac installations it is possible the build will fail because $XERCESROOT/include files will not be found. A temporary fix is: % ln -s $XERCESROOT/include/xercesc $SRT_PUBLIC_CONTEXT/include/. Setting up a frozen releaseA script currently exists to setup a frozen release. To do so, run the script % $SRT_PUBLIC_CONTEXT/SRT_NOVA/scripts/update_rel -rel SYY.MM.DD where YY.MM.DD is the date the release was made in the format of year-month-day. To use a frozen release, run the nova setup script with the -r option. For example, at Fermilab, to set up to use the S09.08.21 release you would do % /nas-pool/e929/code/novasoft/setup/setup_novasoft_fnal.(c)sh -r S09.08.21 NOvA Environment VariablesThere are a number of environment variables which are either required or are useful when working with a NOvA release. Several of these are provided by the SoftwareReleaseTools srt_setup scipt but many must be set by the user. The following table provides a summary of the environment variables expected by the NOvA software:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||