EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
AmbiguitySolver.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) 2024 Minjung Kim, Barak Schmookler
3#pragma once
4
5#include <Acts/EventData/VectorMultiTrajectory.hpp>
6#include <Acts/EventData/VectorTrackContainer.hpp>
7#include <Acts/Utilities/Logger.hpp>
8#include <algorithms/algorithm.h>
9#include <memory>
10#include <string>
11#include <string_view>
12
13#include "Acts/AmbiguityResolution/GreedyAmbiguityResolution.hpp"
16
17namespace eicrecon {
18
19using AmbiguitySolverAlgorithm = algorithms::Algorithm<
20 algorithms::Input<Acts::ConstVectorMultiTrajectory, Acts::ConstVectorTrackContainer>,
21 algorithms::Output<Acts::ConstVectorMultiTrajectory*, Acts::ConstVectorTrackContainer*>>;
22
23/*Reco Track Filtering Based on Greedy ambiguity resolution solver adopted from ACTS*/
25 public WithPodConfig<eicrecon::AmbiguitySolverConfig> {
26public:
27 AmbiguitySolver(std::string_view name)
29 {"inputActsTrackStates", "inputActsTracks"},
30 {"outputActsTrackStates", "outputActsTracks"},
31 "Greedy ambiguity resolution for tracks"} {}
32
33 void init() final;
34 void process(const Input&, const Output&) const final;
35
36private:
37 Acts::GreedyAmbiguityResolution::Config m_acts_cfg;
38 std::unique_ptr<Acts::GreedyAmbiguityResolution> m_core;
40 std::shared_ptr<const Acts::Logger> m_acts_logger{nullptr};
41 const Acts::Logger& acts_logger() const { return *m_acts_logger; }
42};
43
44} // namespace eicrecon
Definition AmbiguitySolver.h:25
AmbiguitySolver(std::string_view name)
Definition AmbiguitySolver.h:27
Definition WithPodConfig.h:22
-client
Definition CalorimeterClusterRecoCoG.cc:37
algorithms::Algorithm< algorithms::Input< Acts::ConstVectorMultiTrajectory, Acts::ConstVectorTrackContainer >, algorithms::Output< Acts::ConstVectorMultiTrajectory *, Acts::ConstVectorTrackContainer * > > AmbiguitySolverAlgorithm
Definition AmbiguitySolver.h:21
Definition SimCalorimeterHitProcessor.cc:35