Pgrapher Configuration Improvements
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.
A powerful new idiom has been developed to simplify developing Jsonnet configuration files for Wire-Cell toolkit's Pgrapher app component.
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.
Xin concluded an intense effort to port the prototype signal processing code into the toolkit.
With hints from Lynn Garren (FNAL) a method to set up an environment where both WCT and its LArSoft integration package (larwirecell
) can be simultaneously developed.
Today a new package joins the WCT family.
https://github.com/WireCell/wire-cell-data
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
user's 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:
master
branch, specific releases starting with 0.5.2 of WCT can now be installed with Spack.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.
Jsonnet is now a required external dependency.