Back to home page

Project CMSSW displayed by LXR

 
 

    


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   // the particles that enter the kinematic fit
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   // the constraints on the fit
0051   std::unique_ptr<TFitConstraintM> cons1_;
0052   std::unique_ptr<TFitConstraintM> cons2_;
0053   std::unique_ptr<TFitConstraintM> cons3_;
0054   // other parameters
0055   Param jetParam_, lepParam_, metParam_;
0056   std::vector<int> constraints_;
0057 };
0058 
0059 #endif