Difference: WebHome (12 vs. 13)

Revision 132012-08-09 - ThomasDoherty

Line: 1 to 1
 

Linear Collider activities in Glasgow

<-- img style="width: 222; float: right" alt="ild.gif" src="https://ppes8.physics.gla.ac.uk/twiki/pub/LinearCollider/WebHome/ild.gif" title="ild.gif" height="169" -->
clic_event.gif
Line: 38 to 38
 and removed all other tags except for the latest v01-14.

(Using svn to check out this tag would have been a more sensible way - will do next time!)

Changed:
<
<

Preparing for build

>
>

Preparing for build - seperate packages to install

  First we must prepare four packages that don't come automatically with the ilcsoft installation.
Line: 100 to 100
 XERCESC_ROOT_DIR = "/data/atlas01/ILC/xerces-c/xerces-c-3.1.1-x86_64-linux-gcc-3.4/"

to this file

Changed:
<
<

Starting a full build for all packakges

>
>

Starting a full build for all packages

  The file at the centre of this build is called 'release-scratch.cfg' which can be found in
Line: 117 to 117
  ./ilcsoft-install -p releases/v01-14/release-scratch.cfg –p (to check all is ok)

./ilcsoft-install -p releases/v01-14/release-scratch.cfg –I (to install)

Added:
>
>

Problems to expect and fix:

LCIO compilation problems
 
Changed:
<
<

More to come.........

>
>
(1) Failed to find tools required to build lcio user manual - to fix this just turn off documentation

installation. I did this for all pacakages by changing:

ilcsoft.envcmake["INSTALL_DOC"]="ON" to ilcsoft.envcmake["INSTALL_DOC"]="OFF"

in /data/atlas01/ILC/v01-14/releases/v01-14/release-scratch.cfg

but it could be done at just a package level here:

/data/atlas01/ILC/ilcsoft/lcio/v02-01-02/CMakeLists.txt

(2) We don't want fortran examples - and they cause problems in compilation

anyway - so I commented out:

#MESSAGE( STATUS "BUILD_F77_TESTJOBS = ${BUILD_F77_TESTJOBS}" )

And:

# fortran examples

#OPTION( BUILD_F77_TESTJOBS "Set to ON to build LCIO F77 testjobs" OFF )

#IF( BUILD_F77_TESTJOBS )

# ADD_SUBDIRECTORY( ./src/f77 f77 )

#ENDIF()

again in: /data/atlas01/ILC/ilcsoft/lcio/v02-01-02/CMakeLists.txt

(3) I also turned off the optional root dict build for LCIO

ilcsoft.module("LCIO").envcmake['BUILD_ROOTDICT']='OFF'

in /data/atlas01/ILC/v01-14/releases/v01-14/release-scratch.cfg

Building Root Dict manually for certain packages

The Root Dict compilation does not work for some packages when

building using the main compilation script so it is necessary to do

the following:

KALTEST:

Comment out of /data/atlas01/ILC/tags/v01-14/releases/v01-14/release-scratch.cfg

cd /data/atlas01/ILC/ilcsoft/KalTest/v01-05/build

# set up root (installed with ilcsoft)

source ../../../root/5.28.00f/bin/thisroot.sh

cmake -DILCUTIL_DIR=../../../ilcutil/ -DROOT_DIR=$ROOTSYS ..

make install

When installed – can uncomment in release-scratch.cfg again.

KALDET:

Comment out of /data/atlas01/ILC/tags/v01-14/releases/v01-14/release-scratch.cfg

cd /data/atlas01/ILC/ilcsoft/KalDet/v01-09/build

source ../../../root/5.28.00f/bin/thisroot.sh

cmake -DILCUTIL_DIR=../../../ilcutil/ -DROOT_DIR=$ROOTSYS ..

make install

When installed – can uncomment in release-scratch.cfg

LCFIPlus:

Comment out of /data/atlas01/ILC/tags/v01-14/releases/v01-14/release-scratch.cfg

cd /data/atlas01/ILC/ilcsoft/LCFIPlus/v00-05/build

source ../../../root/5.28.00f/bin/thisroot.sh

