EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
TrackProtoClusterMatchPromoter_factory.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) 2026 Derek Anderson
3
4#pragma once
5
6#include <edm4eic/EDM4eicVersion.h>
7
10
11namespace eicrecon {
12
14 : public JOmniFactory<TrackProtoClusterMatchPromoter_factory> {
15
16public:
18
19private:
20 std::unique_ptr<AlgoT> m_algo;
21
22 // input collections
23#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
24 PodioInput<edm4eic::TrackProtoClusterLink> m_track_proto_link_input{this};
25#elif EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 4, 0)
26 PodioInput<edm4eic::TrackProtoClusterMatch> m_track_proto_match_input{this};
27#endif
28 PodioInput<edm4eic::ProtoCluster> m_proto_input{this};
29 PodioInput<edm4eic::Cluster> m_clust_input{this};
30
31 // output collection
32 PodioOutput<edm4eic::TrackClusterMatch> m_track_clust_match_output{this};
33
34public:
35 void Configure() {
36 m_algo = std::make_unique<AlgoT>(GetPrefix());
37 m_algo->level(static_cast<algorithms::LogLevel>(logger()->level()));
38 m_algo->init();
39 }
40
41 void Process(int32_t /*run_number*/, uint64_t /*event_number*/) {
42#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
43 m_algo->process({m_track_proto_link_input(), m_proto_input(), m_clust_input()},
44#elif EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 4, 0)
45 m_algo->process({m_track_proto_match_input(), m_proto_input(), m_clust_input()},
46#else
47 m_algo->process({m_proto_input(), m_clust_input()},
48#endif
49 {m_track_clust_match_output().get()});
50 }
51}; // end TrackProtoClusterMatchPromoter_factory
52
53} // namespace eicrecon
Definition JOmniFactory.h:30
std::shared_ptr< spdlog::logger > & logger()
Retrieve reference to already-configured logger.
Definition JOmniFactory.h:573
std::string GetPrefix()
Definition JOmniFactory.h:570
Definition TrackProtoClusterMatchPromoter_factory.h:14
void Configure()
Definition TrackProtoClusterMatchPromoter_factory.h:35
void Process(int32_t, uint64_t)
Definition TrackProtoClusterMatchPromoter_factory.h:41
Definition TrackProtoClusterMatchPromoter.h:43
-client
Definition CalorimeterClusterRecoCoG.cc:37