|
LDMX Software
|
Full multi-trigger waveform for one silicon strip channel. More...
#include <SiStripWaveform.h>
Public Member Functions | |
| SiStripWaveform (std::vector< short > samples, int16_t pchannel, uint8_t hybrid_id, uint8_t feb_id, uint8_t n_triggers) | |
| void | clear () |
| const std::vector< short > & | getSamples () const |
| int16_t | getPchannel () const |
| uint8_t | getHybridId () const |
| uint8_t | getFebId () const |
| uint8_t | getNTriggers () const |
| void | setFitResult (float amplitude, float t0, float chi2, int ndf, bool converged) |
| Store the result of a pulse-shape fit to this waveform. | |
| float | getFitAmplitude () const |
| Fitted pulse amplitude [ADC counts] (peak of the fitted pulse shape). | |
| float | getFitT0 () const |
| Fitted hit arrival time T [ns] in the sample-window frame (t_i = i*dt). | |
| float | getFitChi2 () const |
| int | getFitNDF () const |
| bool | isFitConverged () const |
| short | getSample (uint8_t t, uint8_t s) const |
| Sample at trigger index t (0-based), APV sample s (0-2). | |
| short | peakAmplitude () const |
| Peak amplitude: the maximum (pedestal-subtracted) ADC sample. | |
| uint8_t | peakTrigger () const |
| Trigger index (0-based) of the sample with the maximum ADC value. | |
Protected Member Functions | |
| ClassDef (SiStripWaveform, 2) | |
Protected Attributes | |
| std::vector< short > | samples_ |
| n_triggers * 3 pedestal-subtracted ADC samples | |
| int16_t | pchannel_ {0} |
| physical strip number within hybrid [0, 639] | |
| uint8_t | hybrid_id_ {0} |
| uint8_t | feb_id_ {0} |
| uint8_t | n_triggers_ {0} |
| number of APV triggers assembled | |
| float | fit_amplitude_ {0} |
| fitted amplitude [ADC] | |
| float | fit_t0_ {0} |
| fitted hit arrival time T [ns] | |
| float | fit_chi2_ {0} |
| chi-squared at the minimum | |
| int | fit_ndf_ {0} |
| degrees of freedom = n_samples - 2 | |
| bool | fit_converged_ {false} |
| true if the fit succeeded | |
Friends | |
| std::ostream & | operator<< (std::ostream &o, const SiStripWaveform &w) |
Full multi-trigger waveform for one silicon strip channel.
Assembled by SiStripWaveformBuilder from the per-trigger pedestal-subtracted RawSiStripHit objects for a single (feb, hybrid, pchannel). Samples are stored in trigger order: [s0_t0, s1_t0, s2_t0, s0_t1, s1_t1, s2_t1, ...], so the total size is n_triggers * 3.
This is the natural input for waveform fitting (APV25 CR-RC pulse shape → hit time with ~2.5 ns resolution) and any per-channel waveform corrections before clustering.
Definition at line 24 of file SiStripWaveform.h.
| ldmx::SiStripWaveform::SiStripWaveform | ( | std::vector< short > | samples, |
| int16_t | pchannel, | ||
| uint8_t | hybrid_id, | ||
| uint8_t | feb_id, | ||
| uint8_t | n_triggers ) |
Definition at line 9 of file SiStripWaveform.cxx.
|
inlinevirtual |
Definition at line 31 of file SiStripWaveform.h.
| void ldmx::SiStripWaveform::clear | ( | ) |
Definition at line 18 of file SiStripWaveform.cxx.
|
inline |
Definition at line 38 of file SiStripWaveform.h.
|
inline |
Fitted pulse amplitude [ADC counts] (peak of the fitted pulse shape).
Definition at line 52 of file SiStripWaveform.h.
References fit_amplitude_.
|
inline |
Definition at line 55 of file SiStripWaveform.h.
|
inline |
Definition at line 56 of file SiStripWaveform.h.
|
inline |
Fitted hit arrival time T [ns] in the sample-window frame (t_i = i*dt).
Definition at line 54 of file SiStripWaveform.h.
References fit_t0_.
|
inline |
Definition at line 37 of file SiStripWaveform.h.
|
inline |
Definition at line 39 of file SiStripWaveform.h.
|
inline |
Definition at line 36 of file SiStripWaveform.h.
|
inline |
Sample at trigger index t (0-based), APV sample s (0-2).
Definition at line 60 of file SiStripWaveform.h.
References samples_.
|
inline |
Definition at line 35 of file SiStripWaveform.h.
|
inline |
Definition at line 57 of file SiStripWaveform.h.
|
inline |
Peak amplitude: the maximum (pedestal-subtracted) ADC sample.
Convert to a significance downstream by dividing by the per-channel noise from the TrackerPedestals conditions object.
Definition at line 65 of file SiStripWaveform.h.
References samples_.
|
inline |
Trigger index (0-based) of the sample with the maximum ADC value.
Definition at line 71 of file SiStripWaveform.h.
References samples_.
|
inline |
Store the result of a pulse-shape fit to this waveform.
Definition at line 42 of file SiStripWaveform.h.
References fit_amplitude_, fit_chi2_, fit_converged_, fit_ndf_, and fit_t0_.
|
friend |
Definition at line 31 of file SiStripWaveform.cxx.
|
protected |
Definition at line 84 of file SiStripWaveform.h.
|
protected |
fitted amplitude [ADC]
Definition at line 88 of file SiStripWaveform.h.
Referenced by getFitAmplitude(), and setFitResult().
|
protected |
chi-squared at the minimum
Definition at line 90 of file SiStripWaveform.h.
Referenced by setFitResult().
|
protected |
true if the fit succeeded
Definition at line 92 of file SiStripWaveform.h.
Referenced by setFitResult().
|
protected |
degrees of freedom = n_samples - 2
Definition at line 91 of file SiStripWaveform.h.
Referenced by setFitResult().
|
protected |
fitted hit arrival time T [ns]
Definition at line 89 of file SiStripWaveform.h.
Referenced by getFitT0(), and setFitResult().
|
protected |
Definition at line 83 of file SiStripWaveform.h.
|
protected |
|
protected |
physical strip number within hybrid [0, 639]
Definition at line 82 of file SiStripWaveform.h.
|
protected |
n_triggers * 3 pedestal-subtracted ADC samples
Definition at line 81 of file SiStripWaveform.h.
Referenced by getSample(), peakAmplitude(), and peakTrigger().