Difference: ILCSoft (1 vs. 16)

Revision 162013-12-05 - DanProtopopescu

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Software Installation

Line: 8 to 8
 

Getting the latest version

Changed:
<
<
Two choices for downloading the software is through svn or via a tarball. For the first attempt I opted for the latter. To do this I

went to:

>
>
Two choices for downloading the software is through svn or via a tarball. For the first attempt I opted for the latter. To do this I went to:
  https://svnsrv.desy.de/viewvc/ilctools/ilcinstall/tags/

Revision 152013-12-05 - DanProtopopescu

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Software Installation

Line: 155 to 155
 
cd /afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/v01-14/MarlinReco/v01-03
Changed:
<
<
Edit file CMakeLists.txt and uncomment these processors, then
>
>
Edit file CMakeLists.txt and uncomment the lines corresponding to the two processors, then
 
cd build
Changed:
<
<
cmake -DILCUTIL_DIR=../../../ilcutil/ -DROOT_DIR=$ROOTSYS -DFORTRAN_LIBRARY=/usr/lib/gcc/x86_64-redhat-linux/4.1.2/libgfortran.so ..
>
>
cmake -DILCUTIL_DIR=../../../ilcutil/ -DFORTRAN_LIBRARY=/usr/lib/gcc/x86_64-redhat-linux/4.1.2/libgfortran.so ..
 make install

Revision 142013-12-04 - DanProtopopescu

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Software Installation

Line: 109 to 109
 ./ilcsoft-install -p releases/v01-14/release-scratch.cfg -i (to install)
Changed:
<
<

Problems to expect and fix:

>
>

Problems to expect and fix

Some of the packages had to be recompiled for various reasons, as described below.

 
LCIO compilation problems
Line: 147 to 149
  in /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.cfg.
Changed:
<
<
MarlinReco
>
>
MarlinReco
  This needs to be recompiled to include two items that were commented out in the list of processors (Wolf and TrackwiseClustering):

Revision 132013-12-04 - DanProtopopescu

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Software Installation

Line: 147 to 147
  in /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.cfg.
Added:
>
>
MarlinReco
 
Changed:
<
<
Building Root Dict manually for certain packages
>
>
This needs to be recompiled to include two items that were commented out in the list of processors (Wolf and TrackwiseClustering):
cd /afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/v01-14/MarlinReco/v01-03
Edit file CMakeLists.txt and uncomment these processors, then
cd build
cmake -DILCUTIL_DIR=../../../ilcutil/ -DROOT_DIR=$ROOTSYS -DFORTRAN_LIBRARY=/usr/lib/gcc/x86_64-redhat-linux/4.1.2/libgfortran.so ..
make install

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:

Revision 122013-12-03 - DanProtopopescu

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Software Installation

Line: 211 to 211
 new tag for mokka was mokka-08-00-03. All that was necessary to install it was

to change the version in:

Changed:
<
<
>
>
 /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-versions.py
Changed:
<
<
>
>
 from Mokka_version = "mokka-08-00-02" to Mokka_version = "mokka-08-00-03"

and when you run:

Changed:
<
<
>
>
 ./ilcsoft-install -p releases/v01-14/release-scratch.cfg -i
Changed:
<
<
>
>
 it automatically picks up the new version. Downloads it and builds it.

Running a validation test for Mokka and Marlin installations

Revision 112013-06-20 - DanProtopopescu

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Software Installation

Line: 261 to 261
  (4) Copy the CMakeLists.txt file from the mymarlin example given with Marlin into the ExampleDSTAnalysis folder:
Changed:
<
<
cp /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/Marlin/v01-03/examples/mymarlin/CMakeLists.txt .
>
>
cp /afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/v01-14/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).

Line: 283 to 283
  to CMakeLists.txt so that your C++ code can pull in ROOT header files.
Added:
>
>
(7) Edit /afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/v01-14/ILCSoft.cmake and move ROOT before MySQL, else the wrong root-config is picked up
 

Building the processor

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

Revision 102013-04-29 - DanProtopopescu

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Software Installation

Line: 224 to 224
 

