LDMX Software
SiStripWaveformBuilder.h
1#ifndef TRACKING_RECO_SISTRIPWAVEFORMBUILDER_H_
2#define TRACKING_RECO_SISTRIPWAVEFORMBUILDER_H_
3
4#include <memory>
5#include <string>
6
8#include "Tracking/Digitization/PulseShape.h"
9#include "Tracking/Event/SiStripWaveform.h"
10
11namespace tracking::reco {
12
37 public:
38 SiStripWaveformBuilder(const std::string& name, framework::Process& process)
40
42 void produce(framework::Event& event) override;
43 void onProcessEnd() override;
44
45 private:
46 std::string input_collection_{"TrackerHits"};
47 std::string input_pass_name_{""};
48 std::string output_collection_{"TrackerWaveforms"};
50 5.0};
53 3.0};
56 int n_triggers_{10};
57
59 std::unique_ptr<tracking::digitization::PulseShape> pulse_shape_;
60
61 // Fit monitoring counters (summed over the whole job, reported in
62 // onProcessEnd).
64 long n_fit_failed_{0};
65};
66
67} // namespace tracking::reco
68
69#endif // TRACKING_RECO_SISTRIPWAVEFORMBUILDER_H_
Base classes for all user event processing components to extend.
Implements an event buffer system for storing event data.
Definition Event.h:42
Class which represents the process under execution.
Definition Process.h:37
Base class for a module which produces a data product.
virtual void process(Event &event) final
Processing an event for a Producer is calling produce.
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:29
Assemble per-trigger pedestal-subtracted hits into full per-channel waveforms.
double high_threshold_
per-sample significance for high-threshold cut
std::unique_ptr< tracking::digitization::PulseShape > pulse_shape_
Pulse shape used for the per-waveform fit test (built lazily in produce).
int min_consecutive_low_
min consecutive samples exceeding low_threshold
long n_fit_attempted_
waveforms passed to the fitter
void configure(framework::config::Parameters &ps) override
Callback for the EventProcessor to configure itself from the given set of parameters.
int n_triggers_
expected APV triggers per RoR
int min_high_samples_
min samples exceeding high_threshold
void onProcessEnd() override
Callback for the EventProcessor to take any necessary action when the processing of events finishes,...
double low_threshold_
per-sample significance for consecutive-streak cut
void produce(framework::Event &event) override
Process the event and put new data products into it.
long n_fit_failed_
fits that did not converge