18 std::unique_ptr<AlgoT> m_algo;
20 PodioInput<edm4hep::EventHeader> m_in_headers{
this};
21#if EDM4EIC_VERSION_MAJOR > 8 || (EDM4EIC_VERSION_MAJOR == 8 && EDM4EIC_VERSION_MINOR >= 1)
22 PodioInput<edm4eic::SimPulse> m_in_pulses{
this};
23 PodioOutput<edm4eic::SimPulse> m_out_pulses{
this};
25 PodioInput<edm4hep::TimeSeries> m_in_pulses{
this};
26 PodioOutput<edm4hep::TimeSeries> m_out_pulses{
this};
29 ParameterRef<std::size_t> m_poles{
this,
"poles",
config().poles};
30 ParameterRef<double> m_variance{
this,
"variance",
config().variance};
31 ParameterRef<double> m_alpha{
this,
"alpha",
config().alpha};
32 ParameterRef<double> m_scale{
this,
"scale",
config().scale};
34 Service<AlgorithmsInit_service> m_algorithmsInit{
this};
38 m_algo = std::make_unique<eicrecon::PulseNoise>(
GetPrefix());
39 m_algo->level(
static_cast<algorithms::LogLevel
>(
logger()->level()));
40 m_algo->applyConfig(
config());
45 m_algo->process({m_in_headers(), m_in_pulses()}, {m_out_pulses().get()});