Running a validation test for Mokka and Marlin installations

Changed:
<
<
Follow the instructions in StandardConfig/current/README, but using the default central database (do not use the script that creates a local DB).
>
>
Follow the instructions in validation/StandardConfig/current/README, but using the default central database (do not use the script that creates a local DB).
 
. /afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/v01-14/init_ilcsoft.sh
Changed:
<
<
cd StandardConfig/current
>
>
cd /afs/phas.gla.ac.uk/data/ilc/software/validation/StandardConfig/current
 Mokka -M ILD_o1_v05 -e ./particle.tbl bbudsc_3evt.steer anajob bbudsc_3evt.slcio Marlin bbudsc_3evt_stdreco.xml

Revision 92013-04-29 - DanProtopopescu

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Software Installation

Line: 145 to 145
 ilcsoft.module("LCIO").envcmake['BUILD_ROOTDICT']='OFF'
Changed:
<
<
in /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.py.
>
>
in /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.cfg.
 

Building Root Dict manually for certain packages

Revision 82013-04-29 - DanProtopopescu

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Software Installation

Line: 261 to 261
  (4) Copy the CMakeLists.txt file from the mymarlin example given with Marlin into the ExampleDSTAnalysis folder:
Changed:
<
<
cp /data/atlas01/ILC/ilcsoft/Marlin/v01-03/examples/mymarlin/CMakeLists.txt .
>
>
cp /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/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).

Revision 72013-04-26 - DanProtopopescu

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Software Installation

Line: 169 to 169
  Comment out in /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.py, and do by hand
Changed:
<
<
cd /afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/KalDet/v01-09/build
>
>
cd /afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/v01-14/KalDet/v01-09/build
 source ../../../root/5.28.00f/bin/thisroot.sh cmake -DILCUTIL_DIR=../../../ilcutil/ -DROOT_DIR=$ROOTSYS .. make install
Line: 181 to 181
  Comment out of /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.py
Changed:
<
<
cd /afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/LCFIPlus/v00-05/build
>
>
cd /afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/v01-14/LCFIPlus/v00-05/build
 source ../../../root/5.28.00f/bin/thisroot.sh cmake -DILCUTIL_DIR=../../../ilcutil/ -DROOT_DIR=$ROOTSYS .. make install
Line: 193 to 193
  Comment out of /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.py
Changed:
<
<
cd /afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/bbq/v00-01-02/build
>
>
cd /afs/phas.gla.ac.uk/data/ilc/software/ilcsoftv01-14//bbq/v00-01-02/build
 source ../../../root/5.28.00f/bin/thisroot.sh cmake -DILCUTIL_DIR=../../../ilcutil/ -DROOT_DIR=$ROOTSYS ..
Added:
>
>
make install
 

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

Revision 62013-04-25 - DanProtopopescu

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Software Installation

Line: 120 to 120
  in /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.cfg, but it could be done at just a package level here:
Changed:
<
<
/afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/lcio/v02-01-02/CMakeLists.txt
>
>
/afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/v01-14/lcio/v02-01-02/CMakeLists.txt
 

(2) We don't want Fortran examples - and they cause problems in compilation anyway - so I commented out:

Line: 138 to 138
 #ENDIF()
Changed:
<
<
again in: /afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/lcio/v02-01-02/CMakeLists.txt
>
>
again in: /afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/v01-14/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'
Changed:
<
<
/afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.py
>
>
in /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.py.
 
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:

Changed:
<
<
Comment out of /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.py
>
>
Comment out of /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.py, and do by hand
 
cd /afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/v01-14/KalTest/v01-05/build
# set up root (installed with ilcsoft)
Line: 161 to 163
 make install
Changed:
<
<
When installed – can uncomment in release-scratch.cfg again.
>
>
When installed, you can uncomment in release-scratch.cfg again.
  KALDET:
Changed:
<
<
Comment out of /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.py
>
>
Comment out in /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.py, and do by hand
 
cd /afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/KalDet/v01-09/build
source ../../../root/5.28.00f/bin/thisroot.sh
Line: 173 to 175
 make install
