 |
Belle II Software
release-05-01-25
|
12 #include <klm/bklm/modules/bklmTracking/BKLMTrackFinder.h>
15 #include <klm/dataobjects/bklm/BKLMHit2d.h>
18 #include <framework/logging/Logger.h>
22 using namespace CLHEP;
49 std::list<BKLMHit2d*>& hits,
50 std::list<BKLMHit2d*>& track)
53 std::list<BKLMHit2d*>::iterator i;
58 B2ERROR(
"BKLMTrackFinder: Fitter not registered");
64 for (i = hits.begin(); i != hits.end(); ++i) {
74 if ((*i)->isOnStaTrack() ==
false) {
85 if (track.size() < 3)
return false;
89 B2DEBUG(20,
"BKLMTrackFinder:" <<
"ChiSqr: " << chisqr);
92 std::list<int> hitLayers;
93 for (i = track.begin(); i != track.end(); ++i) {
94 hitLayers.push_back((*i)->getLayer());
99 int layers = (*(--hitLayers.end()) - * (hitLayers.begin()));
100 int noHits = hitLayers.size();
102 if (noHits >= 4 &&
double(noHits) / double(layers) >= 0.75) {
double distanceToHit(BKLMHit2d *hit, double &error, double &sigma)
Distance from track to a hit in the plane of the module.
bool filter(const std::list< BKLMHit2d * > &seed, std::list< BKLMHit2d * > &hits, std::list< BKLMHit2d * > &track)
find associated hits and do fit.
void setGlobalFit(bool localOrGlobal)
set the fitting mode, local system or global system
BKLMTrackFinder()
Default constructor.
void registerFitter(BKLMTrackFitter *fitter)
Register a fitter if not constructed with one.
BKLMTrackFitter * m_Fitter
pointer to the fitter
Abstract base class for different kinds of events.
bool m_globalFit
do fit in the local system or global system false: local sys; true: global sys.
~BKLMTrackFinder()
Destructor.
double globalDistanceToHit(BKLMHit2d *hit, double &error, double &sigma)
Distance from track to a hit in the global system.
double fit(std::list< BKLMHit2d * > &listTrackPoint)
do fit and returns chi square of the fit.