CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/TopQuarkAnalysis/TopHitFit/interface/Fit_Result.h

Go to the documentation of this file.
00001 //
00002 // $Id: Fit_Result.h,v 1.1 2011/05/26 09:46:53 mseidel Exp $
00003 //
00004 // File: hitfit/Fit_Result.h
00005 // Purpose: Hold the result from a single kinematic fit.
00006 // Created: Jul, 2000, sss, based on run 1 mass analysis code.
00007 //
00008 // These objects are reference-counted.
00009 //
00010 // CMSSW File      : interface/Fit_Result.h
00011 // Original Author : Scott Stuart Snyder <snyder@bnl.gov> for D0
00012 // Imported to CMSSW by Haryo Sumowidagdo <Suharyo.Sumowidagdo@cern.ch>
00013 //
00014 
00035 #ifndef HITFIT_FIT_RESULT_H
00036 #define HITFIT_FIT_RESULT_H
00037 
00038 
00039 #include "TopQuarkAnalysis/TopHitFit/interface/Refcount.h"
00040 #include "TopQuarkAnalysis/TopHitFit/interface/Lepjets_Event.h"
00041 #include "TopQuarkAnalysis/TopHitFit/interface/matutil.h"
00042 #include <iosfwd>
00043 #include <vector>
00044 
00045 namespace hitfit {
00046 
00047 
00054 class Fit_Result
00055   : public hitfit::Refcount
00056 //
00057 // Purpose: Hold the result from a single kinematic fit.
00058 //
00059 {
00060 public:
00061   // Constructor.  Provide the results of the fit.
00075   Fit_Result (double chisq,
00076               const Lepjets_Event& ev,
00077               const Column_Vector& pullx,
00078               const Column_Vector& pully,
00079               double umwhad,
00080               double utmass,
00081               double mt,
00082               double sigmt);
00083 
00084   // Get back the fit result.
00088   double chisq () const;
00089 
00093   double umwhad () const;
00094 
00098   double utmass () const;
00099 
00103   double mt () const;
00104 
00108   double sigmt () const;
00109 
00113   const Column_Vector& pullx () const;
00114 
00118   const Column_Vector& pully () const;
00119 
00123   const Lepjets_Event& ev () const;
00124 
00125   // For sorting by chisq.
00126   friend bool operator< (const Fit_Result& a, const Fit_Result& b);
00127 
00128   // Print this object.
00129   friend std::ostream& operator<< (std::ostream& s, const Fit_Result& res);
00130 
00131   // Get the jet-types permutation
00136   std::vector<int> jet_types();
00137 
00138 private:
00139   // Store the results of the kinematic fit.
00140 
00144   double _chisq;
00145 
00149   double _umwhad;
00150 
00154   double _utmass;
00155 
00159   double _mt;
00160 
00164   double _sigmt;
00165 
00169   Column_Vector _pullx;
00170 
00174   Column_Vector _pully;
00175 
00179   Lepjets_Event _ev;
00180 };
00181 
00182 
00183 } // namespace hitfit
00184 
00185 
00186 #endif // not HITFIT_FIT_RESULT_H