User Tools

Site Tools


software:install

This is an old revision of the document!


PRIMASOFT Installation

Docker installation
The PRIMA software for analysis, simulation, etc. is inside a Docker container. In case you are not running primasoft in any of EMP's pc's, then first you will need to install Docker. Check how to do it here:

Git clone the image
Now you need to pull the Docker image from the EMP GitLab repository. Open a new terminal, and do:

git clone https://gitlab.rlp.net/emp/primasoft.git

Start the container
Before starting the proper docker container, you need to add your personal user into the docker group. For that, do:

usermod -a -G <user> docker

After that, you will need to 're-enter' into your user session to make sure your user is now inside the docker group. For doing this, you can always restart the computer, or type in a terminal

 
su <user_name>

and then write

groups

Once you type that, you should be able to see all groups your user is in, so the 'docker' name should appear there.

Starting the container and test the simulation
Now you need to start the container so you can run the full Geant4 simulation. Write:

$ cd primasoft
$ ./start_run.sh

A new container with the name primaSoft-dev should be created. After running ./start_run.sh The output should look like this:

./start_run.sh
The default directory for G4WORKDIR is /home/foski/geant4_workdir. You can change it by adding -DG4WORKDIR=${Your_Host_Dir} to run this script.
access control disabled, clients can connect from any host
starting new container with name primaSoft-dev...
Unable to find image 'registry.gitlab.rlp.net/emp/docker_image_test/prima_soft_nonsu:2501' locally
2501: Pulling from emp/docker_image_test/prima_soft_nonsu
54609b48ebc1: Pull complete 
37577e941a51: Pull complete 
e8d35fa376e8: Pull complete 
279d4a417a51: Pull complete 
ae2ad9eaf997: Pull complete 
acacd230c1e4: Pull complete 
17d4bdcfb566: Pull complete 
45ec860a2ac8: Pull complete 
4f4fb700ef54: Pull complete 
Digest: sha256:e4ebe8a28daf2f3a94d323882e54773d6ee072a71ecd740e38d1065f285618ca
Status: Downloaded newer image for registry.gitlab.rlp.net/emp/docker_image_test/prima_soft_nonsu:2501
ec6f1e35929d0f6f8720fc46ec303b2d4993dd43aa61526b0f61b523f6fcd35d
new container started with id ec6f1e35929d
G4VMCDIR set to /opt/g4vmc/6.6p1_install
ubuntu@oskar:~/primasoft$ 

The last line means your are already inside the container under the ubuntu username.

Set the environment
source ./setenv.sh

FAIRsoft should be installed (see PandaRoot)
Or follow this description:

Install the dependencies
Debian, Ubuntu and other Debian based systems (64bit):

$ apt-get install  cmake cmake-data g++ gcc gfortran \
  debianutils build-essential make patch sed \
  libx11-dev libxft-dev libxext-dev libxpm-dev libxmu-dev \
  libglu1-mesa-dev libgl1-mesa-dev \
  libncurses5-dev curl libcurl4-openssl-dev bzip2 libbz2-dev gzip unzip tar \
  subversion git xutils-dev flex bison lsb-release python3-dev \
  libc6-dev-i386 libxml2-dev wget libssl-dev libkrb5-dev \
  automake autoconf libtool
sudo apt-get install libxi-dev

Clone the Fairsoft package
e.g. to your home directory /home/username

$ git clone https://github.com/FairRootGroup/FairSoft fairsoft_may18
Cloning into 'fairsoft_may18'...
remote: Counting objects: 1385, done.
remote: Total 1385 (delta 0), reused 0 (delta 0), pack-reused 1385
Receiving objects: 100% (1385/1385), 17.86 MiB | 4.03 MiB/s, done.
Resolving deltas: 100% (904/904), done.
Checking connectivity... done.
Switch to the May18p1 tag:
$ cd fairsoft_may18
$ git checkout tags/may18p1

Launch the ./configure.sh script1)
and answer to the questions as the following:

  1. GCC (Linux)
  2. Optimize with Debug Info
  3. Would you like to install FairMQ only? - No
  4. Would you like to install Simulation engines and event generators? - Yes
  5. Would you like to install the additionally available data files the GEANT4 package? - Internet
  6. Would you like to install the python bindings for Geant4 and Root? - Yes
  7. Please define a directory for the installation of the external packages. - /home/username/fairsoft_may18/build
  8. Is /home/username/fairsoft_may18/build the correct path? -Yes

Now you can start doing something else, since the installation will take some time. At the end, you should have the following message:

**** Checking libraries in /home/pandauser/fairsoft_jun19/build/lib ****
*** End installation of external packages without Errors***

In case some error has occurred try it again. If it is still not working ask for help.

Primasoft

Get source code

git clone agmaas@bwec-fileserver:/home/agmaas/git/primasoft.git

since 2020:

git clone https://gitlab.rlp.net/emp/primasoft.git


Set the enviroment

cd primasoft/

Define the environment variable FAIRSOFT_BUILD_DIR and set it equal the path to the FAIRsoft build directory

export FAIRSOFT_BUILD_DIR=/path/to/fairsoft/build
source setenv.sh


Compile geant4 simulation

cd geant4/
source $FAIRSOFT_BUILD_DIR/share/Geant4/geant4make/geant4make.sh
make

Execute geant4 simulation

geant4$ primag4sim primag4sim.conf

Rootmacros

In order to execute rootmacros, the include paths need to be set.
This can be done automatically with a rootlogon.C file.
Create the rootlogon.C file:

$ cd ~/
$ mkdir .rootlogon
$ geany .rootlogon/rootlogon.C

Enter the following lines to your rootlogon.C file:

// This is the file rootlogon.C                                                 
{
  printf("\n Beginning new ROOT session\n");

  gROOT->ProcessLine(".include your_path/primasoft/geant4");
  gSystem->Load("<geant4_workdir>/tmp/Linux-g++/primag4sim/libprimadict.so");                              
}

Here, your_path is the path to the primasoft git repository and the <geant4_workdir> can be found out by $ echo $G4WORKDIR.

Now root needs to know where to find the rootlogon.C file. Therefore in ''$FAIRSOFT_BUILD_DIR'/share/root/etc/system.rootrc' change the line:

Rint.Logon:    rootlogon.C

to:

Rint.Logon:    ~/.rootlogon/rootlogon.C

Now you can execute the rootmacro:

/geant4$ root -l rootmacros/test.C+
1)
If using fairsoft may18p1, since 2021 in the package_versions.sh script two URLs need to be changed, line 25 and line 34.
#export PYTHIA8_LOCATION="http://home.thep.lu.se/~torbjorn/pythia8/"
export PYTHIA8_LOCATION="https://pythia.org/download/pythia82/"

#export GEANT4_LOCATION="http://geant4.cern.ch/support/source/"
export GEANT4_LOCATION="http://cern.ch/geant4-data/releases/"
software/install.1751025781.txt.gz · Last modified: by himuser

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki