5#include "Tracking/Digitization/PulseShape.h"
7namespace tracking::digitization {
62 double sampling_interval_ns,
double pedestal_adc,
63 double noise_sigma_adc,
double t_scan_min_ns = -50.0,
64 double t_scan_max_ns = 150.0,
double t_scan_step_ns = 1.0);
72 FitResult
fit(
const std::vector<short>& samples)
const;
76 std::pair<double, double>
evalAtT(
const std::vector<short>& samples,
81 double sampling_interval_ns_;
84 double t_scan_min_ns_;
85 double t_scan_max_ns_;
86 double t_scan_step_ns_;
Abstract base class for silicon-strip readout pulse shapes.
Fits a pulse shape to the ADC samples of a single silicon-strip readout channel to extract hit amplit...
std::pair< double, double > evalAtT(const std::vector< short > &samples, double T) const
Evaluate χ²(T) and the corresponding best-fit amplitude.
StripPulseFitter(const PulseShape &shape, double t0_offset_ns, double sampling_interval_ns, double pedestal_adc, double noise_sigma_adc, double t_scan_min_ns=-50.0, double t_scan_max_ns=150.0, double t_scan_step_ns=1.0)
double inv_sigma2_
1/σ², pre-computed.
FitResult fit(const std::vector< short > &samples) const
Fit the pulse to the given ADC sample vector.
int ndf
Degrees of freedom = n_samples − 2.
double amplitude
Fitted peak amplitude [ADC counts], ped-subtracted.
bool converged
False if no above-pedestal samples found.
double chi2
Chi-squared value at the minimum.
double t0
Fitted hit arrival time T [ns].