Iguana LATEST
Implementation Guardian of Analysis Algorithms
Loading...
Searching...
No Matches
Algorithm.h
1#pragma once
2
3#include "iguana/algorithms/Algorithm.h"
4
5namespace iguana::clas12 {
6
14 {
15
17
18 public:
19
20 void Start(hipo::banklist& banks) override;
21 bool Run(hipo::banklist& banks) const override;
22 void Stop() override;
23
29 bool Run(
30 hipo::bank const& rec_particle_bank,
31 hipo::bank const& mc_particle_bank,
32 hipo::bank& result_bank) const;
33
34 private:
35
36 // banklist indices
37 hipo::banklist::size_type b_rec_particle_bank;
38 hipo::banklist::size_type b_mc_particle_bank;
39 hipo::banklist::size_type b_result;
40
41 // `b_result` bank item indices
42 int i_pindex;
43 int i_mcindex;
44 int i_proximity;
45 };
46
47}
#define DEFINE_IGUANA_ALGORITHM(ALGO_NAME, ALGO_FULL_NAME)
Algorithm(std::string_view name)
Definition Algorithm.h:72
Algorithm: Simple MC truth matching by proximity
Definition Algorithm.h:14
bool Run(hipo::bank const &rec_particle_bank, hipo::bank const &mc_particle_bank, hipo::bank &result_bank) const
Run Function: Process an event's hipo::bank objects
void Stop() override
Finalize this algorithm after all events are processed.
void Start(hipo::banklist &banks) override
Initialize this algorithm before any events are processed, with the intent to process banks.
bool Run(hipo::banklist &banks) const override
Run Function: Process an event's hipo::banklist
General CLAS12 algorithms.
Definition Algorithm.h:5