MUSIC unknown
Analysis for the MUSIC active-target ionization chamber
Loading...
Searching...
No Matches
PulseHistory::Kernel Struct Reference

One fitted correction: a channel's own, or a group's. More...

#include <PulseHistory.hpp>

Collaboration diagram for PulseHistory::Kernel:

Classes

struct  TauFit
 Single-exponential summary of the dt profile for this group. More...

Public Member Functions

 Kernel ()
 Construct unfitted, with zeroed coefficients.

Public Attributes

Bool_t ok = kFALSE
 Whether this kernel was successfully fitted.
Bool_t from_group = kFALSE
 Channel kernels only: this is a copy of the group's kernel because the channel's own could not be fitted; why_group says why.
TString why_group
Int_t n_amp = 1
 Amplitude bands actually used, at most kMAX_AMP_BINS.
Double_t k [kMAX_AMP_BINS][kNBins]
 The applied kernel at the bin centres, [amplitude band][dt bin]: the binned coefficients themselves, or the form evaluated there when form.
Double_t k_binned [kMAX_AMP_BINS][kNBins]
 The binned fit's coefficients, always kept so the form can be judged against them.
TauFit tau
 Summary of the dt profile, all hits.
Double_t intercept = 0.0
 Fit intercept, in ADC.
Double_t r2 = 0.0
 Coefficient of determination.
Double_t rms_before = 0.0
 Channel-deviation RMS before correction.
Double_t rms_after = 0.0
 And after, so the gain is visible.
Long64_t n = 0
 (event, channel) pairs entering the fit.
Long64_t n_beam = 0
 Beam-like events passing this group's selection.

Pole-zero form

Fitted alongside the bins whenever any group asks for the form (kPulseHistoryForm): k(dt) = -c exp(-(dt + t_m)/tau) + c_B (exp(-t_f/tau) - exp(-dt/tau)) for dt >= t_lo, the baseline term only for dt > t_f; below t_lo one free coefficient per bin (k_low).

form says whether it is the kernel that is applied; form_ok whether it could be fitted at all.

Bool_t form = kFALSE
Bool_t form_ok = kFALSE
Int_t j_tau = -1
 Grid index of the applied tau; internal.
Double_t tau_us = 0.0
 The applied form's decay time: given or profiled.
Bool_t tau_given = kFALSE
 Whether tau_us came from the configuration.
Double_t tau_free_us = 0.0
 The profile's own preference, on the grid, and its fit quality: the check on a given tau_us.
Double_t r2_form_free = 0.0
Double_t c [kMAX_AMP_BINS]
 Direct-tail amplitude per band; > 0 undershoot.
Double_t cb [kMAX_AMP_BINS]
 Baseline-term amplitude per band.
Double_t k_low [kMAX_AMP_BINS][kNBins]
 Free coefficients, bins < n_free.
Int_t n_free = 0
 Bins below t_lo that stay free under the form.
Double_t t_m_us = 0.0
 Read point after a pulse: rise + peaking.
Double_t t_f_us = 0.0
 Baseline freeze after a trigger: 2 rise + flat.
Double_t t_lo_us = 0.0
 From where the form holds: (2 rise + flat) - t_m.
Double_t intercept_form = 0.0
 The form fit's intercept, ADC.
Double_t r2_form = 0.0
 Coefficient of determination of the form.
Double_t rms_after_form = 0.0
 Deviation RMS after the form.
Double_t r2_binned = 0.0
 And the binned fit's, for comparison.
Double_t r2_group = 0.0
 Channel kernels only: the R^2 the group's kernel reaches on this channel's pairs, so the gain from a kernel of its own is r2 - r2_group.
Double_t rms_after_binned = 0.0
Double_t FormAt (Int_t a, Double_t dt_us) const
 The form at one gap for one band, per unit previous height.
Double_t EffectiveWindowUs (Int_t a) const
 Effective restorer window implied by the fitted amplitudes, c tau / c_B, in microseconds; 0 when c_B is 0.

Detailed Description

One fitted correction: a channel's own, or a group's.

Every channel with enough pairs gets its own kernel, since the preamps differ within a chain; the group's kernel, fitted on the sum of its channels, is the fallback for the rest (from_group) and the reference the channels are compared against. Check ok before use; a kernel that could not be fitted leaves the coefficients at zero.

Definition at line 125 of file PulseHistory.hpp.

Constructor & Destructor Documentation

