MarlinTPC  1.2.0
TrackFitterLinearRegression.h
1 #ifndef TRACKFITTERLINEARREGRESSION_H
2 #define TRACKFITTERLINEARREGRESSION_H
3 
4 #include <marlin/Processor.h>
5 #include <lcio.h>
6 #include <string>
7 #include "TrackFitterBase.h"
8 #include <EVENT/Track.h>
9 #include <IMPL/TrackImpl.h>
10 #include <EVENT/TrackerHit.h>
11 
12 
13 namespace marlintpc
14 {
23 {
24 public:
25 
28 
29  virtual ~TrackFitterLinearRegression() {}
30 
32  static TrackFitterBase * getInstance(LCParameters const * parameters);
33 
34  virtual std::string getRevision() const;
35 
37  virtual unsigned char getFitterType() const;
38 
40  virtual IMPL::TrackImpl *fitTrack(EVENT::Track const * seedTrack) const;
41 
42 protected:
43  //helper function to perform the linear regression in the xy-plane
44  EVENT::DoubleVec doRegressionXY(EVENT::Track const * seedTrack) const;
45 
46  //helper function to perform the linear regression in the sz-plane
47  EVENT::DoubleVec doRegressionSZ(EVENT::Track const * seedTrack) const;
48 
49  //helper function to calculate the point of closest approach of the track
50  EVENT::DoubleVec calculatePCA(EVENT::Track const * seedTrack) const;
51 
52  //helper function to calculate the arc length
53  double calculateS(EVENT::TrackerHit * aHit, EVENT::DoubleVec pca, EVENT::Track const * seedTrack ) const;
54 
55 };
56 } // namespace marlintpc
57 #endif // TRACKFITTERLINEARREGRESSION_H
virtual IMPL::TrackImpl * fitTrack(EVENT::Track const *seedTrack) const
The implementation using the fitter function with all errors set to 1.
Definition: TrackFitterLinearRegression.cc:41
The TrackFitterBase is a virtual class from which the actual track fitters are derived.
Definition: TrackFitterBase.h:44
virtual std::string getRevision() const
Get the revision of the actual fitter implementation.
Definition: TrackFitterLinearRegression.cc:30
Definition: TrackFitterLinearRegression.h:22
virtual unsigned char getFitterType() const
Information what fitter implementation this is.
Definition: TrackFitterLinearRegression.cc:36
TrackFitterLinearRegression()
Constructor for the linear regression fitter, initializes the track fitter with the initial values...
Definition: TrackFitterLinearRegression.cc:25
static TrackFitterBase * getInstance(LCParameters const *parameters)
Well defined interface to create a new instance of the track fitter.
Definition: TrackFitterLinearRegression.cc:20