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
24 {
25
27
28 public:
29
30 void Start(hipo::banklist& banks) override;
31 bool Run(hipo::banklist& banks) const override;
32 void Stop() override;
33
39 bool Run(
40 hipo::bank const& bank_a,
41 hipo::bank const& bank_b,
42 hipo::bank& result_bank) const;
43
44 private:
45
46 // config options
47 std::string o_bank_a;
48 std::string o_bank_b;
49
50 // banklist indices
51 hipo::banklist::size_type b_bank_a;
52 hipo::banklist::size_type b_bank_b;
53 hipo::banklist::size_type b_result;
54
55 // `b_result` bank item indices
56 int i_pindex_a;
57 int i_pindex_b;
58 int i_proximity;
59 };
60
61}
#define DEFINE_IGUANA_ALGORITHM(ALGO_NAME, ALGO_FULL_NAME)
Algorithm(std::string_view name)
Definition Algorithm.h:72
Algorithm: Simple particle matching by proximity, for example, MC truth-matching
Definition Algorithm.h:24
bool Run(hipo::banklist &banks) const override
Run Function: Process an event's hipo::banklist
void Stop() override
Finalize this algorithm after all events are processed.
bool Run(hipo::bank const &bank_a, hipo::bank const &bank_b, hipo::bank &result_bank) const
Run Function: Process an event's hipo::bank objects
void Start(hipo::banklist &banks) override
Initialize this algorithm before any events are processed, with the intent to process banks.
General CLAS12 algorithms.
Definition Algorithm.h:5