1 / 19

SICB under CMT

SICB under CMT. Why? What is CMT? Package layout manager working area and release area How to work with CMT? Analysis work Developer work. Why ?. When moving from CMZ to CVS we tried to create 3 independent programs: simulation, reconstruction and analysis We did not succeed :

Télécharger la présentation

SICB under CMT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 F.Ranjard / EP-ALE

  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. • detdesa detector description package • detector specific packages for simulation, reconstruction, trigger • analysis packages F.Ranjard / EP-ALE

  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. • ==> Let packages evolve independently. • ==> 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. F.Ranjard / EP-ALE

  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. F.Ranjard / EP-ALE

  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 F.Ranjard / EP-ALE

  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 eventspackage F.Ranjard / EP-ALE

  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 • ===> We end up with 35 packages!!!!! F.Ranjard / EP-ALE

  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. F.Ranjard / EP-ALE

  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. F.Ranjard / EP-ALE

  10. mgr Package layout Package name Version number packA $PACKAROOT manager v1 v1r1 v2 doc hp-ux102 hp-ux102 inc rs-aix42 src i386 binary F.Ranjard / EP-ALE

  11. Working area / release area • This package layout can reside in yourworking areaor/andin theLHCb release area. • To modify a package you need to get it in yourworkingarea:$HOME/mycmt • when a package becomes public it is installed in theLHCb release area:$LHCBSOFT. • To tell CMT where to find various packages you need for your application you should set the $CMTPATH environment variable:setenv CMTPATH$HOME/mycmt:$LHCBSOFT F.Ranjard / EP-ALE

  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. F.Ranjard / EP-ALE

  13. 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 branchesdoc src mgr utio include_dirs${FUTIOROOT} useFinclude v1 libraryFutio ../src/*.F macro Futio_linkopts \“${FUTIOROOT}/$(Futio_tag)/libFutio.a” macro Futio_fflags \“ any options specific to this package” Futio/v1/mgr/requirements F.Ranjard / EP-ALE

  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_tag)/libSICB.a” F.Ranjard / EP-ALE

  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/mycmt:$LHCBSOFT (LHCb release area) • To get the SICB package under $HOME/mycmt: • getpack SICB v118 • cd $HOME/mycmt/SICB/v118/mgr • source setup.csh • ==> SICBROOT = $HOME/mycmt/SICB/v118 F.Ranjard / EP-ALE

  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 F.Ranjard / EP-ALE

  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 F.Ranjard / EP-ALE

  18. Developer work (2) • Tell CMT to use packages from your working area when they exist: • setenv CMTPATH $HOME/mycmt:$LHCBSOFT • 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 F.Ranjard / EP-ALE

  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 ---> CMT • this talkhttp://lhcb.cern.ch/computing/Support/powerpoint/SicbunderCMT.ppt F.Ranjard / EP-ALE

More Related