EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
TrackProtoClusterMatchPromoter.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 <algorithms/algorithm.h>
7#include <edm4eic/ClusterCollection.h>
8#include <edm4eic/EDM4eicVersion.h>
9#include <edm4eic/ProtoClusterCollection.h>
10#include <edm4eic/TrackClusterMatchCollection.h>
11#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
12#include <edm4eic/TrackProtoClusterLinkCollection.h>
13#elif EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 4, 0)
14#include <edm4eic/TrackProtoClusterMatchCollection.h>
15#endif
16#include <string>
17#include <string_view>
18
20
21namespace eicrecon {
22
23using TrackProtoClusterMatchPromoterAlgorithm = algorithms::Algorithm<
24#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
25 typename algorithms::Input<edm4eic::TrackProtoClusterLinkCollection,
26 edm4eic::ProtoClusterCollection, edm4eic::ClusterCollection>,
27#elif EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 4, 0)
28 typename algorithms::Input<edm4eic::TrackProtoClusterMatchCollection,
29 edm4eic::ProtoClusterCollection, edm4eic::ClusterCollection>,
30#else
31 typename algorithms::Input<edm4eic::ProtoClusterCollection, edm4eic::ClusterCollection>,
32#endif
33 typename algorithms::Output<edm4eic::TrackClusterMatchCollection>>;
34
35// ============================================================================
36// Track-Protocluster Match Promoter
37// ============================================================================
43 public WithPodConfig<NoConfig> {
44
45public:
47 TrackProtoClusterMatchPromoter(std::string_view name)
49 name,
50#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
51 {"inputTrackProtoclusterLinks", "inputProtoclusters", "inputClusters"},
52#elif EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 4, 0)
53 {"inputTrackProtoclusterMatches", "inputProtoclusters", "inputClusters"},
54#else
55 {"inputProtoclusters", "inputClusters"},
56#endif
57 {"outputTrackClusterMatches"},
58 "Copies track-protocluster matches onto track-cluster matches"} {
59 }
60
61 void process(const Input&, const Output&) const final;
62
63}; // end TrackProtoClusterMatchPromoter
64
65} // namespace eicrecon
Definition TrackProtoClusterMatchPromoter.h:43
TrackProtoClusterMatchPromoter(std::string_view name)
! Algorithm constructor
Definition TrackProtoClusterMatchPromoter.h:47
Definition WithPodConfig.h:22
-client
Definition CalorimeterClusterRecoCoG.cc:37
algorithms::Algorithm< typename algorithms::Input< edm4eic::TrackProtoClusterLinkCollection, edm4eic::ProtoClusterCollection, edm4eic::ClusterCollection >, typename algorithms::Output< edm4eic::TrackClusterMatchCollection > > TrackProtoClusterMatchPromoterAlgorithm
Definition TrackProtoClusterMatchPromoter.h:33