SICB under CMT - PowerPoint PPT Presentation

About This Presentation
Title:

SICB under CMT

Description:

there is one program SICB which does everything and several specific executables. ... It builds makefiles to build libraries or executables. ... – PowerPoint PPT presentation

Number of Views:74
Avg rating:3.0/5.0
Slides: 20
Provided by: Ranj46
Category:
Tags: cmt | sicb | executables | under

less

Transcript and Presenter's Notes

Title: SICB under CMT


1
SICB under CMT
  • Why?
  • What is CMT?
  • Package layout
  • manager
  • working area and release area
  • How to work with CMT?
  • Analysis work
  • Developer work

2
Why ?
  • When moving from CMZ to CVS we tried to create 3
    independent programs
  • simulation, reconstruction and analysis
  • We did not succeed
  • there is one program SICB which does everything
    and several specific executables.
  • SICB can be seen as a collection of packages
  • utility to handle data structures and I/O shared
    by Gaudi
  • events to handle initialization, data cards,
    event loop.
  • detdes a detector description package
  • detector specific packages for simulation,
    reconstruction, trigger
  • analysis packages

3
Why? (2)
  • The evolution in time of theses packages is quite
    different
  • utility and events are stable
  • detector description is rather stable changes
    are put in the geometry database.
  • detector specific evolve at different speed.
  • analysis is independent of the other.
  • gt Let packages evolve independently.
  • gt each package carries its own version number
    and can be released at any time.
  • At a given time the librarian releases a new SICB
    version made of a list of packages/versions.

4
An Example
  • SICB v118 is not fully debugged
  • Is it feasible to make a SICB v??? based on the
    SICB v116 geometry but linked with Pythia and QQ
  • The event generator should not depend on detector
    geometry and response.
  • In the same way it should be possible to link a
    new Calorimeter simulation with an old vertex
    simulation.

5
List of packages
  • Utility packages
  • Finclude contains all include files needed by
    Gaudi
  • Futio contains all routines used by Gaudi
  • Futil contains utility routines but geometry
  • Detector description package
  • detdes contains the old utgeom files
  • it makes use of utility packages
  • Event loop package
  • events manages the initialization and the event
    loop
  • it makes use of detdes package

6
List of packages(2)
  • Simulation packages
  • simecal, simhcal, simmuon, simrich, simvdet,
    simwtra,
  • simguse,simskel, simgeom, simpgen
  • Reconstruction packages
  • rececal, recmuon, recvdet, recwtra, rechcal,
    recrich
  • Trigger packages
  • trielec, trihadr, trimuon, trivert, trilvl2,
    trit1tr, triskel, trit0v
  • they make use of events package

7
List of packages(3)
  • Analysis packages
  • axreclib, axacc, axtrkfit
  • General packages
  • kalman
  • They make use of detdes and utility packages
  • SICB contains the main program
  • makes use of all packages
  • contains
  • the main program, various tasks, data cards, job
    file
  • gt We end up with 35 packages!!!!!

8
How to handle 35 packages?
  • We need a Configuration Management Tool (CMT)
  • Several such a tool exist in the HEP community
  • SoftRelTool / BaBar, SoftRelTool / Fermilab, SRT
    /ATLAS
  • CMT / LAL written by C.Arnault
  • We recommend CMT until a better or CERN-wide
    solution is found.

9
What is CMT?
  • CMT handles a package or a collection of
    packages.
  • It has some knowledge about
  • compiler
  • link editor
  • conditional code
  • this knowledge can be customized by the user.
  • It builds makefiles to build libraries or
    executables.
  • each package has a manager which tells CMT what
    to do (a library or/and application) and how to
    do it.

10
Package layout
Package name
Version number
packA
PACKAROOT
manager
v1r1
v2
v1
doc
hp-ux102
hp-ux102
inc
rs-aix42
src
i386
binary
11
Working area / release area
  • This package layout can reside in your working
    area or/and in the LHCb release area.
  • To modify a package you need to get it in your
    working area HOME/mycmt
  • when a package becomes public it is installed in
    the LHCb release area LHCBSOFT.
  • To tell CMT where to find various packages you
    need for your application you should set the
    CMTPATH environment variablesetenv CMTPATH
    HOME/mycmtLHCBSOFT

12
mgr/
  • mgr contains a requirements file provided by the
    user and all files built by CMT
  • makefile
  • configuration files
  • the requirements file contains everything CMT
    should know about the package to build a library
    or an application.

13
Futio/v1/mgr/requirements
  • Comment line
  • Package name
  • version number
  • subdirectory list
  • include directory path
  • use package-name version
  • what to build
  • binary library link options
  • specific compiler options
  • package Futio
  • version v1
  • branches doc src mgr utio
  • include_dirs FUTIOROOT
  • use Finclude v1
  • library Futio ../src/.F
  • macro Futio_linkopts \FUTIOROOT/(Futio_tag)/
    libFutio.a
  • macro Futio_fflags \ any options specific to
    this package

14
SICB manager
  • package SICB
  • version v118
  • branches src mgr doc task1 task2
  • use simecal v1
  • use simhcal v1
  • use simrich v2
  • ----
  • application sicb.exe ../src/sicb.F ../task1/.F
  • macro SICB_linkopts GUSER
  • macro SICB_linkopts \ HP-UX
    -Wl,n\ HPdbx -g -Wl,n\
    OSF1 SICBROOT/(sicb_tag)/libSICB.
    a\ OSFdbx -g SICBROOT/(sicb_ta
    g)/libSICB.a

15
Analysis work
  • At login time CMT is configured and
    HOME/mycmtis created if it does not exist by
    the group_login.
  • the following environment variables are set
  • CMTROOT, CMTPATH, CMTCONFIG
  • CMTPATH HOME/mycmtLHCBSOFT (LHCb
    release area)
  • To get the SICB package under HOME/mycmt
  • getpack SICB v118
  • cd HOME/mycmt/SICB/v118/mgr
  • source setup.csh
  • gt SICBROOT HOME/mycmt/SICB/v118

16
Analysis work(2)
  • The physicist will link SICB with libraries from
    the release area.
  • cd SICBROOT/mgr
  • edit requirements to select task1 or task2 or
    your own code
  • gmake
  • ../CMTCONFIG/sicb.exe is built
  • cd ..
  • edit sicb.dat or sicb.cards or sicb_lsf.job
  • CMTCONFIG/sicb.exe
  • everytime you modify the code
  • gmake

17
Developer work
  • The developer will link SICB with his own version
    of a package and other libraries from the release
    area.
  • i.e. Work with simecal
  • getpack simecal v1
  • source HOME/mycmt/simecal/v1/mgr/setup.csh
  • SIMECALROOT is defined
  • cd SIMECALROOT/src
  • to modify some routines
  • cd ../mgr
  • gmake
  • ../SIMECALCONFIG/libsimecal.a

18
Developer work (2)
  • Tell CMT to use packages from your working area
    when they exist
  • setenv CMTPATH HOME/mycmtLHCBSOFT
  • build an application with new simecal library
  • cd SICBROOT/mgr
  • cmt show uses
  • to check that the new simecal library is used
  • gmake
  • cd ..
  • Edit data cards if necessary
  • CMTCONFIG/sicb.exe

19
Status and Help
  • SICB version v116 is released.
  • SICB version v118 is being built, not yet
    released.
  • SICB version v200 is being built from v116
    detector response and new event decay generators
  • Help is provided on the Web
  • HELP ---gt CMT
  • this talkhttp//lhcb.cern.ch/computing/Support/po
    werpoint/SicbunderCMT.ppt
Write a Comment
User Comments (0)
About PowerShow.com