EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
ActsToTracks.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 <Acts/EventData/VectorMultiTrajectory.hpp>
7#include <Acts/EventData/VectorTrackContainer.hpp>
8#include <algorithms/algorithm.h>
9#include <edm4eic/MCRecoTrackParticleAssociationCollection.h>
10#include <edm4eic/EDM4eicVersion.h>
11#include <edm4eic/MCRecoTrackerHitAssociationCollection.h>
12#include <edm4eic/Measurement2DCollection.h>
13#include <edm4eic/TrackCollection.h>
14#include <edm4eic/TrackParametersCollection.h>
15#include <edm4eic/TrackSeedCollection.h>
16#include <edm4eic/TrajectoryCollection.h>
17#include <optional>
18#include <string>
19#include <string_view>
20
22
23#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
24#include <edm4eic/MCRecoTrackParticleLinkCollection.h>
25#endif
26
27namespace eicrecon {
28
29using ActsToTracksAlgorithm = algorithms::Algorithm<
30 algorithms::Input<edm4eic::Measurement2DCollection, edm4eic::TrackSeedCollection,
31 Acts::ConstVectorMultiTrajectory, Acts::ConstVectorTrackContainer,
32 std::optional<edm4eic::MCRecoTrackerHitAssociationCollection>>,
33 algorithms::Output<edm4eic::TrajectoryCollection, edm4eic::TrackParametersCollection,
34 edm4eic::TrackCollection,
35#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
36 std::optional<edm4eic::MCRecoTrackParticleLinkCollection>,
37#endif
38 std::optional<edm4eic::MCRecoTrackParticleAssociationCollection>>>;
39
40class ActsToTracks : public ActsToTracksAlgorithm, public WithPodConfig<NoConfig> {
41public:
42 ActsToTracks(std::string_view name)
44 {
45 "inputMeasurements",
46 "inputTrackSeeds",
47 "inputActsTrackStates",
48 "inputActsTracks",
49 "inputRawTrackerHitAssociations",
50 },
51 {
52 "outputTrajectories",
53 "outputTrackParameters",
54 "outputTracks",
55#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
56 "outputTrackLinks",
57#endif
58 "outputTrackAssociations",
59 },
60 "Converts ACTS tracks to EDM4eic"} {};
61
62 void init() final;
63 void process(const Input&, const Output&) const final;
64};
65
66} // namespace eicrecon
Definition ActsToTracks.h:40
ActsToTracks(std::string_view name)
Definition ActsToTracks.h:42
Definition WithPodConfig.h:22
-client
Definition CalorimeterClusterRecoCoG.cc:37
algorithms::Algorithm< algorithms::Input< edm4eic::Measurement2DCollection, edm4eic::TrackSeedCollection, Acts::ConstVectorMultiTrajectory, Acts::ConstVectorTrackContainer, std::optional< edm4eic::MCRecoTrackerHitAssociationCollection > >, algorithms::Output< edm4eic::TrajectoryCollection, edm4eic::TrackParametersCollection, edm4eic::TrackCollection, std::optional< edm4eic::MCRecoTrackParticleLinkCollection >, std::optional< edm4eic::MCRecoTrackParticleAssociationCollection > > > ActsToTracksAlgorithm
Definition ActsToTracks.h:38