20 :
public JOmniFactory<UndoAfterBurnerMCParticles_factory, UndoAfterBurnerConfig> {
26 std::unique_ptr<AlgoT> m_algo;
28 PodioInput<edm4hep::MCParticle> m_mcparts_input{
this};
29 PodioOutput<edm4hep::MCParticle> m_postburn_output{
this};
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."};
43 m_algo = std::make_unique<AlgoT>(
GetPrefix());
44 m_algo->level(
static_cast<algorithms::LogLevel
>(
logger()->level()));
45 m_algo->applyConfig(
config());
50 m_algo->process({m_mcparts_input()}, {m_postburn_output().get()});
Definition UndoAfterBurnerMCParticles_factory.h:20
void Configure()
Definition UndoAfterBurnerMCParticles_factory.h:42
void Process(int32_t, uint64_t)
Definition UndoAfterBurnerMCParticles_factory.h:49