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"
4
5namespace iguana::clas12 {
6
18 {
19
21
22 public:
23
24 void Start(hipo::banklist& banks) override;
25 void Run(hipo::banklist& banks) const override;
26 void Stop() override;
27
31 double x1 = -999;
32 double x2 = -999;
33 double x3 = -999;
34 double y1 = -999;
35 double y2 = -999;
36 double y3 = -999;
37 double z1 = -999;
38 double z2 = -999;
39 double z3 = -999;
40 int sector= -1;
42 };
43
47 static std::map<int, FiducialFilter::traj_row_data> GetTrajMap(hipo::bank const &bank);
48
54 static int determineSectorDC(float x, float y, float z);
55
56 private:
57
63 bool Filter(FiducialFilter::traj_row_data const traj_row, float const torus, int const pid) const;
64
65
71 bool DC_fiducial_cut_XY_pass1(FiducialFilter::traj_row_data const traj_row, float const torus, int const pid) const;
72
73
79 bool DC_fiducial_cut_theta_phi_pass1(FiducialFilter::traj_row_data const traj_row, float const torus, int const pid) const;
80
82 hipo::banklist::size_type b_particle;
83 hipo::banklist::size_type b_traj;
84 hipo::banklist::size_type b_config;
85
87 int o_pass = 1;
88
89 };
90
91}
#define DEFINE_IGUANA_ALGORITHM(ALGO_NAME, ALGO_FULL_NAME)
Base class for all algorithms to inherit from.
Definition Algorithm.h:40
Algorithm: Filter the REC::Particle bank by applying DC (drift chamber) fiducial cuts
Definition Algorithm.h:18
static std::map< int, FiducialFilter::traj_row_data > GetTrajMap(hipo::bank const &bank)
void Stop() override
Finalize this algorithm after all events are processed.
static int determineSectorDC(float x, float y, float z)
void Run(hipo::banklist &banks) const override
Run this algorithm for an event.
void Start(hipo::banklist &banks) override
Initialize this algorithm before any events are processed, with the intent to process banks
CLAS12 algorithms.
Definition Algorithm.h:5
structure to hold REC::Traj data
Definition Algorithm.h:29