File indexing completed on 2024-04-06 12:31:22
0001 #ifndef TopQuarkAnalysis_TopKinFitter_TopKinFitter_h
0002 #define TopQuarkAnalysis_TopKinFitter_TopKinFitter_h
0003
0004 #include <memory>
0005
0006 #include "TMath.h"
0007
0008 #include "PhysicsTools/KinFitter/interface/TKinFitter.h"
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 class TopKinFitter {
0020 public:
0021
0022 enum Param { kEMom, kEtEtaPhi, kEtThetaPhi };
0023
0024 public:
0025
0026 explicit TopKinFitter(const int maxNrIter = 200,
0027 const double maxDeltaS = 5e-5,
0028 const double maxF = 1e-4,
0029 const double mW = 80.4,
0030 const double mTop = 173.);
0031
0032 ~TopKinFitter();
0033
0034
0035 double fitS() const { return fitter_->getS(); };
0036
0037 int fitNrIter() const { return fitter_->getNbIter(); };
0038
0039 double fitProb() const { return TMath::Prob(fitter_->getS(), fitter_->getNDF()); };
0040
0041 void setVerbosity(const int verbosityLevel) { fitter_->setVerbosity(verbosityLevel); };
0042
0043 protected:
0044
0045 std::string param(const Param& param) const;
0046
0047 protected:
0048
0049 std::unique_ptr<TKinFitter> fitter_;
0050
0051 int maxNrIter_;
0052
0053 double maxDeltaS_;
0054
0055 double maxF_;
0056
0057 double mW_;
0058
0059 double mTop_;
0060 };
0061
0062 #endif