A powerful new idiom has been developed to simplify developing Jsonnet configuration files for Wire-Cell toolkit's Pgrapher app component.
Updates from the Wire-Cell team.
The Wire Cell Toolkit is based on functional components which can be used as arbitrary "tools" (in the Gaudi sense of the word). But, they can also composed together following the paradigm of data flow programming (DFP). Each component thus becomes a node (aka "vertex") in a graph joined to other nodes via edges that represent the transfer of data from an output port of one to the input port of the other. A new way to perform this execution has been added to WCT in the form of the Pgrapher app.
Despite the lack of news updates, there's been a lot of activity. Hopefully more posts will follow to catch up. For now, some news about WCT simulation.
Following in the footsteps of the recently announced porting of its functionality from the prototype to the toolkit the signal processing, is now usable in the form of WCT components. This is important as it paves the way to embedding the signal processing in other applications or frameworks, notably LArSoft.
Today a new package joins the WCT family.
This collects the "configuration data" files which are needed for input to WCT. These are generally compressed JSON files which have been converted to a WCT standard format from a variety of sources. The data includes wire geometry, field response, noise spectra and a couple initial deposition files.
Having this repository makes it easier for users to prepare to run
WCT. At some point in the future this package may be installed along
with the code, but for now, users need to clone this repo. For WCT to
locate these files the produced directory needs to be added to the
WIRECELL_PATH environment variable.
See the README file for details including a summary of the files available and commands to remake these files from their upstream sources.
Previously this data was kept online in a directory dump. That's still there for now. It includes some files not added to GitHub. In particular the "upstream" data from which the JSON files are converted (eg, the Garfield output) can be found. And next door to that directory is a plot dump directory which contains some diagnostic plots related to the conversion of these files which may be useful for experts to browse.
Today sees some long needed cleanups in how we build WCT and WCP and their externals. In particular:
- Jsonnet, as previously announced is now required by WCT has a build package added to wire-cell-spack.
- A source mirror is now available in case you have trouble getting any required dependencies. The Spack build will use this mirror automatically after being configured as shown in the README file.
- Besides the tip of the
masterbranch, specific releases starting with 0.5.2 of WCT can now be installed with Spack.
- The WCP and its dependencies can now be built using wire-cell-spack. WCP uses a subset of the packages that WCT requires and the two can be installed side-by-side sharing these packages.
- See also this section of the README for recommended way to develop either WCP or WCT code against Spack-built dependencies.
- The cursed XData package is removed from both WCP and WCT.
Throwing exceptions is now a SOP for indicating some error.
Hanyu Wei has done great job getting the basic drift and response simulation finished. In particular it now properly handles the exceeding fine-scale interpolation that is essential for having realistically smooth induction signals as a particle's ionization track moves from the region around one field response path to its neighbor. This improvement makes negligible impact on speed. Also included is proper drift processes and their statistics as well as the introduction of an addition RC response for amplifier after the preamp (for MicroBooNE).
Hanyu also added a new frame sink to write out "celltree" file format. This ROOT-based format has been used for a while now to transfer data between the Wire-Cell Prototype and other applications.