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
21 {
22
24
25 private: // hooks
26 void ConfigHook() override;
27 void StartHook(hipo::banklist& banks) override;
28 bool RunHook(hipo::banklist& banks) const override;
29
30 public:
31
37 bool Run(
38 hipo::bank const& bank_a,
39 hipo::bank const& bank_b,
40 hipo::bank& result_bank) const;
41
42 private:
43
44 // config options
45 std::string o_bank_a;
46 std::string o_bank_b;
47
48 // banklist indices
49 hipo::banklist::size_type b_bank_a;
50 hipo::banklist::size_type b_bank_b;
51 hipo::banklist::size_type b_result;
52
53 // `b_result` bank item indices
54 int i_pindex_a;
55 int i_pindex_b;
56 int i_proximity;
57 };
58
59}
#define DEFINE_IGUANA_ALGORITHM(ALGO_NAME, ALGO_FULL_NAME)
Algorithm(std::string_view name)
Definition Algorithm.h:73
Algorithm: Simple particle matching by proximity, for example, MC truth-matching
Definition Algorithm.h:21
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
General CLAS12 algorithms.
Definition Algorithm.h:5