Using MINOS Offline Software on BNL Machines
This describes how to use and develop the MINOS offline software on
our GNU/Linux computer systems.
Overview of systems
Currently the machines under this umbrella are:
- bnlku1.phy.bnl.gov
- Milind's workstation
- 2x PIII 600 MHz
- 0.25 GB RAM
- Serves: /minos/00 and /minos/01
- minos.phy.bnl.gov
- daedalus.phy.bnl.gov
- Mark's workstation
- 2x AMD Athlon MP 2.1 GHz
- 2.0 GB RAM
- Servers: /minos/0[45]
- icarus.phy.bnl.gov
- Mary's workstation
- 2x AMD Opteron 2.0 GHz
- 2.0 GB RAM
- Servers: /minos/06
Any purchasers of new MINOS machines should contact me (bv@bnl.gov) so
that they can get hooked in to this umbrella (NFS, NIS, etc). There
are also some requirements on the local machines such as compiler
version and 3rd party software installation. It is suggested that you
run Debian GNU/Linux. If desired, I am willing to help manage your
system if Debian is choosen.
The rest of this assumes you are working on a machine in the umbrella.
Outline of MINOS offline code development
Before going further you should read the
overview
of MINOS offline software installation.
It describes the way an installation of the MINOS offline software is
structured as well as defining some of the terms below.
Setting up your account as end user
To set up your account to use the MINOS offline code you just source a
setup file:
bash> source ~minos/share/usepackage/use.bsh
tcsh> source ~minos/share/usepackage/use.csh
Then:
shell> use minos
(or just "use root" if one just wants ROOT environment).
The main executable (loon) should now be accessible.
Setting up your account as a developer
To develop code you need to "use minos" as above and
make yourself a
test
release.
There are details
here
but below gives a quick recipe to follow.
First time set up of a test release
bash> cd /path/to/some/working/area
bash> newrel -t development test
Creating a test release "test" in the directory
/path/to/some/working/area
bash> ls test
GNUmakefile bin/ doc/ include/ lib/ man/ results/ tmp/
You can choose any name you want instead of "test". It will
be the name of the top level directory in the release. Again, see here for details on
what you can do with your "test" release.
One thing a beginner should do is examine the "Demo" package and in
particular the UserAnalysis.{cxx,h} class which implements a simple
analysis Job Module. The following steps will setup your environment
for this test release, add and build the "Demo" package and run a job
using the UserAnalysis module.
bash> use minos # if not already done
bash> cd test
bash> srt_setup -a
bash> addpkg Demo
bash> cd Demo
bash> ls
CVS/ DemoSnarlList.h demo-1.jcm dispatcher.jcm
DemoDataReject.cxx GNUmakefile demo-1a.C fakedaq.C
DemoDataReject.h HelloWorld.cxx demo-1a.jcm fakedaq.jcm
DemoEventDump.cxx HelloWorld.h demo-2.C hello.C
DemoEventDump.h UserAnalysis.cxx demo-2.jcm hello.jcm
DemoMCFilter.cxx UserAnalysis.h demo.C
DemoMCFilter.h demo-0.C demoroot.C
DemoSnarlList.cxx demo-1.C dispatcher.C
bash> make
<**compiling**> ...
bash> loon demo-1.C /path/to/some/data/FXXXX.mdqa.root
Every time setup for a test release
Doing "use minos" will set up your environment to access the
development base release. In order to tell SRT to prefer
packages in a test release to those in a base release, issue the
following:
bash> use minos # if not already done
bash> cd /path/to/some/working/area/test
bash> srt_setup -a
Any libraries or executables which in your "test" release will now be
chosen instead of their corresponding ones in the base release.
Where to go for more info
- The top level WebDocs page
in theory contains or has links to everything there is to know
about the offline.
- The Minos
Companion gives some introduction and tips on C++,
ROOT as well as a glossary of terms.
- The online version of the
tutorial.
- A page on how to
configure
and run MINOS offline jobs.
- The User Manual
Document contains sections documenting the major core packages.
- Ask me (bv@bnl.gov, x7431) if
you have any questions.
Brett Viren
<bv@bnl.gov>
Last modified: Mon Aug 23 12:40:44 EDT 2004