LHCbImperialGroupSoft

This is the LHCb-Imperial tWiki page about our locally installed software

This is a TWiki page for the LHCb group at Imperial College London about locally installed software.

Getting Started:

Available machines

There are a number of interactive machines for general use:

Introduction

To gain access to the LHCb software installed locally, run the setup script:

> source ~lhcb/grouplogin/lhcb_login.sh #you might want to make an alias in your .bashrc

This will setup your environment with the latest release version. If you want to use a specific platform, the script accepts a -c flag, e.g.

> source ~lhcb/grouplogin/lhcb_login.sh -c x86_64-slc6-gcc62-opt

will set up the environment for the SLC 6 platform, using GCC 6.2.

The software is hosted on CVMFS, which are visible from all lx* machines and the batch system. Once the environemnt script is sourced, lb-run, SetupProject, getpack, GangaEnv, GridEnv and other commands will be available.

Basic environment

If you just want to run in a ROOT environment, Urania is a fairly stripped down packages from the LHCb software

> lb-run Urania/latest bash
will drop you into a terminal where ROOT is set up, along with the python2 bindings.

Running the LHCb software

The command lb-run can be used to set up the software you need. Usage

> lb-run [-c platform] Project/version command

-Local grid environment

Instead of sourcing GridEnv with the lhcb-setup (which has pollution from afs variables), you could instead get the local grid install:

> source /vols/grid/glite/ui/ui.sh #you might want to make an alias in your .bashrc

-Easy swapping to lxplus

To ensure your environment is the same on lxplus and locally, you could make you cmtuser a softlink to the directory on afs.

If you also make your gangadir/repository a softlink to afs, you will be able to copy/submit jobs at either location.

> ln -s /afs/cern.ch/user/<r>/<rlambert>/cmtuser ~/cmtuser 
> ln -s /afs/cern.ch/user/<r>/<rlambert>/gangadir/repository ~/gangadir/repository 

- Ganga Utilities

Ganga utilities has been added as default to the local ganga configuration. This provides many useful little scripts, and temporary patches for ganga bugs. If you want to change your configuration, simply add to/edit your .gangarc StartupGPI, to configure the utilities how you want.

This is the line in out local configuration (GangaLHCb.ini) which imports ganga utilities. You could add this to your gangarc instead if you want to configure it differently.

[configuration]
StartupGPI = import ganga_utils as gu
  gu.configure('imperial')

S you see, locally ganga_utlities module is imported as gu automatically. So type gu.man() for more details.

If you'd like to edit ganga utilities you will need to get your own local version. For that you should see: LHCbEdinburghGroupGangaUtils

Ganga utilities, in collaboration with the local Ganga configuration file (GangaLHCb.ini) takes the hassle out of using ganga, and trying to remember all those one-line python scripts. Some very powerful easy-to-use scripts are available, and if there's something else you need you can add it!

-Check everything is working

Use ganga utilites to submit a testjob (see LHCbEdinburghGroupGangaUtils):

gu.testjob()

See details of the testjob command to submit different kinds of jobs. By default the latest version of DaVinci will be tested.

Running from Nightlies or the HEAD

The most recent changes to software are stored in the cvs, but not under a specific version. This is known as the HEAD of cvs. You should be able to getpack the head of any package locally, but be careful, as changes in any packages that it depends on will not be found automatically, as they will not be installed locally.

In this case you should reconsider, and work from lxplus

Advanced:

-Installing new projects

Anyone can install their favourite project, however remember, with great power comes great responsibility

#First ssh to lx06 as yourself
>ssh <user>@lx06
#Then login as lhcb
>ssh lhcb@lx06
#Install your project
>python install_project.py -p <packageName> -v <version> -b

-Updating the ganga version

If you'd like the new version of ganga installed, ask Will, Patrick, Rob, or send an email to the list. They will use the ganga-install script:

> #become the lhcb super-user
> cd /vols/lhcbdisk02/ganga
> python ganga-install --prefix=`pwd` --extern=GangaLHCb,GangaGUI,GangaPlotter <newversion>

-Updating the Ganga Utils version

Ganga utilities is regularly updated, and is maintained in a cvs repository. See: LHCbEdinburghGroupGangaUtils

If you have your own version to update you can do the update automatically in Ganga:

gu.update()
reload(gu)
gu.configure('imperial') 

Manually the central update can be done like this:

> #become the lhcb super-user
> cd ~
> cd ganga_utils
> #edit the CVS ROOT to your lxplus name
> emacs CVS/Root -nw #replace user@isscvs with your name
> cvs update 


-- RobLambert - 09 Mar 2009

Edit | Attach | Watch | Print version | History: r11 < r10 < r9 < r8 < r7 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r11 - 2019-12-03 - MichaelMcCann
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

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