37 for (
int i = 0;
i < n_seeds; ++
i)
41 printf(
"CandCloner::begin_eta_bin\n");
84 t_lay =
dtime() - t_lay;
85 printf(
"CandCloner::end_layer %d -- t_lay=%8.6f\n",
m_layer, t_lay);
86 printf(
" m_idx_max=%d, m_idx_max_prev=%d, issued work=%d\n",
95 t_eta =
dtime() - t_eta;
96 printf(
"CandCloner::end_eta_bin t_eta=%8.6f\n", t_eta);
107 dprintf(
"CandCloner::DoWork working on beg=%d to the_end=%d\n", beg, the_end);
109 while (beg != the_end) {
112 dprintf(
"CandCloner::DoWork processing %4d -> %4d\n", beg,
end);
129 dprintf(
"\nCandCloner::ProcessSeedRange is_beg=%d, is_end=%d\n", is_beg, is_end);
132 for (
int is = is_beg; is < is_end; ++is) {
136 std::vector<TrackCand> &extras = (*mp_extra_cands)[is];
137 auto extra_i = extras.begin();
138 auto extra_e = extras.end();
143 dprint(
" seed n " << is <<
" with input candidates=" << hitsForSeed.size());
144 for (
int ih = 0; ih < (
int)hitsForSeed.size(); ih++) {
145 dprint(
"trkIdx=" << hitsForSeed[ih].trkIdx <<
" hitIdx=" << hitsForSeed[ih].hitIdx
146 <<
" chi2=" << hitsForSeed[ih].
chi2 << std::endl
148 <<
"original pt=" << ccand[hitsForSeed[ih].trkIdx].
pT() <<
" " 149 <<
"nTotalHits=" << ccand[hitsForSeed[ih].trkIdx].nTotalHits() <<
" " 150 <<
"nFoundHits=" << ccand[hitsForSeed[ih].trkIdx].nFoundHits() <<
" " 151 <<
"chi2=" << ccand[hitsForSeed[ih].trkIdx].
chi2());
155 if (!hitsForSeed.empty()) {
157 std::sort(hitsForSeed.begin(), hitsForSeed.end(), sortCandListByScore);
166 for (
int ih = 0; ih < num_hits; ih++) {
184 n_pushed < mp_iteration_params->maxCandsPerSeed) {
185 cv.emplace_back(*extra_i);
210 while (extra_i != extra_e && n_pushed < mp_iteration_params->maxCandsPerSeed) {
211 cv.emplace_back(*extra_i);
219 for (
size_t ii = 0;
ii <
cv.size(); ++
ii) {
228 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 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
void begin_eta_bin(EventOfCombCandidates *e_o_ccs, std::vector< std::pair< int, int >> *update_list, std::vector< std::vector< TrackCand >> *extra_cands, int start_seed, int n_seeds)
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)
void setup(const IterationParams &ip)
std::vector< std::pair< int, int > > * mp_kalman_update_list
const TrackCand & refBestShortCand() const
SeedState_e state() const
void setBestShortCand(const TrackCand &tc)