Difference between revisions of "Solid Software"

From Hall A Wiki
Jump to: navigation, search
(quick start)
(quick start)
Line 9: Line 9:
 
= quick start =
 
= quick start =
  
This is a step by step guide to setup things to run SoLID software including simulation, reconstruction etc.
+
This is a step by step guide to setup things to run the software including simulation, reconstruction etc.
  
 
All env variables required are setup by source file "set_solid"
 
All env variables required are setup by source file "set_solid"
  
The example below demonstrates how to setup in various cases.
+
make sure you meet the requirement before you do anything
 +
 
 +
== '''requirement before installing and using it''' ==
 +
 
 +
Do following before installation, updating and running the code
 +
 
 +
* check "echo $SHELL" to check if you are using '''tcsh''' shell. If it's not your default shell after login, first open a clean terminal and run "tcsh"
 +
 
 +
* '''clean your env variables'''. For example, remove your environment variable setup in your login script like .cshrc and .login or disable them temporally by "mv .cshrc cshrc" and "mv .login login". This is to avoid conflict from other software environment variables. Vice versa, don't put our environment variables into your login script either, set it up every time you login a terminal instead
  
 
== (demonstration) on ifarm1101(CentOS6.5_x86_64) with '''''official''''' installation of framework and '''''official''''' SoLID repository  ==
 
== (demonstration) on ifarm1101(CentOS6.5_x86_64) with '''''official''''' installation of framework and '''''official''''' SoLID repository  ==

Revision as of 15:56, 2 March 2017

introduction

Here is the information hub for SoLID software.

The software is based on GEMC framework for detector simulation, The physics event generation is independent.

The instruction for installation and how to use do event generation, simulation and reconstruction are listed below.

quick start

This is a step by step guide to setup things to run the software including simulation, reconstruction etc.

All env variables required are setup by source file "set_solid"

make sure you meet the requirement before you do anything

requirement before installing and using it

Do following before installation, updating and running the code

  • check "echo $SHELL" to check if you are using tcsh shell. If it's not your default shell after login, first open a clean terminal and run "tcsh"
  • clean your env variables. For example, remove your environment variable setup in your login script like .cshrc and .login or disable them temporally by "mv .cshrc cshrc" and "mv .login login". This is to avoid conflict from other software environment variables. Vice versa, don't put our environment variables into your login script either, set it up every time you login a terminal instead

(demonstration) on ifarm1101(CentOS6.5_x86_64) with official installation of framework and official SoLID repository

The fastest way to see what the simulation look like. You don't need to install any thing, but you can't modify anything either.

