Iguana 1.0.0
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
27 bool Run(hipo::bank& particleBank) const;
28
32 bool Filter(int const pid) const;
33
38 std::deque<bool> Filter(std::vector<int> const pids) const;
39
40 private:
41
43 hipo::banklist::size_type b_particle;
44
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:46
Algorithm: Filter the REC::Particle (or similar) bank by PID from the Event Builder
Definition Algorithm.h:14
void Stop() override
Finalize this algorithm after all events are processed.
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
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
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