Iguana
1.2.1
Implementation Guardian of Analysis Algorithms
Toggle main menu visibility
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
7
namespace
iguana::physics
{
8
29
class
DihadronKinematics
:
public
Algorithm
30
{
31
32
DEFINE_IGUANA_ALGORITHM
(
DihadronKinematics
,
physics::DihadronKinematics
)
33
34
private
:
// hooks
35
void
ConfigHook()
override
;
36
void
StartHook(hipo::banklist& banks)
override
;
37
bool
RunHook(hipo::banklist& banks)
const override
;
38
39
public
:
40
47
bool
Run
(
48
hipo::bank
const
& particle_bank,
49
hipo::bank
const
& inc_kin_bank,
50
hipo::bank& result_bank)
const
;
51
55
std::vector<std::pair<int, int>>
PairHadrons
(hipo::bank
const
& particle_bank)
const
;
56
57
private
:
58
59
// banklist indices
60
hipo::banklist::size_type b_particle;
61
hipo::banklist::size_type b_inc_kin;
62
hipo::banklist::size_type b_result;
63
64
// `b_result` bank item indices
65
int
i_pindex_a;
66
int
i_pindex_b;
67
int
i_pdg_a;
68
int
i_pdg_b;
69
int
i_Mh;
70
int
i_z;
71
int
i_PhPerp;
72
int
i_PhT;
73
int
i_MX2;
74
int
i_xF;
75
int
i_yB;
76
int
i_phiH;
77
int
i_phiR;
78
int
i_theta;
79
int
i_t;
80
81
// config options
82
std::string o_particle_bank;
83
std::set<int> o_hadron_a_pdgs;
84
std::set<int> o_hadron_b_pdgs;
85
std::string o_phi_r_method;
86
std::string o_theta_method;
87
enum
{ e_RT_via_covariant_kT } m_phi_r_method;
88
enum
{ e_hadron_a } m_theta_method;
89
90
// storage for a single hadron
91
struct
Hadron {
92
int
row;
93
int
pdg;
94
ROOT::Math::PxPyPzMVector p;
95
double
z;
96
std::optional<ROOT::Math::XYZVector> p_perp;
97
};
98
};
99
100
}
DEFINE_IGUANA_ALGORITHM
#define DEFINE_IGUANA_ALGORITHM(ALGO_NAME, ALGO_FULL_NAME)
Definition
AlgorithmBoilerplate.h:55
iguana::Algorithm::Algorithm
Algorithm(std::string_view name)
Definition
Algorithm.h:74
iguana::physics::DihadronKinematics
Algorithm: Calculate semi-inclusive dihadron kinematic quantities defined in iguana::physics::Dihadro...
Definition
Algorithm.h:30
iguana::physics::DihadronKinematics::PairHadrons
std::vector< std::pair< int, int > > PairHadrons(hipo::bank const &particle_bank) const
form dihadrons by pairing hadrons
iguana::physics::DihadronKinematics::Run
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
iguana::physics
Physics algorithms.
Definition
Algorithm.h:5
iguana_v1.2.1
src
iguana
algorithms
physics
DihadronKinematics
Algorithm.h
Generated by
1.18.0