EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
CalorimeterParticleIDPostML.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) 2024 Dmitry Kalinkin
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 <edm4eic/TensorCollection.h>
11#include <edm4hep/ParticleIDCollection.h>
12#include <optional>
13#include <string>
14#include <string_view>
15
17
18#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
19#include <edm4eic/MCRecoClusterParticleLinkCollection.h>
20#endif
21
22namespace eicrecon {
23
24using CalorimeterParticleIDPostMLAlgorithm = algorithms::Algorithm<
25 algorithms::Input<edm4eic::ClusterCollection,
26 std::optional<edm4eic::MCRecoClusterParticleAssociationCollection>,
27 edm4eic::TensorCollection>,
28 algorithms::Output<edm4eic::ClusterCollection,
29#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
30 std::optional<edm4eic::MCRecoClusterParticleLinkCollection>,
31#endif
32 std::optional<edm4eic::MCRecoClusterParticleAssociationCollection>,
33 edm4hep::ParticleIDCollection>>;
34
36 public WithPodConfig<NoConfig> {
37
38public:
39 CalorimeterParticleIDPostML(std::string_view name)
41 name,
42 {"inputClusters", "inputClusterAssociations", "inputPredictionsTensor"},
43 {"outputClusters",
44#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
45 "outputClusterLinks",
46#endif
47 "outputClusterAssociations", "outputParticleIDs"},
48 ""} {
49 }
50
51 void init() final;
52 void process(const Input&, const Output&) const final;
53};
54
55} // namespace eicrecon
Definition CalorimeterParticleIDPostML.h:36
CalorimeterParticleIDPostML(std::string_view name)
Definition CalorimeterParticleIDPostML.h:39
Definition WithPodConfig.h:22
-client
Definition CalorimeterClusterRecoCoG.cc:37
algorithms::Algorithm< algorithms::Input< edm4eic::ClusterCollection, std::optional< edm4eic::MCRecoClusterParticleAssociationCollection >, edm4eic::TensorCollection >, algorithms::Output< edm4eic::ClusterCollection, std::optional< edm4eic::MCRecoClusterParticleLinkCollection >, std::optional< edm4eic::MCRecoClusterParticleAssociationCollection >, edm4hep::ParticleIDCollection > > CalorimeterParticleIDPostMLAlgorithm
Definition CalorimeterParticleIDPostML.h:33