EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
FarDetectorTransportationPreML.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) 2024 - 2025, Simon Gardner
3
4#pragma once
5
6#include <algorithms/algorithm.h>
7#include <edm4eic/TensorCollection.h>
8#include <edm4eic/TrackCollection.h>
9#include <edm4eic/MCRecoTrackParticleAssociationCollection.h>
10#include <edm4hep/MCParticleCollection.h>
11#include <mutex>
12#include <optional>
13#include <string>
14#include <string_view>
15
18
19namespace eicrecon {
20
21using FarDetectorTransportationPreMLAlgorithm = algorithms::Algorithm<
22 algorithms::Input<edm4eic::TrackCollection,
23 std::optional<edm4eic::MCRecoTrackParticleAssociationCollection>,
24 std::optional<edm4hep::MCParticleCollection>>,
25 algorithms::Output<edm4eic::TensorCollection, std::optional<edm4eic::TensorCollection>>>;
26
28 public WithPodConfig<FarDetectorTransportationPreMLConfig> {
29
30public:
31 FarDetectorTransportationPreML(std::string_view name)
33 name,
34 {"tracks", "trackAssociations", "beamElectrons"},
35 {"outputFeatureTensor", "outputTargetTensor"},
36 "Create tensor for input to far-detector magnetic transportation ML."} {}
37
38 void init() final;
39 void process(const Input&, const Output&) const final;
40
41private:
42 mutable float m_beamE = 10.0;
43 mutable std::once_flag m_initBeamE;
44};
45
46} // namespace eicrecon
Definition FarDetectorTransportationPreML.h:28
FarDetectorTransportationPreML(std::string_view name)
Definition FarDetectorTransportationPreML.h:31
Definition WithPodConfig.h:22
-client
Definition CalorimeterClusterRecoCoG.cc:37
algorithms::Algorithm< algorithms::Input< edm4eic::TrackCollection, std::optional< edm4eic::MCRecoTrackParticleAssociationCollection >, std::optional< edm4hep::MCParticleCollection > >, algorithms::Output< edm4eic::TensorCollection, std::optional< edm4eic::TensorCollection > > > FarDetectorTransportationPreMLAlgorithm
Definition FarDetectorTransportationPreML.h:25
Definition SimCalorimeterHitProcessor.cc:35