WaveformAnalysisLognormal Class Reference

Ratpac-two: RAT::WaveformAnalysisLognormal Class Reference
Ratpac-two

Apply lognormal fit to digitized waveforms. More...

#include <WaveformAnalysisLognormal.hh>

Inheritance diagram for RAT::WaveformAnalysisLognormal:
RAT::WaveformAnalyzerBase RAT::Processor

Public Member Functions

 WaveformAnalysisLognormal (std::string config_name)
 
void Configure (const std::string &config_name) override
 
virtual void SetD (std::string param, double value) override
 
void FitWaveform (const std::vector< double > &voltWfm)
 
- Public Member Functions inherited from RAT::WaveformAnalyzerBase
 WaveformAnalyzerBase ()=delete
 
 WaveformAnalyzerBase (std::string _procname, std::string config_name)
 
virtual void SetS (std::string param, std::string value) override
 
virtual void SetI (std::string param, int value) override
 
virtual void RunAnalysis (DS::DigitPMT *digitpmt, int pmtID, Digitizer *fDigitizer)
 
virtual void RunAnalysis (DS::DigitPMT *digitpmt, int pmtID, DS::Digit *dsdigit)
 
Processor::Result Event (DS::Root *ds, DS::EV *ev) override
 
virtual std::string GetAnalyzerName () const
 
- Public Member Functions inherited from RAT::Processor
 Processor (std::string _name)
 
virtual ~Processor ()
 
std::string GetName () const
 
virtual void SetF (std::string param, float value)
 
virtual Processor::Result DSEvent (DS::Root *ds)
 
virtual void BeginOfRun (DS::Run *run)
 
virtual void EndOfRun (DS::Run *run)
 

Protected Member Functions

void DoAnalysis (DS::DigitPMT *pmt, const std::vector< UShort_t > &digitWfm) override
 

Protected Attributes

DBLinkPtr fDigit
 
double fFitWindowLow
 
double fFitWindowHigh
 
double fFitShape
 
double fFitScale
 
double fDigitTimeInWindow
 
double fFittedTime
 
double fFittedCharge
 
double fFittedBaseline
 
double fChi2NDF
 
- Protected Attributes inherited from RAT::WaveformAnalyzerBase
double fTimeStep
 
double fVoltageRes
 
double fTermOhms
 
double fMinTotalCharge = std::numeric_limits<double>::lowest()
 
double fMaxTotalCharge = std::numeric_limits<double>::max()
 
- Protected Attributes inherited from RAT::Processor
std::string name
 

Additional Inherited Members

- Public Types inherited from RAT::Processor
enum  Result { OK = 0 , FAIL = 1 , ABORT = 2 }
 

Detailed Description

Apply lognormal fit to digitized waveforms.

Author
Tanner Kaptanoglu tanne.nosp@m.rbk@.nosp@m.berke.nosp@m.ley..nosp@m.edu
Ravi Pitelka rpite.nosp@m.lka@.nosp@m.sas.u.nosp@m.penn.nosp@m..edu
James Shen jiera.nosp@m.ns@s.nosp@m.as.up.nosp@m.enn..nosp@m.edu

REVISION HISTORY:
25 Oct 2022: Initial commit 14 Oct 2024: Refactoring

This class provides full support for analysis of the digitized waveform via a lognormal fit. Refactored from implementation in WaveformAnalysis.

Member Function Documentation

◆ Configure()

void RAT::WaveformAnalysisLognormal::Configure ( const std::string &  config_name)
overridevirtual

Configure the processor. This method will be called upon processor instantiation.

Parameters
config_nameAn index that is typically used to index table DIGITIZER_ANALYSIS in ratdb. Although technically you can use it for anything. In the base class this does nothing for now. But stuff can be added in the future if we would like to set parameters for all processors.

Reimplemented from RAT::WaveformAnalyzerBase.

◆ DoAnalysis()

void RAT::WaveformAnalysisLognormal::DoAnalysis ( DS::DigitPMT digitpmt,
const std::vector< UShort_t > &  digitwfm 
)
overrideprotectedvirtual

Implementation of the waveform analysis.

Parameters
digitpmtPointer to the digitpmt where analysis results are written to.
digitwfmWaveform to analyze, in ADC units.

See WaveformAnalysisLognormal for a concrete example. In order to write results, instantiate a RAT::DS::WaveformAnalysisResult object via digitpmt->GetOrCreateWaveformAnalysisResult("procName").

Implements RAT::WaveformAnalyzerBase.

◆ SetD()

void RAT::WaveformAnalysisLognormal::SetD ( std::string  param,
double  value 
)
overridevirtual

Functions that gets called for /procset lines in the macro. Base class does nothing.

Reimplemented from RAT::WaveformAnalyzerBase.


The documentation for this class was generated from the following files:
  • /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/daq/include/RAT/WaveformAnalysisLognormal.hh
  • /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/daq/src/WaveformAnalysisLognormal.cc