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
40 bool Run(
41 hipo::bank const& particle_bank,
42 hipo::bank const& inc_kin_bank,
43 hipo::bank& result_bank) const;
44
45 private:
46
47 // banklist indices
48 hipo::banklist::size_type b_particle;
49 hipo::banklist::size_type b_inc_kin;
50 hipo::banklist::size_type b_result;
51
52 // `b_result` bank item indices
53 int i_pindex;
54 int i_pdg;
55 int i_z;
56 int i_PhPerp;
57 int i_MX2;
58 int i_xF;
59 int i_yB;
60 int i_phiH;
61 int i_xi;
62
63 // config options
64 std::set<int> o_hadron_pdgs;
65 };
66
67}
#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