cmake -DILCUTIL_DIR=../../../ilcutil/ -DROOT_DIR=$ROOTSYS ..

make install

When installed – can uncomment in release-scratch.cfg but make sure not to reinstall.

BBQ:

Comment out of /data/atlas01/ILC/tags/v01-14/releases/v01-14/release-scratch.cfg

cd /data/atlas01/ILC/ilcsoft/bbq/v00-01-02/build

source ../../../root/5.28.00f/bin/thisroot.sh

cmake -DILCUTIL_DIR=../../../ilcutil/ -DROOT_DIR=$ROOTSYS ..

When installed – can uncomment in release-scratch.cfg but make sure not to reinstall.

Installing a new tag for one package within ilcsoft suite

STILL TO BE COMPLETED: Mokka needs to be reinstalled because of problem:

http://forum.linearcollider.org/index.php?t=tree&th=780&goto=2237&rid=151&S=18debae024982841a2da6aff71fca849#msg_2237

Running a validation test for Mokka and Marlin installations

STILL TO BE COMPLETED: See https://svnsrv.desy.de/viewvc/marlinreco/ILDConfig/trunk/StandardConfig/current/README?view=markup

Running a Marlin processor example in your home area

Preparing the home area

In this example we are building and running a Marlin processor called ExampleDSTAnalysis

(1) Make the directory named as you wish - for example: /home/tdoherty/ILCWork/Marlin/ExampleDSTAnalysis

(2) In the ExampleDSTAnalysis directory create a build, src, include and lib directory - like:

[tdoherty@ppepc144 ExampleDSTAnalysis]$ ls -lart
total 908
drwxr-xr-x 3 tdoherty grid 77 Aug 3 15:12 include
drwxr-xr-x 2 tdoherty grid 66 Aug 3 15:14 src
drwxr-xr-x 3 tdoherty grid 121 Aug 3 15:17 lib
drwxr-xr-x 5 tdoherty grid 4096 Aug 3 15:26 build

(3) Place the source (ExampleDSTAnalysis.cc) code for your processor in the src directory and the header (ExampleDSTAnalysis.h) file in the include directory

(4) Copy the CMakeLists .txt file from the mymarlin example given with Marlin into the ExampleDSTAnalysis folder:

cp /data/atlas01/ILC/ilcsoft/Marlin/v01-03/examples/mymarlin/CMakeLists.txt .

(5) Open up this file and just change the name of the project from mymarlin to ExampleDSTAnalysis

From PROJECT(mymarlin) to PROJECT(ExampleDSTAnalysis )

(6) If your processor code requires ROOT then add:

FIND_PACKAGE( ROOT REQUIRED )

and

FOREACH( pkg ROOT )
IF( ${pkg}_FOUND )
INCLUDE_DIRECTORIES( ${${pkg}_INCLUDE_DIRS} )
ADD_DEFINITIONS( ${${pkg}_DEFINITIONS} )
ENDIF()
ENDFOREACH()

to CMakeLists.txt so that your c++ code can pull in ROOT header files.

Building the processor

(1) First set up the ilcsoft software by running this script

./data/atlas01/ILC/ilcsoft/init_ilcsoft.sh
(2) cd into the build directory of this processor in your home area

cd build

(3) Then:

cmake -C $ILCSOFT/ILCSoft.cmake ..

(4) And:

make install

This should create library: lib/libExampleDSTAnalysis.so

Loading the processor into Marlin

(1) Point to the .so file

export MARLIN_DLL=$PWD/lib/libExampleDSTAnalysis.so

(2) Create the steering file. This steering file is used to tell Marlin in what

order to run your processor with other standard processors. It is used

to set some global variables aswell as the input stdio file and the output file

name. You also need to point to the gear (geometry) file that was used to

create your input stdio file. Marlin automatically creates this file for you

but you must edit the input/output files at least. The global variables will

be taken from your c++ code. To create the file just do:

Marlin -x > mysteer.xml

(3) As mentioned you must edit the steering file to point to the input .stdio

and gear.xml file you are using for your analysis.

Running Marlin processor

Simply do:

Marlin mysteer.xml


 

Datasets

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback