44 std::list<KLMHit2d*>& hits,
45 std::list<KLMHit2d*>& track,
49 std::list<KLMHit2d*>::iterator i;
54 B2ERROR(
"KLMTrackFinder: Fitter not registered");
62 for (i = hits.begin(); i != hits.end(); ++i) {
63 if ((*i)->getSubdetector() != iSubdetector)
76 if ((*i)->isOnStaTrack() ==
false) {
77 double distance, error, sigma;
78 distance =
m_Fitter->globalDistanceToHit(*i, error, sigma);
79 if (sigma < 5.0 && distance < 60) {
80 B2DEBUG(20,
"KLMTrackFinder" <<
" Error: " << error <<
" Sigma: " << sigma <<
" Distance: " << distance);
90 double chisqr =
m_Fitter->fit(track);
91 B2DEBUG(20,
"KLMTrackFinder:" <<
"ChiSqr: " << chisqr);
94 std::list<int> hitLayers;
95 for (i = track.begin(); i != track.end(); ++i) {
96 hitLayers.push_back((*i)->getLayer());
101 int layers = (*(--hitLayers.end()) - * (hitLayers.begin()));
102 int noHits = hitLayers.size();
104 if (noHits >= 4 &&
double(noHits) /
double(layers) >= 0.75) {
bool filter(const std::list< KLMHit2d * > &seed, std::list< KLMHit2d * > &hits, std::list< KLMHit2d * > &track, int iSubdetector)
find associated hits and do fit.