EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
EnergyPositionClusterMerger.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) 2022 Sylvester Joosten
3
4#pragma once
5
6#include <algorithms/algorithm.h>
7#include <edm4eic/ClusterCollection.h>
8#include <edm4eic/EDM4eicVersion.h>
9#include <edm4eic/MCRecoClusterParticleAssociationCollection.h>
10#include <string>
11#include <string_view>
12
15
16#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
17#include <edm4eic/MCRecoClusterParticleLinkCollection.h>
18#endif
19
20namespace eicrecon {
21
22using EnergyPositionClusterMergerAlgorithm = algorithms::Algorithm<
23 algorithms::Input<
24 edm4eic::ClusterCollection, edm4eic::MCRecoClusterParticleAssociationCollection,
25 edm4eic::ClusterCollection, edm4eic::MCRecoClusterParticleAssociationCollection>,
26 algorithms::Output<edm4eic::ClusterCollection,
27#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
28 edm4eic::MCRecoClusterParticleLinkCollection,
29#endif
30 edm4eic::MCRecoClusterParticleAssociationCollection>>;
31
45 public WithPodConfig<EnergyPositionClusterMergerConfig> {
46
47public:
48 EnergyPositionClusterMerger(std::string_view name)
50 name,
51 {"energyClusterCollection", "energyClusterAssociations", "positionClusterCollection",
52 "positionClusterAssociations"},
53 {"outputClusterCollection",
54#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
55 "outputClusterLinks",
56#endif
57 "outputClusterAssociations"},
58 "Merge energy and position clusters if matching."} {
59 }
60
61public:
62 void init() {}
63
64 void process(const Input& input, const Output& output) const final;
65};
66
67} // namespace eicrecon
Definition EnergyPositionClusterMerger.h:45
void init()
Definition EnergyPositionClusterMerger.h:62
EnergyPositionClusterMerger(std::string_view name)
Definition EnergyPositionClusterMerger.h:48
Definition WithPodConfig.h:22
-client
Definition CalorimeterClusterRecoCoG.cc:37
algorithms::Algorithm< algorithms::Input< edm4eic::ClusterCollection, edm4eic::MCRecoClusterParticleAssociationCollection, edm4eic::ClusterCollection, edm4eic::MCRecoClusterParticleAssociationCollection >, algorithms::Output< edm4eic::ClusterCollection, edm4eic::MCRecoClusterParticleLinkCollection, edm4eic::MCRecoClusterParticleAssociationCollection > > EnergyPositionClusterMergerAlgorithm
Definition EnergyPositionClusterMerger.h:30