MLCPreprocessFilter Class Reference
[Filters]

Inheritance diagram for MLCPreprocessFilter:

QFilter QFilter QBaseModule QBaseModule

List of all members.


Detailed Description

filter events based on BaselineSlope.

Author:
Andrea Giachero (Andrea.Giachero@lngs.infn.it) This filter rejects events whose baseline is not enough flat. The baseline slope threshold is expressed in units of BaselineRMS/s, so that the same threshold gives more or less the same result on all detectors.
This filter is meant to be used in the load curves procedure: since the the detector noise changes when changing the bias voltage, the rms of each detector is evaluated again from scratch at each bias change. This change is detected by reading the EvAuxData variable called "SlowConfigId".
Since, in case of high detector noise, this module could block the load curves procedure, a config variable exist that defines the maximum number of events to be skipped for each electronics configuration.


Public Member Functions

 MLCPreprocessFilter (QSequence *s)
 constructor
 ~MLCPreprocessFilter ()
 destructor
void GetCuts ()
 Get cuts from config file.
bool Filter (const QEvent *ev)
 return true if ev passes the cuts
 MLCPreprocessFilter (QSequence *s)
 constructor
 ~MLCPreprocessFilter ()
 destructor
void GetCuts ()
 Get cuts from config file.
bool Filter (const QEvent *ev)
 return true if ev passes the cuts

Private Member Functions

bool UpdateRMS (double new_rms, const int lg)
bool UpdateRMS (double new_rms, const int lg)

Private Attributes

std::map< int, int > fCurrentId
std::map< int, size_t > fCnt
std::map< int, int > fNumSkipped
int fMaxToSkip
size_t fMinNumbAvg
double fUnitOfRMS
std::map< int, double > fRMS

Member Function Documentation

bool MLCPreprocessFilter::UpdateRMS ( double  new_rms,
const int  lg 
) [private]

Update rms value

References QBaseModule::Debug(), fCnt, fCurrentId, fMinNumbAvg, and fRMS.

Referenced by Filter().

bool MLCPreprocessFilter::UpdateRMS ( double  new_rms,
const int  lg 
) [private]

Update rms value


Member Data Documentation

std::map< int, int > MLCPreprocessFilter::fCurrentId [private]

key: lg channel; val: current electronics configuration id

Referenced by Filter(), GetCuts(), and UpdateRMS().

std::map< int, size_t > MLCPreprocessFilter::fCnt [private]

channel based counter for averaged rms evaluation

Referenced by Filter(), GetCuts(), and UpdateRMS().

std::map< int, int > MLCPreprocessFilter::fNumSkipped [private]

channel based counter for skipped event

Referenced by Filter(), and GetCuts().

max number of events to skip for a given configuration

Referenced by Filter(), and GetCuts().

number of events used to evalate the average rms

Referenced by GetCuts(), and UpdateRMS().

baseline slope threshold in units of rms/s

Referenced by Filter(), and GetCuts().

std::map< int, double > MLCPreprocessFilter::fRMS [private]

channel based map of average rms

Referenced by Filter(), GetCuts(), and UpdateRMS().


The documentation for this class was generated from the following files:

Generated on Tue Nov 16 10:50:02 2010 for CUORE Software by  doxygen 1.5.6