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
Mainclass 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
TbbFlowin sub packagetbbandPgrapherin
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_PATHto 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.