Difference: WebHome (13 vs. 14)

Revision 142012-08-09 - DanProtopopescu

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: 24 to 25
 https://svnsrv.desy.de/viewvc/ilctools/ilcinstall/tags/?view=tar

into the temporary directory(soon to be replaced by an afs area)

Changed:
<
<
/data/atlas01/ILC
>
>
/data/atlas01/ILC
 I then untarred the file:
Changed:
<
<
tar xvfz ilctools-tags.tar.gz
>
>
tar xvfz ilctools-tags.tar.gz
  I then went into the directory:
Changed:
<
<
/data/atlas01/ILC/tags

and removed all other tags except for the latest v01-14.

>
>
/data/atlas01/ILC/tags
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 - seperate packages to install

>
>

Preparing for build - separate packages to install

  First we must prepare four packages that don't come automatically with the ilcsoft installation.
Changed:
<
<
They are MySQL, Java, xerces-c and cernlib. MySQL was installed by sysadmin (Andy) as root
>
>
They are MySQL, Java, xerces-c and cernlib. MySQL was installed by sysadmin (Andy) as root
  privileges are necessary. Java is already installed on our network. So it was necessary to install

xerces-c and Cernlib. I installed them in the:

Changed:
<
<
/data/atlas01/ILC

directory. For xerces-c I did the following:

mkdir xerces-c

>
>
/data/atlas01/ILC
directory. For xerces-c I did the following:
mkdir xerces-c
 And in this directory I:
Changed:
<
<
wget http://apache.mirror.rbftpnetworks.com//xerces/c/3/binaries/xerces-c-3.1.1-x86_64-linux-gcc-3.4.tar.gz
>
>
wget http://apache.mirror.rbftpnetworks.com//xerces/c/3/binaries/xerces-c-3.1.1-x86_64-linux-gcc-3.4.tar.gz
 for 64 bit. And untarred.
Changed:
<
<
For Cernlib I realised that the installation here (/usr/lib64/cernlib) did not have the inlcude

directories needed so I also went to /data/atlas01/ILC and created directory 2006b

>
>
For Cernlib I realised that the installation here (/usr/lib64/cernlib) did not have the inlcude directories needed so I also went to /data/atlas01/ILC and created directory 2006b/
 and in this directory I downloaded:
Changed:
<
<
wget http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2006b_x86_64-slc5-gcc41-opt/tar/cernlib.tar.gz_

and

wget http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2006b_x86_64-slc5-gcc41-opt/tar/include.tar.gz_

>
>
wget http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2006b_x86_64-slc5-gcc41-opt/tar/cernlib.tar.gz
wget http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2006b_x86_64-slc5-gcc41-opt/tar/include.tar.gz
 and untarred them.
Deleted:
<
<

Preparing release version file

 
Changed:
<
<
First of all I created a directory where the ilcsoft software packages will actually be installed
>
>

Preparing release version file

 
Changed:
<
<
into. This is called: /data/atlas01/ILC/ilcsoft
>
>
First of all I created a directory where the ilcsoft software packages will actually be installed into. This is called /data/atlas01/ILC/ilcsoft
  It is now necessary to point to the above installations (MySQL etc.) in the release file that comes with
Deleted:
<
<
 the ilcsoft installer. To do this I went to file:
Changed:
<
<
/data/atlas01/ILC/v01-14/releases/v01-14/release-versions.py
>
>
/data/atlas01/ILC/v01-14/releases/v01-14/release-versions.py
  But I first tell this file where the ilcsoft install directory is by setting:
Changed:
<
<
ilcsoft_install_prefix = "/data/atlas01/ILC/ilcsoft/"
>
>
ilcsoft_install_prefix = "/data/atlas01/ILC/ilcsoft/"
 I then added:
Changed:
<
<
MySQL_path = "/usr/"

Java_path = "/usr/java/latest/"

CERNLIB_path = "/data/atlas01/ILC/2006b/"

XERCESC_ROOT_DIR = "/data/atlas01/ILC/xerces-c/xerces-c-3.1.1-x86_64-linux-gcc-3.4/"

>
>
MySQL_path = "/usr/"
Java_path = "/usr/java/latest/"
CERNLIB_path = "/data/atlas01/ILC/2006b/"
XERCESC_ROOT_DIR = "/data/atlas01/ILC/xerces-c/xerces-c-3.1.1-x86_64-linux-gcc-3.4/"
 to this file
Deleted:
<
<

