Welcome to the CEDRIC Event Display! Check out the projects homepage for more and up-to-date information: http://mhermann.web.cern.ch/mhermann/cedric ***Note that the project is still in the making and this a BETA release!*** The following instructions describe how to build the application from the source package available at the projects homepage. If you just want to give the event display a quick try (and especially if you are at CERN) we recommend to have a look at the lxplus remote-version. Visit the projects homepage for more information on the lxplus remote-version and how to start it. Max Hermann, 13th march 2008 --- _______________________________________________________________________________ Installing the Event Display from Source Package _______________________________________________________________________________ Contents: 1. Install missing Dependencies 2. Build the Cedric Event Display 3. Run the Cedric Event Display 1. Install missing Dependencies ================================ Cedric depends on some external libraries which are needed if you plan to build it from source. How this libraries can be obtained and installed is described now: 1.1 Install ROOT ----------------- can be downloaded as binary distribution from: http://root.cern.ch/ Just add the environment variable ROOTSYS, put ROOTSYS/bin into your path and ROOTSYS/lib in your LD_LIBRARY_PATH. 1.2 Install Phast ------------------ is available as sourcecode under: http://ges.home.cern.ch/ges/phast It can be compiled without CERNLIB and RFIO like this: $ make NO_FORTRAN=1 NO_RFIO=1 For compiling Cedric you must set a PHASTSYS environment variable pointing to the Phast base directory. 1.3 Install Qt4 ---------------- On a linux distribution other than SLC4 you may already have it. SLC4 is based on the older Qt3, so you must install the Qt4 locally and adjust the existing QTDIR environment variable for compiling Cedric. Download the open-source edition of Qt4 http://trolltech.com/developer/downloads/qt/x11 and install it to a local directory like this: $ ./configure --prefix /home/your-user-name/Qt-4.3.4 $ make $ make install This can take several hours depending on your system! 1.4 Install OpenScenegraph --------------------------- ******************************************************************************* **OBSOLETE, the source-package ships with the required libraries and headers!** ******************************************************************************* First install CMAKE if not available on your system. http://www.cmake.org Then download the OpenScenegraph sourcecode from http://www.openscenegraph.org and follow the installation instruction given there. For compiling Cedric you must set a OSG_DIR environment variable pointing to the OpenSceneGraph base directory. 1.5 Install IETL ----------------- ******************************************************************************* **OBSOLETE, the source-package ships with the required libraries and headers!** **REMARK: But you still need LAPACK or BLAS or ATLAS installed! On most linux** ** distributions this is easily done via the package manager, e.g.: ** ** 'yum install lapack' on SLC4 ** ** 'apt-get install lapack' on Debian/Ubuntu ** ******************************************************************************* The Iterative Eigensolver Template Library consists (as the name suggest) purely of templates (i.e. c++ headers) and mustn't be compiled. It can be downloaded here http://www.comp-phys.org/software/ietl/ To get it working you need LAPACK and BOOST. On most SLC4 systems both are pre-installed. On all other major distributions they should be available via the package manager if not installed already. Cedric further requires the boost ublas bindings which also can be downloaded on the IETL page. Extract both IETL and boost-bindings and install IETL like this: $ ./configure --with-boost=/path/to/boost-base-dir \ --with-bindings=/path/to/ublas-bindings $ make $ make install If the Boost headers are installed in /usr/include/boost you pass /usr/include to the --with-boost option. By default IETL installs itself into $HOME/ietl (but as usual this can be adjusted, see ./configure --help). For compiling Cedric you must set a IETL_DIR environment variable pointing to where you installed IETL. 2. Build the Cedric Event Display ================================== If all required libraries are installed (see previous section) we are now ready to build the EventDisplay application. The last prerequisite is to set some environment variables and update your LD_LIBRARY_PATH: ROOTSYS - path to Root's base dir PHASTSYS - path to Phast's base dir To update your LD_LIBRARY_PATH in a bash shell type: $ export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH:$ROOTSYS/lib:$PHASTSYS/lib Before installing you should check if all needed installation options are correct: $ make config Now you are ready to build the application: $ make $ make install To change the installation directory (default $HOME/EventDisplay) just set the PREFIX variable in the latter step $ make install PREFIX=/path/where/to/install 2.1 Note for SLC4 Users ------------------------ Before calling qmake make sure QTDIR points to your local Qt4 installation and that which qmake returns your local Qt4 qmake application. If not adjust QTDIR and set your PATH to $QTDIR/bin:$PATH (i.e. make sure your local Qt4 directory is searched *first*). 2.2 Note on Compiler Warnings ------------------------------ Compiling gives a *lot* of warnings, some arising from the Phast library, some from the IETL. This is normal and should not alert you. 3. Run the Cedric Event Display ================================ We placed a start-script in the installation directory which is invoked as $ ./start.sh or by $ ./start.sh yourFavourite_mDST.root Of course the LD_LIBRARY_PATH mentioned above must be set also when running the EventDisplay, so you probably want to put it into your .bashrc/.tcshrc.