Running an example job at NIKHEF

This is a single step recipe for using the Atlas software locally at Nikhef. If you follow all the steps you should be able to run and modify an example Atlfast job.

Make sure you run the local setup scripts. Edit your ${HOME}/.cshrc script and add at the end the line source /group/atlas1/nikhef/bin/nikhef_setup.csh.

If you create a new shell you are now set-up to use the software at Nikhef. A number of environmental variables are now set, the CMT is configured and a number of programs are now available (e.g. Xerxes, Root). You can check that CMT is working correctly by typing cmt; you will find the online help. Further information on CMT can be found here.

A number of scripts is actually running using this setup. Apart from the nikhef_setup.csh, the CMSsetup.csh and the CMT setup.csh are being invoked. They all reside in the directory /group/atlas1/nikhef/bin/. The environmental variables are listed on a separate page.

Check-out the TestRelease package. Most often your application runs using this package. Goto your user account /group/atlas2/Users/MyName and type cmt co TestRelease.

The Athena framework makes heavily use of shared libraries. When you create an application (i.e. analysis algorithm) you actually generate a shared library that can be linked into an Athena job. Most often therefore the development of your application is done in a separate package from the one in which you run the Athena program. The TestRelease package is a standard package for running Athena applications. You can easily add your own application in this package and run it in Athena.

By checking out the TestRelease package you use the local CVS repository (i.e. committing Atlas software is not put forward to the Atlas repository!). You then have the TestRelease package as directory, with as sub-directory the version (you took the HEAD (=latest) version from CVS).

Initialise the TestRelease package. Goto TestRelease/TestRelease-xx-yy-zz/cmt and type source setup.csh. Install all the libraries by typing gmake (this might take a little).

This is the normal procedure for initialising a CMT package. The setup.csh script initialises all needed environmental variables, and the gmake compiles, links and installs all needed libraries. In this example no real compilation of source code is done, the TestRelease package has no C++ sources.

You are now set to run a couple of standard jobs, that come for free with the release. You have access to the Athena executable (try typing athena), but you will need a JobOption.txt file to configure the athena job.

As you can see in the requirement file (in the directory cmt), the TestRelease package uses all packages of the whole release. You will therefore install all the libraries of the release, and all example jobOption files. You can modify the requirements file to make a stricter selection on the packages. For example, remove the line use AtlasRelease AtlasRelease-* and decomment the lines

      use Control    Control-*
      use Event      Event-*
      use Generators Generators-*
      use Simulation Simulation-*

respectively.

Run an example athena job. Goto the directy cd ../run and type athena jobOptions.pythia.txt. This will generate 5 Pythia events with a Z0.

You have now run an Athena job interactively. As you can see, in the directory are many example jobOption files. Also try the HelloWorldOptions.txt file.

Modifying an example job at NIKHEF

In this section we install a package with an Athena algorithm and run it in an Athena job. We will start by using a simple example of a Higgs analysis. The package is called HiggsAnal.

Check the package HiggsAnal from the repository. Therefore, go to your directory /group/atlas2/Users/MyName and type cmt co HiggsAnal.

The package HiggsAnal is not part of the standard ATLAS release, but is a simple example program written at Nikhef. I have put it in the local Nikhef CVS repository, which you can find at /group/atlas1/cern/cvs. There is however no guarantee that the package will remain there.

You have now checked-out the HEAD version of the package, and created a cmt directory HiggsAnal. In there you'll find the version directory below with the headers, sources etc.

Initialise and compile the package by typing source setup.csh and gmake in the cmt directory.

During this step the shared libraries libHiggsAnalLib.so and libHiggsAnal.so are being created, which you can find in the directory Linux-gcc-dbg. These libraries can be dynamically linked into an Athena job.

Have a look at the requirements file. It also declared two extra files needed for run-time. They are basically the jobOptions files for running athena with the HiggsAnal libraries. They will be installed in the run directory of the TestRelease later on.

Add your package to the TestRelease. Therefore goto the TestRelease/TestRelease-xx-yy-zz/cmt directory and modify the requirements file. Add the line use HiggsAnal v* Users/MyName somewhere at the beginning. Also add the line use GeneratorSettings v* Utilities, as we need this package too.

Check that the HiggsAnal (and GeneratorSettings) package can be found by CMT by typing cmt show uses. If not, check the CMTPATH environmental variable. The GeneratorSettings is a packages that simplifies the interface to the Pythia event generator somewhat, and is not part of the official Atlas release.

Install your package in the run-time environment. Type gmake in the cmt directory of the TestRelease package.

You now have installed the jobOption files of the HiggsAnal packe in the run directory of the TestRelease package. You are ready to run.

Run the athena job by typing athena AnalHZZOptions.txt in the run directory.

This package will actually create a (hbook) histogram file and an NTuple file. The jobOption file AnalHZZ.txt can easily be modified to create root files instead.

You are now ready for the 'modification and run' cycle. You can change the HiggsAnal package as you wish and run the athena job immediately.

Have good fun!


S Bentvelsen