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.