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