File indexing completed on 2024-04-06 12:21:52
0001
0002
0003 #include "L1Trigger/TrackFindingTMTT/interface/TrackFitFactory.h"
0004 #include "L1Trigger/TrackFindingTMTT/interface/Settings.h"
0005 #include "L1Trigger/TrackFindingTMTT/interface/ChiSquaredFit4.h"
0006 #include "L1Trigger/TrackFindingTMTT/interface/KFParamsComb.h"
0007 #include "L1Trigger/TrackFindingTMTT/interface/SimpleLR4.h"
0008 #ifdef USE_HLS
0009 #include "L1Trigger/TrackFindingTMTT/interface/HLS/KFParamsCombCallHLS.h"
0010 #endif
0011 #include "FWCore/Utilities/interface/Exception.h"
0012
0013 using namespace std;
0014
0015 namespace tmtt {
0016
0017 namespace trackFitFactory {
0018
0019 std::unique_ptr<TrackFitGeneric> create(const std::string& fitterName, const Settings* settings) {
0020 if (fitterName == "ChiSquaredFit4") {
0021 return std::make_unique<ChiSquaredFit4>(settings, 4);
0022 } else if (fitterName == "KF4ParamsComb") {
0023 return std::make_unique<KFParamsComb>(settings, 4, fitterName);
0024 } else if (fitterName == "KF5ParamsComb") {
0025 return std::make_unique<KFParamsComb>(settings, 5, fitterName);
0026 } else if (fitterName == "SimpleLR4") {
0027 return std::make_unique<SimpleLR4>(settings);
0028 #ifdef USE_HLS
0029 } else if (fitterName == "KF4ParamsCombHLS") {
0030 return std::make_unique<KFParamsCombCallHLS>(settings, 4, fitterName);
0031 } else if (fitterName == "KF5ParamsCombHLS") {
0032 return std::make_unique<KFParamsCombCallHLS>(settings, 5, fitterName);
0033 #endif
0034 } else {
0035 throw cms::Exception("BadConfig")
0036 << "TrackFitFactory: ERROR you requested unknown track fitterName: " << fitterName;
0037 }
0038 }
0039
0040 }
0041
0042 }