/home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/daq/include/RAT/WaveformAnalysisRAVEN.hh Source File
|
Ratpac-two
|
WaveformAnalysisRAVEN.hh
51 WaveformAnalysisRAVEN(std::string config_name) : WaveformAnalyzerBase("WaveformAnalysisRAVEN", config_name) {
105 TVectorD Thresholded_rsNNLS(const TMatrixD &W_region, const TVectorD &voltVec, const double threshold,
109 std::vector<std::pair<int, int>> FindThresholdRegions(const std::vector<double> &voltWfm, double threshold,
113 void ProcessThresholdRegion(const std::vector<double> &voltWfm, int start_sample, int end_sample,
117 void ExtractPhotoelectrons(const TVectorD ®ion_weights, int dict_start, int dict_cols, int start_sample,
123 std::vector<std::pair<double, double>> MergeNearbyWeights(const TVectorD ®ion_weights, int dict_start,
Definition: DigitPMT.hh:23
Definition: WaveformAnalysisResult.hh:21
Perform reverse sparse non-negative least squares fitting and NPE likelihood estimation on digitized ...
Definition: WaveformAnalysisRAVEN.hh:47
int threshold_region_padding
Number of samples to pad around threshold crossing regions.
Definition: WaveformAnalysisRAVEN.hh:69
void ProcessThresholdRegion(const std::vector< double > &voltWfm, int start_sample, int end_sample, DS::WaveformAnalysisResult *fit_result, double gain_calibration)
Process a single threshold crossing region with rsNNLS.
Definition: WaveformAnalysisRAVEN.cc:356
double upsample_factor
Dictionary upsampling factor for sub-sample resolution.
Definition: WaveformAnalysisRAVEN.hh:86
bool dictionary_built
Flag to track if dictionary has been built.
Definition: WaveformAnalysisRAVEN.hh:98
size_t max_iterations
Maximum iterations for iterative thresholding.
Definition: WaveformAnalysisRAVEN.hh:85
double lognormal_shape
LogNormal 'sigma' parameter for SPE template.
Definition: WaveformAnalysisRAVEN.hh:75
double npe_estimate_charge_width
Width of Gaussian single-PE charge distribution.
Definition: WaveformAnalysisRAVEN.hh:94
double voltage_threshold
Voltage threshold for threshold crossing region detection.
Definition: WaveformAnalysisRAVEN.hh:68
std::vector< std::pair< int, int > > FindThresholdRegions(const std::vector< double > &voltWfm, double threshold, int region_padding)
Find threshold crossing regions in waveform for efficient processing.
Definition: WaveformAnalysisRAVEN.cc:314
int template_type
Template type: 0=lognormal, 1=gaussian.
Definition: WaveformAnalysisRAVEN.hh:71
TVectorD Thresholded_rsNNLS(const TMatrixD &W_region, const TVectorD &voltVec, const double threshold, double &chi2ndf_out, int &iterations_out)
Perform reverse sparse NNLS with iterative thresholding on a region submatrix.
Definition: WaveformAnalysisRAVEN.cc:225
void SetD(std::string param, double value) override
Definition: WaveformAnalysisRAVEN.cc:79
bool process_threshold_crossing
Whether to use threshold crossing region processing.
Definition: WaveformAnalysisRAVEN.hh:67
size_t npe_estimate_max_pes
Upper limit for NPE estimation.
Definition: WaveformAnalysisRAVEN.hh:95
double vpe_charge
Nominal charge of single PE in pC.
Definition: WaveformAnalysisRAVEN.hh:80
void DoAnalysis(DS::DigitPMT *digitpmt, const std::vector< UShort_t > &digitWfm) override
Definition: WaveformAnalysisRAVEN.cc:164
double gaussian_width
Gaussian 'sigma' parameter for SPE template.
Definition: WaveformAnalysisRAVEN.hh:78
void SetI(std::string param, int value) override
Definition: WaveformAnalysisRAVEN.cc:105
bool npe_estimate
Whether to perform NPE estimation on resolved wave packets.
Definition: WaveformAnalysisRAVEN.hh:93
double epsilon
NNLS convergence tolerance.
Definition: WaveformAnalysisRAVEN.hh:84
double cached_digitizer_period
Cached digitizer period for dictionary.
Definition: WaveformAnalysisRAVEN.hh:100
std::vector< std::pair< double, double > > MergeNearbyWeights(const TVectorD ®ion_weights, int dict_start, int dict_cols, double merge_window)
Definition: WaveformAnalysisRAVEN.cc:408
TMatrixD fW
Dictionary matrix for NNLS (nsamples × dict_size)
Definition: WaveformAnalysisRAVEN.hh:83
int cached_nsamples
Cached number of samples for dictionary.
Definition: WaveformAnalysisRAVEN.hh:99
double lognormal_scale
LogNormal 'm' parameter for SPE template.
Definition: WaveformAnalysisRAVEN.hh:74
void Configure(const std::string &config_name) override
Definition: WaveformAnalysisRAVEN.cc:21
double weight_threshold
Minimum weight threshold for component significance.
Definition: WaveformAnalysisRAVEN.hh:89
void ExtractPhotoelectrons(const TVectorD ®ion_weights, int dict_start, int dict_cols, int start_sample, int end_sample, double chi2ndf, int iterations_ran, DS::WaveformAnalysisResult *fit_result, double gain_calibration)
Extract photoelectrons from significant weights in the region.
Definition: WaveformAnalysisRAVEN.cc:460
double weight_merge_window
Time window (ns) for merging nearby weights before NPE estimation.
Definition: WaveformAnalysisRAVEN.hh:90
Definition: WaveformAnalyzerBase.hh:23
WaveformAnalyzerBase()=delete
Definition: CCCrossSecMessenger.hh:29
Generated by