Options

There are currently two somewhat different installation options for Marmoset, depending on how you want to use it.

  • If you want to interface with PGS, you probably want to follow the ORIGINAL MODE instructions. These installation instructions also download Pythia 6, STDHEP, two versions of PGS, and a private root-based plotting tool (see description of dependencies below)
  • If you only want to generate STDHEP or Les Houches format events in Marmoset, and want to download less code, please follow the SLIM MODE instructions, instead. The makefile in this installation will only download Pythia 6 and STDHEP, and we have removed all executables and scripts with additional dependencies.

To follow the examples documented on this wiki, please use original mode.

Downloading and Installing Marmoset (ORIGINAL MODE/BIG DEPENDENCIES)

Marmoset has been installed on various flavors of Linux, Mac OS X, and Windows (running Cygwin). Please send us your bug reports, as well as suggestions for how to streamline the installation process.

Quick Setup

If you already have ROOT installed, already have all the necessary command line tools, and trust our software completely, then you can run the following commands:

mkdir ~/cvs
cd ~/cvs
cvs -d :pserver:anonymous@marmoset-mc.net:/usr/local/cvsroot checkout -r V0_05 Marmoset
cd Marmoset
make install
make environment

If you want to find out what is really going on, keep reading.

Preliminary Setup

It is important to set up a common installation directory. We recommend ~/cvs/ because we use cvs (Concurrent Versions System) for distribution.

mkdir ~/cvs

All Marmoset files and most related packages will go in that directory.

Installing Dependencies

MARMOSET is a tool for analyzing collider data using an approximate Monte Carlo technique. Because many of the tools for data analysis and Monte Carlo generation have already been written, MARMOSET has many dependencies. Before attempting to install MARMOSET, you should download and install the following packages:

Command line tools

g77, gcc, g++, make, wget, perl, python, cvs, … : We assume that you have the standard software to compile Fortran and C++ executables, run perl and python scripts, and download software from remote servers. If you find other specific dependencies in our software that aren't part of a standard Linux/Cygwin/MacOSX distribution, please let us know.

ROOT (Object Oriented Data Analysis)

We know of no easy or generic way to install ROOT. Instructions are available on the Root Website. For most platforms, precompiled binaries are available. To see if you have installed ROOT correctly, make sure that the ${ROOTSYS} environmental variable is defined and that the executable root-config –cflags runs without errors.

(For Intel Mac Users: as of November 2006, the fink version of ROOT does not work properly; the dynamic libraries are somehow broken.)

Other Dependencies

These are other dependencies, but they will be handled by the MARMOSET installer, so you don't have to worry about them. For reference, you will download the following packages.

PYTHIA (Collider Monte Carlo Generation)

PYTHIA is the workhorse of MARMOSET that handles production, decay, and showering of signal Monte Carlo. Because of the way that MARMOSET interfaces with PYTHIA, you cannot download and compile PYTHIA in the usual way. PYTHIA will be downloaded and compiled by MARMOSET.

StdHEP

StdHEP is an FNAL library for converting between various Monte Carlo conventions. StdHEP is used for the interface between Pythia and PGS.

MPotato

MPotato is a ROOT-based analysis package originally written by Tom Hartman under the name SweetPotato. It was never intended to be used as a comprehensive analysis tool, but it has many features that made it relatively easy to adapt to Marmoset usage. We may switch to a more flexible framework such as ChRoot for data analysis.

gzstream

gzstream is a package for directly inputting gzipped files. This is used by MPotato to speed up signature generation.

PGS (Fast Detector Simulation)

Eventually, we will use John Conway's PGS4 for fast detector simulation. We are using a hacked version of PGS for the time being while PGS4 undergoes tested. You will download HPGS, which is part of the MARMOSET distribution.

Downloading Marmoset

MARMOSET is being distributed using cvs. You will log in remotely to marmoset-mc.net to download the package. Assuming you've created the ~/cvs directory, run the following commands.

cd ~/cvs
cvs -d :pserver:anonymous@marmoset-mc.net:/usr/local/cvsroot checkout -r V0_05 Marmoset

