3#include "iguana/algorithms/Algorithm.h"
40 void Start(hipo::banklist& banks)
override;
41 void Run(hipo::banklist& banks)
const override;
87 std::vector<int>
const& sectors,
88 std::vector<int>
const& pindices,
89 int const& pindex_particle)
const;
111 std::vector<int>
const& sectors_track,
112 std::vector<int>
const& pindices_track,
113 std::vector<int>
const& sectors_cal,
114 std::vector<int>
const& pindices_cal,
115 std::vector<int>
const& sectors_scint,
116 std::vector<int>
const& pindices_scint,
117 int const& pindex_particle)
const;
134 std::vector<int>
const& sectors_track,
135 std::vector<int>
const& pindices_track,
136 std::vector<int>
const& sectors_cal,
137 std::vector<int>
const& pindices_cal,
138 std::vector<int>
const& sectors_scint,
139 std::vector<int>
const& pindices_scint,
140 std::vector<int>
const& pindices_particle)
const;
149 void GetListsSectorPindex(hipo::bank
const& bank, std::vector<int>& sectors, std::vector<int>& pindices)
const;
154 hipo::banklist::size_type b_particle;
155 hipo::banklist::size_type b_calorimeter;
156 hipo::banklist::size_type b_track;
157 hipo::banklist::size_type b_scint;
158 hipo::banklist::size_type b_user_charged;
159 hipo::banklist::size_type b_user_uncharged;
160 hipo::banklist::size_type b_result;
161 bool userSpecifiedBank_charged{
false};
162 bool userSpecifiedBank_uncharged{
true};
169 std::string o_bankname_charged;
170 std::string o_bankname_uncharged;
173 std::set<int>
const listFDDets{
#define DEFINE_IGUANA_ALGORITHM(ALGO_NAME, ALGO_FULL_NAME)
common objects used in algorithms
Algorithm(std::string_view name)
Algorithm: Find the sector for all rows in REC::Particle
int GetSector(std::vector< int > const §ors, std::vector< int > const &pindices, int const &pindex_particle) const
Action Function: for a given particle with index pindex_particle, get its sector from a detector bank...
void GetListsSectorPindex(hipo::bank const &bank, std::vector< int > §ors, std::vector< int > &pindices) const
void Start(hipo::banklist &banks) override
Initialize this algorithm before any events are processed, with the intent to process banks
std::vector< int > GetStandardSector(std::vector< int > const §ors_track, std::vector< int > const &pindices_track, std::vector< int > const §ors_cal, std::vector< int > const &pindices_cal, std::vector< int > const §ors_scint, std::vector< int > const &pindices_scint, std::vector< int > const &pindices_particle) const
Action Function: get sectors for all particles, using the standard method
int GetStandardSector(std::vector< int > const §ors_track, std::vector< int > const &pindices_track, std::vector< int > const §ors_cal, std::vector< int > const &pindices_cal, std::vector< int > const §ors_scint, std::vector< int > const &pindices_scint, int const &pindex_particle) const
Action Function: for a given particle with index pindex_particle, get its sector from using the stand...
void Stop() override
Finalize this algorithm after all events are processed.
void Run(hipo::banklist &banks) const override
Run this algorithm for an event.