13 :
public JOmniFactory<CalorimeterHitReco_factory, CalorimeterHitRecoConfig> {
20 std::unique_ptr<AlgoT> m_algo;
22 PodioInput<edm4hep::RawCalorimeterHit> m_raw_hits_input{
this};
23 PodioOutput<edm4eic::CalorimeterHit> m_rec_hits_output{
this};
25 ParameterRef<unsigned int> m_capADC{
this,
"capacityADC",
config().capADC};
26 ParameterRef<double> m_dyRangeADC{
this,
"dynamicRangeADC",
config().dyRangeADC};
27 ParameterRef<unsigned int> m_pedMeanADC{
this,
"pedestalMean",
config().pedMeanADC};
28 ParameterRef<double> m_pedSigmaADC{
this,
"pedestalSigma",
config().pedSigmaADC};
29 ParameterRef<double> m_resolutionTDC{
this,
"resolutionTDC",
config().resolutionTDC};
30 ParameterRef<double> m_thresholdFactor{
this,
"thresholdFactor",
config().thresholdFactor};
31 ParameterRef<double> m_thresholdValue{
this,
"thresholdValue",
config().thresholdValue};
32 ParameterRef<std::string> m_samplingFraction{
this,
"samplingFraction",
config().sampFrac};
33 ParameterRef<std::string> m_readout{
this,
"readout",
config().readout};
34 ParameterRef<std::string> m_layerField{
this,
"layerField",
config().layerField};
35 ParameterRef<std::string> m_sectorField{
this,
"sectorField",
config().sectorField};
36 ParameterRef<std::string> m_localDetElement{
this,
"localDetElement",
config().localDetElement};
37 ParameterRef<std::vector<std::string>> m_localDetFields{
this,
"localDetFields",
40 Service<AlgorithmsInit_service> m_algorithmsInit{
this};
44 m_algo = std::make_unique<AlgoT>(
GetPrefix());
45 m_algo->level(
static_cast<algorithms::LogLevel
>(
logger()->level()));
46 m_algo->applyConfig(
config());
51 m_algo->process({m_raw_hits_input()}, {m_rec_hits_output().get()});