Changed:
<
<
When installed – can uncomment in release-scratch.cfg
>
>
When installed, you can uncomment in release-scratch.cfg
  LCFIPlus:

Revision 52013-04-25 - DanProtopopescu

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Software Installation

Line: 72 to 72
 

Preparing release version file

Changed:
<
<
First of all I created a directory where the ilcsoft software packages will actually be installed 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 /afs/phas.gla.ac.uk/data/ilc/software/ilcsoft
  It is now necessary to point to the above installations (MySQL etc.) in the release file that comes with the ilcsoft installer. To do this I went to file:
Line: 106 to 106
 Then do:
./ilcsoft-install -p releases/v01-14/release-scratch.cfg -p (to check all is ok)
Changed:
<
<
./ilcsoft-install -p releases/v01-14/release-scratch.cfg -I (to install)
>
>
./ilcsoft-install -p releases/v01-14/release-scratch.cfg -i (to install)
 

Problems to expect and fix:

Revision 42012-11-27 - AidanRobson

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Software Installation

Line: 307 to 307
  (1) Point to the .so file
Changed:
<
<
export MARLIN_DLL=$PWD/lib/libExampleDSTAnalysis.so
>
>
export MARLIN_DLL=$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

Added:
>
>
(This is a one-time step -- thereafter you will probably have edited 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. A very basic gear file can be used in this example.
[protopop@ppepc102 ExampleDSTAnalysis]$ cat mygear.xml 
Line: 326 to 328
 
Changed:
<
<
(4) A simjob.slcio file is needed to run Marlin and can be created by:
simjob simjob.slcio

(5) To run one of the processors in the steering file, you must name it amongst the processor names at the beginning of the steering file. This will inform Marlin you want to execute the steering file with your processor.

>
>
(4) To run one of the processors in the steering file, you must name it amongst the processor names at the beginning of the steering file. This will inform Marlin you want to execute the steering file with your processor.
  For the ExampleDSTAnalysis processor:
<execute>
 <processor name="MyAIDAProcessor" />
 <processor name="MyTestProcessor" />

Deleted:
<
<
<processor name="MyLCIOOutputProcessor"/>
  <processor name="MyExampleDSTAnalysis" />
Added:
>
>
<processor name="MyLCIOOutputProcessor" />
  </execute>

This will create ExampleDSTAnalysis.root which contains the list of histograms.

Revision 32012-11-22 - DominicSmith

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Software Installation

Line: 331 to 331
  (5) To run one of the processors in the steering file, you must name it amongst the processor names at the beginning of the steering file. This will inform Marlin you want to execute the steering file with your processor.
Changed:
<
<
For the ExampleDSTAnalysis processor:
>
>
For the ExampleDSTAnalysis processor:
 
<execute>
 <processor name="MyAIDAProcessor" />
 <processor name="MyTestProcessor" />

Line: 339 to 339
  <processor name="MyExampleDSTAnalysis" /> </execute>
Changed:
<
<
This will create ExampleDSTAnalysis.root which contains the list of histograms.
>
>
This will create ExampleDSTAnalysis.root which contains the list of histograms.
 

Running Marlin processor

Simply do:

Revision 22012-11-20 - DominicSmith

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Software Installation

Line: 329 to 326
 
Added:
>
>
(4) A simjob.slcio file is needed to run Marlin and can be created by:
simjob simjob.slcio

(5) To run one of the processors in the steering file, you must name it amongst the processor names at the beginning of the steering file. This will inform Marlin you want to execute the steering file with your processor.

For the ExampleDSTAnalysis processor:

<execute>
 <processor name="MyAIDAProcessor" />
 <processor name="MyTestProcessor" />
 <processor name="MyLCIOOutputProcessor"/> 
 <processor name="MyExampleDSTAnalysis" />
 </execute>

This will create ExampleDSTAnalysis.root which contains the list of histograms.

 

Running Marlin processor

Simply do:

Revision 12012-08-15 - DanProtopopescu

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="WebHome"

Software Installation

Installation of ILC software at Glasgow is described below:

Getting the latest version

Two choices for downloading the software is through svn or via a tarball. For the first attempt I opted for the latter. To do this I

went to:

https://svnsrv.desy.de/viewvc/ilctools/ilcinstall/tags/

and downloaded the tar file accessible here:

https://svnsrv.desy.de/viewvc/ilctools/ilcinstall/tags/?view=tar

into the afs area

/afs/phas.gla.ac.uk/data/ilc/software

I then untarred the file:

tar xvfz ilctools-tags.tar.gz

I then went into the directory:

/afs/phas.gla.ac.uk/data/ilc/software/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!)

