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"
5
6namespace iguana::clas12::rga {
7
12 {
13
15
16 public:
17
18 void Start(hipo::banklist& banks) override;
19 bool Run(hipo::banklist& banks) const override;
20 void Stop() override;
21
27 bool Run(
28 hipo::bank& particleBank,
29 hipo::bank const& sectorBank,
30 hipo::bank const& configBank) const;
31
40 Momentum3 Transform(vector_element_t const px, vector_element_t const py, vector_element_t const pz, int const sec, int const pid, float const torus) const;
41
49 double CorrectionInbending(vector_element_t const px, vector_element_t const py, vector_element_t const pz, int const sec, int const pid) const;
50
58 double CorrectionOutbending(vector_element_t const px, vector_element_t const py, vector_element_t const pz, int const sec, int const pid) const;
59
66 double EnergyLossInbending(vector_element_t const px, vector_element_t const py, vector_element_t const pz, int const pid) const;
67
74 double EnergyLossOutbending(vector_element_t const px, vector_element_t const py, vector_element_t const pz, int const pid) const;
75
76 private:
77
79 hipo::banklist::size_type b_particle;
80 hipo::banklist::size_type b_sector;
81 hipo::banklist::size_type b_config;
82 };
83
84}
#define DEFINE_IGUANA_ALGORITHM(ALGO_NAME, ALGO_FULL_NAME)
common objects used in algorithms
double vector_element_t
Vector element type.
Definition TypeDefs.h:12
Algorithm(std::string_view name)
Definition Algorithm.h:46
Algorithm: Momentum Corrections
Definition Algorithm.h:12
bool Run(hipo::bank &particleBank, hipo::bank const &sectorBank, hipo::bank const &configBank) const
Run Function: Process an event's hipo::bank objects
void Start(hipo::banklist &banks) override
Initialize this algorithm before any events are processed, with the intent to process banks.
double CorrectionOutbending(vector_element_t const px, vector_element_t const py, vector_element_t const pz, int const sec, int const pid) const
Action Function: Calculate the correction factor for outbending data
Momentum3 Transform(vector_element_t const px, vector_element_t const py, vector_element_t const pz, int const sec, int const pid, float const torus) const
Action Function: Apply the momentum correction
double CorrectionInbending(vector_element_t const px, vector_element_t const py, vector_element_t const pz, int const sec, int const pid) const
Action Function: Calculate the correction factor for inbending data
double EnergyLossInbending(vector_element_t const px, vector_element_t const py, vector_element_t const pz, int const pid) const
Action Function: Energy loss correction for inbending data
double EnergyLossOutbending(vector_element_t const px, vector_element_t const py, vector_element_t const pz, int const pid) const
Action Function: Energy loss correction for outbending data
void Stop() override
Finalize this algorithm after all events are processed.
bool Run(hipo::banklist &banks) const override
Run Function: Process an event's hipo::banklist
CLAS12 Run Group A algorithms.
Definition Algorithm.h:5
3-momentum type
Definition TypeDefs.h:15