PulseFinder Class Reference
[modules - functions to process raw data in series]

Searches for individual scintillation events within a trigger. More...

#include <PulseFinder.hh>

Inheritance diagram for PulseFinder:
BaseModule ParameterList VParameterNode

List of all members.

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

Detailed Description

Searches for individual scintillation events within a trigger.

Definition at line 15 of file PulseFinder.hh.


Constructor & Destructor Documentation

PulseFinder::PulseFinder (  ) 

Todo:
Provide helptext for PulseFinder parameters

Definition at line 52 of file PulseFinder.cc.


Member Data Documentation

double PulseFinder::lookback_time [private]

samples to look back for pileup

Definition at line 73 of file PulseFinder.hh.

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.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on 20 Jun 2014 for daqman by  doxygen 1.6.1