Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-07-09 08:30:21

0001 // SPDX-License-Identifier: LGPL-3.0-or-later
0002 // Copyright (C) 2024 Daniel Brandenburg, Xin Dong
0003 
0004 #pragma once
0005 
0006 #include <algorithms/algorithm.h>
0007 #include <edm4eic/VertexCollection.h>
0008 #include <string>      // for basic_string
0009 #include <string_view> // for string_view
0010 
0011 #include "algorithms/interfaces/WithPodConfig.h"
0012 #include "algorithms/reco/PrimaryVerticesConfig.h"
0013 
0014 namespace eicrecon {
0015 
0016 using PrimaryVerticesAlgorithm =
0017     algorithms::Algorithm<algorithms::Input<edm4eic::VertexCollection>,
0018                           algorithms::Output<edm4eic::VertexCollection>>;
0019 
0020 class PrimaryVertices : public PrimaryVerticesAlgorithm,
0021                         public WithPodConfig<PrimaryVerticesConfig> {
0022 
0023 public:
0024   PrimaryVertices(std::string_view name)
0025       : PrimaryVerticesAlgorithm{name,
0026                                  {"inputVertices"},
0027                                  {"outputPrimaryVertices"},
0028                                  "Sort reconstructed vertices in PrimaryVertices collection"} {}
0029 
0030   void init() final;
0031   void process(const Input&, const Output&) const final;
0032 
0033 private:
0034 };
0035 } // namespace eicrecon