EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
MergeParticleID.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) 2023, Christopher Dilks
3
4// General algorithm to merge together particle ID datatypes
5
6#pragma once
7
8// data model
9#include <algorithms/algorithm.h>
10#include <edm4eic/CherenkovParticleIDCollection.h>
11#include <string>
12#include <string_view>
13#include <vector>
14
15// EICrecon
18
19namespace eicrecon {
20
21using MergeParticleIDAlgorithm = algorithms::Algorithm<
22 algorithms::Input<std::vector<const edm4eic::CherenkovParticleIDCollection>>,
23 algorithms::Output<edm4eic::CherenkovParticleIDCollection>>;
24
26 public WithPodConfig<MergeParticleIDConfig> {
27
28public:
29 MergeParticleID(std::string_view name)
31 {"inputTrackSegments"},
32 {"outputTrackSegments"},
33 "Effectively 'zip' the input particle IDs"} {}
34
35 void init();
36
37 // - input: a list of particle ID collections, which we want to merge together
38 // - output: the merged particle ID collection
39 // - overload this function to support different collections from other PID subsystems, or to support
40 // merging PID results from overlapping subsystems
41 void process(const Input&, const Output&) const final;
42};
43
44} // namespace eicrecon
Definition MergeParticleID.h:26
MergeParticleID(std::string_view name)
Definition MergeParticleID.h:29
Definition WithPodConfig.h:22
-client
Definition CalorimeterClusterRecoCoG.cc:37
algorithms::Algorithm< algorithms::Input< std::vector< const edm4eic::CherenkovParticleIDCollection > >, algorithms::Output< edm4eic::CherenkovParticleIDCollection > > MergeParticleIDAlgorithm
Definition MergeParticleID.h:23