goldpan¶
goldpan: analysis of digitized pulses together with their scalar quantities.
The modules (import what you need; none is imported automatically, so that optional dependencies such as h5py are only needed by the modules that use them):
goldpan.configthe readout of your data (PulseConfig, with the presetsDCRC_RUN76andZ7); it has no defaultsgoldpan.datathe immutable container of one detector’s events (Events,Detector,Readout; needsawkward)goldpan.quantitiesper-pulse numbers (baseline, excursion, spectrum, …)goldpan.cutsselections built from the quantitiesgoldpan.operationspulse in, pulse out (baseline subtraction, glitch trimming)goldpan.ioloading traces of a dump into arraysgoldpan.rqdatathe RQs of a list of series as numpy arrays, with an on-disk cache (load(dataset, rqs); needsuproot)goldpan.runmetarun metadata (high voltage, trigger setting) per event, joined by series, and chunks of events by itgoldpan.archivewriting and reading HDF5 archives of selected pulsesgoldpan.channelswhich physical channel is a dump’s (detector, channel); the map of the Run 76 readoutgoldpan.statusthe@statustag of every public function
The flat names of the first versions (pulse_quantities, pulse_cuts, …) still work: they are aliases of these
modules with the Run 76 readout as the default config, kept for the existing notebooks (goldpan.legacy).
Modules
Adapters: the only code that knows a file format. |
|
Trace algorithms: filters and per-trace quantities (ported from |
|
Persistent archive of "good event" selections, keyed by series/detector/channel. |
|
Which physical detector channel is a dump's (detector, channel) pair? |
|
Configuration of a readout, shared by the pulse quantities, cuts and operations. |
|
Cuts: pulses in, one boolean per pulse out (True = keep). |
|
The in-memory container of one detector's events: traces, quantities, readout, provenance. |
|
A dataset definition: which raw files, how to read them, and which processing to run on them. |
|
Bridge from |
|
The flat module names of the first versions ( |
|
Operations: pulses in, new (modified) pulses out -- same pulse-shaped family. |
|
Derived quantities: pulses in, one real number (or one array) per pulse out. |
|
A registry of the facts about an experiment that analysis needs and the library must not contain: the readouts (how a pretrigger window, a glitch and a sample period are set), and the detectors (their number, type, readout and where each named channel is wired in a given file format). |
|
Selections made from already-processed RQs, with no raw traces: the fast path (ported from |
|
The RQs of a whole list of series at once, as numpy arrays, with an on-disk cache: the second read is fast. |
|
Run metadata (high voltage, trigger setting, ...) per event, from a table keyed by series. |
|
Development-status tagging for functions in this library. |
|
The conformance test of an adapter, for the people who write one (see the guide "Writing an adapter" in the documentation). |