CMS 3D CMS Logo

TrackFitFactory.cc
Go to the documentation of this file.
1 
8 #ifdef USE_HLS
9 #include "L1Trigger/TrackFindingTMTT/interface/HLS/KFParamsCombCallHLS.h"
10 #endif
12 
13 using namespace std;
14 
15 namespace tmtt {
16 
17  namespace trackFitFactory {
18 
19  std::unique_ptr<TrackFitGeneric> create(const std::string& fitterName, const Settings* settings) {
20  if (fitterName == "ChiSquaredFit4") {
21  return std::make_unique<ChiSquaredFit4>(settings, 4);
22  } else if (fitterName == "KF4ParamsComb") {
23  return std::make_unique<KFParamsComb>(settings, 4, fitterName);
24  } else if (fitterName == "KF5ParamsComb") {
25  return std::make_unique<KFParamsComb>(settings, 5, fitterName);
26  } else if (fitterName == "SimpleLR4") {
27  return std::make_unique<SimpleLR4>(settings);
28 #ifdef USE_HLS
29  } else if (fitterName == "KF4ParamsCombHLS") {
30  return std::make_unique<KFParamsCombCallHLS>(settings, 4, fitterName);
31  } else if (fitterName == "KF5ParamsCombHLS") {
32  return std::make_unique<KFParamsCombCallHLS>(settings, 5, fitterName);
33 #endif
34  } else {
35  throw cms::Exception("BadConfig")
36  << "TrackFitFactory: ERROR you requested unknown track fitterName: " << fitterName;
37  }
38  }
39 
40  } // namespace trackFitFactory
41 
42 } // namespace tmtt
def create(alignables, pedeDump, additionalData, outputFile, config)
=== This is the base class for the linearised chi-squared track fit algorithms.
Definition: Array2D.h:16