Running the MuID event display

Last modified: Fri Jul 28 17:44:40 EDT 2000

Prerequisites

The display has been tested using ROOT version 2.23; any later version should also work. The display window is fairly large (currently 950x950 pixels); please make sure that your terminal is large enough to display it.

You can work in any area that you prefer, but to simplify this discussion, I'll assume that you are working in /phenix/workarea/$USER/phool. You will need to create subdirectories build, install, and source under phool, if they do not already exist.

Getting the code

Make sure that you have an AFS token (use the "klog" command to obtain one, if necessary). Then check out the software:

% cd /phenix/workarea/$USER/phool/source
% cvs co offline/display/toolkit
% cvs co offline/display/mui

The usual MuID CVS area also contains some files that you will need, so check it out also (if you haven't done so already):

% cd /phenix/workarea/$USER/phool/source
% cvs co offline/packages/mui

Building the libraries

The display requires two shared libraries, libdisplay_kit.so and libmui_display.so. These will probably be part of the nightly rebuilds eventually, but for now, you will need to take a few minutes to build them. It will not usually be necessary to build libraries for the MuID analysis software (libmui.so and libmui_tables.so); the ones in the $OFFLINE_MAIN area will be sufficient. (For now, please set your environment so that $OFFLINE_MAIN points to new rather than pro.

Instead of building the display libraries yourself, you may prefer to load them from the /phenix/data02/pope/display-inst/i686-pc-linux-gnu/lib area. This area may not always have the very latest version, and it will disappear when the event display libraries become part of the nightly rebuilds. Just add that directory name as the first item in your LD_LIBRARY_PATH, and proceed to the section on running the display.

If you do build your own libraries, the following description (a condensed version of the PHOOL build guide) will give you the basic idea.

The toolkit library

You will be running the build from /phenix/workarea/$USER/phool/build/i686-pc-linux-gnu/display-kit (use a different name, if you prefer).

% mkdir /phenix/workarea/$USER/phool/build/i686-pc-linux-gnu/display-kit
% cd /phenix/workarea/$USER/phool/build/i686-pc-linux-gnu/display-kit
% /phenix/workarea/$USER/phool/source/offline/display/toolkit/autogen.sh --prefix=/phenix/workarea/$USER/phool/install/i686-pc-linux-gnu

There will be lots of screen output, but that is normal. If the configuration finishes successfully, start the build from the same directory:

% make install

If the build finishes successfully, you are ready to build the MuID library.

The MuID display library

You will be running the build from /phenix/workarea/$USER/phool/build/i686-pc-linux-gnu/mui-display, (or whatever you prefer).

% mkdir /phenix/workarea/$USER/phool/build/i686-pc-linux-gnu/mui-display
% cd /phenix/workarea/$USER/phool/build/i686-pc-linux-gnu/mui-display
% /phenix/workarea/$USER/phool/source/offline/display/mui/autogen.sh --prefix=/phenix/workarea/$USER/phool/install/i686-pc-linux-gnu

When the configuration finishes, start the build from the same directory:

% make install

If the build finishes successfully, you are ready to run the display.

Running the display

Now make a working directory and link to some macros and data files in the MuID analysis source area:

% cd /phenix/workarea/$USER/phool
% mkdir display-work
% cd display-work
% cp ../source/offline/display/mui/macros/mui-display.C .
% cp ../source/offline/packages/mui/wrk/mui-eval*.C .
% cp ../source/offline/packages/mui/wrk/mui-reco*.C .
% ln -s ../source/offline/packages/mui/wrk/mui-*.dat .
% ln -s mui-eval-init.C init.C
% ln -s mui-eval-event.C event.C
% ln -s mui-reco-end.C end.C

You can also make symbolic links to some PRDF, PISA, or ROOT data files for the sake of convenience. The names of these links can be anything you like (except that PISA file names must contain the text "pisa" and "root" to be interpreted correctly).

If you have not already done so, follow the instructions in the PHOOL environment guide, and make sure that the LD_LIBRARY_PATH environment variable includes the directory that contains the libdisplay_kit.so and libmui_display.so libraries that you have just built.

In addition, you'll need to make sure that ROOT can find the icons for the control buttons, which you installed with the display toolkit package. Do this by adding the following to your $HOME/.rootrc file (make this file now, if you don't have one):

*.Gui.IconPath: .:$ROOTSYS/icons:/phenix/workarea/$USER/phool/install/i686-pc-linux-gnu/icons

Replace the third entry with the directory where your icons were installed.

Now start ROOT

% root

and run the display macro:

[] .x mui-display.C

After a few moments (depending on the system load and your network connection), you will see a window appear, containing a display area, divided into four quadrants (called pads).

The pads are initially empty, but after some event data has been processed, you should see something like this screen shot. Each pad contains a different view of MuID panels in one arm, including the two-packs that were struck in the event. By default, GEANT tracks are displayed in green and roads are displayed in magenta.

You will probably want to open some event-data files; you can do this using the "Open event file" command from the File menu. The event.C macro currently assumes that you have a PISA event file open; if you do not intend to view PISA data in the display, edit event.C and comment out all of the *GetGEA calls.

The display controls

The pull-down menus and the buttons in the toolbar are provided by the PHENIX display toolkit, and are described in a separate document. The MuID-specific controls are arranged in a side panel:

display control panel

Here are descriptions of the various controls:

"Arm visibility" ("North" / "South") check boxes

select the arm to be viewed. Either arm, or both, may be visible at one time.

"Panel visibility" check boxes

select the panel(s) to be viewed. Any combination of panels can be visible at one time.

"GEANT track criteria" check boxes

if GEANT track data is available, these check boxes control a filter on the tracks that are shown. If the "Use filter" box is checked and the required relational data is available, the filter is used; otherwise, all GEANT tracks are shown, regardless of the state of the "Gap" boxes. The five numbered ("Gap 0" through "Gap 4") boxes control which gaps in the arm tracks have to hit to be visible. These conditions are cumulative, so that (for example) if all five "Gap" boxes are checked, the only visible GEANT tracks will be those that made hits in one or more panels in all five gaps in the arm.

The box labeled "Hide all", if checked, causes all GEANT tracks to be hidden; this overrides all other filter settings.

"Reset Views" button

resets the X-Z, Y-Z, and X-Y views to their default viewing angles.

"X3D" button

creates a separate window with an X3D view of the current pad.

"Expand View" button

fills the display area with an enlarged view of the current pad. When this larger view is visible, the name of the button changes to "Shrink View", and the button will then restore the default display area with four separate views.

In all cases, the current pad can be selected by clicking with the middle mouse button (or equivalent) in any of the pads.

Exiting

When you are finished working with the display, you can exit ROOT in any of the usual ways (select Quit from the menu on the display window, type .q from the command line, etc.).

Known Bugs

ROOT freezes

When running the display remotely, ROOT can sometimes "hang" completely. The reason for this is not well known currently; see the discussion on musoft-l. If this happens, the only option is to kill the ROOT process from another terminal.

Revision History

July 28, 1999
Original version.
February 4, 2000
Updated for new display, based on PHENIX display toolkit.
February 9, 2000
Added a few comments about event-data files.
February 18, 2000
Added note on SIMULATION_MAIN variable.
July 28, 2000
Removed note on SIMULATION_MAIN variable, which is no longer used. Updated instructions on arm-visibility and GEANT-filter controls. Added Known Bugs section.

Kyle Pope <pope@phy.ornl.gov>