Pixie16 Analysis Software Suite
Analysis code for processing of .ldf files
GeProcessor Class Reference

Processor to handle Ge (read as clover) events. More...

#include <GeProcessor.hpp>

Inheritance diagram for GeProcessor:
Collaboration diagram for GeProcessor:

Public Member Functions

 GeProcessor (double gammaThreshold, double lowRatio, double highRatio, double subEventWindow, double gammaBetaLimit, double gammaGammaLimit, double cycle_gate1_min, double cycle_gate1_max, double cycle_gate2_min, double cycle_gate2_max)
 
virtual bool PreProcess (RawEvent &event)
 
virtual bool Process (RawEvent &event)
 
virtual void DeclarePlots (void)
 
- Public Member Functions inherited from EventProcessor
 EventProcessor ()
 
 EventProcessor (int offset, int range, std::string name)
 
virtual ~EventProcessor ()
 
virtual const std::set< std::string > & GetTypes (void) const
 
virtual bool DidProcess (void) const
 
virtual bool HasEvent (void) const
 
virtual bool Init (RawEvent &event)
 
void EndProcess (void)
 
std::string GetName (void) const
 

Protected Member Functions

EventData BestBetaForGamma (double gTime)
 
bool GoodGammaBeta (double gTime)
 
void DeclareHistogramGranY (int dammId, int xsize, int ysize, const char *title, int halfWordsPerChan, const std::vector< float > &granularity, const char *units)
 
void granploty (int dammId, double x, double y, const std::vector< float > &granularity)
 
void symplot (int dammID, double bin1, double bin2)
 
- Protected Member Functions inherited from EventProcessor
virtual void plot (int dammId, double val1, double val2=-1, double val3=-1, const char *name="h")
 Implementation of the plot command to interface with the DAMM routines. More...
 
virtual void DeclareHistogram1D (int dammId, int xSize, const char *title)
 Declares a 1D histogram calls the C++ wrapper for DAMM. More...
 
virtual void DeclareHistogram2D (int dammId, int xSize, int ySize, const char *title)
 Declares a 2D histogram calls the C++ wrapper for DAMM. More...
 

Protected Attributes

std::map< int, int > leafToClover
 
std::vector< float > timeResolution
 
unsigned int numClovers
 
std::vector< ChanEvent * > geEvents_
 
std::vector< std::vector< AddBackEvent > > addbackEvents_
 
std::vector< AddBackEventtas_
 
double gammaThreshold_
 
double lowRatio_
 ratio between low and high gain to be accepted w/o saturation flag
 
double highRatio_
 ratio between low and high gain to be accepted w/o saturation flag
 
double subEventWindow_
 
double gammaBetaLimit_
 
double gammaGammaLimit_
 
double cycle_gate1_min_
 low value for first cycle gate More...
 
double cycle_gate1_max_
 high value for first cycle gate
 
double cycle_gate2_min_
 low value for second cycle gate
 
double cycle_gate2_max_
 high value for second cycle gate
 
- Protected Attributes inherited from EventProcessor
std::string name
 Name of the Processor.
 
std::set< std::string > associatedTypes
 Set of associated types for Processor.
 
bool initDone
 True if the initialization has finished.
 
bool didProcess
 True if the process finished.
 
std::map< std::string, const DetectorSummary * > sumMap
 Map of associated detector summary.
 
Plots histo
 

Static Protected Attributes

static const unsigned int chansPerClover = 4
 

Detailed Description

Processor to handle Ge (read as clover) events.

Constructor & Destructor Documentation

GeProcessor::GeProcessor ( double  gammaThreshold,
double  lowRatio,
double  highRatio,
double  subEventWindow,
double  gammaBetaLimit,
double  gammaGammaLimit,
double  cycle_gate1_min,
double  cycle_gate1_max,
double  cycle_gate2_min,
double  cycle_gate2_max 
)

Constructor taking a boat load of arguements

Parameters
[in]gammaThreshold: set the threshold on gamma rays to analyze
[in]lowRatio: the low ratio for low-high gains
[in]highRatio: the high ratio for low-high gains
[in]subEventWindow: the size of the subevent
[in]gammaBetaLimit: the amount of time to consider beta-gamma correlations
[in]gammaGammaLimit: the amount of time to consider gamma-gamma correlations
[in]cycle_gate1_min: the minimum range for the first cycle gate
[in]cycle_gate1_max: the maximum range for the first cycle gate
[in]cycle_gate2_min: the minimum range for the second cycle gate
[in]cycle_gate2_max: the maximum range for the second cycle gate

