26 std::vector<UpdateIndices> *update_list,
27 std::vector<UpdateIndices> *overlap_list,
39 for (
int i = 0;
i < n_seeds; ++
i)
43 printf(
"CandCloner::begin_eta_bin\n");
87 t_lay =
dtime() - t_lay;
88 printf(
"CandCloner::end_layer %d -- t_lay=%8.6f\n",
m_layer, t_lay);
89 printf(
" m_idx_max=%d, m_idx_max_prev=%d, issued work=%d\n",
98 t_eta =
dtime() - t_eta;
99 printf(
"CandCloner::end_eta_bin t_eta=%8.6f\n", t_eta);
110 dprintf(
"CandCloner::DoWork working on beg=%d to the_end=%d\n", beg, the_end);
112 while (beg != the_end) {
115 dprintf(
"CandCloner::DoWork processing %4d -> %4d\n", beg, end);
132 dprintf(
"\nCandCloner::ProcessSeedRange is_beg=%d, is_end=%d\n", is_beg, is_end);
135 for (
int is = is_beg; is < is_end; ++is) {
139 std::vector<TrackCand> &extras = (*mp_extra_cands)[is];
140 auto extra_i = extras.begin();
141 auto extra_e = extras.end();
146 dprint(
" seed n " << is <<
" with input candidates=" << hitsForSeed.size());
147 for (
int ih = 0; ih < (
int)hitsForSeed.size(); ih++) {
148 dprint(
"trkIdx=" << hitsForSeed[ih].trkIdx <<
" hitIdx=" << hitsForSeed[ih].hitIdx
149 <<
" chi2=" << hitsForSeed[ih].
chi2 << std::endl
151 <<
"original pt=" << ccand[hitsForSeed[ih].trkIdx].
pT() <<
" " 152 <<
"nTotalHits=" << ccand[hitsForSeed[ih].trkIdx].nTotalHits() <<
" " 153 <<
"nFoundHits=" << ccand[hitsForSeed[ih].trkIdx].nFoundHits() <<
" " 154 <<
"chi2=" << ccand[hitsForSeed[ih].trkIdx].
chi2());
158 if (!hitsForSeed.empty()) {
160 std::sort(hitsForSeed.begin(), hitsForSeed.end(), sortCandListByScore);
162 int num_hits = (
int)hitsForSeed.size();
171 for (
int ih = 0; ih < num_hits; ih++) {
189 n_pushed < mp_iteration_params->maxCandsPerSeed) {
190 cv.emplace_back(*extra_i);
225 while (extra_i != extra_e && n_pushed < mp_iteration_params->maxCandsPerSeed) {
226 cv.emplace_back(*extra_i);
234 for (
size_t ii = 0;
ii <
cv.size(); ++
ii) {
243 while (extra_i != extra_e) {
EventOfCombCandidates * mp_event_of_comb_candidates
std::vector< std::vector< IdxChi2List > > m_hits_to_add
void addHitIdx(int hitIdx, int hitLyr, float chi2)
static const int s_max_seed_range
void begin_eta_bin(EventOfCombCandidates *e_o_ccs, std::vector< UpdateIndices > *update_list, std::vector< UpdateIndices > *overlap_list, std::vector< std::vector< TrackCand >> *extra_cands, int start_seed, int n_seeds)
void resize(trk_cand_vec_type::size_type count)
trk_cand_vec_type::reference emplace_back(TrackCand &tc)
std::vector< std::vector< TrackCand > > t_cands_for_next_lay
const IterationParams * mp_iteration_params
CombCandidate & cand(int i)
std::vector< std::vector< TrackCand > > * mp_extra_cands
void processSeedRange(int is_beg, int is_end)
bool sortByScoreStruct(const IdxChi2List &cand1, const IdxChi2List &cand2)
void begin_layer(int lay)
bool sortByScoreTrackCand(const TrackCand &cand1, const TrackCand &cand2)
std::vector< UpdateIndices > * mp_kalman_overlap_list
void setup(const IterationParams &ip)
const TrackCand & refBestShortCand() const
std::vector< UpdateIndices > * mp_kalman_update_list
SeedState_e state() const
void setBestShortCand(const TrackCand &tc)