Starting a full build for all packages

 
Changed:
<
<
The file at the centre of this build is called 'release-scratch.cfg' which can be found in

the same directory as the release-versions.py: /data/atlas01/ILC/v01-14/releases/v01-14/

This file has the list and order in which all packages must be installed. First of all it is

>
>

Starting a full build for all packages

 
Changed:
<
<
necessary to point to the release-version.py file from within this file:
>
>
The file at the centre of this build is called 'release-scratch.cfg' which can be found in the same directory as the release-versions.py: /data/atlas01/ILC/v01-14/releases/v01-14/
 
Changed:
<
<
path_where_this_file_lives = "/data/atlas01/ILC/tags/v01-14/releases/v01-14"
>
>
This file has the list and order in which all packages must be installed. First of all it is necessary to point to the release-version.py file from within this file:
path_where_this_file_lives = "/data/atlas01/ILC/tags/v01-14/releases/v01-14"
  Then do:
Added:
>
>
./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)
 
Deleted:
<
<
./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)

 

Problems to expect and fix:

Added:
>
>
 
LCIO compilation problems

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

Line: 121 to 116
 
LCIO compilation problems

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

Deleted:
<
<
 installation. I did this for all pacakages by changing:
Changed:
<
<
>
>
 ilcsoft.envcmake["INSTALL_DOC"]="ON" to ilcsoft.envcmake["INSTALL_DOC"]="OFF"
Added:
>
>
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
 
Changed:
<
<
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

>
>
(2) We don't want Fortran examples - and they cause problems in compilation
 anyway - so I commented out:
Changed:
<
<
#MESSAGE( STATUS "BUILD_F77_TESTJOBS = ${BUILD_F77_TESTJOBS}" )
>
>
#MESSAGE( STATUS "BUILD_F77_TESTJOBS = ${BUILD_F77_TESTJOBS}" )
  And:
Added:
>
>
# 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
 
Changed:
<
<
# 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

>
>
(3) I also turned off the optional root dict build for LCIO
 ilcsoft.module("LCIO").envcmake['BUILD_ROOTDICT']='OFF'
Changed:
<
<
in /data/atlas01/ILC/v01-14/releases/v01-14/release-scratch.cfg
>
>
in /data/atlas01/ILC/v01-14/releases/v01-14/release-scratch.cfg.
 
Building Root Dict manually for certain packages
Changed:
<
<
The Root Dict compilation does not work for some packages when
>
>
The Root Dict compilation does not work for some packages when
 building using the main compilation script so it is necessary to do
Deleted:
<
<
 the following:

KALTEST:

Line: 168 to 156
  KALTEST:
Changed:
<
<
Comment out of /data/atlas01/ILC/tags/v01-14/releases/v01-14/release-scratch.cfg

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

>
>
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)
Added:
>
>
source ../../../root/5.28.00f/bin/thisroot.sh cmake -DILCUTIL_DIR=../../../ilcutil/ -DROOT_DIR=$ROOTSYS .. make install
 
Changed:
<
<
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.

>
>
When installed – can uncomment in release-scratch.cfg again.
  KALDET:
Changed:
<
<
Comment out of /data/atlas01/ILC/tags/v01-14/releases/v01-14/release-scratch.cfg
>
>
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
 
Changed:
<
<
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

>
>
When installed – can uncomment in release-scratch.cfg
  LCFIPlus:
Changed:
<
<
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

>
>
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
 
Changed:
<
<
cmake -DILCUTIL_DIR=../../../ilcutil/ -DROOT_DIR=$ROOTSYS ..

make install

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

>
>
When installed – can uncomment in release-scratch.cfg but make sure not to reinstall.
  BBQ:
Changed:
<
<
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

>
>
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 ..
 
Changed:
<
<
source ../../../root/5.28.00f/bin/thisroot.sh
>
>
When installed – can uncomment in release-scratch.cfg but make sure not to reinstall.
 
Deleted:
<
<
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

Changed:
<
<
STILL TO BE COMPLETED: Mokka needs to be reinstalled because of problem:
>
>
ALERT! 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
Added:
>
>
 

Running a validation test for Mokka and Marlin installations

Changed:
<
<
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

>
>
ALERT! STILL TO BE COMPLETED: See https://svnsrv.desy.de/viewvc/marlinreco/ILDConfig/trunk/StandardConfig/current/README?view=markup
 
Changed:
<
<
In this example we are building and running a Marlin processor called ExampleDSTAnalysis
>
>

Running a Marlin processor example in your home area

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

