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#include <Math/Vector3D.h>
5#include <Math/Vector4D.h>
6
7namespace iguana::physics {
8
25 {
26
28
29 public:
30
31 void Start(hipo::banklist& banks) override;
32 bool Run(hipo::banklist& banks) const override;
33 void Stop() override;
34
41 bool Run(
42 hipo::bank const& particle_bank,
43 hipo::bank const& inc_kin_bank,
44 hipo::bank& result_bank) const;
45
46 private:
47
48 // banklist indices
49 hipo::banklist::size_type b_particle;
50 hipo::banklist::size_type b_inc_kin;
51 hipo::banklist::size_type b_result;
52
53 // `b_result` bank item indices
54 int i_pindex;
55 int i_pdg;
56 int i_z;
57 int i_PhPerp;
58 int i_MX2;
59 int i_xF;
60 int i_yB;
61 int i_phiH;
62 int i_xi;
63
64 // config options
65 std::set<int> o_hadron_pdgs;
66 };
67
68}
#define DEFINE_IGUANA_ALGORITHM(ALGO_NAME, ALGO_FULL_NAME)
Algorithm(std::string_view name)
Definition Algorithm.h:46
Algorithm: Calculate semi-inclusive hadron kinematic quantities
Definition Algorithm.h:25
bool Run(hipo::banklist &banks) const override
Run Function: Process an event's hipo::banklist
void Start(hipo::banklist &banks) override
Initialize this algorithm before any events are processed, with the intent to process banks.
bool Run(hipo::bank const &particle_bank, hipo::bank const &inc_kin_bank, hipo::bank &result_bank) const
Run Function: Process an event's hipo::bank objects
void Stop() override
Finalize this algorithm after all events are processed.
Physics algorithms.
Definition Algorithm.h:5