Main Page   Class Hierarchy   Compound List   File List   Compound Members  

kmassfitter.h

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

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