15 dprintf(
"TrackCand::exportTrack label=%5d, total_hits=%2d, overlaps=%2d -- n_seed_hits=%d,prod_type=%d\n",
31 if (remove_missing_hits) {
33 res.setHitIdxAtPos(--good_hits_pos, hot_node.
m_hot);
37 dprintf(
" nh=%2d, ch=%d, idx=%d lyr=%d prev_idx=%d\n",
61 cand.setNSeedHits(
seed.nTotalHits());
64 dprintf(
"Importing pt=%f eta=%f, lastCcIndex=%d\n",
cand.pT(),
cand.momEta(),
cand.lastCcIndex());
67 dprintf(
" hit idx=%d lyr=%d\n",
hp->index,
hp->layer);
68 cand.addHitIdx(
hp->index,
hp->layer, 0.0f);
93 while (ci->score() > best_short->
score())
102 printf(
"FindTracksStd -- Replacing best cand (%f) with short one (%f) in final sorting\n",
104 best_short->
score());
111 }
else if (best_short) {
144 if (remove_seed_hits && tc.
nFoundHits() <= backward_fit_min_hits) {
145 remove_seed_hits =
false;
149 int stash_end =
m_hots.size();
150 int stash_pos = stash_end;
154 if (remove_seed_hits) {
163 while (n_hits_to_pick > 0) {
177 while (stash_pos != stash_end &&
m_hots[stash_pos].m_hot.index < 0)
179 while (stash_pos != stash_end) {
193 while (stash_pos != stash_end) {
238 int last_idx = -1, prev_idx;
240 prev_idx =
m_hots[curr_idx].m_prev_idx;
242 m_hots[curr_idx].m_prev_idx = last_idx;
246 }
while (prev_idx != -1);
int nInsideMinusOneHits() const
float getScoreCand(const track_score_func &score_func, const Track &cand1, bool penalizeTailMissHits=false, bool inFindCandidates=false)
void addHitIdx(int hitIdx, int hitLyr, float chi2)
void mergeCandsAndBestShortOne(const IterationParams ¶ms, const track_score_func &score_func, bool update_score, bool sort_cands)
Track exportTrack(bool remove_missing_hits=false) const
CombCandidate * m_comb_candidate
const HoTNode & hot_node(int i) const
TrackCand m_best_short_cand
short int m_nInsideMinusOneHits_before_bkwsearch
int nTailMinusOneHits() const
void setLastCcIndex(int i)
void setNInsideMinusOneHits(int n)
ProdType prodType() const
void setNFoundHits(int n)
short int m_nTailMinusOneHits_before_bkwsearch
void setNTailMinusOneHits(int n)
std::function< track_score_cf > track_score_func
void setNMissingHits(int n)
CombCandidate * combCandidate() const
void compactifyHitStorageForBestCand(bool remove_seed_hits, int backward_fit_min_hits)
void repackCandPostBkwSearch(int i)
bool sortByScoreTrackCand(const TrackCand &cand1, const TrackCand &cand2)
short int m_lastHitIdx_before_bkwsearch
trk_cand_vec_type m_trk_cands
void importSeed(const Track &seed, int seed_idx, const track_score_func &score_func, int region)
std::vector< HoTNode > m_hots