◆ Kernel()

PulseHistory::Kernel::Kernel ( )

Construct unfitted, with zeroed coefficients.

Definition at line 126 of file PulseHistory.cpp.

Member Function Documentation

◆ EffectiveWindowUs()

Double_t PulseHistory::Kernel::EffectiveWindowUs ( Int_t a) const

Effective restorer window implied by the fitted amplitudes, c tau / c_B, in microseconds; 0 when c_B is 0.

Definition at line 153 of file PulseHistory.cpp.

◆ FormAt()

Double_t PulseHistory::Kernel::FormAt ( Int_t a,
Double_t dt_us ) const

The form at one gap for one band, per unit previous height.

Parameters
aAmplitude band.
dt_usGap to the previous pulse, microseconds.

Definition at line 138 of file PulseHistory.cpp.

Member Data Documentation

◆ c

Double_t PulseHistory::Kernel::c[kMAX_AMP_BINS]

Direct-tail amplitude per band; > 0 undershoot.

Definition at line 158 of file PulseHistory.hpp.

Referenced by EffectiveWindowUs(), FormAt(), Kernel(), and PulseHistory::Report().

◆ cb

Double_t PulseHistory::Kernel::cb[kMAX_AMP_BINS]

Baseline-term amplitude per band.

Definition at line 159 of file PulseHistory.hpp.

Referenced by EffectiveWindowUs(), FormAt(), and Kernel().

◆ form

Bool_t PulseHistory::Kernel::form = kFALSE

Definition at line 148 of file PulseHistory.hpp.

Referenced by PulseHistory::Measure().

◆ form_ok

Bool_t PulseHistory::Kernel::form_ok = kFALSE

Definition at line 149 of file PulseHistory.hpp.

Referenced by PulseHistory::Report().

◆ from_group

Bool_t PulseHistory::Kernel::from_group = kFALSE

Channel kernels only: this is a copy of the group's kernel because the channel's own could not be fitted; why_group says why.

Definition at line 129 of file PulseHistory.hpp.

Referenced by PulseHistory::Measure(), PulseHistory::Report(), and PulseHistory::SavePlots().

◆ intercept

Double_t PulseHistory::Kernel::intercept = 0.0

Fit intercept, in ADC.

Definition at line 206 of file PulseHistory.hpp.

◆ intercept_form

Double_t PulseHistory::Kernel::intercept_form = 0.0

The form fit's intercept, ADC.

Definition at line 165 of file PulseHistory.hpp.

◆ j_tau

Int_t PulseHistory::Kernel::j_tau = -1

Grid index of the applied tau; internal.

Definition at line 150 of file PulseHistory.hpp.

Referenced by PulseHistory::Measure().

◆ k

Double_t PulseHistory::Kernel::k[kMAX_AMP_BINS][kNBins]

The applied kernel at the bin centres, [amplitude band][dt bin]: the binned coefficients themselves, or the form evaluated there when form.

What the report prints and the plots draw.

Definition at line 135 of file PulseHistory.hpp.

Referenced by Kernel(), PulseHistory::Report(), and PulseHistory::SavePlots().

◆ k_binned

Double_t PulseHistory::Kernel::k_binned[kMAX_AMP_BINS][kNBins]

The binned fit's coefficients, always kept so the form can be judged against them.

Equal to k unless form.

Definition at line 138 of file PulseHistory.hpp.

Referenced by Kernel().

◆ k_low

Double_t PulseHistory::Kernel::k_low[kMAX_AMP_BINS][kNBins]

Free coefficients, bins < n_free.

Definition at line 160 of file PulseHistory.hpp.

Referenced by FormAt(), and Kernel().

◆ n

Long64_t PulseHistory::Kernel::n = 0

(event, channel) pairs entering the fit.

Definition at line 210 of file PulseHistory.hpp.

Referenced by PulseHistory::Measure(), and PulseHistory::Report().

◆ n_amp

Int_t PulseHistory::Kernel::n_amp = 1

Amplitude bands actually used, at most kMAX_AMP_BINS.

Definition at line 131 of file PulseHistory.hpp.

Referenced by PulseHistory::Report(), and PulseHistory::SavePlots().

◆ n_beam

Long64_t PulseHistory::Kernel::n_beam = 0

Beam-like events passing this group's selection.

Definition at line 211 of file PulseHistory.hpp.

