File indexing completed on 2024-04-06 12:31:22
0001
0002
0003
0004 #ifndef TopKinFitter_StKinFitter_h
0005 #define TopKinFitter_StKinFitter_h
0006
0007 #include "AnalysisDataFormats/TopObjects/interface/StEvtSolution.h"
0008
0009 #include "TopQuarkAnalysis/TopKinFitter/interface/TopKinFitter.h"
0010
0011 #include "TLorentzVector.h"
0012
0013 #include <memory>
0014 #include <vector>
0015
0016 class TKinFitter;
0017 class TAbsFitParticle;
0018 class TFitConstraintM;
0019
0020 class StKinFitter : public TopKinFitter {
0021 public:
0022 StKinFitter();
0023 StKinFitter(int jetParam,
0024 int lepParam,
0025 int metParam,
0026 int maxNrIter,
0027 double maxDeltaS,
0028 double maxF,
0029 const std::vector<int>& constraints);
0030 StKinFitter(Param jetParam,
0031 Param lepParam,
0032 Param metParam,
0033 int maxNrIter,
0034 double maxDeltaS,
0035 double maxF,
0036 const std::vector<int>& constraints);
0037 ~StKinFitter();
0038
0039 StEvtSolution addKinFitInfo(StEvtSolution* asol);
0040
0041 private:
0042 void setupFitter();
0043
0044 private:
0045
0046 std::unique_ptr<TAbsFitParticle> fitBottom_;
0047 std::unique_ptr<TAbsFitParticle> fitLight_;
0048 std::unique_ptr<TAbsFitParticle> fitLepton_;
0049 std::unique_ptr<TAbsFitParticle> fitNeutrino_;
0050
0051 std::unique_ptr<TFitConstraintM> cons1_;
0052 std::unique_ptr<TFitConstraintM> cons2_;
0053 std::unique_ptr<TFitConstraintM> cons3_;
0054
0055 Param jetParam_, lepParam_, metParam_;
0056 std::vector<int> constraints_;
0057 };
0058
0059 #endif