How to Run SiD Sim and Reco on your desktop/laptop ?

First of all, you need a recent linux box with the following ingredients

  • C/C++ Compiler gcc 4.4 or greater
  • Java 7 (Java 6 may still work but)
  • CVS
  • SVN
  • Latex2html

I've used

  • OpenSuse 12.3 x86-64 with gcc 4.7.2  and Java OpenJDK 1.7.0_21
  • SL 6.4 x86-64               with gcc 4.4.7 and Java OpenJDK 1.7.0_25
  • SL 6.4 x86-64               with gcc 4.4.7 and Java OpenJDK 1.7.0_25
  • Ubuntu 12.04 LTS          with gcc 4.6.3 and Java OpenJDK 1.7.0_55

all modified scripts can be found in this tarball

Bugs reported by Alex Finch:

    /sid_complete/v01-17-02-sid/KalDet/v01-12/kern/EXVKalDetector.h   
          virtual Double_t GetBfield (const TVector3 &xx = TVector3()) const

           which won't compile with latest ROOT versions. The ROOT release note were updated at my request to indicate this.

 

 

 

Preparation

Prepare an area:

mkdir /scratch/sid_complete
cd /scratch/sid_complete

then get the most "recent" CERNLIB from here, you needs the libs and the includes, be careful to have the libs for your architecture

install the CERNLIB in therein the folder /scratch/sid_complete/cernlib2006 with two subfolders

  • lib
  • include

I have used symbolic links to set this up

ln -s 2006b/x86_64-slc5-gcc43-opt/lib lib
ln -s 2006b/include/ include

unpack the scripts into the myscripts area

tar -xzvf myscripts.tar.gz

ILCSOFT installation

Get ilcinstall from here: ilcinstall

I've used : v01-17-02

mkdir ilcinstall
cd ilcinstall

tar -xzvf ilctools-v01-17-02.tar.gz

there are two scripts .... release-version.py (that needs to be adapted) and release-sid.cfg, which does contain all the packages you'll need for running SiD software. the adapted scripts are in the myscripts Folder

cd /scratch/sid_complete
cp myscripts/release-sid.cfg  ilcinstall/v01-17-02/releases/v01-17/
cp myscripts/release-versions.py ilcinstall/v01-17-02/releases/v01-17/

you can test the installation with the -p switch and you can run it with the -i switch

cd v01-17-02
./ilcsoft-install  -p releases/v01-17/release-sid.cfg
./ilcsoft-install  -i releases/v01-17/release-sid.cfg

You can speed uop the compilation by changing this from -j2 to -j8 on a multi-core machine

# global options
ilcsoft.env["MAKEOPTS"]="-j2"

Now it's time to grab a coffee...

Known features/problems

  • check for lib/lib64 fails, this is true for the following packages:Xerces, Fastjet,HepPDT
    Fix ln -s lib64 lib
  • Problems in FastJet 2.4.2 compilation

    fix in 2.4.2/FastJet/include/fastjet/internal/ClusterSequence_N2.icc
    
    109c109
    >       if (jetA < jetB) {std::swap(jetA,jetB);}
    ---
    <       if (jetA < jetB) {swap(jetA,jetB);}
    
    2.4.2/FastJet/include/fastjet/NNH.hh
    
    Line 266   if (jetA < jetB) std::swap(jetA,jetB);
    Line 270 change to  this->init_jet(jetB, jet, index);
    

LCSIM installation

First get the JAS 3.0.3 from here , it contains a handy LCIO browser and the Wired Event display

unpack it in sid_complete area

 tar -xzvf jas-assembly-3.0.3-distribution.tar.gz

next thing is installing Maven 3.0.5 from the web , unpack and add the path

 tar -xzvf  apache-maven-3.0.5-bin.tar.gz
 export PATH=$PATH:/scratch/sid_complete/apache-maven-3.0.5/bin

Then get the lcsim packages via CVS

cd /scratch/sid_complete
mkdir lcsim
cd lcsim

cp /scratch/sid_complete/myscripts/build-lcsim.sh .
source ./build-lcsim.sh

This will check out  everything from the lcsim repository, set the path to Maven correctly  and build the lcsim distribution, this is a lot faster than the first step

SLICPandora Installation

this is done using another script

cp myscripts/build_slicpandora.sh .
source ./build_slicpandora.sh

Note:

in the current cvs version (23/07/13), there are two bugs

diff \-r1.13 CMakeLists.txt

27,28c27,28
< FIND_PACKAGE( PandoraSDK REQUIRED )
< FIND_PACKAGE( FineGranularityContent REQUIRED )
\--\-
> FIND_PACKAGE( PandoraPFANew REQUIRED )
> #FIND_PACKAGE( FineGranularityContent REQUIRED )
32c32
< FOREACH( pkg LCIO PandoraSDK&nbsp; )
\--\-
> FOREACH( pkg LCIO PandoraPFANew )


and then there was one difficulty in
diff -r1.4 MCParticleProcessor.cpp


63c63
mcParticleParameters.m_mcParticleType = pandora::MC_STANDARD;
\--\-
> //mcParticleParameters.m_mcParticleType = pandora::MC_STANDARD;

this has been reported

that's it, you're done, now up to actually running a few events ?! Continue reading here

References

  • No labels

2 Comments

  1. Unknown User (alexconway)

    Minor note, perhaps want to add something like this for clarity

    cd /scratch/sid_complete
    mkdir ilcinstall
    cd ilcinstall
    wget https://svnsrv.desy.de/viewvc/ilctools/ilcinstall/tags/v01-17-02/?view=tar ilctools-v01-17-02.tar.gz
    tar -xzvf ilctools-v01-17-02.tar.gz
    
  2. New version is v01-17-06.

    If you don't have /afs/ it needs some additional setup. There is no sid install config any longer.

    in ilcsoft-install, change the first line from #!/usr/bin/python to #!/usr/bin/env python

    Modify release-versions.py to point to the software that is right for your system. This might need an iterative approach.

    The installation requires a two-step process:

    a) release-base.cfg

    -- mods needed:

    --- CMAKE: edit ${prefix}/ilcsoft/CMake/2.8.5/CMake/Source/CursesDialog/CMakeLists.txt and add the line

     target_link_libraries(ccmake tinfo) 

            (just below other target_link_libraries commands) 

    (solution found here: http://unix.stackexchange.com/questions/81115/centos-cmake-does-not-install-using-gcc-4-7-2 )

    --- CondDBMySQL: I have not been able to get this to work. comment out the relevant line in release-base.cfg

    --- FastJet: Version 2.4.2 that is installed by default did not compile for me with gcc 4.7.2. Change the version in release-versions.py to 2.4.5

    b) release-ilcsoft.cfg 

    See this message for how to configure your build scripts: http://forum.linearcollider.org/index.php?t=tree&goto=2362&rid=54&S=d8c01c65f3f6123c1bf05312c34a419f#page_top

     

     

    Alternatively, if cvmfs is installed, one could source /cvmfs/ilc.desy.de/sw/x86_64_gcc44_sl6/v01-17-06/init_ilcsoft.sh

    In that case, slic has to be installed by copying the relevant directory from cvmfs to the local disk and building it with cmake.

    Example:

    cp cvmfs/ilc.desy.de/sw/x86_64_gcc44_sl6/v01-17-06/slic/v04-00 ${HOME}/slic

    cd ${HOME}/slic

    mkdir build; cd build

    cmake -C $ILCSOFT/ILCSoft.cmake ..

    make install

     

    This has been reported and will be fixed in future versions.