What is studio?

studio is a small build system for quick bootstrapping of development efforts. studio is not meant to replace the kind of build system suitable for handling a large project (such as the code base of an entire experiment). It is meant as an easy system to allow the use of such large code bases, and the development of one (or perhaps even a few) libraries (or even executables).

It is intended for the development of code to be run in the art framework (including the use of code from any experiment using art, or toolkits such as LArSoft that depend upon art).

studio provides a set of sub-commands (in the style of git) to lay out the directory structure for a project, to generate code skeletons, and to compile and link the code. It also helps establish the shell environment in which you can run art framework programs using both your experiment's code and the new code you write.

How do I obtain studio?

studio is packaged as a UPS product, and is available from SciSoft ( It is also included in recent bundles containing art. See the release notes for the distributed versions of studio.

Getting started with studio

As with any UPS product, the first step in use is making the product active (thus making the studio command available). This is done with the UPS setup command.

   $> setup studio

The rest of the instructions come from the studio help system. Use

   $> studio help

to access the help system.

The help text for the studio project command is rather long; this is the primary documentation for how to use studio.