3#include "iguana/algorithms/Algorithm.h"
42 void Start(hipo::banklist& banks)
override;
43 void Run(hipo::banklist& banks)
const override;
68 int const pcal_sector,
71 bool const pcal_found,
76 bool const dc_r1_found,
80 bool const dc_r2_found,
84 bool const dc_r3_found,
95 int const pcal_sector,
127 int const pid)
const;
155 int const pid)
const;
161 CutLevel ParseCutLevel(std::string
const& level)
const;
166 hipo::banklist::size_type b_particle;
167 hipo::banklist::size_type b_traj;
168 hipo::banklist::size_type b_cal;
169 hipo::banklist::size_type b_config;
175 bool o_enable_pcal_cuts;
176 bool o_enable_dc_cuts;
#define DEFINE_IGUANA_ALGORITHM(ALGO_NAME, ALGO_FULL_NAME)
Algorithm(std::string_view name)
Algorithm: Filter the REC::Particle bank by applying DC (drift chamber) and ECAL (electromagnetic cal...
bool FilterDcXY(int const dc_sector, float const r1_x, float const r1_y, float const r1_z, float const r2_x, float const r2_y, float const r2_z, float const r3_x, float const r3_y, float const r3_z, float const torus, int const pid) const
Action Function: filter using DC XY fiducial cut
CutLevel
cut levels, currently only used for PCAL cuts
void Stop() override
Finalize this algorithm after all events are processed.
bool FilterPcalHomogeneous(int const pcal_sector, float const lv, float const lw, float const torus, int const pid) const
Action Function: EC hit position homogeneous cut on lv and lw
void Run(hipo::banklist &banks) const override
Run this algorithm for an event.
bool FilterRgaPass1(int const pcal_sector, float const pcal_lv, float const pcal_lw, bool const pcal_found, int const dc_sector, float const dc_r1_x, float const dc_r1_y, float const dc_r1_z, bool const dc_r1_found, float const dc_r2_x, float const dc_r2_y, float const dc_r2_z, bool const dc_r2_found, float const dc_r3_x, float const dc_r3_y, float const dc_r3_z, bool const dc_r3_found, float const torus, int const pid) const
Action Function: top-level fiducial cut for RG-A Pass 1
bool FilterDcThetaPhi(int const dc_sector, float const r1_x, float const r1_y, float const r1_z, float const r2_x, float const r2_y, float const r2_z, float const r3_x, float const r3_y, float const r3_z, float const torus, int const pid) const
Action Function: filter using DC theta-phi fiducial cut
void Start(hipo::banklist &banks) override
Initialize this algorithm before any events are processed, with the intent to process banks