Preparing for build - separate packages to install

First we must prepare four packages that don't come automatically with the ilcsoft installation.

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:

/afs/phas.gla.ac.uk/data/ilc/software

directory. For xerces-c I did the following:

mkdir xerces-c

And in this directory I:

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.

For Cernlib I realised that the installation here ( /usr/lib64/cernlib) did not have the inlcude directories needed so I also went to /afs/phas.gla.ac.uk/data/ilc/software

and downloaded:

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.

Preparing release version file

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 the ilcsoft installer. To do this I went to file:

/afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-versions.py

But I first tell this file where the ilcsoft install directory is by setting:

ilcsoft_install_prefix = "/afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/"

I then added:

MySQL_path = "/usr/"
Java_path = "/usr/java/latest/"
CERNLIB_path = "/afs/phas.gla.ac.uk/data/ilc/software/2006b"
XERCESC_ROOT_DIR = "/afs/phas.gla.ac.uk/data/ilc/software/xcerces-c/xerces-c-3.1.1-x86_64-linux-gcc-3.4"

to this file

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 the same directory as the release-versions.py: /afs/phas.gla.ac.uk/data/ilc/software/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 = "/afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14"

Then do:

./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:

LCIO compilation problems

(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 /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.cfg, but it could be done at just a package level here:

/afs/phas.gla.ac.uk/data/ilc/software/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: /afs/phas.gla.ac.uk/data/ilc/software/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'

/afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.py

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 /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.py

cd /afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/v01-14/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 /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.py

cd /afs/phas.gla.ac.uk/data/ilc/software/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 /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.py

cd /afs/phas.gla.ac.uk/data/ilc/software/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 /afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-scratch.py

cd /afs/phas.gla.ac.uk/data/ilc/software/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

Mokka needed to be reinstalled because of problem:

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

This ended out to be a lot simpler than I had expected. From the thread above the

new tag for mokka was mokka-08-00-03. All that was necessary to install it was

to change the version in:

/afs/phas.gla.ac.uk/data/ilc/software/tags/v01-14/releases/v01-14/release-versions.py

from Mokka_version = "mokka-08-00-02" to Mokka_version = "mokka-08-00-03"

and when you run:

./ilcsoft-install -p releases/v01-14/release-scratch.cfg -i

it automatically picks up the new version. Downloads it and builds it.

Running a validation test for Mokka and Marlin installations

Follow the instructions in StandardConfig/current/README, but using the default central database (do not use the script that creates a local DB).

. /afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/v01-14/init_ilcsoft.sh
cd StandardConfig/current
Mokka -M ILD_o1_v05 -e ./particle.tbl bbudsc_3evt.steer
anajob bbudsc_3evt.slcio
Marlin bbudsc_3evt_stdreco.xml
dumpevent bbudsc_3evt_DST.slcio 2 

ALERT! The visualisation bit did not work though.

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

(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

. /afs/phas.gla.ac.uk/data/ilc/software/ilcsoft/v01-14/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. A very basic gear file can be used in this example.

[protopop@ppepc102 ExampleDSTAnalysis]$ cat mygear.xml 
<gear>
    <!--minimal Gear XML file that can be used to read simjob.slcio with Marlin (for testing) ...-->
    <global detectorName="CLIC_ILD_CDR500" />
    <BField type="ConstantBField" x="0.000000000e+00" y="0.000000000e+00" z="3.500000000e+00" />
    <detectors>
   </detectors>
</gear>

Running Marlin processor

Simply do:

Marlin mysteer.xml

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