EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
TrackClusterMatch.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) 2025 Tristan Protzman
3
4#pragma once
5
6#include <algorithms/algorithm.h>
7#include <algorithms/geo.h>
8#include <edm4eic/ClusterCollection.h>
9#include <edm4eic/TrackClusterMatchCollection.h>
10#include <edm4eic/TrackSegmentCollection.h>
11#include <edm4hep/Vector3f.h>
12#include <cmath>
13#include <string>
14#include <string_view>
15
18
19namespace eicrecon {
20using TrackClusterMatchAlgorithm = algorithms::Algorithm<
21 algorithms::Input<edm4eic::TrackSegmentCollection, edm4eic::ClusterCollection>,
22 algorithms::Output<edm4eic::TrackClusterMatchCollection>>;
23
25 public WithPodConfig<TrackClusterMatchConfig> {
26private:
27 const algorithms::GeoSvc& m_geo = algorithms::GeoSvc::instance();
28 static double distance(const edm4hep::Vector3f& v1, const edm4hep::Vector3f& v2);
29 static double Phi_mpi_pi(double phi) { return std::remainder(phi, 2 * M_PI); }
30
31public:
32 TrackClusterMatch(std::string_view name)
34 name, {"inputTracks", "inputClusters"}, {"outputParticles"}, ""} {}
35
36 void init() final {};
37 void process(const Input&, const Output&) const final;
38};
39} // namespace eicrecon
Definition TrackClusterMatch.h:25
TrackClusterMatch(std::string_view name)
Definition TrackClusterMatch.h:32
void init() final
Definition TrackClusterMatch.h:36
Definition WithPodConfig.h:22
-client
Definition CalorimeterClusterRecoCoG.cc:37
algorithms::Algorithm< algorithms::Input< edm4eic::TrackSegmentCollection, edm4eic::ClusterCollection >, algorithms::Output< edm4eic::TrackClusterMatchCollection > > TrackClusterMatchAlgorithm
Definition TrackClusterMatch.h:22