Except for the the command line tools and ROOT mentioned above, all other dependencies will be downloaded by MARMOSET.

Note that if you do not supply the version number (-r V0_05), only the portions of Marmoset that do NOT depend on PGS and/or MPotato will be available.

Compiling Marmoset and Other Dependencies

Assuming Marmoset downloaded properly you should be able to download, install, and compile all other packages. Make sure wget and cvs are installed on your machine and that you are connected to the internet. Then use the following commands:

cd ~/cvs/Marmoset
make install

If you would rather have more control over downloading and installation, you can instead run:

cd ~/cvs/Marmoset
make download
make update
make

If you want maximum control over all stages of downloading and compilation (or if you run into problems), you can run all of the commands manually:

cd ~/cvs/Marmoset
cvs update -dP

make ../pythia6
pushd ../pythia6; cvs update -dP; popd
make libpythia.a

make ../stdhep-5-05-03
pushd ../stdhep-5-05-03 ; make stdhep ; make mcfio ; popd

make ../PGS
pushd ../PGS; make ; popd

make ../MPotato
pushd ../MPotato; cvs update -dP ; make ; popd

make ../HPGS
pushd ../HPGS; cvs update -dP ; popd
pushd ../HPGS/libraries/cernlib ; make ; popd
pushd ../HPGS/libraries/pgs ; make ; popd
pushd ../HPGS/libraries/isalib ; make ; popd
pushd ../HPGS/libraries/cernlib ; make ; popd

make

But we recommend just running make install.

If you are building the dependencies by hand, be sure to follow the Environmental Variables instructions below, as well.

Downloading and Installing Marmoset (SLIM MODE)

Marmoset has been installed on various flavors of Linux, Mac OS X, and Windows (running Cygwin). Please send us your bug reports, as well as suggestions for how to streamline the installation process.

More detail is provided in the ORIGINAL MODE instructions above. Installation of the “slim mode” is quite similar:

Quick Setup (slim)

If you already have ROOT installed, already have all the necessary command line tools, and trust our software completely, then you can run the following commands:

mkdir ~/cvs
cd ~/cvs
cvs -d :pserver:anonymous@marmoset-mc.net:/usr/local/cvsroot checkout Marmoset
cd Marmoset
make install
make environment

Additional details

  • If compilation fails, check that you have the required dependencies.
  • Running make install will also download and compile PYTHIA and StdHEP.
  • Slim mode is relatively new, and documentation may not be up-to-date. Please contact the authors with any questions or problems!

Environmental Variables

In order for Marmoset executables to work, you need to define the environmental variable ${BASE_DIR} and add the Marmoset binary directory to your path.

For the faint of heart, run the following commands and then logout and back in:

cd ~/cvs/Marmoset
make environment

For those in the know who use tcsh shell:

echo 'setenv BASE_DIR ${HOME}/cvs' >> ~/.cshrc
echo 'setenv PATH ${PATH}:${BASE_DIR}/Marmoset/bin' >> ~/.cshrc
source ~/.cshrc

For those in the know who use bash shell:

echo 'export BASE_DIR=${HOME}/cvs' >> ~/.profile
echo 'export PATH=${PATH}:${BASE_DIR}/Marmoset/bin' >> ~/.profile
source ~/.profile

Updating Marmoset

Marmoset is evolving very quickly right now, so it does not make sense to have formal version numbers at this time. To get the latest version of Marmoset at any time:

cd ~/cvs/Marmoset
make update
make

Testing Marmoset

To see if everything is working properly, you can run an example.

cd ~/cvs
makeRunDir testRunDir
cd testRunDir
parseOSET osets/basicModel.oset
generateProcess -n 100 --pgs --all
cp processes/p000001/p000001.lhco.gz data/dumbData.lhco.gz
processData --all
fitOSET osets/basicModel.oset data/dumbData.sigs

This also gives you a sense for what the Marmoset workflow is like.

 
installing.txt · Last modified: 2008/05/28 22:54 by schuster
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki