There are currently two somewhat different installation options for Marmoset, depending on how you want to use it.
To follow the examples documented on this wiki, please use original 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.
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.
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.
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:
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.
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.)
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 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 is an FNAL library for converting between various Monte Carlo conventions. StdHEP is used for the interface between Pythia and PGS.
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 is a package for directly inputting gzipped files. This is used by MPotato to speed up signature generation.
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.
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.
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.
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:
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
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
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
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.