Searches for individual scintillation events within a trigger. More...
#include <PulseFinder.hh>
Public Types | |
| enum | SEARCH_MODE { VARIANCE, DISCRIMINATOR, INTEGRAL, CURVATURE } |
Public Member Functions | |
| PulseFinder () | |
| int | Initialize () |
| Initialize the module before starting a run. Return 0 if no error. | |
| int | Finalize () |
| Finalize state after a run has processed. Return 0 if no error. | |
| int | Process (EventPtr evt) |
| Process a single event. Must be overridden. Return 0 if no error. | |
| int | EvaluatePulse (Pulse &pulse, ChannelData *chdata, int start_index, int end_index) const |
| Evaluate times, integral, fparams for pulse. | |
| void | DiscriminatorSearch (ChannelData *chdata, std::vector< int > &start_index, std::vector< int > &end_index) |
| Search for pulses using a simple discrimination threshold. | |
| void | VarianceSearch (ChannelData *chdata, std::vector< int > &start_index, std::vector< int > &end_index) |
| Search for pulses based on the measured variance of the baseline. | |
| void | IntegralSearch (ChannelData *chdata, std::vector< int > &start_index, std::vector< int > &end_index) |
| void | CurvatureSearch (ChannelData *chdata, std::vector< int > &start_index, std::vector< int > &end_index) |
| Search for pulses based on the curvature of the integral. | |
Static Public Member Functions | |
| static const std::string | GetDefaultName () |
Private Member Functions | |
| double | PredictedNPE (double t0, double t, double fprompt, double tau1, double tau2) |
Private Attributes | |
| bool | align_pulses |
| Single set of pulse edges for all channels? | |
| SEARCH_MODE | mode |
| Which search function to use. | |
| bool | normalize |
| Scale all searches by spemean? | |
| int | start_window |
| sample window to start looking in | |
| double | min_start_variance |
| min variance to define a start | |
| int | min_resolution |
| What is this? | |
| int | min_start_peak_sep |
| min samples peaks must be separated by | |
| bool | discriminator_relative |
| is disc value relative to baseline? | |
| double | discriminator_value |
| discriminator treshold value in counts | |
| int | discriminator_start_add |
| n samples to add before start | |
| int | discriminator_end_add |
| n samples to add after end | |
| double | integral_start_time |
| time in us over which photons arrive | |
| double | integral_end_time |
| time at end of pulse to be below thresh | |
| double | integral_start_threshold |
| amount in npe integral must fall | |
| double | integral_end_threshold |
| end when npe integral below thresh | |
| double | min_sep_time |
| minimum time two pulses must be apart | |
| double | multipulse_thresh_value |
| secondary must be > this*prev integral | |
| double | amplitude_start_threshold |
| before broad integral search, look for signal above this threshold | |
| double | amplitude_end_threshold |
| signal must fall below this threshold to end pulse | |
| double | min_pulse_time |
| minimum length of pulse before ends naturally | |
| double | lookback_time |
| int | down_sample_factor |
| Get the fractional of photoelectrons expected to arrive between t0 and t. | |
| double | pulse_start_curvature |
| curvature threshold to start a new pulse | |
| int | pile_up_curvature |
| curvature threshold to start a pile up pulse | |
| double | pulse_end_slope |
| slope threshold to end a pulse | |
| double | fixed_time1 |
| fixed time1 at which to evaluate pulse integral | |
| double | fixed_time2 |
| fixed time2 at which to evaluate pulse integral | |
Searches for individual scintillation events within a trigger.
Definition at line 15 of file PulseFinder.hh.
| PulseFinder::PulseFinder | ( | ) |
Definition at line 52 of file PulseFinder.cc.
double PulseFinder::lookback_time [private] |
samples to look back for pileup
Definition at line 73 of file PulseFinder.hh.
int PulseFinder::down_sample_factor [private] |
Get the fractional of photoelectrons expected to arrive between t0 and t.
reduce the integral vector size by this factor
Definition at line 77 of file PulseFinder.hh.
1.6.1