New version of GROPE, OPAL's interactive Event Display using OpenGL

At some institutes data from the LEP experiment OPAL are used in students lab experiments. In these exercises the event display is an important tool. Also in the context of data preservation it is desirable that the analysis and data presentation programs can be transported to new operating system and compiler enviroments. This is especially difficult for the graphics and interactive parts of the software whereas the pure computational parts are much simpler. FORTRAN 77 or compatibles will be probably survive quite some time.

This is an attempt to make GROPE work with gfortran and OpenGL. To achieve this calls to the 3D library GPHIGS have been replaced by 3D routines of ROOT (TPolyLine3D etc.). Since we want to keep graphics input (pick, rotate) it was necessary to replace also the use of the packages KUIP, HIGZ, HPLOT and even HBOOK by ROOT routines. No attempt was made to write a complete emulation of these packages but only those parts needed in GROPE or rather only those used in GROPEs pure event display part needed in the lab experiments. This also gives the chance to profit from modern tools like OpenGL and GUIs from ROOTs toolbox.
Restrictions:
By far not all GROPE commands are implemented.

This is an example of a Z0 decaying to multihadrons.

To simplify the implementation ROPEs and GROPEs FORTRAN code are not modified except a few corrections (px116.cra, rope420.cra, sw115.cra, ww115.cra) to avoid compiler errors and

2 mods in rope420.cra and grope.cra to make life easier:

In this way one may run on the example files without having own FFREAD cards. If you want to use your own data files see below.

If a routine needs to be replaced it is just "overwritten" in an object file linked in ahead of the libraries. In the current implementation rope420, gr313, geant321 and gopal144 are used.

Prerequisits

At this moment (13-Mar-2013) the package was installed and tested only on Ubuntu 10.04 (gcc, gfortran 4.4.3) and 12.04 (gcc 4.6.3) and Scientific Linux 5.8, gcc 4.1.2

Download

Tarball, source and binaries compiled on SL5 with ROOT 5.34.03, gcc41

Building

This distribution contains compiled objects and the executable binary for sl5.8 (gcc 4.1) or ubuntu 10.04 (gcc 4.4) with root 5.34.03
On these architectures it should run out the box.
To rebuild it:

Running

In any directory:

source $GROPE/iniRopePath.sh where $GROPE points to the location of this distribution
grope.exe

Users at the Ubuntu Clusters at LMU (Garching and CIP)

Open a new konsole / xterm and type therein:

module load grope
grope.exe

Users at CERN or with Linux (32bit or 64bit with ia32-libs) and AFS-access to CERN (lxplus)
can do:

export GROPE=/afs/cern.ch/user/s/schaileg/public/grope_gcc41
source $GROPE/iniRopePath.sh
grope.exe

Example data files for the different even types are provided in $GROPE/data. If you want to use your own eventfiles for Muons, Electron etc. you should set the enviroment variables:
export MUONFILE="mymuonfile.fxddst" export ELECTRONFILE="myelectronfile.fxddst" export TAUFILE="mytaufile.fxddst" export HADRONFILE="mytaufile.fxddst" export COSMICSFILE="mycosmicsfile.fxddst" export ANYEVENTFILE="myanyeventfile.fxddst"
An alternative way to set your own eventfiles is to use setter methods of the class RopeCmds accessible via the global pointer gRC from the command line
gRC->SetElectronFile("myelectronfile.fxddst"); gRC->SetCosmicsFile("mycosmicsfile.fxddst"); etc. These commands should be put into a file gropelogon.C which is executed at startup.

Hint: To pick a track/cluster and invoke its context menu use right mouse.
Hoovering mouse across a track/cluster prints its name and momentum value.

Content of this distribution and description of replacement routines

Remarks

This project is not finished yet, in fact it will never be. Comments and requests for more functionalities are welcome.

Muenchen, 18. March 2013

Otto.Schaile@lmu.de