PAASS
Software suite to Acquire and Analyze Data from Pixie16
|
Processor to handle Ge (read as clover) events. More...
#include <GeProcessor.hpp>
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) |
std::vector< ChanEvent * > | GetGeEvents (void) |
std::vector< std::vector< AddBackEvent > > | GetAddbackEvents (void) |
std::vector< AddBackEvent > | GetTasEvents (void) |
![]() | |
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) |
![]() | |
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< AddBackEvent > | tas_ |
double | gammaThreshold_ |
double | lowRatio_ |
ratio between low and high gain to be accepted w/o saturation flag More... | |
double | highRatio_ |
ratio between low and high gain to be accepted w/o saturation flag More... | |
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 More... | |
double | cycle_gate2_min_ |
low value for second cycle gate More... | |
double | cycle_gate2_max_ |
high value for second cycle gate More... | |
![]() | |
std::string | name |
Name of the Processor. More... | |
std::set< std::string > | associatedTypes |
Set of associated types for Processor. More... | |
bool | initDone |
True if the initialization has finished. More... | |
bool | didProcess |
True if the process finished. More... | |
std::map< std::string, const DetectorSummary * > | sumMap |
Map of associated detector summary. More... | |
Plots | histo |
Static Protected Attributes | |
static const unsigned int | chansPerClover = 4 |
Processor to handle Ge (read as clover) events.
Definition at line 176 of file GeProcessor.hpp.
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
[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 |
Definition at line 64 of file GeProcessor.cpp.
|
protected |
[in] | gTime | : the time of the gamma |
Definition at line 33 of file GeProcessor.cpp.
|
protected |
Declares a histogram with a range of granularities
[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 |
Declare a 2D plot with a range of granularites on the Y axis
Definition at line 824 of file GeProcessor.cpp.
|
virtual |
Declare the plots for the processor
Declare plots including many for decay/implant/neutron gated analysis
This was moved here from Init because the number of clovers is needed for plots declaration, however Init is called after DeclarePlots
Reimplemented from EventProcessor.
Reimplemented in GeCalibProcessor, and Ge4Hen3Processor.
Definition at line 151 of file GeProcessor.cpp.
|
inline |
Returns the events that were added to the addbackEvents_
Definition at line 208 of file GeProcessor.hpp.
|
inline |
Returns the events that were added to the geEvents_ vector
Definition at line 206 of file GeProcessor.hpp.
|
inline |
Returns the events that were added to the tas_
Definition at line 210 of file GeProcessor.hpp.
|
protected |
[in] | gTime | : the time of the gamma |
Definition at line 53 of file GeProcessor.cpp.
|
protected |
Plotting function to plot in a specific granularity
[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 |
Plot to a granularity spectrum
Definition at line 843 of file GeProcessor.cpp.
|
virtual |
Preprocess the event
[in] | event | : the event to preprocess |
Only the high gain events are going to be used. The events where low/high gain mismatches, saturation or pileup is marked are rejected
Here the addback spectra is constructed. addbackEvents_ is a vector for each clover holding a vector of pairs <energy, time> (both double), where each element is a one addback event for a given clover.
guarantee the first event will be greater than the subevent window delayed from reference
Do not take into account events with too low energy (avoid summing of noise with real gammas)
Reimplemented from EventProcessor.
Reimplemented in GeCalibProcessor.
Definition at line 386 of file GeProcessor.cpp.
|
virtual |
Process the event
[in] | event | : the event to process |
Cycle time is measured from the begining of the last BeamON event
Place Cycle is activated by BeamOn event and deactivated by TapeMove This condition will therefore skip events registered during tape movement period and before the end of move and the beam start
Beam deque should be updated upon beam off so measure time from that point (t = 0 is time beam went off)
Plot timediff between events in the same clover to monitor addback subevent gates.
Reimplemented from EventProcessor.
Reimplemented in GeCalibProcessor, and Ge4Hen3Processor.
Definition at line 474 of file GeProcessor.cpp.
|
protected |
Symmetric gamma-gamma plots. It will plot (bin1,bin2) and (bin2,bin1).
[in] | dammID | : the ID for the plot |
[in] | bin1 | : the first bin to plot into |
[in] | bin2 | : the second bin to plot into |
Definition at line 59 of file GeProcessor.cpp.
|
protected |
addbackEvents vector of vectors, where first vector enumerates cloves, second events
Definition at line 259 of file GeProcessor.hpp.
|
staticprotected |
number of channels per clover
Definition at line 212 of file GeProcessor.hpp.
|
protected |
high value for first cycle gate
Definition at line 287 of file GeProcessor.hpp.
|
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)
Definition at line 286 of file GeProcessor.hpp.
|
protected |
high value for second cycle gate
Definition at line 289 of file GeProcessor.hpp.
|
protected |
low value for second cycle gate
Definition at line 288 of file GeProcessor.hpp.
|
protected |
Prompt Gamma-beta limit in seconds
Definition at line 278 of file GeProcessor.hpp.
|
protected |
Prompt Gamma-gamma limit in seconds
Definition at line 281 of file GeProcessor.hpp.
|
protected |
Gamma low threshold in keV
Definition at line 269 of file GeProcessor.hpp.
|
protected |
Preprocessed good ge events, filled in PreProcess.
Definition at line 231 of file GeProcessor.hpp.
|
protected |
ratio between low and high gain to be accepted w/o saturation flag
Definition at line 272 of file GeProcessor.hpp.
|
protected |
Translate a leaf location to a clover number
Definition at line 214 of file GeProcessor.hpp.
|
protected |
ratio between low and high gain to be accepted w/o saturation flag
Definition at line 271 of file GeProcessor.hpp.
|
protected |
number of clovers in map
Definition at line 216 of file GeProcessor.hpp.
|
protected |
Addback subevent window in seconds
Definition at line 275 of file GeProcessor.hpp.
|
protected |
tas vector for total energy absorbed, similar structure as addback but there is only one "super-clover" (sum of all detectors)
Definition at line 263 of file GeProcessor.hpp.
|
protected |
Contatin time resolutions used
Definition at line 215 of file GeProcessor.hpp.