EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
UndoAfterBurnerMCParticles_factory.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) 2024 Alex Jentsch, Jihee Kim, Brian Page
3//
4
5#pragma once
6
9
10// Event Model related classes
11#include <edm4eic/MCRecoParticleAssociationCollection.h>
12#include <edm4eic/ReconstructedParticleCollection.h>
13#include <edm4hep/MCParticleCollection.h>
14
16
17namespace eicrecon {
18
20 : public JOmniFactory<UndoAfterBurnerMCParticles_factory, UndoAfterBurnerConfig> {
21
22public:
24
25private:
26 std::unique_ptr<AlgoT> m_algo;
27
28 PodioInput<edm4hep::MCParticle> m_mcparts_input{this};
29 PodioOutput<edm4hep::MCParticle> m_postburn_output{this};
30
31 ParameterRef<bool> m_pid_assume_pion_mass{this, "m_pid_assume_pion_mass",
32 config().m_pid_assume_pion_mass};
33 ParameterRef<double> m_crossing_angle{this, "m_crossing_angle", config().m_crossing_angle};
34 ParameterRef<double> m_pid_purity{this, "m_pid_purity", config().m_pid_purity};
35 ParameterRef<bool> m_correct_beam_FX{this, "m_correct_beam_FX", config().m_correct_beam_FX};
36 ParameterRef<bool> m_pid_use_MC_truth{this, "m_pid_use_MC_truth", config().m_pid_use_MC_truth};
37 ParameterRef<int> m_max_gen_status{this, "m_max_gen_status", config().m_max_gen_status,
38 "Upper limit on generator status to process (-1 = no limit). "
39 "Use to filter out background particles and conserve memory."};
40
41public:
42 void Configure() {
43 m_algo = std::make_unique<AlgoT>(GetPrefix());
44 m_algo->level(static_cast<algorithms::LogLevel>(logger()->level()));
45 m_algo->applyConfig(config());
46 m_algo->init();
47 }
48
49 void Process(int32_t /* run_number */, uint64_t /* event_number */) {
50 m_algo->process({m_mcparts_input()}, {m_postburn_output().get()});
51 }
52};
53
54} // namespace eicrecon
Definition JOmniFactory.h:30
UndoAfterBurnerConfig & config()
Retrieve reference to embedded config object.
Definition JOmniFactory.h:576
std::shared_ptr< spdlog::logger > & logger()
Retrieve reference to already-configured logger.
Definition JOmniFactory.h:573
Definition UndoAfterBurnerMCParticles_factory.h:20
void Configure()
Definition UndoAfterBurnerMCParticles_factory.h:42
void Process(int32_t, uint64_t)
Definition UndoAfterBurnerMCParticles_factory.h:49
Definition UndoAfterBurner.h:22
-client
Definition CalorimeterClusterRecoCoG.cc:37