Wire Cell Toolkit Apps

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 package tbb and Pgrapher 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.

Author: Brett Viren

Created: 2023-05-03 Wed 11:39