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"
5
6namespace iguana::clas12 {
7
17 {
18
20
21 public:
22
23 void Start(hipo::banklist& banks) override;
24 void Run(hipo::banklist& banks) const override;
25 void Stop() override;
26
35 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;
36
44 double CorrectionInbending(vector_element_t const px, vector_element_t const py, vector_element_t const pz, int const sec, int const pid) const;
45
53 double CorrectionOutbending(vector_element_t const px, vector_element_t const py, vector_element_t const pz, int const sec, int const pid) const;
54
61 double EnergyLossInbending(vector_element_t const px, vector_element_t const py, vector_element_t const pz, int const pid) const;
62
69 double EnergyLossOutbending(vector_element_t const px, vector_element_t const py, vector_element_t const pz, int const pid) const;
70
71 private:
72
74 hipo::banklist::size_type b_particle;
75 hipo::banklist::size_type b_sector;
76 hipo::banklist::size_type b_config;
77 };
78
79}
#define DEFINE_IGUANA_ALGORITHM(ALGO_NAME, ALGO_FULL_NAME)
Type definitions for common objects used in algorithms.
Base class for all algorithms to inherit from.
Definition Algorithm.h:40
Algorithm: Momentum Corrections
Definition Algorithm.h:17
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 Start(hipo::banklist &banks) override
Initialize this algorithm before any events are processed, with the intent to process banks
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
void Stop() override
Finalize this algorithm after all events are processed.
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
void Run(hipo::banklist &banks) const override
Run this algorithm for an event.
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 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
CLAS12 algorithms.
Definition Algorithm.h:5
double vector_element_t
Vector element type.
Definition TypeDefs.h:11
3-momentum type
Definition TypeDefs.h:14