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
12 {
13
15
16 private: // hooks
17 void ConfigHook() override;
18 void StartHook(hipo::banklist& banks) override;
19 bool RunHook(hipo::banklist& banks) const override;
20
21 public:
22
26 bool Run(hipo::bank& particleBank) const;
27
31 bool Filter(int const pid) const;
32
37 std::deque<bool> Filter(std::vector<int> const pids) const;
38
39 private:
40
42 hipo::banklist::size_type b_particle;
43
44 // Configuration options
45 std::string o_particle_bank;
46 std::set<int> o_pids;
47 };
48
49}
#define DEFINE_IGUANA_ALGORITHM(ALGO_NAME, ALGO_FULL_NAME)
Algorithm(std::string_view name)
Definition Algorithm.h:73
Algorithm: Filter the particle bank (REC::Particle, or similar) bank by PID from the Event Builder
Definition Algorithm.h:12
bool Run(hipo::bank &particleBank) const
Run Function: Process an event's hipo::bank objects
std::deque< bool > Filter(std::vector< int > const pids) const
Action Function: checks if the PDG pid is a part of the list of user-specified PDGs
bool Filter(int const pid) const
Action Function: checks if the PDG pid is a part of the list of user-specified PDGs
General CLAS12 algorithms.
Definition Algorithm.h:5