LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "AlgoSiPM.h"
Public Member Functions | |
AlgoSiPM (const fhicl::ParameterSet &pset, std::unique_ptr< pmtana::RiseTimeCalculatorBase > risetimecalculator=nullptr, const std::string name="AlgoSiPM") | |
void | Reset () |
A method to be called event-wise to reset parameters. More... | |
const std::string & | Name () const |
Name getter. More... | |
bool | Status () const |
Status getter. More... | |
bool | Reconstruct (const pmtana::Waveform_t &, const pmtana::PedestalMean_t &, const pmtana::PedestalSigma_t &) |
const pulse_param & | GetPulse (size_t index=0) const |
const pulse_param_array & | GetPulses () const |
A getter for the whole array of pulse_param struct object. More... | |
size_t | GetNPulse () const |
A getter for the number of reconstructed pulses from the input waveform. More... | |
Protected Member Functions | |
bool | RecoPulse (const pmtana::Waveform_t &, const pmtana::PedestalMean_t &, const pmtana::PedestalSigma_t &) |
bool | Integral (const std::vector< short > &wf, double &result, size_t begin=0, size_t end=0) const |
bool | Derivative (const std::vector< short > &wf, std::vector< int32_t > &diff, size_t begin=0, size_t end=0) const |
size_t | Max (const std::vector< short > &wf, double &result, size_t begin=0, size_t end=0) const |
size_t | Min (const std::vector< short > &wf, double &result, size_t begin=0, size_t end=0) const |
Protected Attributes | |
double | _adc_thres |
int | _min_width |
double | _2nd_thres |
double | _pedestal |
pulse_param_array | _pulse_v |
A container array of pulse_param struct objects to store (possibly multiple) reconstructed pulse(s). More... | |
pulse_param | _pulse |
A subject pulse_param object to be filled with the last reconstructed pulse parameters. More... | |
std::unique_ptr< pmtana::RiseTimeCalculatorBase > | _risetime_calc_ptr = nullptr |
Tool for rise time calculation. More... | |
Definition at line 24 of file AlgoSiPM.h.
pmtana::AlgoSiPM::AlgoSiPM | ( | const fhicl::ParameterSet & | pset, |
std::unique_ptr< pmtana::RiseTimeCalculatorBase > | risetimecalculator = nullptr , |
||
const std::string | name = "AlgoSiPM" |
||
) |
Definition at line 12 of file AlgoSiPM.cxx.
References _2nd_thres, _adc_thres, _min_width, _pedestal, pmtana::PMTPulseRecoBase::_risetime_calc_ptr, fhicl::ParameterSet::get(), and Reset().
|
protectedinherited |
A method to compute derivative, which is a simple subtraction of previous ADC sample from each sample. The result is stored in the input "diff" reference vector which is int32_t type as a derivative could be negative.
Definition at line 121 of file PMTPulseRecoBase.cxx.
References util::begin(), pmtana::CheckIndex(), and util::end().
|
inlineinherited |
A getter for the number of reconstructed pulses from the input waveform.
Definition at line 101 of file PMTPulseRecoBase.h.
Referenced by opdet::LEDCalibrationAna::analyze().
|
inherited |
A getter for the pulse_param struct object. Reconstruction algorithm may have more than one pulse reconstructed from an input waveform. Note you must, accordingly, provide an index key to specify which pulse_param object to be retrieved.
Definition at line 74 of file PMTPulseRecoBase.cxx.
References pmtana::PMTPulseRecoBase::_pulse_v.
Referenced by opdet::LEDCalibrationAna::analyze().
|
inherited |
A getter for the whole array of pulse_param struct object.
Definition at line 91 of file PMTPulseRecoBase.cxx.
References pmtana::PMTPulseRecoBase::_pulse_v.
Referenced by opdet::RunHitFinder().
|
protectedinherited |
A method to integrate an waveform from index "begin" to the "end". The result is filled in "result" reference. If the "end" is default (=0), then "end" is set to the last index of the waveform.
Definition at line 98 of file PMTPulseRecoBase.cxx.
References util::begin(), pmtana::CheckIndex(), and util::end().
Referenced by pmtana::AlgoFixedWindow::RecoPulse().
|
protectedinherited |
A method to return the maximum value of ADC sample within the index from "begin" to "end". If the "end" is default (=0), then "end" is set to the last index of the waveform.
Definition at line 144 of file PMTPulseRecoBase.cxx.
References util::begin(), pmtana::CheckIndex(), and util::end().
Referenced by pmtana::AlgoFixedWindow::RecoPulse().
|
protectedinherited |
A method to return the minimum value of ADC sample within the index from "begin" to "end". If the "end" is default (=0), then "end" is set to the last index of the waveform.
Definition at line 169 of file PMTPulseRecoBase.cxx.
References util::begin(), pmtana::CheckIndex(), and util::end().
|
inherited |
Name getter.
Definition at line 22 of file PMTPulseRecoBase.cxx.
References pmtana::PMTPulseRecoBase::_name.
|
inherited |
A core method: this executes the algorithm and stores reconstructed parameters in the pulse_param struct object.
Definition at line 36 of file PMTPulseRecoBase.cxx.
References pmtana::PMTPulseRecoBase::_status, and pmtana::PMTPulseRecoBase::RecoPulse().
|
protectedvirtual |
Implements pmtana::PMTPulseRecoBase.
Definition at line 37 of file AlgoSiPM.cxx.
References _2nd_thres, _adc_thres, _min_width, pmtana::PMTPulseRecoBase::_pulse, pmtana::PMTPulseRecoBase::_pulse_v, pmtana::PMTPulseRecoBase::_risetime_calc_ptr, pmtana::pulse_param::area, util::counter(), pmtana::pulse_param::peak, Reset(), pmtana::pulse_param::reset_param(), pmtana::pulse_param::t_end, pmtana::pulse_param::t_max, pmtana::pulse_param::t_rise, pmtana::pulse_param::t_start, and value.
|
virtual |
A method to be called event-wise to reset parameters.
Reimplemented from pmtana::PMTPulseRecoBase.
Definition at line 31 of file AlgoSiPM.cxx.
References pmtana::PMTPulseRecoBase::Reset().
Referenced by AlgoSiPM(), and RecoPulse().
|
inherited |
Status getter.
Definition at line 29 of file PMTPulseRecoBase.cxx.
References pmtana::PMTPulseRecoBase::_status.
|
protected |
Definition at line 53 of file AlgoSiPM.h.
Referenced by AlgoSiPM(), and RecoPulse().
|
protected |
Definition at line 47 of file AlgoSiPM.h.
Referenced by AlgoSiPM(), and RecoPulse().
|
protected |
Definition at line 50 of file AlgoSiPM.h.
Referenced by AlgoSiPM(), and RecoPulse().
|
protected |
Definition at line 56 of file AlgoSiPM.h.
Referenced by AlgoSiPM().
|
protectedinherited |
A subject pulse_param object to be filled with the last reconstructed pulse parameters.
Definition at line 119 of file PMTPulseRecoBase.h.
Referenced by RecoPulse(), pmtana::AlgoSlidingWindow::RecoPulse(), pmtana::AlgoCFD::RecoPulse(), pmtana::AlgoThreshold::RecoPulse(), pmtana::AlgoFixedWindow::RecoPulse(), pmtana::AlgoFixedWindow::Reset(), and pmtana::PMTPulseRecoBase::Reset().
|
protectedinherited |
A container array of pulse_param struct objects to store (possibly multiple) reconstructed pulse(s).
Definition at line 116 of file PMTPulseRecoBase.h.
Referenced by pmtana::PMTPulseRecoBase::GetPulse(), pmtana::PMTPulseRecoBase::GetPulses(), RecoPulse(), pmtana::AlgoSlidingWindow::RecoPulse(), pmtana::AlgoCFD::RecoPulse(), pmtana::AlgoThreshold::RecoPulse(), pmtana::AlgoFixedWindow::RecoPulse(), pmtana::AlgoFixedWindow::Reset(), and pmtana::PMTPulseRecoBase::Reset().
|
protectedinherited |
Tool for rise time calculation.
Definition at line 122 of file PMTPulseRecoBase.h.
Referenced by pmtana::AlgoCFD::AlgoCFD(), pmtana::AlgoFixedWindow::AlgoFixedWindow(), AlgoSiPM(), pmtana::AlgoSlidingWindow::AlgoSlidingWindow(), pmtana::AlgoThreshold::AlgoThreshold(), RecoPulse(), pmtana::AlgoSlidingWindow::RecoPulse(), pmtana::AlgoThreshold::RecoPulse(), pmtana::AlgoCFD::RecoPulse(), and pmtana::AlgoFixedWindow::RecoPulse().