SLAC PEP-II
BABAR
SLAC<->RAL
Babar logo CM2 logo
HEPIC E,S & H Databases PDG HEP preprints
Organization Detector Computing Physics Documentation
Personnel Glossary Sitemap Search Hypernews

Using the event display

Overview

This document will help to answer several questions about the event display:

Introduction

The primary BaBar event display consists of two pieces, a client application called HepRApp and a server called HesMiniApp.

At SLAC there are "production" HesMiniApp servers already running for you to use so in general you just need to start the HepRApp client application. The SLAC HesMiniApp servers are visible even outside of SLAC, so as long as you have HepRApp on your machine (even on your laptop) and a network connection to SLAC you can look at events.

The HepRApp client does not depend on the rest of the BaBar software. It is a standalone Java application that you install on your desktop machine. Installation is very simple. You just copy the HepRApp.jar file to your disk and run it. There is no complicated installer, no changes to your path.

We will first show you how to install HepRApp, then describe how to use the client with the production servers and then (in a later section) come back to how to build/start your own server should you ever need to do that.

Install and Start HepRApp

If you are on Mac or Windows (or some other systems that have automatic association of jar files with Java), just click on this file to start the application.

The first time you run HepRApp, it will immediately open the "Select Group" menu. This is where you can specify whether HepRApp should run with any special settings for known groups. Select BaBar. You can also revisit this setting at any time from the Options menu. The setting you make here, along with many other settings you make as you work in HepRApp, will be stored in a file called "user.properties" that will be created in the directory from which you ran HepRApp.

*


Opening Data

Your initial HepRApp window should look like:

*


From there you need to open the "Open Data" dialog by clicking on the folder icon in the upper left corner of the main window:

*


This will bring up the "Open Data" dialog:

*


The "Process Manager for the BaBar Collaboration at SLAC" item is just the production servers mentioned above. If this item is missing, it probably means you forgot to specify BaBar in the Options Menu...Group Properties... dialog when you first started HepRApp. No problem - can just go back to that menu and select BaBar now.

There will be a little sign next to where it says "Process Manager for the BaBar Collaboration at SLAC." Depending on your operating system and selected Java look and feel, the sign will be either a little right arrow, or a circle with a line coming out of it, or a plus sign. In any case, it is the symbol to expand the tree. Click on it. You will see something like:

*


If you choose one of these, for example "CM2 real data HepEventServer", it should proceed to open the first event of an example collection for you and display it. You can move the Open Data window out of your way or close it by hitting its Dismiss button. Here is an example of an event from the server:

*

Choosing your own collection

To choose your own collection you should go back to the "Open Data" dialog and click on the "Specify Event ID" button. This will bring up a small window like:

*


You need to specify both the collection name and the sequential event number that you would like to see. Hence this:

/store/PR/R12/AllEvents/0003/29/12.4.0j/AllEvents_00032955_12.4.0jV01_C14.2.0bV00 1

will get you event #1 from that collection. (Note the fact that there is a space and then a "1" after the collection name.) Hit return in the "Specify Event Id" dialog and the "Open Data" dialog should look like:

*


and then the requested event should be automatically loaded into HepRApp:

*


At this point you should again look at the Basic Operation section of the HepRApp documentation (note also the Step-by-Step HepRApp Tutorial for Geant4 Users).

Building and running your own server

There may be situations where you would like to build and run your own event display server. Some circumstances where this can occur are: If you need to build and run your own server, you should follow this recipe to do so:
  1. Build the server
    • Release 18: Make a test release and build the server using the following instructions:

      newrel -t 18.7.1a hes1871a
      cd hes1871a
      srtpath

      Add the following packages:

      (bug fixes or new features)
      DchDataCes V00-05-01
      DrcDataCes V00-05-04
      HepRep V00-05-07
      HepRepServer V00-09-05
      TrkDataCes V00-08-02

      (needed for recompilation)
      EmcDataCes
      IfrDataCes
      SvtDataCes
      TrgDataCes
      workdir

      gmake workdir.setup
      gmake include
      gmake lib
      gmake HepRepServer.HesMiniApp

    • Release 22: Make a test release and build the server using the following instructions:

      newrel -t 22.1.1c hes2211c
      cd hes2211c
      srtpath

      Add the following packages:

      (bug fixes or new features)
      HepRep V00-05-07
      HepRepServer V00-10-00
      TrkDataCes V00-08-03

      (needed for recompilation)
      DchDataCes
      DrcDataCes
      EmcDataCes
      IfrDataCes
      SvtDataCes
      TrgDataCes
      workdir

      gmake workdir.setup
      gmake include
      gmake lib
      gmake HepRepServer.HesMiniApp

  2. Run the Server
    • To run the server, follow these instructions:

      setenv BDB_STANDALONE_MODE yes
      setenv BDB_NO_NESTED_COLL_TRANS yes
      cond16boot

      Then run the executable from workdir:

      HesMiniApp ../HepRepServer/HesMini_Data.tcl (data)
      HesMiniApp ../HepRepServer/HesMini_MC.tcl (MC)

      The server will take 1-2 minutes to start and prepare for receiving requests from the HepRApp client. When it is ready for requests, you will see the following line printed to screen and the server will sit and wait:

      JPMNotify:setStatus(ready:fresh server) 
    • When the server is ready for requests, it writes a file to the directory (workdir, in this case). This file tells a HepRApp client how to find the server. You must copy this file to your public webspace:

      cp hepeventserver.ior ~/public_html/

  3. Connect HepRApp to the server
    • To connect the HepRApp client to the server, go to HepRApp's Open Data dialog, select "Specify Server..." and type in the url of your hepeventserver.ior file, such as:

      http://www.slac.stanford.edu/~unixid/hepeventserver.ior
      where you replace "unixid" with your unix ID. This should then start the client and connect to the server. To open a collection and start looking at events, please follow the instructions in the earlier section, "Choosing your Collection".

    • If you are running HepRApp from the command line, you can specify your server url as a startup optioin, as in:

      java -jar HepRApp.jar -server http://www.slac.stanford.edu/~unixid/hepeventserver.ior

    • Or you can put the server url into your user.properties file, so that HepRApp will automatically go to that server right from the start. Just give you user.properties file a line like:

      server=http://www.slac.stanford.edu/~unixid/hepeventserver.ior

Features of the Event Display

There are several important features of the event display that you may desire as part of your analysis or event visualization toolkit. Here is a brief list, followed by some detail: Here are some details:
Last modified 1-June-2007, Joseph Perl
Previous modification 22-Sep-2004, Steve Sekula
Created on 19-Aug-2004 by Peter Elmer