Preparing the home area

 
Changed:
<
<
(2) In the ExampleDSTAnalysis directory create a build, src, include and lib directory - like:
>
>
In this example we are building and running a Marlin processor called ExampleDSTAnalysis.
 
Changed:
<
<
[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
>
>
(1) Make the directory named as you wish - for example: /home/tdoherty/ILCWork/Marlin/ExampleDSTAnalysis
 
Changed:
<
<
(3) Place the source (ExampleDSTAnalysis.cc) code for your processor in the src directory and the header (ExampleDSTAnalysis.h) file in the include directory
>
>
(2) In the ExampleDSTAnalysis directory create build, src, include and lib directories - 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
 
Changed:
<
<
(4) Copy the CMakeLists .txt file from the mymarlin example given with Marlin into the ExampleDSTAnalysis folder:
>
>
(3) Place the source (ExampleDSTAnalysis.cc) code for your processor in the src directory and the header (ExampleDSTAnalysis.h) file in the include/ directory
 
Added:
>
>
(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 .
Changed:
<
<
(5) Open up this file and just change the name of the project from mymarlin to ExampleDSTAnalysis

From PROJECT(mymarlin) to PROJECT(ExampleDSTAnalysis )

>
>
(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:
Changed:
<
<
FIND_PACKAGE( ROOT REQUIRED )
>
>
FIND_PACKAGE( ROOT REQUIRED )
 and
Added:
>
>
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.
 
Deleted:
<
<
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

Changed:
<
<
(1) First set up the ilcsoft software by running this script
>
>
(1) First set up the ilcsoft software by running this script
 
Changed:
<
<
./data/atlas01/ILC/ilcsoft/init_ilcsoft.sh
(2) cd into the build directory of this processor in your home area

cd build

>
>
./data/atlas01/ILC/ilcsoft/init_ilcsoft.sh
 
Added:
>
>
(2) cd into the build directory of this processor in your home area
cd build
 (3) Then:
Changed:
<
<
cmake -C $ILCSOFT/ILCSoft.cmake ..
>
>
cmake -C $ILCSOFT/ILCSoft.cmake ..
 (4) And:
Added:
>
>
make install
This should create library: lib/libExampleDSTAnalysis.so.
 
Deleted:
<
<
make install

This should create library: lib/libExampleDSTAnalysis.so

 

Loading the processor into Marlin

Changed:
<
<
(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

>
>
(1) Point to the .so file
export MARLIN_DLL=$PWD/lib/libExampleDSTAnalysis.so
 
Added:
>
>
(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
Deleted:
<
<
 to set some global variables aswell as the input stdio file and the output file
Changed:
<
<
name. You also need to point to the gear (geometry) file that was used to
>
>
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
Deleted:
<
<
 but you must edit the input/output files at least. The global variables will
Added:
>
>
be taken from your C++ code. To create the file just do:
 
Changed:
<
<
be taken from your c++ code. To create the file just do:

Marlin -x > mysteer.xml

>
>
Marlin -x > mysteer.xml
 
Changed:
<
<
(3) As mentioned you must edit the steering file to point to the input .stdio
>
>
(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.
 
Deleted:
<
<
and gear.xml file you are using for your analysis.
 

Running Marlin processor

Simply do:

Changed:
<
<
Marlin mysteer.xml
>
>
Marlin mysteer.xml
 
Deleted:
<
<

 

Datasets

Line: 321 to 313
 
Added:
>
>
 
Deleted:
<
<
 
META FILEATTACHMENT attachment="clic_event.gif" attr="h" comment="clic_event" date="1344013306" name="clic_event.gif" path="clic_event.gif" size="13910" stream="clic_event.gif" tmpFilename="/usr/tmp/CGItemp32570" user="AidanRobson" version="1"
META FILEATTACHMENT attachment="ild.gif" attr="h" comment="ild" date="1344013323" name="ild.gif" path="ild.gif" size="14210" stream="ild.gif" tmpFilename="/usr/tmp/CGItemp32479" user="AidanRobson" version="1"
META FILEATTACHMENT attachment="gaede_ildsoft_chep09.pdf" attr="" comment="ILC Software Framework - Frank Gaede's CHEP 2009 talk" date="1344439388" name="gaede_ildsoft_chep09.pdf" path="gaede_ildsoft_chep09.pdf" size="2191024" stream="gaede_ildsoft_chep09.pdf" tmpFilename="/usr/tmp/CGItemp28471" user="DanProtopopescu" version="1"
 
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