Member Function Documentation

EventData GeProcessor::BestBetaForGamma ( double  gTime)
protected
Returns
lowest difference between gamma and beta times and EventData of the beta event. Takes gTime in pixie clock units, returns value in seconds.
Parameters
[in]gTime: the time of the gamma
void GeProcessor::DeclareHistogramGranY ( int  dammId,
int  xsize,
int  ysize,
const char *  title,
int  halfWordsPerChan,
const std::vector< float > &  granularity,
const char *  units 
)
protected

Declares a histogram with a range of granularities

Parameters
[in]dammId: the dammID to plot
[in]xsize: the size in the x range
[in]ysize: the size in the y range
[in]title: the title of the histogram
[in]halfWordsPerChan: the half words per channel
[in]granularity: the list of granularities to plot
[in]units: the units for the plot
virtual void GeProcessor::DeclarePlots ( void  )
virtual

Declare the plots for the processor

Reimplemented from EventProcessor.

Reimplemented in GeCalibProcessor, and Ge4Hen3Processor.

bool GeProcessor::GoodGammaBeta ( double  gTime)
protected
Returns
true if gamma-beta correlation time within good limits. Browses through all beta events in Beta correlation place to find the lowest difference. Takes gTime in pixie clock, limit in seconds.
Parameters
[in]gTime: the time of the gamma
void GeProcessor::granploty ( int  dammId,
double  x,
double  y,
const std::vector< float > &  granularity 
)
protected

Plotting function to plot in a specific granularity

Parameters
[in]dammId: the damm id to plot into
[in]x: the x value to plot
[in]y: the y value to plot
[in]granularity: the list of granularities to plot into
virtual bool GeProcessor::PreProcess ( RawEvent event)
virtual

Preprocess the event

Parameters
[in]event: the event to preprocess
Returns
true if successful

Reimplemented from EventProcessor.

Reimplemented in GeCalibProcessor.

virtual bool GeProcessor::Process ( RawEvent event)
virtual

Process the event

Parameters
[in]event: the event to process
Returns
true if successful

Reimplemented from EventProcessor.

Reimplemented in GeCalibProcessor, and Ge4Hen3Processor.

void GeProcessor::symplot ( int  dammID,
double  bin1,
double  bin2 
)
protected

Symmetric gamma-gamma plots. It will plot (bin1,bin2) and (bin2,bin1).

Parameters
[in]dammID: the ID for the plot
[in]bin1: the first bin to plot into
[in]bin2: the second bin to plot into

Field Documentation

std::vector< std::vector<AddBackEvent> > GeProcessor::addbackEvents_
protected

addbackEvents vector of vectors, where first vector enumerates cloves, second events

const unsigned int GeProcessor::chansPerClover = 4
staticprotected

number of channels per clover

double GeProcessor::cycle_gate1_min_
protected

low value for first cycle gate

Cycle gates replace early/high limits. Gate set on cycle in time allows to check the gamma-gamma coincidences within the chosen range of cycle (e.g 1 - 1.5 s)

double GeProcessor::gammaBetaLimit_
protected

Prompt Gamma-beta limit in seconds

double GeProcessor::gammaGammaLimit_
protected

Prompt Gamma-gamma limit in seconds

double GeProcessor::gammaThreshold_
protected

Gamma low threshold in keV

std::vector<ChanEvent*> GeProcessor::geEvents_
protected

Preprocessed good ge events, filled in PreProcess.

std::map<int, int> GeProcessor::leafToClover
protected

Translate a leaf location to a clover number

unsigned int GeProcessor::numClovers
protected

number of clovers in map

double GeProcessor::subEventWindow_
protected

Addback subevent window in seconds

std::vector<AddBackEvent> GeProcessor::tas_
protected

tas vector for total energy absorbed, similar structure as addback but there is only one "super-clover" (sum of all detectors)

std::vector<float> GeProcessor::timeResolution
protected

Contatin time resolutions used


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