44 if(_reco_algo_v.empty() && !_ped_algo)
48 bool ped_status =
true;
52 ped_status = _ped_algo->Evaluate(wf);
54 bool pulse_reco_status = ped_status;
56 for(
auto& algo_pair : _reco_algo_v) {
58 auto& pulse_algo = algo_pair.first;
59 auto& ped_algo = algo_pair.second;
63 ped_status = ped_status && ped_algo->Evaluate(wf);
65 pulse_reco_status = ( ped_status &&
67 pulse_algo->Reconstruct( wf, ped_algo->Mean(), ped_algo->Sigma() )
74 ss <<
"No pedestal algorithm available for pulse algo " << pulse_algo->Name();
78 pulse_reco_status = ( pulse_reco_status &&
79 pulse_algo->Reconstruct( wf, _ped_algo->Mean(), _ped_algo->Sigma() )
84 return pulse_reco_status;
Class def header for exception classes in OpticalDetector package.
void AddRecoAlgo(pmtana::PMTPulseRecoBase *algo, PMTPedestalBase *ped_algo=nullptr)
A method to set pulse reconstruction algorithm.
Class definition file of PMTPedestalBase.
bool Reconstruct(const pmtana::Waveform_t &) const
Implementation of ana_base::analyze method.
std::vector< short > Waveform_t
PMTPedestalBase * _ped_algo
ped_estimator object
void SetDefaultPedAlgo(pmtana::PMTPedestalBase *algo)
A method to set a choice of pedestal estimation method.
PulseRecoManager()
Default constructor.
Class definition file of PMTPulseRecoBase.
std::vector< std::pair< pmtana::PMTPulseRecoBase *, pmtana::PMTPedestalBase * > > _reco_algo_v
pulse reconstruction algorithm pointer
Class definition file of PulseRecoManager.