MRPaper_logo2.gif (3697 bytes)
The Starting Point for Phobos Software/Analysis
S. Manly and the Phobos software group
last modified: 12/10/98


Introduction


This document is intended as a starting place for people who want to learn how to do analysis with Phobos data. It is an evolving document. It will grow as I run into troubles and solve them during my own odyssey. I am including tips and comments that I receive from others as well. You can contribute too! Tell me about your problems, solutions, etc. as you make progress and I will include relevant information in this file.

Some of the basic questions (with answers)

C++.  The usual style of your average fortran-trained physicist is to find one example job, jump in, and start writing code. Beware: C++ syntax, style, program flow, etc., is VERY different from fortran.  The documentation of ROOT and PhAT (packages used for Phobos analysis) will make MUCH more sense if you've taken the trouble to learn a bit about C++ first.

Beginners in object-oriented computing will benefit from a very nice, clear introductory article entitled
Object-Oriented Computing - What's the Big Deal? .  Here you will find some very useful links and references for object-oriented beginners.  Mark Baker discovered this link in the CERNLIB newsletter, which has an article about object-oriented programming with some more useful references at the bottom. .

ROOT:  said to stand for "Rene's object oriented toys".  This is a class library aimed for use in high energy and nuclear physics (a class is a C++ 'structure' that contains data, functions, other classes, etc., the business end of C++).   It constitutes a framework with all the functionality one needs to do analysis on large data sets in an efficient way, and includes CINT (written by Masaharo Goto) which interprets most C++ code.  The ROOT project is led by Rene Brun (of PAW fame). This is his idea of what one needs to do current/near future analyses in HEP and nuclear physics. Root is a shell that can interpret C++ (and custom) commands. It also allows you to run scripts that are part of the ROOT class library or are user written to do analysis, IO, graphics, etc.

PhAT:  pronounced "fat" - Phobos Analysis Toolkit.  PhAT is the Phobos specific class library.  Some might include many Phobos specific scripts (sorta like "subroutines" to fortran fans) in PhAT.

Check out the web pages at http://root.cern.ch   In particular, http://root.cern.ch/root/Availability.html   gives pointers to ROOT overview and tutorial files that are useful to a beginner. There are several other helpful documents easily reached from pointers in http://root.cern.ch/root/Publications.html   .

            Steve Beach: The Root Cheat Sheet
            Mark Pollack: The PHENIX ROOT tutorials (The emphasis of these tutorials is on histogramming)
            Andy Haas: An introduction to Root
            David d'Enterria: Conversion table from PAW to Root
            Laurent Aphecetche: A conversion program from Root to Hbook

Once you get going "root howto's", "root class categories", "root classes and members" are useful.

Check out the main PhAT web page .  It is useful to print out (for those of you who don't use paper anymore, it's the flimsy white stuff you see covering the desks of your older colleagues)  "C++ Class and Members Reference" and the list of "Example macros". But, the place to start is "PhAT documentation"! If you are in the process of becoming somewhat C++/ROOT literate, this will be useful. If you are not, you should spend some time learning a bit about ROOT and C++.  We are in the process of creating heavily documented jobs that will serve as a starting place for beginning users ... see below.

Root runs on numerous platforms. See http://root.cern.ch/root/Availability.html
PhAT currently supports Linux, DEC Unix (OSF1), SunOS (Intel and SPARC).

Go to the RCF web page and click on "new user accounts".  As of 7/21 you will be told to telnet to rcf.rhic.bnl.gov and login as "newuser" (hit return for password).  Follow instructions.  Mark Baker is your contact.

Use the Phobos data tracker database.  As of 12/7/98, it is of limited utility to a true beginner, but hopefully that will change.  The intent is to soon supply a small file of  full ROOT events with PhAT.  Or, if not with PhAT, then somewhere easily accessible to YOU. 

Well, you can try running PhAT at BNL, where there is a version on rlnx03 that is SUPPOSED to work.  Check out the instructions on how to do this.  You can also download a snapshot of PhAT (you'll also need ROOT).

SSH stands for Secure SHell.  It is what security-conscious system managers will force you to use instead of straight telnet.  It's trivial to use if it is set up on your computer(s) ... just type "ssh computer-where-you-want-to-go".  If it is the first time you've done it to that particular computer you may get a message that asks you if you know what you are doing and "do you want to continue?"  Say "yes" and move on.  Yes, you will have to type "yes".  If you want to know more about ssh, check out this document at MIT or this document at BNL.  

Example programs

The software group is in the midst of putting together several heavily documented example programs.  A good place for beginners to start is the macro "phat_example.C".  It is in the Phat distribution (see $PHATHOME/phat/macros/phat_example.C).  Also, see Don McLeod's note on Phatloop.  More is coming soon!

Tips for new users