SICB under CMT Why? What is CMT? How to work with CMT? Package layout

Slides:



Advertisements
Similar presentations
Software Installation The full set of lecture notes of this Geant4 Course is available at
Advertisements

Julie McEnery1 Installing the ScienceTools The release manager automatically compiles each release of the Science Tools, it creates a set of wrapper scripts.
Donald Stark National Center for Atmospheric Research (NCAR) The Developmental Testbed Center (DTC) Thursday 13 August, 2015 Downloading and Building EnKF.
Makefiles CISC/QCSE 810. BeamApp and Tests in C++ 5 source code files After any modification, changed source needs to be recompiled all object files need.
Browsing Data with GaudiPython Disclaimers: 1.I am an apprentice! 2.The porpoise: we think GaudiPython could be quite useful for a LHCb physicist… Browsing.
The introduction of CMT Version v1r14. General index 1.presentation 2.how to install CMT 3.how to write a requirements file 4.how to use CMT.
CMT 1 HEPVis Sep. 1999C. Arnault LAL History, motivations Started in 1993 for providing support for horizontal software development at LAL After an evaluation.
Overview of LHCb applications and software environment LHCb software tutorial - March
As of 28 Juni 2005Getting Starged with GEM - Shuei Yamada 1 Getting Started with GEM Shuei YAMADA ICEPP, University of Tokyo What is GEM? Before you start.
CMT Christian Arnault - LAL - Chep /18 Introduction What is CMT, its goals Operating CMT The concepts in CMT, the internal model Status, implementation.
The report on the current situation of the BESIII framework zhangxiaomei maqiumei 10/3/2004.
MINER A Software The Goals Software being developed have to be portable maintainable over the expected lifetime of the experiment extensible accessible.
Marco Cattaneo, 19-June Building and running software on WNT with Visual Studio and CMT A step by step recipe.
CMT 1 Jan. 1999C. Arnault LAL History, motivations Started in 1993 for providing support for horizontal software development at LAL After an evaluation.
LHCb-ATLAS GANGA Workshop, 21 April 2004, CERN 1 DIRAC Software distribution A.Tsaregorodtsev, CPPM, Marseille LHCb-ATLAS GANGA Workshop, 21 April 2004.
Argonne Jamboree January 2010 Esteban Fullana AOD example analysis.
Marco Cattaneo - DTF - 28th February 2001 File sharing requirements of the physics community  Background  General requirements  Visitors  Laptops 
GLAST LAT Offline SoftwareCore review, Jan. 17, 2001 Review of the “Core” software: Introduction Environment: THB, Thomas, Ian, Heather Geometry: Joanne.
CERN IT Department t LHCb Software Distribution Roberto Santinelli CERN IT/GS.
1 SICBDST and Brunel Migration status and plans. 2 Migration Step 1: SICBMC/SICBDST split  Last LHCb week: Split done but not tested  Software week.
23/2/2000Status of GAUDI 1 P. Mato / CERN Computing meeting, LHCb Week 23 February 2000.
10/2/2000LHCb Computing, CHEP Use of Configuration Management tool in LHCb software J. Harvey, P. Mato, F. Ranjard CERN (Switzerland)
Open project in Microsoft Visual Studio → build program in “Release” mode.
BESIII Offline Software Development Environment Ma qiumei * Development environment * Configuration & management tool * Software development.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
How to configure, build and install Trilinos November 2, :30-9:30 a.m. Jim Willenbring.
CERN Tutorial, September Overview of LHCb applications and software environment.
27/02/04 ATLAS weekTileCal Athena tutorial, part 21 TileCal Athena tutorial Part 2: Reading GEANT hits from ZEBRA and POOL Reading HLT and testbeam ByteStream.
Bologna Tutorial, June Overview of LHCb applications and software environment.
Thomas Ruf, CERN EP Experience with C++ and ROOT used in the VX Beam Test Thomas Ruf, CERN, EP  Why? Event structure for VX-data rather complex: raw hits.
CLHEP Infrastructure Improvements CHEP 2004 Lynn Garren, FNAL and Andreas Pfeiffer, CERN.
Use of CMT in LHCb CMT Workshop, LAL (Orsay) 28 th February - 1 st March 2002 P. Mato / CERN.
Starting Analysis with Athena (Esteban Fullana Torregrosa) Rik Yoshida High Energy Physics Division Argonne National Laboratory.
An AOD analysis example Esteban Fullana Torregrosa High Energy Physics Division Argonne National Laboratory.
HYDRA Framework. Setup of software environment Setup of software environment Using the documentation Using the documentation How to compile a program.
SPI Report for the LHCC Comprehensive Review Stefan Roiser for the SPI project.
LHCb Software Week 25/11/99 Gonzalo Gracia Abril 1 r Status of Geant4 in LHCb. r Ideas on how to populate the LHCb Detector Description Data Base (LHCb.
Installation and environment variables. Simple Installation 1 The latest sources can always be obtained from the CDAT website:
AOD example analysis Argonne Jamboree January 2010
Installation of the ALICE Software
Configuration and Build System
Work report Xianghu Zhao Nov 11, 2014.
GLAST Gaudi Review T. Burnett H.Kelly 10 Sept 02 Gaudi code review
ATLAS Software Distribution
LCG Generator Services project
Gaudi software release procedures
GLAST Release Manager Automated code compilation via the Release Manager Navid Golpayegani, GSFC/SSAI Overview The Release Manager is a program responsible.
LHCb Software Tutorial
Overview of LHCb applications and software environment
Software Version System Part1: Subversion at CERN
Marco Cattaneo, CERN February 2000
ADA aodhisto transformation
SW Architecture SG meeting 22 July 1999 P. Mato, CERN
Status of CVS repository Production databases Production tools
Various News From Detector Description
GAUSS Work plan Software Week 6 March 2002 F.Ranjard / CERN.
Software Installation
What’s new in version 5 of GAUDI
Geant4 Workshop 02 October 2002, CERN Hajime Yoshida
Simulation and Physics
Introduction to Athena
Converting ATLAS Events Into XML Files Janice Drohan (UCL)
Muon Group Software Report
2 Getting Started.
Software Installation, release 4.0
2 Getting Started.
What’s new in version 4 of GAUDI
2 Getting Started.
Agenda SICb Session Status of SICb software migration F.Ranjard
Planning next release of GAUDI
Presentation transcript:

SICB under CMT Why? What is CMT? How to work with CMT? Package layout manager working area and release area How to work with CMT? Analysis work Developer work 1/2/2019 F.Ranjard / EP-ALE

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

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

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

List of packages Utility packages Detector description package 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 1/2/2019 F.Ranjard / EP-ALE

List of packages(2) Simulation packages Reconstruction 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 1/2/2019 F.Ranjard / EP-ALE

List of packages(3) Analysis packages General 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!!!!! 1/2/2019 F.Ranjard / EP-ALE

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

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

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

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 variable: setenv CMTPATH $HOME/mycmt:$LHCBSOFT 1/2/2019 F.Ranjard / EP-ALE

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

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” 1/2/2019 F.Ranjard / EP-ALE

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” 1/2/2019 F.Ranjard / EP-ALE

Analysis work At login time CMT is configured and $HOME/mycmt is 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 1/2/2019 F.Ranjard / EP-ALE

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

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

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

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 talk http://lhcb.cern.ch/computing/Support/powerpoint/SicbunderCMT.ppt 1/2/2019 F.Ranjard / EP-ALE