[root] / trunk / math / minuit2 / src / DavidonErrorUpdator.cxx Repository:
ViewVC logotype

Diff of /trunk/math/minuit2/src/DavidonErrorUpdator.cxx

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 25485, Mon Sep 22 07:52:52 2008 UTC revision 25486, Mon Sep 22 12:43:03 2008 UTC
# Line 12  Line 12 
12  #include "Minuit2/LaSum.h"  #include "Minuit2/LaSum.h"
13  #include "Minuit2/LaProd.h"  #include "Minuit2/LaProd.h"
14    
15    //#define DEBUG
16    
17    #if defined(DEBUG) || defined(WARNINGMSG)
18    #include "Minuit2/MnPrint.h"
19    #endif
20    
21    
22    
23  namespace ROOT {  namespace ROOT {
24    
25     namespace Minuit2 {     namespace Minuit2 {
# Line 36  Line 44 
44     double delgam = inner_product(dx, dg);     double delgam = inner_product(dx, dg);
45     double gvg = similarity(dg, v0);     double gvg = similarity(dg, v0);
46    
47     //   std::cout<<"delgam= "<<delgam<<" gvg= "<<gvg<<std::endl;  #ifdef DEBUG
48       std::cout << "dx = " << dx << std::endl;
49       std::cout << "dg = " << dg << std::endl;
50       std::cout<<"delgam= "<<delgam<<" gvg= "<<gvg<<std::endl;
51    #endif
52       if (delgam <= 0 ) {
53           MN_INFO_MSG("DavidonErrorUpdator: delgam < 0 : cannot update - return same matrix ");
54           return s0.Error();
55       }
56       if (gvg <= 0 ) {
57          // since v0 is pos def this gvg can be only = 0 if  dg = 0 - should never be here
58          MN_INFO_MSG("DavidonErrorUpdator: gvg <= 0 : cannot update - return same matrix ");
59          return s0.Error();
60       }
61    
62    
63     MnAlgebraicVector vg = v0*dg;     MnAlgebraicVector vg = v0*dg;
64    
65     MnAlgebraicSymMatrix vUpd = Outer_product(dx)/delgam - Outer_product(vg)/gvg;     MnAlgebraicSymMatrix vUpd = Outer_product(dx)/delgam - Outer_product(vg)/gvg;

Legend:
Removed from v.25485  
changed lines
  Added in v.25486

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9