CMS 3D CMS Logo

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

Go to the documentation of this file.
00001 //
00002 // $Id: Fit_Results.h,v 1.1 2011/05/26 09:46:53 mseidel Exp $
00003 //
00004 // File: hitfit/Fit_Results.h
00005 // Purpose: Hold the results from kinematic fitting.
00006 // Created: Jul, 2000, sss, based on run 1 mass analysis code.
00007 //
00008 // This is a set of lists of fit results.
00009 // Each list corresponds to some subset of jet permutations:
00010 //   all permutations, btagged permutations, etc.
00011 //
00012 // CMSSW File      : interface/Fit_Results.h
00013 // Original Author : Scott Stuart Snyder <snyder@bnl.gov> for D0
00014 // Imported to CMSSW by Haryo Sumowidagdo <Suharyo.Sumowidagdo@cern.ch>
00015 //
00016 
00039 #ifndef HITFIT_FIT_RESULTS_H
00040 #define HITFIT_FIT_RESULTS_H
00041 
00042 
00043 #include "TopQuarkAnalysis/TopHitFit/interface/Fit_Result_Vec.h"
00044 #include "TopQuarkAnalysis/TopHitFit/interface/matutil.h"
00045 #include <vector>
00046 #include <iosfwd>
00047 
00048 
00049 namespace hitfit {
00050 
00051 
00052 class Lepjets_Event;
00053 
00054 
00060 class Fit_Results
00061 //
00062 // Purpose: Hold the results from kinematic fitting.
00063 //
00064 {
00065 public:
00066   // Constructor.  Make N_LISTS lists, each of maximum length MAX_LEN.
00075   Fit_Results (int max_len, int n_lists);
00076 
00077   // Return the Ith list.
00083   const Fit_Result_Vec& operator[] (std::vector<Fit_Result_Vec>::size_type i) const;
00084 
00085   // Add a new result.  LIST_FLAGS tells on which lists to enter it.
00109   void push (double chisq,
00110              const Lepjets_Event& ev,
00111              const Column_Vector& pullx,
00112              const Column_Vector& pully,
00113              double umwhad,
00114              double utmass,
00115              double mt,
00116              double sigmt,
00117              const std::vector<int>& list_flags);
00118 
00119   // Print this object.
00120   friend std::ostream& operator<< (std::ostream& s, const Fit_Results& res);
00121 
00122 
00123 private:
00124   // The object state.
00125   std::vector<Fit_Result_Vec> _v;
00126 };
00127 
00128 
00129 } // namespace hitfit
00130 
00131 
00132 #endif // not HITFIT_FIT_RESULT_H