5#include "Tracking/Event/FittedSiStripHit.h"
7namespace tracking::digitization {
60 std::vector<int> strip_ids;
81 StripClusterer(
double seed_threshold = 4.0,
double neighbor_threshold = 3.0,
82 double cluster_threshold = 4.0,
double noise_sigma_adc = 5.0,
83 double mean_time_ns = 0.0,
double time_window_ns = -1.0,
84 double neighbor_delta_t_ns = -1.0,
double max_chi2_ndf = -1.0);
94 const std::vector<ldmx::FittedSiStripHit>& hits)
const;
99 double cluster_weighted_t,
100 double cluster_total_amp)
const;
108 return n > 0.0 ? n : noise_sigma_adc_;
111 double seed_threshold_;
112 double neighbor_threshold_;
113 double cluster_threshold_;
114 double noise_sigma_adc_;
115 double mean_time_ns_;
116 double time_window_ns_;
117 double neighbor_delta_t_ns_;
118 double max_chi2_ndf_;
Result of fitting a pulse shape to the ADC samples of a single readout strip.
float getNoise() const
Per-strip noise RMS [ADC counts] (0 if unknown; clustering then falls back to the global StripCluster...
Nearest-neighbour clustering of fitted silicon-strip hits on a single sensor.
double hitNoise(const ldmx::FittedSiStripHit &h) const
Per-strip noise RMS to use for h: the hit's own measured noise if set (> 0), otherwise the uniform no...
StripClusterer(double seed_threshold=4.0, double neighbor_threshold=3.0, double cluster_threshold=4.0, double noise_sigma_adc=5.0, double mean_time_ns=0.0, double time_window_ns=-1.0, double neighbor_delta_t_ns=-1.0, double max_chi2_ndf=-1.0)
std::vector< ClusterCandidate > findClusters(const std::vector< ldmx::FittedSiStripHit > &hits) const
Cluster a set of fitted strip hits from a single sensor layer.
double centroid_strip
Charge-weighted mean strip index.
double total_amplitude
Total cluster amplitude [ADC counts].
double time_ns
Amplitude-weighted mean hit time [ns].
double sigma_strip
Position uncertainty [strips].