9#ifndef ECAL_ECALRECPRODUCER_H_
10#define ECAL_ECALRECPRODUCER_H_
19#include "Tools/PulseShape.h"
Base classes for all user event processing components to extend.
Performs basic ECal reconstruction.
std::string phase_name_
event header float parameter holding the event phase [ns]
double mip_si_energy_
Energy [MeV] deposited by a MIP in Si 0.5mm thick.
std::string sim_hit_coll_name_
simhit collection name
void onNewRun(const ldmx::RunHeader &) override
Seed the phase smearing.
std::string amplitude_method_
ADC mode amplitude: soi, max or fit.
bool fit_fixed_t0_
fit with t0 = event phase + offset, e.g. phase from HCal TOA
double fit_t0_offset_
offset [ns] between the event phase and the pulse t0
double phase_resolution_
Gaussian smearing [ns] of the event phase.
std::vector< double > layer_weights_
Layer Weights to use for this reconstruction.
double second_order_energy_correction_
Second Order Energy Correction to use for this reconstruction.
double charge_per_mip_
Number of electrons generated by average MIP in Si 0.5mm thick.
virtual ~EcalRecProducer()=default
Destructor.
std::string rec_hit_coll_name_
output hit collection name
EcalRecProducer(const std::string &name, framework::Process &process)
Constructor.
int fit_n_samples_
number of samples in the fit, starting one before the max, <= 0 for all
std::string digi_pass_name_
Digi Pass Name to use as input.
void produce(framework::Event &event) override
Produce EcalHits and put them into the event bus using the EcalDigis as input.
double clock_cycle_
Length of clock cycle [ns].
std::string sim_hit_pass_name_
simhit pass name
void configure(framework::config::Parameters &) override
Grabs configure parameters from the python config file.
std::unique_ptr< ldmx::HgcrocShape > pulse_shape_
HGCROC pulse template, only for amplitude_method fit.
std::string digi_coll_name_
Digi Collection Name to use as input.
Implements an event buffer system for storing event data.
Class which represents the process under execution.
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.