8 #ifndef GET_SYSTEM_ANALYSER_HH
9 #define GET_SYSTEM_ANALYSER_HH
17 #include "RExtremaFinder.hh"
19 #include "TFitResultPtr.h"
20 #include "TFitResult.h"
37 #define GET_FIT_PAR_MAX 8
592 virtual void Reset ( );
652 virtual bool ConfigCommand (
const GString & code,
const GString & args =
"", FILE * fptr = NULL );
780 virtual void InitFPNtest ( u_int i1min, u_int i1max,
781 u_int i2min, u_int i2max,
782 double dmin,
double dmax );
796 TH2D *
CreateChannelsHisto2D (
const string & name,
int ny,
double ymin,
double ymax,
const string & ytit =
"",
bool fpn =
true );
798 TH2I *
CreateChannelsHisto2I (
const string & name,
int ny,
double ymin,
double ymax,
const string & ytit =
"",
bool fpn =
true );
805 int ny,
double ymin,
double ymax,
bool fpn =
true );
806 int FillFullEventHisto ( TH2D * hptr,
bool reset =
true,
bool fpn =
true,
double scale = 1. );
double fpn_test_dmax
Upper limit for difference between end average and beginning average.
Definition: GETSystemAnalyser.hh:578
int * fluct_cnt
Number of events for baseline check.
Definition: GETSystemAnalyser.hh:568
bool IsAmplitudeDataComputed() const
Definition: GETSystemAnalyser.icc:173
void SetMaximaScaling(double fact)
Definition: GETSystemAnalyser.icc:212
bool IsFPNtestAnalysisON() const
Definition: GETSystemAnalyser.icc:388
TH2D * CreateChannelsHisto2D(const string &name, int ny, double ymin, double ymax, const string &ytit="", bool fpn=true)
Definition: GETSystemAnalyser.cpp:3973
double * amax_time
Array of maximum amplitude times.
Definition: GETSystemAnalyser.hh:509
RExtremaFinder mmax_finder
Multiple maxima analyser.
Definition: GETSystemAnalyser.hh:519
u_int events_count
Number of events since analysis cleard.
Definition: GETSystemAnalyser.hh:473
double ** mmax_amplitude
Maxima values arrays for each channel.
Definition: GETSystemAnalyser.hh:528
virtual int ProcessResolutionAnalysis()
Definition: GETSystemAnalyser.cpp:3487
int data_num_min
Lower value for bad range of data / channel.
Definition: GETSystemAnalyser.hh:536
virtual int AnalyseRawEvent()
Definition: GETSystemAnalyser.cpp:446
void SetTimingMode(u_short mode)
Definition: GETSystemAnalyser.cpp:2017
TH1D * GetResolutionHisto() const
Definition: GETSystemAnalyser.icc:365
virtual void SetDataNumberRejectThreshold(u_int nmin)
Definition: GETSystemAnalyser.icc:311
u_int GetRecITmin() const
Definition: GETSystemAnalyser.icc:102
virtual void ComputeAmplitudeData()
Definition: GETSystemAnalyser.cpp:2748
bool fluct_on
Whether baseline fluctuations analysis is ON.
Definition: GETSystemAnalyser.hh:562
virtual TF1 * SetChannelFctParameters(u_int ic)
Definition: GETSystemAnalyser.cpp:1878
GETSystem * get_ptr
Pointer to the GET system object.
Definition: GETSystemAnalyser.hh:464
int data_num_max
Upper value for bad range of data / channel.
Definition: GETSystemAnalyser.hh:537
void ResetMaximaData()
Definition: GETSystemAnalyser.cpp:2653
TH1D * h_channels_fluct
Pointer to the channels baseline fluctuations analysis summary average histogram. ...
Definition: GETSystemAnalyser.hh:569
double GetMultiMaxSumAll() const
Definition: GETSystemAnalyser.icc:237
u_int fpn_test_i2max
Upper limit for average of the end of the time window.
Definition: GETSystemAnalyser.hh:576
u_int fpn_test_i1min
Lower limit for average of the begining of the time window.
Definition: GETSystemAnalyser.hh:573
u_short timing_mode
Signal timing analysis mode.
Definition: GETSystemAnalyser.hh:502
TF1 * getFctSquareGaus
Fit function for channels: Square signal convoluted with Gauss function.
Definition: GETSystemAnalyser.cpp:17
u_int GetEventsSkip()
Definition: GETSystemAnalyser.icc:29
int fpn_test_bad
Number of bad channels in FPN test analysis.
Definition: GETSystemAnalyser.hh:579
TH1D * CreateChannelsMaxRawHisto(const string &hname)
Definition: GETSystemAnalyser.cpp:2807
TH1D * CreateChannelsTimeRawHisto(const string &hname)
Definition: GETSystemAnalyser.cpp:2845
int GetSelectedHitData() const
Definition: GETSystemAnalyser.icc:70
void SetTimingModeCFD(double frac, double delay)
Definition: GETSystemAnalyser.cpp:2036
double mmax_scale
Scaling factor for amplitude.
Definition: GETSystemAnalyser.hh:531
double ** fit_channel_param
Parameter values for each channel.
Definition: GETSystemAnalyser.hh:516
virtual int ProcessFPNtestAnalysis()
Definition: GETSystemAnalyser.cpp:3828
virtual void ClearEvent()
Definition: GETSystemAnalyser.cpp:407
TH2I * GetResolutionMaxHisto() const
Definition: GETSystemAnalyser.icc:361
void InitMaximaData()
Definition: GETSystemAnalyser.cpp:2680
TH1D * CreateChannelsMaxCorHisto(const string &hname)
Definition: GETSystemAnalyser.cpp:2825
virtual void BadChannelsWarning()
Definition: GETSystemAnalyser.cpp:581
void SetSelectedData(u_short id)
Definition: GETSystemAnalyser.icc:46
u_int events_skip
Number of first events to skip for analysis.
Definition: GETSystemAnalyser.hh:474
virtual int BadDataNumberCorrect()
Definition: GETSystemAnalyser.cpp:3015
virtual int GetFluctuationsBadCount() const
Definition: GETSystemAnalyser.icc:381
virtual void InitDataNumberCheck(u_int n0, u_int n1)
Definition: GETSystemAnalyser.cpp:2895
int FillFullEventHisto(TH2D *hptr, bool reset=true, bool fpn=true, double scale=1.)
Definition: GETSystemAnalyser.cpp:4112
virtual u_int BadChannelCount() const
Definition: GETSystemAnalyser.cpp:628
TH1D * GetChannelsMaxRawHisto() const
Definition: GETSystemAnalyser.icc:291
double fpn_test_dmin
Lower limit for difference between end average and beginning average.
Definition: GETSystemAnalyser.hh:577
bool fpn_test_on
Whether the FPN test analysis is ON.
Definition: GETSystemAnalyser.hh:572
static u_int fit_channel_npar
Number of parameters for the signal fit function.
Definition: GETSystemAnalyser.hh:515
TH1D * h_resol_rms
Pointer to the channels amplitude variations histogram.
Definition: GETSystemAnalyser.hh:553
virtual int GetFPNtestBadCount() const
Definition: GETSystemAnalyser.icc:392
void SetSelectedHitData(u_short id)
Definition: GETSystemAnalyser.icc:53
bool mmax_analysis
Whether multiple maxima analysis is requested.
Definition: GETSystemAnalyser.hh:520
virtual int AnalyseCorEvent()
Definition: GETSystemAnalyser.cpp:529
bool * channel_bad
Whether the channel contains bad data.
Definition: GETSystemAnalyser.hh:470
virtual TF1 * PresetChannelFctParameters(double vmax, double tmax, double wid)
Definition: GETSystemAnalyser.cpp:1700
GETSystem * GetSystem()
Definition: GETSystemAnalyser.icc:12
u_int rms_imin
Lower limit for RMS analysis.
Definition: GETSystemAnalyser.hh:557
virtual void SetRecTlimits(double t0, double t1)
Definition: GETSystemAnalyser.cpp:362
TH1D * h_channels_max_cor
Pointer to the channels summary histogram with maximum corrected output values.
Definition: GETSystemAnalyser.hh:492
double GetMultiMaxAmplitude(u_int ich, u_int imax) const
Definition: GETSystemAnalyser.icc:261
virtual int ProcessFluctuationsAnalysis()
Definition: GETSystemAnalyser.cpp:3655
double GetChannelAmplitude(u_int ich) const
Definition: GETSystemAnalyser.icc:180
virtual int FillCumulFluctuationsHisto(TH2 *hptr)
Definition: GETSystemAnalyser.cpp:3734
double mmax_diff_thr
Maxima difference validation threshold.
Definition: GETSystemAnalyser.hh:532
double * mmax_sum
Summed amplitudes of all maxima for each channel.
Definition: GETSystemAnalyser.hh:526
virtual void SetRecTmin(double t)
Definition: GETSystemAnalyser.cpp:329
double mmax_sum_all
Summed amplitudes of all channels.
Definition: GETSystemAnalyser.hh:527
int resol_dim
Dimension of amplitude axis.
Definition: GETSystemAnalyser.hh:548
virtual int GetDataContinuityBadCount() const
Definition: GETSystemAnalyser.icc:327
virtual int FillCumulNoiseHisto(TH2 *hptr)
Definition: GETSystemAnalyser.cpp:3368
TH2D * h_full_event_raw
Pointer to the histogram with full raw data (before processing)
Definition: GETSystemAnalyser.hh:487
double ** mmax_width
Maxima width arrays for each channel.
Definition: GETSystemAnalyser.hh:529
double amplitude_window
Signal amplitude analysis window size (for fit or average)
Definition: GETSystemAnalyser.hh:500
TH1D * CreateChannelsTimeCorHisto(const string &hname)
Definition: GETSystemAnalyser.cpp:2863
virtual int ProcessNoiseAnalysis()
Definition: GETSystemAnalyser.cpp:3314
bool full_rec
For reconstructed signal, plot full signal (no threshold on single time buckets)
Definition: GETSystemAnalyser.hh:480
double GetRecTmin() const
Definition: GETSystemAnalyser.icc:94
double * fluct_sum
Cumulated values for baseline check.
Definition: GETSystemAnalyser.hh:567
GETHitMask * hit_mask
Pointer to the hit mask (same as base class hit mask, but known as GETHitMaskXY)
Definition: GETSystemAnalyser.hh:465
u_int fluct_imax
Upper limit for baseline fluctuations analysis.
Definition: GETSystemAnalyser.hh:564
virtual int GetDataNumberBadCount() const
Definition: GETSystemAnalyser.icc:316
Definition: GETHitMask.hh:29
u_int mmax_max
Maximum number of maxima per channel.
Definition: GETSystemAnalyser.hh:523
u_short mmax_mode
Calculation of multiple maxima amplitude: 0 standard, 1 gaus fits.
Definition: GETSystemAnalyser.hh:522
int FillChannelsSummaryHisto(TH1D *hptr, u_short fmod=GET::dataAmplitude, bool fpn=true, bool reset=true)
Definition: GETSystemAnalyser.cpp:4193
int fluct_bad
Number of bad channels in fluctuations analysis.
Definition: GETSystemAnalyser.hh:566
u_int data_num_reject
Rejection threshold for channels with few data only.
Definition: GETSystemAnalyser.hh:539
virtual int ReadConfigFile(const string &cfg)
Definition: GETSystemAnalyser.cpp:654
double resol_step
Lower limit of amplitude axis.
Definition: GETSystemAnalyser.hh:551
bool resol_on
Whether amplitude resolution analysis is ON.
Definition: GETSystemAnalyser.hh:547
bool IsFluctuationsAnalysisON() const
Definition: GETSystemAnalyser.icc:376
TH1D ** CreateAllChannelsHisto(const string &prefix="GET_", const string &suffix="")
Definition: GETSystemAnalyser.cpp:4395
double rec_tmax
Analysis time upper limits for reconstructed signal.
Definition: GETSystemAnalyser.hh:482
TH1I * h_channels_data_num
Pointer to the channels summary histogram with number of raw data per channel.
Definition: GETSystemAnalyser.hh:495
int CumulChannelsSummaryHisto(TH2 *hptr, u_short fmod=GET::dataAmplitude, bool fpn=true)
Definition: GETSystemAnalyser.cpp:4292
TH1D * h_channels_time_cor
Pointer to the channels summary histogram with maximum corrected output values.
Definition: GETSystemAnalyser.hh:494
virtual void InitDataContinuityCheck(double dmax)
Definition: GETSystemAnalyser.cpp:3140
static TF1 * fit_channel_fct
Pointer to the function used in case of channel fitting.
Definition: GETSystemAnalyser.hh:514
bool IsMaximaDataComputed() const
Definition: GETSystemAnalyser.icc:201
virtual int CalcChannelMaxima(u_int ic)
Definition: GETSystemAnalyser.cpp:2507
virtual void InitResolutionAnalysis(int n, double amin, double amax)
Definition: GETSystemAnalyser.cpp:3428
u_int fpn_test_i2min
Lower limit for average of the end of the time window.
Definition: GETSystemAnalyser.hh:575
u_int ch_max_index
Channel with maximum amplitude.
Definition: GETSystemAnalyser.hh:512
double timing_cfd_fraction
CFD fraction for timing analysis.
Definition: GETSystemAnalyser.hh:503
TF1 * getFctGausSinC
Fit function for channels: Gauss x SinC function.
Definition: GETSystemAnalyser.cpp:16
int GetSelectedSignalData() const
Definition: GETSystemAnalyser.icc:76
TF1 * getFctSquareGausSinC
Fit function for channels: Square signal convoluted with (Gauss x SinC) function. ...
Definition: GETSystemAnalyser.cpp:18
double GetMultiMaxSum(u_int ich) const
Definition: GETSystemAnalyser.icc:251
void SetMaximaDiffThreshold(double thr)
Definition: GETSystemAnalyser.icc:220
int data_cont_bad
Number of bad channels in analysis of the data continuity.
Definition: GETSystemAnalyser.hh:544
TF1 * getFctGaus
Fit function for channels: Gauss function.
Definition: GETSystemAnalyser.cpp:15
virtual void IncrAnalysisEventCount()
Definition: GETSystemAnalyser.icc:37
bool IsDataContinuityCheckON() const
Definition: GETSystemAnalyser.icc:323
GETSystemAnalyser(GETSystem *get=NULL)
Definition: GETSystemAnalyser.cpp:33
void ClearAmplitudeData()
Definition: GETSystemAnalyser.cpp:2714
double resol_min
Lower limit of amplitude axis.
Definition: GETSystemAnalyser.hh:549
virtual bool ConfigCommand(const GString &code, const GString &args="", FILE *fptr=NULL)
Definition: GETSystemAnalyser.cpp:815
bool IsFullRecSet() const
Definition: GETSystemAnalyser.icc:90
virtual void SetRecTmax(double t)
Definition: GETSystemAnalyser.cpp:345
double ** mmax_time
Maxima times arrays for each channel.
Definition: GETSystemAnalyser.hh:530
virtual int OutputCorrection()
Definition: GETSystemAnalyser.icc:118
TH1D * GetChannelsMaxCorHisto() const
Definition: GETSystemAnalyser.icc:295
double fluct_warn
Baseline fluctuation value to issue a warning.
Definition: GETSystemAnalyser.hh:565
TH1D * h_channels_rms
Pointer to the channels RMS analysis summary histogram.
Definition: GETSystemAnalyser.hh:559
double GetMultiMaxTime(u_int ich, u_int imax) const
Definition: GETSystemAnalyser.icc:283
bool mmax_computed
Whether multiple maxima analysis is performed.
Definition: GETSystemAnalyser.hh:521
bool cor_analysed
Whether the corrected data analysis is performed.
Definition: GETSystemAnalyser.hh:477
virtual int CalcChannelAmplitude(u_int ic, double &vmax, double &tmax, double &wid)
Definition: GETSystemAnalyser.cpp:2066
TH1D * CreateChannelsHisto1D(const string &name, const string &ytit="", bool fpn=true)
Definition: GETSystemAnalyser.cpp:3939
u_short GetAmplitudeMode() const
Definition: GETSystemAnalyser.icc:164
double GetMultiMaxWidth(u_int ich, u_int imax) const
Definition: GETSystemAnalyser.icc:272
RRealSampleFFT GETSample
Define the data type for samples.
Definition: GETCommon.hh:31
void SetFullRec(bool b=true)
Definition: GETSystemAnalyser.icc:86
u_int GetChannelNumber() const
Definition: GETSystemAnalyser.icc:16
u_short select_data_signal
Information on the channel data for signal analysis: GET::signalOut (default), GET::signalTst or GET:...
Definition: GETSystemAnalyser.hh:468
virtual int GetChannelFctAmplitude(u_int ic, double &vmax, double &tmax, double &wid)
Definition: GETSystemAnalyser.cpp:1783
int FillAllChannelsHisto(TH1D **htab, bool reset=true)
Definition: GETSystemAnalyser.cpp:4444
bool IsResolutionAnalysisON() const
Definition: GETSystemAnalyser.icc:357
TH1D * GetBaseFluctuationsHisto() const
Definition: GETSystemAnalyser.icc:372
virtual void ClearBaseFluctuations()
Definition: GETSystemAnalyser.cpp:3634
double GetChannelWidth(u_int ich) const
Definition: GETSystemAnalyser.icc:194
double resol_max
Upper limit of amplitude axis.
Definition: GETSystemAnalyser.hh:550
void SetAmplitudeMode(u_short mode, double win=0.)
Definition: GETSystemAnalyser.cpp:1966
int GetMultiMaxTotal() const
Definition: GETSystemAnalyser.icc:233
virtual void SetNoiseRange(u_int i0=2, u_int i1=509)
Definition: GETSystemAnalyser.cpp:3246
TH2I * h_resol_ampl
Pointer to the channels versus amplitude maximum histogram.
Definition: GETSystemAnalyser.hh:552
ClassDef(GETSystemAnalyser, 0)
virtual void Reset()
Definition: GETSystemAnalyser.cpp:196
double rec_tmin
Analysis time lower limits for reconstructed signal.
Definition: GETSystemAnalyser.hh:481
u_int mmax_tot
Total number of maxima for all channels.
Definition: GETSystemAnalyser.hh:524
virtual void InitBaseFluctuations(u_int i0=2, u_int i1=32, double warn=0.)
Definition: GETSystemAnalyser.cpp:3559
double * amax_width
Array of width values.
Definition: GETSystemAnalyser.hh:508
Definition: GETSystemAnalyser.hh:453
TH2I * CreateChannelsHisto2I(const string &name, int ny, double ymin, double ymax, const string &ytit="", bool fpn=true)
Definition: GETSystemAnalyser.cpp:4040
void InitAmplitudeData()
Definition: GETSystemAnalyser.cpp:2611
u_int GetNoiseIndexMin() const
Definition: GETSystemAnalyser.icc:336
int data_num_bad
Number of bad channels in analysis of the data per channel.
Definition: GETSystemAnalyser.hh:538
u_int fluct_imin
Lower limit for baseline fluctuations analysis.
Definition: GETSystemAnalyser.hh:563
u_short amplitude_mode
Signal amplitude analysis mode.
Definition: GETSystemAnalyser.hh:499
virtual void ClearResolutionAnalysis()
Definition: GETSystemAnalyser.cpp:3468
TH1I * CreateChannelsHisto1I(const string &name, const string &ytit="", bool fpn=true)
Definition: GETSystemAnalyser.cpp:4006
TH1D * h_channels_time_raw
Pointer to the channels summary histogram with maximum raw output values.
Definition: GETSystemAnalyser.hh:493
virtual ~GETSystemAnalyser()
Definition: GETSystemAnalyser.cpp:184
void SetAmplitudeWindow(double win)
Definition: GETSystemAnalyser.cpp:2005
bool raw_analysed
Whether the raw data analysis is performed.
Definition: GETSystemAnalyser.hh:476
TH1D * GetChannelsNoiseHisto() const
Definition: GETSystemAnalyser.icc:346
double GetChannelTime(u_int ich) const
Definition: GETSystemAnalyser.icc:187
virtual int AnalyseRunStop()
Definition: GETSystemAnalyser.cpp:398
void SetEventsSkip(u_int n)
Definition: GETSystemAnalyser.icc:25
TH2D * CreateFullEventCorHisto(const string &hname)
Definition: GETSystemAnalyser.cpp:1678
u_int GetNoiseIndexMax() const
Definition: GETSystemAnalyser.icc:342
virtual void InitFPNtest(u_int i1min, u_int i1max, u_int i2min, u_int i2max, double dmin, double dmax)
Definition: GETSystemAnalyser.cpp:3787
u_int rms_imax
Upper limit for RMS analysis.
Definition: GETSystemAnalyser.hh:558
virtual int AnalyseRunStart()
Definition: GETSystemAnalyser.cpp:392
bool amax_computed
Whether the maximum amplitude / time is computed.
Definition: GETSystemAnalyser.hh:506
TH2D * h_full_event_cor
Pointer to the histogram with full data after corrections (if any)
Definition: GETSystemAnalyser.hh:488
u_int rec_itmin
Analysis lower time bin for reconstructed signal.
Definition: GETSystemAnalyser.hh:483
static const u_short dataAmplitude
Computed signal amplitude (depends on amplitude mode)
Definition: GETCommon.hh:121
bool rms_on
Whether noise analysis is ON.
Definition: GETSystemAnalyser.hh:556
TH1D * h_channels_max_raw
Pointer to the channels summary histogram with maximum raw output values.
Definition: GETSystemAnalyser.hh:491
TH2D * CreateFullEventRawHisto(const string &hname)
Definition: GETSystemAnalyser.cpp:1661
virtual bool IsChannelBad(u_int ich) const
Definition: GETSystemAnalyser.icc:127
double data_cont_max
Maximum variation for continuity.
Definition: GETSystemAnalyser.hh:543
u_short GetTimingMode() const
Definition: GETSystemAnalyser.icc:168
virtual int ProcessDataContinuityCheck()
Definition: GETSystemAnalyser.cpp:3201
TH1D * CreateChannelSummaryHisto(const string &name, bool fpn=true)
Definition: GETSystemAnalyser.icc:420
GObject(GETSystemAnalyser)
void SetSelectedSignalData(u_short id)
Definition: GETSystemAnalyser.icc:61
u_int * mmax_num
Number of maxima for each channel.
Definition: GETSystemAnalyser.hh:525
int GetMultiMaxNum(u_int ich) const
Definition: GETSystemAnalyser.icc:244
TH2D * CreateFullEventHisto(const string &name, bool fpn=true)
Definition: GETSystemAnalyser.cpp:4082
u_int GetAnalysisEventsCounter()
Definition: GETSystemAnalyser.icc:33
virtual u_int GetMaximumChannel() const
Definition: GETSystemAnalyser.icc:146
TH2D * GetFullEventCorHisto() const
Definition: GETSystemAnalyser.icc:157
double * amax_amplitude
Array of maximum amplitude values.
Definition: GETSystemAnalyser.hh:507
u_int fpn_test_i1max
Upper limit for average of the begining of the time window.
Definition: GETSystemAnalyser.hh:574
bool IsNoiseAnalysisON() const
Definition: GETSystemAnalyser.icc:350
virtual void ClearAnalysis()
Definition: GETSystemAnalyser.cpp:379
TH2D * GetFullEventRawHisto() const
Definition: GETSystemAnalyser.icc:153
u_int rec_itmax
Analysis upper time bin for reconstructed signal.
Definition: GETSystemAnalyser.hh:484
double timing_cfd_delay
CFD offset for timing analysis.
Definition: GETSystemAnalyser.hh:504
virtual double GetMaximumSignal() const
Definition: GETSystemAnalyser.icc:136
double GetRecTmax() const
Definition: GETSystemAnalyser.icc:98
bool data_num_on
Whether the analysis of number of data per channel is ON.
Definition: GETSystemAnalyser.hh:535
virtual int SetSystem(GETSystem *gptr)
Definition: GETSystemAnalyser.cpp:279
u_short select_data_hit
Information on the channel data to analyse for hit pattern: GET::signalOut (default), GET::signalTst or GET::signalRec.
Definition: GETSystemAnalyser.hh:467
u_int GetRecITmax() const
Definition: GETSystemAnalyser.icc:106
virtual int ProcessDataNumberCheck()
Definition: GETSystemAnalyser.cpp:2926
Definition: GETSystem.hh:147
bool IsDataNumberCheckON() const
Definition: GETSystemAnalyser.icc:302
bool IsMultiMaxDefined() const
Definition: GETSystemAnalyser.icc:226
bool channel_bad_flag
Whether there are bad channels.
Definition: GETSystemAnalyser.hh:471
virtual bool ContinuityCheck(GETSample &sample)
Definition: GETSystemAnalyser.cpp:3170
double ch_max_signal
Maximum channel amplitude value.
Definition: GETSystemAnalyser.hh:511
bool data_cont_on
Whether the analysis of data discontinuity is ON.
Definition: GETSystemAnalyser.hh:542