User guide » History » Version 13

Herbert Greenlee, 01/07/2015 10:55 AM

1 1 Herbert Greenlee
2 1 Herbert Greenlee
3 1 Herbert Greenlee
h1. Overview
4 1 Herbert Greenlee
5 4 Herbert Greenlee
Larsoft common batch and workflow tools are contained in ups product @larbatch@ (this redmine), which is built and distributed as part of @larsoft@.  Larbatch tools are built on top of Fermilab @jobsub_client@ batch submission tools.  For general information about jobsub_client and the Fermilab batch system, refer to articles on the "jobsub wiki": and the "fife wiki":
6 3 Herbert Greenlee
7 3 Herbert Greenlee
No other part of larsoft is dependent on @larbatch@, and @larbatch@ is not setup as a dependent of the @larsoft@ umbrella ups product.  Rather, @larbatch@ is intended to be a dependent of experiment-specific ups products (see [[admin_guide|this article]] for instructions on configuring @larbatch@ for a specific experiment.
8 5 Herbert Greenlee
9 9 Herbert Greenlee
After setting up ups product @larbatch@, several executable scripts and python modules are available on the execution path and python path.  Here is a list of the more important ones.
10 9 Herbert Greenlee
11 11 Herbert Greenlee
* "":
12 10 Herbert Greenlee
An executable python script that is the the main entry point for user interation.  More information can be found below.  
13 9 Herbert Greenlee
14 11 Herbert Greenlee
* "":
15 10 Herbert Greenlee
A python module, imported by, that implements some of the workflow functionality.  End users would not normally interact directly with this module.  However, a significant aspect of is that is supplies hooks for providing experiment-specific implementations of some functionality, as described in an [[admin_guide#Experiment-specific hooks|accompanying article]] on this wiki.
16 10 Herbert Greenlee
17 11 Herbert Greenlee
* "":
18 10 Herbert Greenlee
The main batch script. is a general purpose script that manages a single invocation of an art framework program (@lar@ executable). sets up the run-time environment, fetches input data, interacts with sam, and copies output data.  It is not intended that end users will directly invoke  However, one can get a general idea of the features and capabilities of by viewing the built-in documentation by typing " -h@, or reading the file header. 
19 12 Herbert Greenlee
20 12 Herbert Greenlee
* "":
21 12 Herbert Greenlee
Batch script for starting a sam project.
22 12 Herbert Greenlee
23 12 Herbert Greenlee
* "":
24 12 Herbert Greenlee
Batch script for stopping a sam project.
25 13 Herbert Greenlee
26 13 Herbert Greenlee
.h1 Using
27 13 Herbert Greenlee
28 13 Herbert Greenlee is used in conjunction with a xml format project definition file.  The concept of a project, as understood by, and as defined by the project definition file, is a multistage processing chain involving a specified number of batch workers at each stage.
29 13 Herbert Greenlee
30 13 Herbert Greenlee
The general structure of the project file is that it contains global options, a single project block (enclosed in "@<project name=project-name>...</project>@"), and one or more processing stage blocks (enclosed in "@<stage name=stage-name>...</stage>@" inside the project block.
31 13 Herbert Greenlee
32 13 Herbert Greenlee
In a typical invocation of, one specified the project file (via option @--xml@), tha stage name (via option --stage), and one or more action options.  Here are some use cases for invoking
33 13 Herbert Greenlee
34 13 Herbert Greenlee
* -h@ or --help@
35 13 Herbert Greenlee
Print built-in help (lists all available command line options).
36 13 Herbert Greenlee
37 13 Herbert Greenlee
* -xh@ or --xmlhelp@
38 13 Herbert Greenlee
Print build-in xml help (lists all available constructs that can be included in project definition file).