Referenced by PulseHistory::Measure(), and PulseHistory::Report().

◆ n_free

Int_t PulseHistory::Kernel::n_free = 0

Bins below t_lo that stay free under the form.

Definition at line 161 of file PulseHistory.hpp.

Referenced by FormAt().

◆ ok

Bool_t PulseHistory::Kernel::ok = kFALSE

Whether this kernel was successfully fitted.

Definition at line 126 of file PulseHistory.hpp.

Referenced by PulseHistory::Apply(), PulseHistory::Measure(), and PulseHistory::SavePlots().

◆ r2

Double_t PulseHistory::Kernel::r2 = 0.0

Coefficient of determination.

Definition at line 207 of file PulseHistory.hpp.

Referenced by PulseHistory::Report().

◆ r2_binned

Double_t PulseHistory::Kernel::r2_binned = 0.0

And the binned fit's, for comparison.

Definition at line 168 of file PulseHistory.hpp.

Referenced by PulseHistory::Report().

◆ r2_form

Double_t PulseHistory::Kernel::r2_form = 0.0

Coefficient of determination of the form.

Definition at line 166 of file PulseHistory.hpp.

◆ r2_form_free

Double_t PulseHistory::Kernel::r2_form_free = 0.0

Definition at line 156 of file PulseHistory.hpp.

◆ r2_group

Double_t PulseHistory::Kernel::r2_group = 0.0

Channel kernels only: the R^2 the group's kernel reaches on this channel's pairs, so the gain from a kernel of its own is r2 - r2_group.

Definition at line 171 of file PulseHistory.hpp.

Referenced by PulseHistory::Measure(), and PulseHistory::Report().

◆ rms_after

Double_t PulseHistory::Kernel::rms_after = 0.0

And after, so the gain is visible.

Definition at line 209 of file PulseHistory.hpp.

Referenced by PulseHistory::Report(), and PulseHistory::SavePlots().

◆ rms_after_binned

Double_t PulseHistory::Kernel::rms_after_binned = 0.0

Definition at line 172 of file PulseHistory.hpp.

◆ rms_after_form

Double_t PulseHistory::Kernel::rms_after_form = 0.0

Deviation RMS after the form.

Definition at line 167 of file PulseHistory.hpp.

◆ rms_before

Double_t PulseHistory::Kernel::rms_before = 0.0

Channel-deviation RMS before correction.

Definition at line 208 of file PulseHistory.hpp.

Referenced by PulseHistory::Report(), and PulseHistory::SavePlots().

◆ t_f_us

Double_t PulseHistory::Kernel::t_f_us = 0.0

Baseline freeze after a trigger: 2 rise + flat.

Definition at line 163 of file PulseHistory.hpp.

Referenced by FormAt().

◆ t_lo_us

Double_t PulseHistory::Kernel::t_lo_us = 0.0

From where the form holds: (2 rise + flat) - t_m.

Definition at line 164 of file PulseHistory.hpp.

Referenced by FormAt().

◆ t_m_us

Double_t PulseHistory::Kernel::t_m_us = 0.0

Read point after a pulse: rise + peaking.

Definition at line 162 of file PulseHistory.hpp.

Referenced by FormAt().

◆ tau

TauFit PulseHistory::Kernel::tau

Summary of the dt profile, all hits.

Definition at line 205 of file PulseHistory.hpp.

Referenced by PulseHistory::Measure(), and PulseHistory::Report().

◆ tau_free_us

Double_t PulseHistory::Kernel::tau_free_us = 0.0

The profile's own preference, on the grid, and its fit quality: the check on a given tau_us.

Equal to tau_us and r2_form when nothing is given.

Definition at line 155 of file PulseHistory.hpp.

Referenced by PulseHistory::Report().

◆ tau_given

Bool_t PulseHistory::Kernel::tau_given = kFALSE

Whether tau_us came from the configuration.

Definition at line 152 of file PulseHistory.hpp.

Referenced by PulseHistory::Report().

◆ tau_us

Double_t PulseHistory::Kernel::tau_us = 0.0

The applied form's decay time: given or profiled.

Definition at line 151 of file PulseHistory.hpp.

Referenced by EffectiveWindowUs(), FormAt(), and PulseHistory::Report().

◆ why_group

TString PulseHistory::Kernel::why_group

Definition at line 130 of file PulseHistory.hpp.

Referenced by PulseHistory::Measure(), and PulseHistory::Report().


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