HEP on Mac OS X

Motivation

After several years struggling with Windows/Intel machines and an occasionally unresolvable interrupt and system corruption mess, I decided 1995 to give Apple a try. Since then I'm a happy user of Apple computers. However, as high energy scientist I rely on many tools only available in the unix world. Therefore, I was happy as mklinux allowed me to say good bye to sun microsystems as well and focus on one system architecture. Soon Linux for ppc and later SuSE provided the Linux world to the Apple hardware. However, I still had to maintain two operating systems, as some tools like Microsoft Office and Adobe FrameMaker are not available in the Linux world.

Thus, the real change came with Mac OS X. The appearance of the new Apple Titanium PowerBook G4 in spring 2002 was a good reason to give the new system a chance. Although I regret that Aqua is not a X window compatible interface, the blend of XFree86 with Mac OS X does the trick. In addition the fink project does a marvelous job in porting *nix software to Mac OS X. In summary: I do have a single operating system which fulfills all my needs - except that it is not mainstream, but that's the best protection against viruses (-;

HEP software for Mac OS X

One drawback of not being on a mainstream (read Intel) system is the fact, that some software is not out of the box available. This is especially true for some of the software used in the high energy physics world. However, with the increased popularity of Apples PowerBooks and G5 computer it changes. In addition the fink project provides many scientific packages.

The following high energy physics specific fink packages are maintained by me. I appreciate if you send me positive or negative feedback to any of my packages. Positive feedback allows to promote a package to the stable tree. In case of problems I will try to help you on a best effort basis.

-

Root compiles since version 3.05/05 on Mac OS X 10.2 and from version 3.11/01 onwards on Mac OS X 10.3 out of the box. If you need the versions 3.05/07 or 3.10/01 on Mac OS X 10.2 you can apply this patch.

Newer Root versions can be downloaded as binaries from the root web site.

Fink provides several packages for Root and handles the dependency management for you. There exists packages for the last production release of the 3 series and the current versions for the 4 series. 3 series packages start with root3, while 4 series packages are called root4. There are three different flavors for each root version:

  • The package with the plain package name builds the standard Root with my sql support. On Mac OS X 10.2 it is unthreaded, as Apple's X11 beta versions do not support threads.

  • The package extension 'threaded' only exists for 10.2 and provides the same functionality as the plain package, but has threads enabled.

  • The package with extension 'cernlib' builds in addition the h2root and g2root executables for converting old paw/geant321 files to Root format. It provides also the libPythia for interfacing Root to pythia.

-

RooFit is an extension for Root providing powerful tools to perform likelihood fits, produce
plots, and generate "toy Monte Carlo" samples for various physics studies. RooFit is split into 2 pieces:

  • RooFitCore which provides the core utilities

  • RooFitModels including various probability density functions (PDFs) for describing distributions

In Fink, there are 2 flavors for each of these depending on either root3 or root4. The easiest way to install it is by installing roofitmodels-root3 and roofitmodels-root4 depending on root3 and root4, respectively. Fink will install all necessary dependencies.

-

CERNLIB including paw and geant3 is not supported on Mac OS X. Nevertheless, I managed to compile the 2002 and 2003 cernlib on Mac OS X and it exists as fink package. The package for cernlib 2002 is called cernlib2002, the one for 2003 just cernlib. The package is split into four parts:

  • cernlib[2002] includes PAW and other executables of CERNLIB (excluding geant321)

  • cernlib[2002]-dev provides the basic libraries and the include files, excluding geant321 and MC libs

  • cernlib[2002]-geant321 provides the geant 3.2.1 executable, libraries and include files

  • cernlib[2002]-mclibs provides the MC libraries and include files.

-

Geant4 is also available as fink package.

If you prefer not to use fink to install software, there is a similar site by Keisuke Fujii which uses a ported version of rpm for package management. The procedure I followed to compile the cernlib is described here. Please note that this recipe is a bit outdated. I will not be able to give any support.

Valid HTML 4.01! Valid CSS!