38 for (
int i = 0;
i < n_seeds; ++
i)
42 printf(
"CandCloner::begin_eta_bin\n");
67 dprintf(
"CandCloner::end_iteration process %d, max_prev=%d, max=%d\n", proc_n, m_idx_max_prev,
m_idx_max);
85 t_lay =
dtime() - t_lay;
86 printf(
"CandCloner::end_layer %d -- t_lay=%8.6f\n",
m_layer, t_lay);
87 printf(
" m_idx_max=%d, m_idx_max_prev=%d, issued work=%d\n",
96 t_eta =
dtime() - t_eta;
97 printf(
"CandCloner::end_eta_bin t_eta=%8.6f\n", t_eta);
108 dprintf(
"CandCloner::DoWork working on beg=%d to the_end=%d\n", beg, the_end);
110 while (beg != the_end) {
113 dprintf(
"CandCloner::DoWork processing %4d -> %4d\n", beg, end);
130 dprintf(
"\nCandCloner::ProcessSeedRange is_beg=%d, is_end=%d\n", is_beg, is_end);
133 for (
int is = is_beg; is < is_end; ++is) {
137 std::vector<TrackCand> &extras = (*mp_extra_cands)[is];
138 auto extra_i = extras.begin();
139 auto extra_e = extras.end();
144 dprint(
" seed n " << is <<
" with input candidates=" << hitsForSeed.size());
145 for (
int ih = 0; ih < (int)hitsForSeed.size(); ih++) {
146 dprint(
"trkIdx=" << hitsForSeed[ih].trkIdx <<
" hitIdx=" << hitsForSeed[ih].hitIdx
147 <<
" chi2=" << hitsForSeed[ih].
chi2 << std::endl
149 <<
"original pt=" << ccand[hitsForSeed[ih].trkIdx].
pT() <<
" "
150 <<
"nTotalHits=" << ccand[hitsForSeed[ih].trkIdx].nTotalHits() <<
" "
151 <<
"nFoundHits=" << ccand[hitsForSeed[ih].trkIdx].nFoundHits() <<
" "
152 <<
"chi2=" << ccand[hitsForSeed[ih].trkIdx].
chi2());
156 if (!hitsForSeed.empty()) {
158 std::sort(hitsForSeed.begin(), hitsForSeed.end(), sortCandListByScore);
167 for (
int ih = 0; ih < num_hits; ih++) {
185 n_pushed < mp_iteration_params->maxCandsPerSeed) {
186 cv.emplace_back(*extra_i);
211 while (extra_i != extra_e && n_pushed < mp_iteration_params->maxCandsPerSeed) {
212 cv.emplace_back(*extra_i);
220 for (
size_t ii = 0;
ii < cv.size(); ++
ii) {
229 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)
SeedState_e state() const
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
const TrackCand & refBestShortCand() const
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
printf("params %d %f %f %f\n", minT, eps, errmax, chi2max)
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
void setBestShortCand(const TrackCand &tc)