login into ifarm1101.jlab.org or any jlab internal machine with access to /work/halla/solid/apps/jlab_root with your jlab account 
(if you can't, ask jlab computer center help@jlab.org to make sure your account is allowed on ifarm1101 machines)
make sure you meet the requirement here
source /home/zwzhao/solid/solid_svn/solid/set_solid
follow "compile and run" to run simulation (skip compiling)

(recommended) on ifarm1101(CentOS6.5_x86_64) or jlab internal machine(RHEL6.8_x86_64), with official installation of framework and your SoLID repository

You don't need to install the framework, you can modify simulation configuration. This is the best way to run simulation on ifarm1101 and farm nodes. This is recommend way to compare result and produce results.

If you can access a jlab internal machine (RHEL6.8_x86_64) and it can access /work/halla/solid/apps/jlab_root, you may be able to use a installed framework also. But if you encounter any problem, it could be some needed packages were not installed on this machine and you need to install them as root. refer to "prepare for installation" at [1]

login into ifarm1101.jlab.org or any jlab internal machine with access to /work/halla/solid/apps/jlab_root with your jlab account 
(if you can't, ask jlab computer center help@jlab.org to make sure your account is allowed on ifarm1101 machines)
make sure you meet the requirement here
cd your_choice_of_solid_repo_path
svn co https://jlabsvn.jlab.org/svnroot/solid (if you haven't done so already)
cd solid
edit file set_solid by following the instruction within, you only need to change SoLID_GEMC
source set_solid
follow "compile and run" to compile and run simulation

(expert) on any machine(CentOS6.5-6.8_x86_64 and alike), with your installation of framework and your SoLID repository

This gives you maximum freedom to use any version of framework and ability to work on your local machine, And allow you to modify anything. This is the way to run on your local machine.

install the framework by following installation instruction below
cd your_choice_of_solid_repo_path
svn co https://jlabsvn.jlab.org/svnroot/solid (if you haven't done so already)
cd solid
edit file set_solid by following the instruction within
source set_solid
Do those tmp fixes by following Jlab_software_tmp_fix
follow "compile and run" to compile and run simulation

Installation

introduction

Physics event generation is a collection of independent software packages.

Detector simulation is based on Geant4 based simulation framework GEMC http://gemc.jlab.org

SoLID repository https://jlabsvn.jlab.org/svnroot/solid is for all of SoLID software

You need both the framework and SoLID repository to use the software

installation of framework

The framework was tested on many platforms, but for our use, it's only fully tested on current jlab farm system.

The current default system is CentOS6.5_x86_64 (as in 2016/06)

Other clone systems like RHEL and SL should work without no problem. Similar system like Fedora may work also, but need some tweaking.

The framework use environmental variable JLAB_VERSION to control version

The current default version is 1.3 (as in 2016/06)

The default installation in jlab computing system is at /work/halla/solid/apps/jlab_root

See detailed instruction at installation of framework

installation of SoLID repository

It's the central repository, everyone has read right, only jlab account within "12gev_solid" group can write to it

checkout by "svn co https://jlabsvn.jlab.org/svnroot/solid"
access its WebSVN interface at https://jlabsvn.jlab.org/solid
two ways to get auto notification about any change to SVN
use a graphic SVN client, for example "kdesvn"
use RSS feed on the Websvn interface
  • directory structure
    • "evgen", some event generators, (the others are in other repositories, see event generation section for details)
    • "solid_gemc", GEMC 1.x related files for SoLID simulation
    • "solid_gemc2", GEMC 2.x related files for SoLID simulation
    • "subsystem" for individual subsystems
    • "study" for studies involving different subsystems

A personal copy of EIC repository at /home/zwzhao/solid/solid_svn/solid/ on ifarm1101

You should download your own copy on ifarm1101 or you local machine so you can tweak the code

Coordinate System

SoLID uses the coordinate system below in lab frame for event generator output, detector arrangement and reconstruction

electron beam goes along +z axis and at x=0,y=0
The solenoid coil center at the origin (x=0,y=0,z=0),axis along electron beam
y axis is vertical and +y pointing up relative to the ground
x axis is horizontal and +x pointing left when riding the electron beam
+x axis has phi angle 0 deg,  +y axis has phi angle 90 deg
phi angle coverage is from -180 to 180 which can be obtain by atan2(y,x)*180/Pi or TVector3.Phi()*180/Pi

Physics Event Generation

Detector Simulation

Event Reconstruction

Study

Info

emaillist

linux group

SoLID Linux group is "12gev_solid"

check your account groups by command "groups username" or "id username"

Please ask Ole <ole at jlab.org> to add your jlab account to the group if you want to use SoLID related computing resource at jlab.

Batch Farm Project

jobs should go to the 'solid' project

Disk Space

We have disk space on the CUE

/volatile/halla/solid (short temp) 3 TB
/work/halla/solid (long term) 1TB
/mss/halla/solid (permanent, on tape) 10 TB

The volatile guaranteed reservation is 500GB and files there are expected to have an expiration date of six months. Please use /volatile for larger data sets and /work for sources and reduced datasets you need to keep. You must belong to the group 12gev_solid for access, ask "Ole at jlab.org" to add you.

To avoid disk quota problems, please make sure that all files that you place in the SoLID directories are owned by Linux group 12gev_solid. If you've already created files that have the wrong group, just change the group ID of your directory and all its files and subdirectories to the correct one. You only should have to do this once:

chgrp -R 12gev_solid your-directory

To make this happen automatically for all newly created files in this directory, set the sgid bit on it:

chmod g+s your-directory

Better yet, set this bit for all subdirectories as well:

find your-directory -type d -exec chmod g+s {} \;

Again, you should only have to do this once.

Additionally, to reduce the chance of file access problems, every time you log in and before starting work in SoLID disk areas, switch your effective group ID to 12gev_solid:

newgrp 12gev_solid

Exit from the shell when done; that will return you to where you were before issuing the newgrp command.

old simulation software (for record keeping only, don't use it!)

  • SoLID GEMC (simulation in GEANT4 with GEMC 1.x, used for later proposals and pCDR)