Main Page   Class Hierarchy   Compound List   File List   Compound Members  

kmassvertexfitter.h

00001 //
00002 // $Id: kmassvertexfitter.h,v 1.13 2002/04/22 11:07:44 jtanaka Exp $
00003 //
00004 // $Log: kmassvertexfitter.h,v $
00005 // Revision 1.13  2002/04/22 11:07:44  jtanaka
00006 // bug fix for virtual functions (Kataoka-san's info.).
00007 //
00008 // Revision 1.12  2002/03/27 23:42:30  jtanaka
00009 // Add new fitter to the mass-constraint fit.
00010 //
00011 // Revision 1.11  2001/12/24 12:03:27  katayama
00012 // gcc 3.0 and headers are cleaned up
00013 //
00014 // Revision 1.10  2000/03/07 17:09:14  jtanaka
00015 // bug fixed, use "similarity" etc.
00016 //
00017 // Revision 1.9  2000/03/07 10:52:38  katayama
00018 // compatibility with CC5.0
00019 //
00020 // Revision 1.8  1999/03/29 05:38:18  jtanaka
00021 // new class structure, new+old interfaces
00022 //
00023 // Revision 1.7  1998/09/28 13:26:08  jtanaka
00024 // bug fix in kmakemother.h and <vector.h> -> <vector>
00025 //
00026 // Revision 1.6  1998/09/08 11:52:07  jtanaka
00027 // non-const --> const
00028 //
00029 // Revision 1.5  1998/07/23 11:58:03  jtanaka
00030 // endif HEADER --> endif /* HEADER */
00031 //
00032 // Revision 1.4  1998/05/07 04:11:16  jtanaka
00033 // version 2.1
00034 //
00035 // Revision 1.3  1998/01/22 03:21:41  jtanaka
00036 // Updated from Tanaka san. New Interface etc.
00037 //
00038 // Revision 1.2  1997/10/24 07:05:10  katayama
00039 // Updated from Tanaka san. Bug fixes etc.
00040 //
00041 //
00042 // kmassvertexfitter of KFitter
00043 //
00044 // ver2.0  : 1998/01
00045 // ver3.0  : 1999/03
00046 //
00047 // author  : jtanaka
00048 // e-mail  : jtanaka@hep.phys.s.u-tokyo.ac.jp
00049 //
00050 #ifndef KMASSVERTEXFITTER_H
00051 #define KMASSVERTEXFITTER_H
00052 #include "kfitter/kfitterbase2.h"
00053 
00054 class kmassvertexfitter : public kfitterbase2 
00055 {
00056 public:
00057   kmassvertexfitter(void);
00058   ~kmassvertexfitter(void);
00059 
00060   //interface
00061   void initialVertex(const HepPoint3D&);
00062   void invariantMass(const double);
00063   void fixMass(void);
00064   void unfixMass(void);
00065   void correlation(const HepMatrix&);
00066   void correlation(void);
00067 
00068   //output interface
00069   HepPoint3D   vertex(const unsigned = KF_AFTER_FIT);
00070   HepSymMatrix errVertex(void);
00071   HepMatrix    errVertexTrack(const unsigned);
00072   double       invariantMass(void);
00073   double       chisq(void);
00074   double       chisq(const unsigned n);
00075   HepMatrix    correlation(const unsigned n, const unsigned m, const unsigned flag = KF_AFTER_FIT);
00076 
00077   void clear(void);
00078 
00079 #if KF_WITH_OLD_INTERFACE
00080   void set_initial_vertex(const Hep3Vector &v){ initialVertex(static_cast<const HepPoint3D&>(v)); }
00081   void set_initial_vertex(double x,double y,double z)
00082     { HepPoint3D t(x,y,z); initialVertex(t); }
00083   void set_invariant_mass(double mass){ invariantMass(mass); }
00084 
00085   Hep3Vector        get_vertex(){ return static_cast<Hep3Vector>(vertex()); }
00086   double            get_vx()    { return vertex().x(); }
00087   double            get_vy()    { return vertex().y(); }
00088   double            get_vz()    { return vertex().z(); }
00089   HepSymMatrix      get_err_vertex(){ return errVertex(); }
00090   double            get_err_vertex(int i,int j){ return errVertex()[i][j]; }
00091   HepMatrix         get_err_vertex_track(int i){ return errVertexTrack(i); }
00092 #endif //KF_WITH_OLD_INTERFACE
00093 
00094 private:
00095   //before fitting
00096   HepPoint3D m_vertex_b;
00097 
00098   //after fitting
00099   HepPoint3D   m_vertex_a;
00100   HepSymMatrix m_errVertex_a;
00101   std::vector<HepMatrix> m_errVertexTrack_a;
00102 
00103   //other parameters
00104   double     m_invariantMass;
00105 
00106   //input functions
00107   unsigned m_setInputMatrix(void);
00108   unsigned m_setInputSubMatrix(void);
00109   unsigned m_setCorrelation(void);
00110 
00111   //output functions
00112   unsigned m_setOutputMatrix(void);
00113   std::vector<int> m_isFixMass;
00114 
00115   //fit functions
00116   unsigned m_makeCoreMatrix(void);
00117   unsigned m_calDgf(void);
00118 };
00119 
00120 #endif /* KMASSVERTEXFITTER_H */

Generated on Tue Apr 13 13:25:32 2004 for ATLAS JAPAN by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002