home dot up




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: 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






Brett Viren <bv@bnl.gov>
Last modified: Mon Aug 23 12:40:44 EDT 2004