EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
SecondaryVertexFinder.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) 2025 Dongwi H. Dongwi (Bishoy)
3
4#pragma once
5
6#include <Acts/EventData/VectorMultiTrajectory.hpp>
7#include <Acts/EventData/VectorTrackContainer.hpp>
8#include <Acts/MagneticField/MagneticFieldProvider.hpp>
9#include <Acts/Vertexing/Vertex.hpp>
10#include <algorithms/algorithm.h>
11#include <edm4eic/ReconstructedParticleCollection.h>
12#include <edm4eic/VertexCollection.h>
13#include <memory>
14#include <string>
15#include <string_view>
16#include <vector>
17
22
23namespace eicrecon {
24
25using SecondaryVertexFinderAlgorithm = algorithms::Algorithm<
26 algorithms::Input<edm4eic::ReconstructedParticleCollection, Acts::ConstVectorMultiTrajectory,
27 Acts::ConstVectorTrackContainer>,
28 algorithms::Output<edm4eic::VertexCollection>>;
29
31 public WithPodConfig<eicrecon::SecondaryVertexFinderConfig> {
32public:
33 SecondaryVertexFinder(std::string_view name)
35 name,
36 {"inputReconstructedParticles", "inputActsTrackStates", "inputActsTracks"},
37 {"outputVertices"},
38 "Finds vertices using ACTS Adaptive Multi-Vertex Finder (AMVF)"} {}
39
40 void init() final {};
41
42 void process(const Input&, const Output&) const final;
43
44private:
46 void storeVertices(const std::vector<Acts::Vertex>& vertices,
47 const edm4eic::ReconstructedParticleCollection& reconParticles,
48 edm4eic::VertexCollection& outputVertices, int vertexType) const;
49
50 std::shared_ptr<const ActsGeometryProvider> m_geoSvc{
51 algorithms::ActsSvc::instance().acts_geometry_provider()};
52 std::shared_ptr<const Acts::MagneticFieldProvider> m_BField{m_geoSvc->getFieldProvider()};
53};
54
55} // namespace eicrecon
Definition SecondaryVertexFinder.h:31
void init() final
Definition SecondaryVertexFinder.h:40
SecondaryVertexFinder(std::string_view name)
Definition SecondaryVertexFinder.h:33
Definition WithPodConfig.h:22
-client
Definition CalorimeterClusterRecoCoG.cc:37
algorithms::Algorithm< algorithms::Input< edm4eic::ReconstructedParticleCollection, Acts::ConstVectorMultiTrajectory, Acts::ConstVectorTrackContainer >, algorithms::Output< edm4eic::VertexCollection > > SecondaryVertexFinderAlgorithm
Definition SecondaryVertexFinder.h:28