9#include <ActsExamples/EventData/Track.hpp>
10#include <JANA/JEvent.h>
20 :
public JOmniFactory<AmbiguitySolver_factory, AmbiguitySolverConfig> {
24 std::unique_ptr<AlgoT> m_algo;
26 Input<Acts::ConstVectorMultiTrajectory> m_acts_track_states_input{
this};
27 Input<Acts::ConstVectorTrackContainer> m_acts_tracks_input{
this};
28 Output<Acts::ConstVectorMultiTrajectory> m_acts_track_states_output{
this};
29 Output<Acts::ConstVectorTrackContainer> m_acts_tracks_output{
this};
31 ParameterRef<std::uint32_t> m_maximumSharedHits{
this,
"maximumSharedHits",
32 config().maximum_shared_hits,
33 "Maximum number of shared hits allowed"};
34 ParameterRef<std::uint32_t> m_maximumIterations{
35 this,
"maximumIterations",
config().maximum_iterations,
"Maximum number of iterations"};
36 ParameterRef<std::size_t> m_nMeasurementsMin{
37 this,
"nMeasurementsMin",
config().n_measurements_min,
38 "Number of measurements required for further reconstruction"};
42 m_algo = std::make_unique<AlgoT>(this->
GetPrefix());
43 m_algo->level(
static_cast<algorithms::LogLevel
>(
logger()->level()));
44 m_algo->applyConfig(
config());
49 auto track_states_vec = m_acts_track_states_input();
50 auto tracks_vec = m_acts_tracks_input();
51 assert(!track_states_vec.empty() &&
"ConstVectorMultiTrajectory vector should not be empty");
52 assert(track_states_vec.front() !=
nullptr &&
53 "ConstVectorMultiTrajectory pointer should not be null");
54 assert(!tracks_vec.empty() &&
"ConstVectorTrackContainer vector should not be empty");
55 assert(tracks_vec.front() !=
nullptr &&
"ConstVectorTrackContainer pointer should not be null");
57 m_algo->process(AlgoT::Input{track_states_vec.front(), tracks_vec.front()},
58 AlgoT::Output{&m_acts_track_states_output().emplace_back(),
59 &m_acts_tracks_output().emplace_back()});
Definition JOmniFactory.h:30
AmbiguitySolverConfig & config()
Retrieve reference to embedded config object.
Definition JOmniFactory.h:576
std::shared_ptr< spdlog::logger > & logger()
Retrieve reference to already-configured logger.
Definition JOmniFactory.h:573
std::string GetPrefix()
Definition JOmniFactory.h:570
Definition AmbiguitySolver_factory.h:20
void Configure()
Definition AmbiguitySolver_factory.h:41
void Process(int32_t, uint64_t)
Definition AmbiguitySolver_factory.h:48
Definition AmbiguitySolver.h:25
-client
Definition CalorimeterClusterRecoCoG.cc:37