Iguana 0.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
18 {
19
21
22 public:
23
24 void Start(hipo::banklist& banks) override;
25 void Run(hipo::banklist& banks) const override;
26 void Stop() override;
27
31 bool Filter(int const pid) const;
32
36 std::deque<bool> Filter(std::vector<int> const pids) const;
37
38 private:
39
41 hipo::banklist::size_type b_particle;
42
44 std::set<int> o_pids;
45 };
46
47}
#define DEFINE_IGUANA_ALGORITHM(ALGO_NAME, ALGO_FULL_NAME)
Base class for all algorithms to inherit from.
Definition Algorithm.h:40
Algorithm: Filter the REC::Particle (or similar) bank by PID from the Event Builder
Definition Algorithm.h:18
void Stop() override
Finalize this algorithm after all events are processed.
void Run(hipo::banklist &banks) const override
Run this algorithm for an event.
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 Filter(int const pid) const
Action Function: checks if the PDG pid is a part of the list of user-specified PDGs
CLAS12 algorithms.
Definition Algorithm.h:5