GET library
|
#include <GETActarTpcAnalyser.hh>
Public Member Functions | |
Constructors, affectation, destructor | |
GETActarTpcAnalyser (GETActarTpc *get=NULL) | |
virtual | ~GETActarTpcAnalyser () |
General functions | |
virtual void | Reset () |
virtual int | SetSystem (GETSystem *gptr) |
Main analysis functions, called by GETSystem | |
virtual void | ClearAnalysis () |
virtual void | ClearEvent () |
virtual int | AnalyseRawEvent () |
virtual int | AnalyseCorEvent () |
Predefined analysis configuration files | |
virtual bool | ConfigCommand (const GString &code, const GString &args="", FILE *fptr=NULL) |
Pads signal automatic histograms | |
virtual double | ComputeSumInt (bool mask=true) |
virtual double | ComputeSumMax (bool mask=true) |
TH2D * | CreateXYtimeHisto (const string &name="GET_XY_Time") |
TH2D * | CreateXYhitsHisto (const string &name="GET_XY_Hits") |
TH2D * | CreateXYamplitudeHisto (const string &name="GET_XY_Amplitude") |
TH2D * | CreateXTamplitudeHisto (const string &name="GET_XT_Amplitude") |
TH2D * | CreateYTamplitudeHisto (const string &name="GET_YT_Amplitude") |
TH3D * | CreateXYTHisto (const string &name="GET_XYT", int nt=512, double t0=0., double t1=512.) |
TH1D * | CreateXprojectionHisto (const string &name="GET_X_Projection") |
TH1D * | CreateYprojectionHisto (const string &name="GET_Y_Projection") |
TH1D * | CreateTprojectionHisto (const string &name="GET_T_Projection") |
TH2D * | GetXYhitsHisto () const |
TH2D * | GetXYtimeHisto () const |
TH2D * | GetXYamplitudeHisto () const |
TH2D * | GetXTamplitudeHisto () const |
TH2D * | GetYTamplitudeHisto () const |
TH3D * | GetXYTHisto () const |
TH1D * | GetXprojectionHisto () const |
TH1D * | GetYprojectionHisto () const |
TH1D * | GetTprojectionHisto () const |
Noise analysis (redefined from GETSystemAnalyser) | |
virtual void | SetNoiseRange (u_int i0=2, u_int i1=509) |
TH2D * | GetChannelsNoiseHistoXY () const |
virtual int | ProcessNoiseAnalysis () |
Off-track signal analysis | |
virtual void | SetOffTrackCorrection (int spc=1) |
virtual void | InitOffTrackAnalysis (int spc=1) |
bool | IsOffTrackAnalysisON () const |
bool | IsOffTrackCorrectionON () const |
virtual const GETHitMaskXY & | GetOffTrackMask () const |
virtual GETHitMaskXY & | GetOffTrackMask () |
TH1D * | CreateInTrackMeanHisto (const string &hname="MeanInTrackSignal") |
TH1D * | CreateOffTrackMeanHisto (const string &hname="MeanOffTrackSignal") |
TH2D * | CreateInTrackPatternHisto (const string &hname="PatternInTrack") |
TH2D * | CreateOffTrackPatternHisto (const string &hname="PatternOffTrack") |
virtual int | ProcessOffTrackAnalysis () |
virtual int | ApplyOffTrackCorrection () |
virtual int | GetOffTrackPadsCount () const |
GETSample & | GetInTrackMeanSample () |
GETSample & | GetOffTrackMeanSample () |
TH1D * | GetInTrackMeanHisto () |
TH1D * | GetOffTrackMeanHisto () |
TH2D * | GetInTrackPatternHisto () |
TH2D * | GetOffTrackPatternHisto () |
Pads signal histograms general functions | |
TH2D * | CreatePadHistogram (const string &name) |
TH3D * | CreateHistogram3D (const string &name, int nt, double t0, double t1) |
TH2D * | CreateHistogramXT (const string &name, int nt, double t0, double t1) |
TH2D * | CreateHistogramYT (const string &name, int nt, double t0, double t1) |
TH2D * | CreateHistogramXT (const string &name) |
TH2D * | CreateHistogramYT (const string &name) |
TH1D * | CreateHistogramX (const string &name) |
TH1D * | CreateHistogramY (const string &name) |
TH1D * | CreateHistogramT (const string &name) |
int | FillPadHistogram (TH2 *hptr, u_short mode=GET::dataMaxSignal) |
int | FillHistogram3D (TH3 *hptr, double toffset=0., u_short mode=0) |
int | FillHistogramXTmax (TH2 *hptr, double toffset=0., u_short mode=0) |
int | FillHistogramYTmax (TH2 *hptr, double toffset=0., u_short mode=0) |
virtual int | FillAutoHistograms () |
int | Export3D_POV (const string &fname, u_short mode=0) |
int | ExportPads_POV (const string &fname, u_short mode=0) |
int | Export3D_POV (FILE *fptr, u_short mode=0) |
int | ExportPads_POV (FILE *fptr, u_short mode=0) |
ROOT related functions | |
ClassDef (GETActarTpcAnalyser, 0) | |
Public Member Functions inherited from GETSystemAnalyser | |
GETSystemAnalyser (GETSystem *get=NULL) | |
virtual | ~GETSystemAnalyser () |
u_int | GetChannelNumber () const |
void | SetEventsSkip (u_int n) |
u_int | GetEventsSkip () |
u_int | GetAnalysisEventsCounter () |
void | SetSelectedData (u_short id) |
int | GetSelectedData () const |
virtual int | AnalyseRunStart () |
virtual int | AnalyseRunStop () |
virtual void | BadChannelsWarning () |
virtual double | GetMaximumSignal () const |
virtual u_int | GetMaximumChannel () const |
virtual int | ReadConfigFile (const string &cfg) |
virtual int | ReadConfigFile (FILE *fp) |
TH2D * | CreateFullEventRawHisto (const string &hname) |
TH2D * | CreateFullEventCorHisto (const string &hname) |
TH2D * | GetFullEventRawHisto () const |
TH2D * | GetFullEventCorHisto () const |
void | SetAmplitudeMode (u_short mode, double win=0.) |
void | SetAmplitudeWindow (double win) |
void | SetTimingMode (u_short mode) |
void | SetTimingModeCFD (double frac, double delay) |
virtual int | CalcChannelOutput (u_int ic, double &vmax, double &tmax) |
virtual int | CalcChannelMaxima (u_int ic) |
void | SetMaximaScaling (double fact) |
void | InitAmplitudeData () |
void | InitMaximaData () |
void | ResetMaximaData () |
void | ClearAmplitudeData () |
bool | IsAmplitudeDataComputed () const |
bool | IsMaximaDataComputed () const |
virtual void | ComputeAmplitudeData () |
TH1D * | CreateChannelsMaxRawHisto (const string &hname) |
TH1D * | CreateChannelsMaxCorHisto (const string &hname) |
TH1D * | GetChannelsMaxRawHisto () const |
TH1D * | GetChannelsMaxCorHisto () const |
virtual void | InitDataNumberCheck (u_int n0, u_int n1) |
bool | IsDataNumberCheckON () const |
virtual int | ProcessDataNumberCheck () |
virtual int | GetDataNumberBadCount () const |
virtual void | InitDataContinuityCheck (double dmax) |
bool | IsDataContinuityCheckON () const |
virtual bool | ContinuityCheck (GETSample &sample) |
virtual int | ProcessDataContinuityCheck () |
virtual int | GetDataContinuityBadCount () const |
u_int | GetNoiseIndexMin () const |
u_int | GetNoiseIndexMax () const |
TH1D * | GetChannelsNoiseHisto () const |
bool | IsNoiseAnalysisON () const |
virtual int | FillCumulNoiseHisto (TH2 *hptr) |
virtual void | InitResolutionAnalysis (int n, double amin, double amax) |
virtual void | ClearResolutionAnalysis () |
bool | IsResolutionAnalysisON () const |
TH2I * | GetResolutionMaxHisto () const |
TH1D * | GetResolutionHisto () const |
virtual int | ProcessResolutionAnalysis () |
virtual void | InitBaseFluctuations (u_int i0=2, u_int i1=32, double warn=0.) |
virtual void | ClearBaseFluctuations () |
TH1D * | GetBaseFluctuationsHisto () const |
bool | IsFluctuationsAnalysisON () const |
virtual int | ProcessFluctuationsAnalysis () |
virtual int | GetFluctuationsBadCount () const |
virtual int | FillCumulFluctuationsHisto (TH2 *hptr) |
TH1D * | CreateChannelsHisto1D (const string &name, const string &ytit="", bool fpn=true) |
TH2D * | CreateChannelsHisto2D (const string &name, int ny, double ymin, double ymax, const string &ytit="", bool fpn=true) |
TH1I * | CreateChannelsHisto1I (const string &name, const string &ytit="", bool fpn=true) |
TH2I * | CreateChannelsHisto2I (const string &name, int ny, double ymin, double ymax, const string &ytit="", bool fpn=true) |
TH2D * | CreateFullEventHisto (const string &name, bool fpn=true) |
TH2D * | CreateFullEventHisto (const string &name, int ny, double ymin, double ymax, bool fpn=true) |
int | FillFullEventHisto (TH2D *hptr, bool reset=true, bool fpn=true, double scale=1.) |
TH1D * | CreateChannelSummaryHisto (const string &name, bool fpn=true) |
int | FillChannelsSummaryHisto (TH1D *hptr, u_short mode=GET::dataMaxSignal, bool fpn=true, bool reset=true) |
int | CumulChannelsSummaryHisto (TH2 *hptr, u_short mode=GET::dataMaxSignal, bool fpn=true) |
TH1D ** | CreateAllChannelsHisto (const string &prefix="GET_", const string &suffix="") |
int | FillAllChannelsHisto (TH1D **htab, bool reset=true) |
ClassDef (GETSystemAnalyser, 0) | |
Protected Attributes | |
GETActarTpc * | actar_ptr |
Pointer to the GETActarTpc object (which is the GETSystem pointer of the base classe) | |
TH2D * | h_mask_in |
Pad histogram with track pattern. | |
TH2D * | h_mask_off |
Pad histogram with off-track pattern. | |
TH1D * | h_mean_in_track |
Histogram with summed signals of track pads. | |
TH1D * | h_mean_off_track |
Histogram with summed signals of off-track pads. | |
TH1D * | h_t_proj |
Histogram with pads event amplitude. | |
TH1D * | h_x_proj |
Histogram with pads event amplitude. | |
TH2D * | h_xt_ampl |
Histogram with pads event amplitude. | |
TH2D * | h_xy_ampl |
Histogram with pads event amplitude. | |
TH2D * | h_xy_hits |
Histogram with pads hits. | |
TH2D * | h_xy_rms |
Pointer to the pads RMS histogram. | |
TH2D * | h_xy_time |
Histogram with pads event time. | |
TH3D * | h_xyt |
Histogram with 2D signal with third T dimension. | |
TH1D * | h_y_proj |
Histogram with pads event amplitude. | |
TH2D * | h_yt_ampl |
Histogram with pads event amplitude. | |
GETHitMaskXY | off_mask |
Mask for X-Y off-track analysis. | |
int | off_space |
Pads separation between track and off-track pads. | |
bool | off_track_cor |
Whether to apply off-track correction to channels output signal. | |
bool | off_track_on |
Whether off-track analysis is ON. | |
GETHitMaskXY * | pad_mask |
Pointer to the hit mask (same as base class hit mask, but known as GETHitMaskXY) | |
GETSample | sum_in_track |
Sample with the sum of hit pads. | |
GETSample | sum_off_track |
Sample with the sum of pads out of track. | |
Protected Attributes inherited from GETSystemAnalyser | |
double * | amax_amplitude |
Array of maximum amplitude values. | |
bool | amax_computed |
Whether the maximum amplitude / time is computed. | |
double * | amax_time |
Array of maximum amplitude times. | |
u_short | amplitude_mode |
Signal amplitude analysis mode. | |
double | amplitude_window |
Signal amplitude analysis window size (for fit or average) | |
u_int | ch_max_index |
Channel with maximum amplitude. | |
double | ch_max_signal |
Maximum channel amplitude value. | |
bool * | channel_bad |
Whether the channel contains bad data. | |
bool | channel_bad_flag |
Whether there are bad channels. | |
int | data_cont_bad |
Number of bad channels in analysis of the data continuity. | |
double | data_cont_max |
Maximum variation for continuity. | |
bool | data_cont_on |
Whether the analysis of data discontinuity is ON. | |
int | data_num_bad |
Number of bad channels in analysis of the data per channel. | |
int | data_num_max |
Upper value for bad range of data / channel. | |
int | data_num_min |
Lower value for bad range of data / channel. | |
bool | data_num_on |
Whether the analysis of number of data per channel is ON. | |
u_int | events_count |
Number of events since analysis cleard. | |
u_int | events_skip |
Number of first events to skip for analysis. | |
int | fluct_bad |
Number of bad channels in fluctuations analysis. | |
int * | fluct_cnt |
Number of events for baseline check. | |
u_int | fluct_imax |
Upper limit for baseline fluctuations analysis. | |
u_int | fluct_imin |
Lower limit for baseline fluctuations analysis. | |
bool | fluct_on |
Whether baseline fluctuations analysis is ON. | |
double * | fluct_sum |
Cumulated values for baseline check. | |
double | fluct_warn |
Baseline fluctuation value to issue a warning. | |
GETSystem * | get_ptr |
Pointer to the GET system object. | |
TH1I * | h_channels_data_num |
Pointer to the channels summary histogram with number of raw data per channel. | |
TH1D * | h_channels_fluct |
Pointer to the channels baseline fluctuations analysis summary average histogram. | |
TH1D * | h_channels_max_cor |
Pointer to the channels summary histogram with maximum corrected output values. | |
TH1D * | h_channels_max_raw |
Pointer to the channels summary histogram with maximum raw output values. | |
TH1D * | h_channels_rms |
Pointer to the channels RMS analysis summary histogram. | |
TH2D * | h_full_event_cor |
Pointer to the histogram with full data after corrections (if any) | |
TH2D * | h_full_event_raw |
Pointer to the histogram with full raw data (before processing) | |
TH2I * | h_resol_ampl |
Pointer to the channels versus amplitude maximum histogram. | |
TH1D * | h_resol_rms |
Pointer to the channels amplitude variations histogram. | |
GETHitMask * | hit_mask |
Pointer to the hit mask (same as base class hit mask, but known as GETHitMaskXY) | |
double ** | mmax_amplitude |
Maxima values arrays for each channel. | |
bool | mmax_analysis |
Whether multiple maxima analysis is requested. | |
bool | mmax_computed |
Whether multiple maxima analysis is performed. | |
RExtremaFinder | mmax_finder |
Multiple maxima analyser. | |
u_int | mmax_max |
Maximum number of maxima per channel. | |
u_int * | mmax_num |
Number of maxima for each channel. | |
double | mmax_scale |
Scaling factor for amplitude. | |
double ** | mmax_time |
Maxima times arrays for each channel. | |
int | resol_dim |
Dimension of amplitude axis. | |
double | resol_max |
Upper limit of amplitude axis. | |
double | resol_min |
Lower limit of amplitude axis. | |
bool | resol_on |
Whether amplitude resolution analysis is ON. | |
double | resol_step |
Lower limit of amplitude axis. | |
u_int | rms_imax |
Upper limit for RMS analysis. | |
u_int | rms_imin |
Lower limit for RMS analysis. | |
bool | rms_on |
Whether noise analysis is ON. | |
u_short | selected_data |
Information on the channel data to analyse: GET::signalOut (default), GET::signalTst or GET::signalRec. | |
double | timing_cfd_delay |
CFD offset for timing analysis. | |
double | timing_cfd_fraction |
CFD fraction for timing analysis. | |
u_short | timing_mode |
Signal timing analysis mode. | |
Private Member Functions | |
GObject (GETActarTpcAnalyser) | |
This class is a specialized analyser class (derived from GETSystemAnalyser) for GETActarTpc (derived from GETSystem).
The analysis available in addition to the ones of the base class are:
The off-track signal analysis and correction has been developped in order to evaluate the mesh-induced signal on pads that are not supposed to collect charges, but that see a mirror signal from the charges on the mesh.
A copy of the pads mask is created to define pads around the real track. The signal from these pads in averaged to build the off-track signal, that is removed from all signal channels if the correction is set on (the off-track analysis can be set, without correction channels output).
The picture above shows a track from an event of the ACTAR TPC demonstrator. The top-left figure is the signal amplitude on the pads, that is used to determine the hit mask (in-track pads of bottom-left) picture and the pads that are used to compute off-track signal (off-track pads). The off track signal (bottom-right picture) can be compared to the average effective signal, by inversion and scaling (up-right picture).
GETActarTpcAnalyser::GETActarTpcAnalyser | ( | GETActarTpc * | get = NULL | ) |
Constructor. If the GETActarTpc object is not defined, a call to SetSystem function must be performed before the analyser can be used.
get | pointer to the GET system |
References actar_ptr, h_mask_in, h_mask_off, h_mean_in_track, h_mean_off_track, h_t_proj, h_x_proj, h_xt_ampl, h_xy_ampl, h_xy_hits, h_xy_rms, h_xy_time, h_xyt, h_y_proj, h_yt_ampl, off_space, off_track_cor, off_track_on, and pad_mask.
|
virtual |
Destructor. The histograms associated to the analysis are deleted.
References Reset().
|
virtual |
Function called when the GETActarTpc has read an event, after applying corrections to the output samples.
Reimplemented from GETSystemAnalyser.
References GETSystemAnalyser::amax_computed, ApplyOffTrackCorrection(), GETSystemAnalyser::ComputeAmplitudeData(), GETSystemAnalyser::events_count, GETSystemAnalyser::events_skip, FillAutoHistograms(), GETSystemAnalyser::hit_mask, GETHitMask::IsMaskSet(), off_track_cor, off_track_on, ProcessNoiseAnalysis(), ProcessOffTrackAnalysis(), GETSystemAnalyser::ProcessResolutionAnalysis(), GETSystemAnalyser::resol_on, GETSystemAnalyser::rms_on, and GETHitMask::UpdateMask().
|
virtual |
Function called when the GETActarTpc has read an event, before applying corrections to the output samples.
Reimplemented from GETSystemAnalyser.
References GETSystemAnalyser::AnalyseRawEvent().
|
virtual |
Apply the off-track analysis correction to channels outputs. For each (valid) pad, the average off-track signal is subtracted from the output signal.
References actar_ptr, GETLookupTable::GetChannel(), GETSystem::GetChannel(), GETSystem::GetHitMask(), GETLookupTable::GetNpadX(), GETLookupTable::GetNpadY(), GETHitMaskXY::IsValid(), GETSystem::LookupTable(), GETChannel::OutSample(), and sum_off_track.
Referenced by AnalyseCorEvent().
GETActarTpcAnalyser::ClassDef | ( | GETActarTpcAnalyser | , |
0 | |||
) |
for use within ROOT.
|
virtual |
Function that clears all current analysis results: histograms, baseline fluctuations,...
Reimplemented from GETSystemAnalyser.
References GETSystemAnalyser::ClearAnalysis().
Referenced by GETActarEventReader::Reset().
|
virtual |
Function called by the GET system ClearEvent function, to reset event related data (histograms, ...).
Reimplemented from GETSystemAnalyser.
References GETSystemAnalyser::ClearEvent(), h_mask_in, h_mask_off, h_mean_in_track, h_mean_off_track, h_t_proj, h_x_proj, h_xt_ampl, h_xy_ampl, h_xy_hits, h_xy_time, h_xyt, h_y_proj, h_yt_ampl, sum_in_track, and sum_off_track.
|
virtual |
Compute the sum of signal (channel integral) for all channels (output, reconstructed or test sample, according to selected data).
mask | whether the hit mask should be used to select summed channels |
References GETSystemAnalyser::get_ptr, GETSystem::GetChannel(), GETLookupTable::GetPad(), GETObject::GetTotalChannelCount(), GETHitMaskXY::IsValidHit(), GETSystem::LookupTable(), GETChannel::OutSample(), pad_mask, GETChannel::RecSample(), GETSystemAnalyser::selected_data, GET::signalRec, GET::signalTst, and GETChannel::TstSample().
|
virtual |
Compute the sum of channels signal maximum value for all pads (output, reconstructed or test sample, according to selected data).
mask | whether the hit mask should be used to select summed channels |
References GETSystemAnalyser::amax_amplitude, GETSystemAnalyser::amplitude_mode, GETSystemAnalyser::ComputeAmplitudeData(), GETSystemAnalyser::get_ptr, GETLookupTable::GetPad(), GETObject::GetTotalChannelCount(), GETSystemAnalyser::IsAmplitudeDataComputed(), GETHitMaskXY::IsValidHit(), GETSystem::LookupTable(), and pad_mask.
Referenced by GETActarEventReader::AnalysisEvent().
|
virtual |
Function that sets a configuration parameter from a command line.
The valid command line in the class are:
code | parameter(s) identifier |
args | additional arguments |
fptr | file pointer (in case more information should be read) |
Reimplemented from GETSystemAnalyser.
References GETSystemAnalyser::ConfigCommand(), InitOffTrackAnalysis(), GETChannel::IsSignalChannel(), pad_mask, SetOffTrackCorrection(), and GETHitMaskXY::SetValid().
Referenced by GETActarEventReader::ConfigCommand().
TH3D * GETActarTpcAnalyser::CreateHistogram3D | ( | const string & | name, |
int | nt, | ||
double | t0, | ||
double | t1 | ||
) |
Create a 3D histogram with demonstrator pad plane size for X & Y and time for the 3rd dimension.
name | histogram name |
nt | number of bins in Z (time) dimension |
t0 | lower time limit |
t1 | upper time limit |
References actar_ptr, GETLookupTable::GetNpadX(), GETLookupTable::GetNpadY(), and GETSystem::LookupTable().
Referenced by CreateXYTHisto().
TH1D * GETActarTpcAnalyser::CreateHistogramT | ( | const string & | name | ) |
Create a T projection histogram with demonstrator pad plane size.
name | histogram name |
References actar_ptr, GETObject::GetSampleDim(), and GETObject::GetTimeStep().
Referenced by CreateTprojectionHisto().
TH1D * GETActarTpcAnalyser::CreateHistogramX | ( | const string & | name | ) |
Create a X projection histogram with demonstrator pad plane size.
name | histogram name |
References actar_ptr, GETLookupTable::GetNpadX(), and GETSystem::LookupTable().
Referenced by CreateXprojectionHisto().
TH2D * GETActarTpcAnalyser::CreateHistogramXT | ( | const string & | name, |
int | nt, | ||
double | t0, | ||
double | t1 | ||
) |
Create a 2D histogram with demonstrator pad plane size for X and time for the Y dimension.
name | histogram name |
nt | number of bins in Z (time) dimension |
t0 | lower time limit |
t1 | upper time limit |
References actar_ptr, GETLookupTable::GetNpadX(), and GETSystem::LookupTable().
Referenced by CreateHistogramXT(), and CreateXTamplitudeHisto().
TH2D * GETActarTpcAnalyser::CreateHistogramXT | ( | const string & | name | ) |
Create a 2D histogram with demonstrator pad plane size for X and time for the Y dimension.
name | histogram name |
References actar_ptr, CreateHistogramXT(), GETObject::GetSampleDim(), and GETObject::GetTimeStep().
TH1D * GETActarTpcAnalyser::CreateHistogramY | ( | const string & | name | ) |
Create a Y projection histogram with demonstrator pad plane size.
name | histogram name |
References actar_ptr, GETLookupTable::GetNpadY(), and GETSystem::LookupTable().
Referenced by CreateYprojectionHisto().
TH2D * GETActarTpcAnalyser::CreateHistogramYT | ( | const string & | name, |
int | nt, | ||
double | t0, | ||
double | t1 | ||
) |
Create a 2D histogram with demonstrator pad plane size for X and time for the Y dimension.
name | histogram name |
nt | number of bins in Z (time) dimension |
t0 | lower time limit |
t1 | upper time limit |
References actar_ptr, GETLookupTable::GetNpadY(), and GETSystem::LookupTable().
Referenced by CreateHistogramYT(), and CreateYTamplitudeHisto().
TH2D * GETActarTpcAnalyser::CreateHistogramYT | ( | const string & | name | ) |
Create a 2D histogram with demonstrator pad plane size for X and time for the Y dimension.
name | histogram name |
References actar_ptr, CreateHistogramYT(), GETObject::GetSampleDim(), and GETObject::GetTimeStep().
TH1D * GETActarTpcAnalyser::CreateInTrackMeanHisto | ( | const string & | hname = "MeanInTrackSignal" | ) |
Create the histogram automatically filled by the off-track analysis with the average of IN-track pads signal. param name of the histogram
References GETSystemAnalyser::get_ptr, GETSystem::GetChannel(), h_mean_in_track, off_track_on, and GETChannel::OutSample().
TH2D * GETActarTpcAnalyser::CreateInTrackPatternHisto | ( | const string & | hname = "PatternInTrack" | ) |
Create the histogram automatically filled by the off-track analysis with the IN-track valid hit pads pattern. param name of the histogram
References CreatePadHistogram(), h_mask_in, and off_track_on.
TH1D * GETActarTpcAnalyser::CreateOffTrackMeanHisto | ( | const string & | hname = "MeanOffTrackSignal" | ) |
Create the histogram automatically filled by the off-track analysis with the average of OFF-track pads signal. param name of the histogram
References GETSystemAnalyser::get_ptr, GETSystem::GetChannel(), h_mean_off_track, off_track_on, and GETChannel::OutSample().
TH2D * GETActarTpcAnalyser::CreateOffTrackPatternHisto | ( | const string & | hname = "PatternOffTrack" | ) |
Create the histogram automatically filled by the off-track analysis with the OFF-track valid hit pads pattern. param name of the histogram
References CreatePadHistogram(), h_mask_off, and off_track_on.
TH2D * GETActarTpcAnalyser::CreatePadHistogram | ( | const string & | name | ) |
Create a 2D histogram with demonstrator pad plane size.
name | histogram name |
References actar_ptr, GETLookupTable::GetNpadX(), GETLookupTable::GetNpadY(), and GETSystem::LookupTable().
Referenced by CreateInTrackPatternHisto(), CreateOffTrackPatternHisto(), CreateXYamplitudeHisto(), CreateXYhitsHisto(), CreateXYtimeHisto(), and SetNoiseRange().
|
inline |
Function that creates the histograms for T projection of signal amplitude.
name | name of the created automatic histogram |
References CreateHistogramT(), and h_t_proj.
Referenced by GETActarEventReader::PresetAnalysis().
|
inline |
Function that creates the histograms for X projection of signal amplitude.
name | name of the created automatic histogram |
References CreateHistogramX(), and h_x_proj.
Referenced by GETActarEventReader::PresetAnalysis().
|
inline |
Function that creates the histograms for (X-T) projection of signal amplitude.
name | name of the created automatic histogram |
References actar_ptr, CreateHistogramXT(), GETObject::GetSampleDim(), GETObject::GetTimeStep(), and h_xt_ampl.
Referenced by GETActarEventReader::PresetAnalysis().
|
inline |
Function that creates the histograms for (X-Y) projection of signal amplitude.
name | name of the created automatic histogram |
References CreatePadHistogram(), and h_xy_ampl.
Referenced by GETActarEventReader::PresetAnalysis().
|
inline |
Function that creates the histograms for pad hit pattern.
name | name of the created automatic histogram |
References CreatePadHistogram(), and h_xy_hits.
Referenced by GETActarEventReader::PresetAnalysis().
|
inline |
Function that creates the histograms for pad hit pattern.
name | name of the created automatic histogram |
nt | number of bins in Z (time) dimension |
t0 | lower time limit |
t1 | upper time limit |
References CreateHistogram3D(), and h_xyt.
Referenced by GETActarEventReader::PresetAnalysis().
|
inline |
Function that creates the histograms for pad pattern of signal time.
name | name of the created automatic histogram |
References CreatePadHistogram(), and h_xy_time.
Referenced by GETActarEventReader::PresetAnalysis().
|
inline |
Function that creates the histograms for Y projection of signal amplitude.
name | name of the created automatic histogram |
References CreateHistogramY(), and h_y_proj.
Referenced by GETActarEventReader::PresetAnalysis().
|
inline |
Function that creates the histograms for (Y-T) projection of signal amplitude.
name | name of the created automatic histogram |
References actar_ptr, CreateHistogramYT(), GETObject::GetSampleDim(), GETObject::GetTimeStep(), and h_yt_ampl.
Referenced by GETActarEventReader::PresetAnalysis().
int GETActarTpcAnalyser::Export3D_POV | ( | const string & | fname, |
u_short | mode = 0 |
||
) |
Export the 3D data to a text file for use as an input file in Persistence Of Vision.
fname | output file name |
mode | data selected for filling (see GETActarTpcAnalyser::FillHistogram3D function) |
int GETActarTpcAnalyser::Export3D_POV | ( | FILE * | fptr, |
u_short | mode = 0 |
||
) |
Export the 3D data to a text file for use as an input file in Persistence Of Vision.
fptr | output file pointer |
mode | data selected for filling (see GETActarTpcAnalyser::FillHistogram3D function) |
References actar_ptr, GETSystemAnalyser::amax_amplitude, GETSystemAnalyser::amax_time, GETSystemAnalyser::ComputeAmplitudeData(), GET::dataFullSignal, GET::dataIntegral, GETSystem::GetChannel(), GETLookupTable::GetIpx(), GETLookupTable::GetIpy(), GETLookupTable::GetNpadX(), GETLookupTable::GetNpadY(), GETLookupTable::GetPad(), GETObject::GetSampleDim(), GETHitMask::GetThreshold(), GETObject::GetTimeStep(), GETObject::GetTotalChannelCount(), GETSystemAnalyser::hit_mask, GETSystemAnalyser::IsAmplitudeDataComputed(), GETHitMask::IsMaskDefined(), GETHitMask::IsMaskSet(), GETHitMaskXY::IsValidHit(), GETSystem::LookupTable(), GETSystemAnalyser::mmax_amplitude, GETSystemAnalyser::mmax_computed, GETSystemAnalyser::mmax_num, GETSystemAnalyser::mmax_time, GETChannel::OutSample(), pad_mask, GETChannel::RecSample(), GETSystemAnalyser::selected_data, GET::signalRec, GET::signalTst, GETChannel::TstSample(), and GETHitMaskXY::UpdateMask().
int GETActarTpcAnalyser::ExportPads_POV | ( | const string & | fname, |
u_short | mode = 0 |
||
) |
Export the XY projection data to a text file for use as an input file in Persistence Of Vision.
fname | output file name |
mode | data selected for filling (see GETActarTpcAnalyser::FillPadHistogram function) |
int GETActarTpcAnalyser::ExportPads_POV | ( | FILE * | fptr, |
u_short | mode = 0 |
||
) |
Export the XY projection data to a text file for use as an input file in Persistence Of Vision.
fptr | output file pointer |
mode | data selected for filling (see GETActarTpcAnalyser::FillPadHistogram function) |
References actar_ptr, GETSystemAnalyser::amax_amplitude, GETSystemAnalyser::amax_time, GETSystemAnalyser::ComputeAmplitudeData(), GET::dataHit, GET::dataIntegral, GET::dataTime, GETSystem::GetChannel(), GETLookupTable::GetIpx(), GETLookupTable::GetIpy(), GETLookupTable::GetNpadX(), GETLookupTable::GetNpadY(), GETLookupTable::GetPad(), GETObject::GetTotalChannelCount(), GETSystemAnalyser::IsAmplitudeDataComputed(), GETHitMask::IsMaskDefined(), GETHitMask::IsMaskSet(), GETHitMaskXY::IsValidHit(), GETSystem::LookupTable(), GETChannel::OutSample(), pad_mask, GETChannel::RecSample(), GETSystemAnalyser::selected_data, GET::signalRec, GET::signalTst, GETChannel::TstSample(), and GETHitMaskXY::UpdateMask().
|
virtual |
Function that fills, in a single loop, all the automatic histograms created for the analysis.
References actar_ptr, GETSystemAnalyser::amax_amplitude, GETSystemAnalyser::amax_time, GETSystemAnalyser::ComputeAmplitudeData(), GETSystem::GetChannel(), GETLookupTable::GetIpx(), GETLookupTable::GetIpy(), GETLookupTable::GetPad(), GETObject::GetSampleDim(), GETObject::GetTimeStep(), GETObject::GetTotalChannelCount(), GETSystemAnalyser::h_channels_max_cor, GETSystemAnalyser::h_full_event_cor, h_t_proj, h_x_proj, h_xt_ampl, h_xy_ampl, h_xy_time, h_xyt, h_y_proj, h_yt_ampl, GETSystemAnalyser::IsAmplitudeDataComputed(), GETHitMask::IsMaskSet(), GETHitMaskXY::IsValidHit(), GETSystem::LookupTable(), GETSystemAnalyser::mmax_amplitude, GETSystemAnalyser::mmax_computed, GETSystemAnalyser::mmax_num, GETSystemAnalyser::mmax_time, GETChannel::OutSample(), pad_mask, GETChannel::RecSample(), GETSystemAnalyser::selected_data, GET::signalRec, GET::signalTst, GETChannel::TstSample(), and GETHitMaskXY::UpdateMask().
Referenced by AnalyseCorEvent().
int GETActarTpcAnalyser::FillHistogram3D | ( | TH3 * | hptr, |
double | toffset = 0. , |
||
u_short | mode = 0 |
||
) |
Function filling a 3D histogram (i.e. from CreateHistogram3D function) with data from selected signal (input/output/reconstructed) of current event.
It is similar than the previous function, but it does not fill all the 3D space: only 1 time bin per pad, where the maximum of the signal is located.
The mode argument is used to select the information:
The function uses the look-up table for filling. The histogram is not resetted before filling.
hptr | histogram pointer |
toffset | shift in time scale |
mode | filling mode: GET::dataMaxSignal (default), GET::dataIntegral, GET::dataTime, GET::dataTimeBin or GET::dataFullSignal |
References actar_ptr, GETSystemAnalyser::amax_amplitude, GETSystemAnalyser::amax_time, GETSystemAnalyser::ComputeAmplitudeData(), GET::dataFullSignal, GET::dataIntegral, GET::dataTime, GET::dataTimeBin, GETSystem::GetChannel(), GETLookupTable::GetIpx(), GETLookupTable::GetIpy(), GETLookupTable::GetPad(), GETObject::GetSampleDim(), GETHitMask::GetThreshold(), GETObject::GetTimeStep(), GETObject::GetTotalChannelCount(), GETSystemAnalyser::hit_mask, GETSystemAnalyser::IsAmplitudeDataComputed(), GETHitMask::IsMaskDefined(), GETHitMask::IsMaskSet(), GETHitMaskXY::IsValidHit(), GETSystem::LookupTable(), GETSystemAnalyser::mmax_amplitude, GETSystemAnalyser::mmax_computed, GETSystemAnalyser::mmax_num, GETSystemAnalyser::mmax_time, GETChannel::OutSample(), pad_mask, GETChannel::RecSample(), GETSystemAnalyser::selected_data, GET::signalRec, GET::signalTst, GETChannel::TstSample(), and GETHitMaskXY::UpdateMask().
int GETActarTpcAnalyser::FillHistogramXTmax | ( | TH2 * | hptr, |
double | toffset = 0. , |
||
u_short | mode = 0 |
||
) |
Function filling a 2D histogram (i.e. from CreateHistogramXT function) with data from selected signal (input/output/reconstructed) of current event.
For each pad with signal above threshhold, the time corresponding to the maximum amplitude gives the 2nd dimension. The pad X position is the 1st dimension. The increment is the channel maximum value.
The function uses the look-up table for filling. The histogram is not resetted before filling.
hptr | histogram pointer |
toffset | shift in time scale |
mode | time information: GET::dataTime (real time, default) or GET::dataTimeBin (time bin) for Z dimension |
References actar_ptr, GETSystemAnalyser::amax_amplitude, GETSystemAnalyser::amax_time, GETSystemAnalyser::ComputeAmplitudeData(), GET::dataIntegral, GET::dataTime, GET::dataTimeBin, GETSystem::GetChannel(), GETLookupTable::GetIpx(), GETLookupTable::GetPad(), GETObject::GetTimeStep(), GETObject::GetTotalChannelCount(), GETSystemAnalyser::IsAmplitudeDataComputed(), GETHitMask::IsMaskDefined(), GETHitMask::IsMaskSet(), GETHitMaskXY::IsValidHit(), GETSystem::LookupTable(), GETSystemAnalyser::mmax_amplitude, GETSystemAnalyser::mmax_computed, GETSystemAnalyser::mmax_num, GETSystemAnalyser::mmax_time, GETChannel::OutSample(), pad_mask, GETChannel::RecSample(), GETSystemAnalyser::selected_data, GET::signalRec, GET::signalTst, GETChannel::TstSample(), and GETHitMaskXY::UpdateMask().
int GETActarTpcAnalyser::FillHistogramYTmax | ( | TH2 * | hptr, |
double | toffset = 0. , |
||
u_short | mode = 0 |
||
) |
Function filling a 2D histogram (i.e. from CreateHistogramYT function) with data from selected signal (input/output/reconstructed) of current event.
For each pad with signal above threshhold, the time corresponding to the maximum amplitude gives the 2nd dimension. The pad Y position is the 1st dimension. The increment is the channel maximum value.
The function uses the look-up table for filling. The histogram is not resetted before filling.
hptr | histogram pointer |
toffset | shift in time scale |
mode | time information: GET::dataTime (real time, default) or GET::dataTimeBin (time bin) for Z dimension |
References actar_ptr, GETSystemAnalyser::amax_amplitude, GETSystemAnalyser::amax_time, GETSystemAnalyser::ComputeAmplitudeData(), GET::dataIntegral, GET::dataTime, GET::dataTimeBin, GETSystem::GetChannel(), GETLookupTable::GetIpy(), GETLookupTable::GetPad(), GETObject::GetTimeStep(), GETObject::GetTotalChannelCount(), GETSystemAnalyser::IsAmplitudeDataComputed(), GETHitMask::IsMaskDefined(), GETHitMask::IsMaskSet(), GETHitMaskXY::IsValidHit(), GETSystem::LookupTable(), GETSystemAnalyser::mmax_amplitude, GETSystemAnalyser::mmax_computed, GETSystemAnalyser::mmax_num, GETSystemAnalyser::mmax_time, GETChannel::OutSample(), pad_mask, GETChannel::RecSample(), GETSystemAnalyser::selected_data, GET::signalRec, GET::signalTst, GETChannel::TstSample(), and GETHitMaskXY::UpdateMask().
int GETActarTpcAnalyser::FillPadHistogram | ( | TH2 * | hptr, |
u_short | mode = GET::dataMaxSignal |
||
) |
Function filling a 2D histogram (i.e. from CreatePadHistogram function) with data from selected signal (input/output/reconstructed) of current event.
One value per channel is incremented depending on mode argument. The function uses the look-up table for filling and the hit mask data for thresholds. The histogram is not resetted before filling.
hptr | histogram pointer |
mode | data selected for filling: GET::dataMaxSignal (default), GET::dataIntegral, GET::dataTime, GET::dataHit |
References actar_ptr, GETSystemAnalyser::amax_amplitude, GETSystemAnalyser::amax_time, GETSystemAnalyser::ComputeAmplitudeData(), GET::dataHit, GET::dataIntegral, GET::dataTime, GETSystem::GetChannel(), GETLookupTable::GetIpx(), GETLookupTable::GetIpy(), GETLookupTable::GetPad(), GETObject::GetTotalChannelCount(), GETSystemAnalyser::IsAmplitudeDataComputed(), GETHitMask::IsMaskDefined(), GETHitMask::IsMaskSet(), GETHitMaskXY::IsValidHit(), GETSystem::LookupTable(), GETChannel::OutSample(), pad_mask, GETChannel::RecSample(), GETSystemAnalyser::selected_data, GET::signalRec, GET::signalTst, GETChannel::TstSample(), and GETHitMaskXY::UpdateMask().
|
inline |
Return the pointer to the pads noise histogram of current event.
References h_xy_rms.
Referenced by GETActarEventReader::PresetAnalysis().
|
inline |
Return histogram of the average signal of in-track pads.
References h_mean_in_track.
|
inline |
Return the average signal sample of in-track pads.
References sum_in_track.
|
inline |
Return histogram of the in-track pads pattern.
References h_mask_in.
|
inlinevirtual |
Return off-track mask.
References off_mask.
|
inlinevirtual |
Return off-track mask.
References off_mask.
|
inline |
Return histogram of the average signal of off-track pads.
References h_mean_off_track.
|
inline |
Return the average signal sample of off-track pads.
References sum_off_track.
|
inlinevirtual |
Return the number of off-track pads.
References GETHitMask::GetNhitValid(), off_mask, and off_track_on.
|
inline |
Return histogram of the off-track pads pattern.
References h_mask_off.
|
inline |
Return the automatic histogram for T-projection of signal amplitude.
References h_t_proj.
|
inline |
Return the automatic histogram for X-projection of signal amplitude.
References h_x_proj.
|
inline |
Return the automatic histogram for (X-T) projection of signal amplitude.
References h_xt_ampl.
|
inline |
Return the automatic histogram for (X-Y) projection of signal amplitude.
References h_xy_ampl.
|
inline |
Return the automatic histogram for pad hit pattern.
References h_xy_hits.
|
inline |
Return the automatic histogram for pad hit pattern.
References h_xyt.
|
inline |
Return the automatic histogram for pad pattern of signal time.
References h_xy_time.
|
inline |
Return the automatic histogram for Y-projection of signal amplitude.
References h_y_proj.
|
inline |
Return the automatic histogram for (Y-T) projection of signal amplitude.
References h_yt_ampl.
|
private |
Macro from GCpp library that defines the following functions:
|
virtual |
Initialize the off-track analysis. The argument sets the number of unused pads around the track. If it is set to -1, the off-track analysis is turned off.
spc | pad spacing between track aond off-track pads |
References GETSystemAnalyser::get_ptr, off_space, and off_track_on.
Referenced by ConfigCommand(), and SetOffTrackCorrection().
|
inline |
Return true if the off-track analysis is set.
References off_track_on.
|
inline |
Return true if the off-track channels output corrections is set.
References off_track_cor.
|
virtual |
Overload of the GETSystemAnalyser::ProcessNoiseAnalysis function in order to fill the pads XY noise histogram.
Reimplemented from GETSystemAnalyser.
References GETSystemAnalyser::get_ptr, GETLookupTable::GetChannel(), GETLookupTable::GetNpadX(), GETLookupTable::GetNpadY(), GETSystemAnalyser::h_channels_rms, h_xy_rms, GETHitMaskXY::IsValid(), GETSystem::LookupTable(), pad_mask, and GETSystemAnalyser::ProcessNoiseAnalysis().
Referenced by AnalyseCorEvent().
|
virtual |
Perform the off-track signal analysis. The hit mask is copied, adjusted according to spacing between track and off-track pads, then inverted. The data from track and off-track pads are summed?
References actar_ptr, GETHitMaskXY::Fill2DMaskHisto(), GETLookupTable::GetChannel(), GETSystem::GetChannel(), GETSystem::GetHitMask(), GETLookupTable::GetNpadX(), GETLookupTable::GetNpadY(), GETActarTpc::GetSignalBoundaries(), h_mask_in, h_mask_off, h_mean_in_track, h_mean_off_track, GETHitMaskXY::IsValidHit(), GETSystem::LookupTable(), off_mask, off_space, GETChannel::OutSample(), sum_in_track, and sum_off_track.
Referenced by AnalyseCorEvent().
|
virtual |
Delete all analysis currently defined for the analyser.
Reimplemented from GETSystemAnalyser.
References h_mask_in, h_mask_off, h_mean_in_track, h_mean_off_track, h_t_proj, h_x_proj, h_xt_ampl, h_xy_ampl, h_xy_hits, h_xy_rms, h_xy_time, h_xyt, h_y_proj, h_yt_ampl, off_track_cor, off_track_on, and GETSystemAnalyser::Reset().
Referenced by SetSystem(), and ~GETActarTpcAnalyser().
|
virtual |
Overload of the GETSystemAnalyser::SetNoiseRange function in order to create the pads XY noise histogram.
i0 | lower time bucket for the analysis range |
i1 | upper time bucket for the analysis range |
Reimplemented from GETSystemAnalyser.
References CreatePadHistogram(), h_xy_rms, pad_mask, GETSystemAnalyser::rms_on, and GETSystemAnalyser::SetNoiseRange().
|
virtual |
Set ON the off-track correction of channels output signals (to correct for mesh-induced signal). It initializes the off-track analysis. The argument sets the number of unused pads around the track. If it is set to -1, the off-track analysis is turned off.
spc | pad spacing between track aond off-track pads |
References GETSystemAnalyser::get_ptr, InitOffTrackAnalysis(), off_track_cor, and off_track_on.
Referenced by ConfigCommand(), and GETActarEventReader::ReadRunConfig().
|
virtual |
Define the GET system from which the data will be analysed. Note that all previously defined information is resetted. The function returns 0 if no error occured.
gptr | Pointer to the GET system |
Reimplemented from GETSystemAnalyser.
References actar_ptr, GETSystem::GetHitMask(), GETSystemAnalyser::InitAmplitudeData(), pad_mask, Reset(), and GETSystemAnalyser::SetSystem().