EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
LambdaReconstruction_factory.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) 2026 Sebouh Paul, Baptiste Fraisse
3
4#pragma once
5
10
11namespace eicrecon {
12
14 : public JOmniFactory<LambdaReconstruction_factory, LambdaReconstructionConfig> {
15
16public:
18
19private:
20 std::unique_ptr<AlgoT> m_algo;
21
22 PodioInput<edm4eic::ReconstructedParticle> m_hcal_neutrals_input{this};
23 PodioInput<edm4eic::ReconstructedParticle> m_b0_neutrals_input{this};
24 PodioInput<edm4eic::ReconstructedParticle> m_ecalendcapp_neutrals_input{this};
25 PodioInput<edm4eic::ReconstructedParticle> m_lfhcal_neutrals_input{this};
26
27 PodioOutput<edm4eic::ReconstructedParticle> m_lambda_output{this};
28 PodioOutput<edm4eic::ReconstructedParticle> m_lambda_decay_products_cm_output{this};
29
30 ParameterRef<std::string> m_offset_position_name{this, "offsetPositionName",
31 config().offsetPositionName};
32 ParameterRef<double> m_rot_y{this, "globalToProtonRotation", config().globalToProtonRotation};
33 ParameterRef<double> m_lambda_mass_window{this, "lambdaMassWindow", config().lambdaMassWindow};
34 ParameterRef<double> m_pi0_mass_window{this, "pi0Window", config().pi0Window};
35 ParameterRef<int> m_iterations{this, "iterations", config().iterations};
36 Service<AlgorithmsInit_service> m_algorithmsInit{this};
37
38public:
39 void Configure() {
40 m_algo = std::make_unique<AlgoT>(GetPrefix());
41 m_algo->level((algorithms::LogLevel)logger()->level());
42
43 m_algo->applyConfig(config());
44 m_algo->init();
45 }
46
47 void Process(int32_t /* run_number */, uint64_t /* event_number */) {
48 m_algo->process({m_hcal_neutrals_input(), m_b0_neutrals_input(), m_ecalendcapp_neutrals_input(),
49 m_lfhcal_neutrals_input()},
50 {m_lambda_output().get(), m_lambda_decay_products_cm_output().get()});
51 }
52};
53
54} // namespace eicrecon
Definition JOmniFactory.h:30
LambdaReconstructionConfig & config()
Retrieve reference to embedded config object.
Definition JOmniFactory.h:576
std::shared_ptr< spdlog::logger > & logger()
Retrieve reference to already-configured logger.
Definition JOmniFactory.h:573
Definition LambdaReconstruction_factory.h:14
void Process(int32_t, uint64_t)
Definition LambdaReconstruction_factory.h:47
void Configure()
Definition LambdaReconstruction_factory.h:39
Definition LambdaReconstruction.h:49
-client
Definition CalorimeterClusterRecoCoG.cc:37