forked from sPHENIX-Collaboration/acts
/
TruthVertexFinder.hpp
39 lines (30 loc) · 1.16 KB
/
TruthVertexFinder.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// This file is part of the Acts project.
//
// Copyright (C) 2020 CERN for the benefit of the Acts project
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
#pragma once
#include "ActsExamples/Framework/BareAlgorithm.hpp"
#include <string>
namespace ActsExamples {
/// Group particles into proto vertices using truth information.
class TruthVertexFinder final : public BareAlgorithm {
public:
struct Config {
/// The input truth particles that should be used to create proto vertices.
std::string inputParticles;
/// The output proto vertices collection.
std::string outputProtoVertices;
/// Exclude secondary particles not originating from the primary vertex.
bool excludeSecondaries = false;
/// Build separate proto vertices for the secondary particles.
bool separateSecondaries = false;
};
TruthVertexFinder(const Config& cfg, Acts::Logging::Level lvl);
ProcessCode execute(const AlgorithmContext& ctx) const final;
private:
Config m_cfg;
};
} // namespace ActsExamples