Wire Cell Toolkit Apps
(top)
Table of Contents
1. Overview
This package provides toolkit layers at the top of an application stack. This includes
- main command line programs, in particular
wire-cell
. - a
Main
class used in CLI and other application interfaces (such as art). - a few so called “apps” which are WCT components that provide a
high-level execution policy. See also
TbbFlow
in sub packagetbb
andPgrapher
in
2. Programs
2.1. wire-cell
The wire-cell
command line program provides a “reference” application
of the toolkit. It is a generic, “policy free” program that is fully
driven by configuration.
wire-cell --help wire-cell --version
2.2. wcsonnet
The wcsonnet
program is a thin wrapper around the Jsonnet library used to build WCT. It can be preferable to the standard jsonnet
program for the following reasons:
- It uses the Go Jsonnet library which is substantially faster than the C/C++ library used by
jsonnet
. - It honors the
WIRECELL_PATH
to locate files.
wcsonnet --help
2.3. wcwires
One of the main input configurations to many WCT algorithms is the
“wire geometry”. This is typically an exhaustive list of wire (or
strip) endpoints and their channel and other identifiers. In many
cases, the “wires files” are provided with errors. They may not
follow correct ordering conventions or they may have poor precision in
wire endpoints. WCT provides a way to validate and correct the wire
geometry when a “wires file” is read in and wcwires
provides this
functionality in a convenient command line interface.
wcwires --help
3. WCT Main
WCT provides a C++ class called Main
which may be used to easily integrate WCT functionality into other applications. The wire-cell
program provides a command line interface to Main
. Likewise, the WCLS_tool
in the larwirecell
packages of LArSoft providse an art / FHiCL interface to Main
.
4. WCT “apps”
Finally, this package provides a number of simple WCT “apps” classes.
Typically, one or more “app” instance is used via Main
to provide some
top-level execution. Provided here are ConfigDumper
and NodeDumper
which are more examples than useful. See TbbFlow
from the tbb
sub
package and Pgrapher
from the pgraph
package for the two most used
apps.