Extracts the baseline of PMT waveforms. More...
Classes | |
| struct | Config |
Public Types | |
| using | Parameters = art::EDProducer::Table< Config > |
Public Member Functions | |
| PMTWaveformBaselines (Parameters const &config) | |
| virtual void | beginJob () override |
| Prepares the plots to be filled. More... | |
| virtual void | produce (art::Event &event) override |
| Creates the data products. More... | |
| virtual void | endJob () override |
| Remove empty plots. More... | |
Private Member Functions | |
| void | setupPlots () |
| Creates all the plots to be filled by the module. More... | |
| void | buildBaselineGraphs () |
| Removes the empty plots. More... | |
| icarus::WaveformBaseline | baselineFromMedian (raw::OpDetWaveform const &waveform) const |
| Extracts a baseline as median from a single waveform. More... | |
Private Attributes | |
| art::InputTag const | fOpDetWaveformTag |
| Input optical waveform tag. More... | |
| bool | fPlotBaselines |
| Whether to produce plots. More... | |
| double const | fBaselineTimeAverage { 0.0 } |
| Width of baseline time profile binning [s]. More... | |
| std::string const | fLogCategory |
| Category name for the console output stream. More... | |
| std::size_t | fNPlotChannels = 0U |
| Number of plotted channels. More... | |
| TH2 * | fHBaselines = nullptr |
| All baselines, per channel. More... | |
| std::vector< std::vector < std::pair< double, double > > > | fBaselinesVsTime |
| For each channel, all event times and their baselines. More... | |
Extracts the baseline of PMT waveforms.
This module produces a baseline data product for each optical detector waveform.
The waveforms on the same channels are currently treated as independent (which is less than ideal).
std::vector<icarus::WaveformBaseline>, with one baseline per input waveform; the baselines are guaranteed to be in the same order as the waveforms in the input collection;art::Assns<icarus::WaveformBaseline, raw::OpDetWaveform>.Baselines: baseline distribution, per channel; average baseline [ADC] per event per channel; all waveforms on the same channels in a single event contribute to the average, and channels with no waveforms in an event do not contribute an entry for that event.std::vector<raw::OpDetWaveform>: a single waveform for each recorded optical detector activity; the activity belongs to a single channel, but there may be multiple waveforms on the same channel.TFileService and Geometry if PlotBaselines is enabledA terse description of the parameters is printed by running lar --print-description PMTWaveformBaselines.
OpticalWaveforms (input tag, mandatory): the data product containing all optical detector waveforms;OutputCategory (string, default: "PMTWaveformBaselines"): label for the category of messages in the console output; this is the label that can be used for filtering messages via MessageFacility service configuration;PlotBaselines (flag, default: true): whether to produce distributions of the extracted baselines.BaselineTimeAverage (real number, default: 600.0): binning of the baseline profile vs. time, in seconds. Requires PlotBaselines to be set. Definition at line 116 of file PMTWaveformBaselines_module.cc.
| using icarus::PMTWaveformBaselines::Parameters = art::EDProducer::Table<Config> |
Definition at line 152 of file PMTWaveformBaselines_module.cc.
|
explicit |
Definition at line 250 of file PMTWaveformBaselines_module.cc.
|
private |
Extracts a baseline as median from a single waveform.
Definition at line 478 of file PMTWaveformBaselines_module.cc.
|
overridevirtual |
Prepares the plots to be filled.
Definition at line 284 of file PMTWaveformBaselines_module.cc.
|
private |
Removes the empty plots.
Definition at line 414 of file PMTWaveformBaselines_module.cc.
|
overridevirtual |
Remove empty plots.
Definition at line 382 of file PMTWaveformBaselines_module.cc.
|
overridevirtual |
Creates the data products.
Definition at line 295 of file PMTWaveformBaselines_module.cc.
|
private |
Creates all the plots to be filled by the module.
Definition at line 390 of file PMTWaveformBaselines_module.cc.
|
private |
For each channel, all event times and their baselines.
Definition at line 205 of file PMTWaveformBaselines_module.cc.
|
private |
Width of baseline time profile binning [s].
Definition at line 185 of file PMTWaveformBaselines_module.cc.
|
private |
All baselines, per channel.
Definition at line 202 of file PMTWaveformBaselines_module.cc.
|
private |
Category name for the console output stream.
Definition at line 187 of file PMTWaveformBaselines_module.cc.
|
private |
Number of plotted channels.
Definition at line 201 of file PMTWaveformBaselines_module.cc.
|
private |
Input optical waveform tag.
Definition at line 180 of file PMTWaveformBaselines_module.cc.
|
private |
Whether to produce plots.
Definition at line 182 of file PMTWaveformBaselines_module.cc.
1.8.5