rarNLL.hh

Go to the documentation of this file.
00001 /*****************************************************************************
00002 * Project: BaBar detector at the SLAC PEP-II B-factory
00003 * Package: RooRarFit
00004  *    File: $Id: rarNLL.rdl,v 1.7 2011/06/16 13:18:50 fwilson Exp $
00005  * Authors: Lei Zhang
00006  * History:
00007  *
00008  * Copyright (C) 2005-2012, University of California, Riverside
00009  *****************************************************************************/
00010 #ifndef RAR_NLL
00011 #define RAR_NLL
00012 
00013 #include "TList.h"
00014 #include "TMatrixD.h"
00015 #include "TString.h"
00016 #include "TObject.h"
00017 
00018 #include "RooFitCore/RooCurve.hh"
00019 
00024 class rarNLL : public TNamed {
00025   
00026 public:
00027   rarNLL();
00028   rarNLL(RooCurve *curve,
00029          const char *name="theRARNLL", const char *title="the RARNLL",
00030          const Bool_t verbose=kFALSE);
00031   virtual ~rarNLL();
00032   
00035   virtual void setVerbose(Bool_t verbose=kTRUE) {_verbose=verbose;}
00036   
00037   virtual void init(RooCurve *curve=0);
00038   Double_t getNLL(Double_t x);
00039   Double_t getY(Double_t x);
00040   TArrayD getX(Double_t y);
00041   void getMin(Double_t &x, Double_t &y);
00042   TArrayD getMin();
00043   Double_t getLIntegral(Double_t x);
00044   Double_t getLIntegral(Double_t xl, Double_t xh);
00045   Double_t getLIntegral();
00046   Double_t getLIntegralInverse(Double_t xl, Double_t iVal);
00047   Double_t getLIntegralInverse(Double_t iVal);
00048   Double_t lIntegralFunc(Double_t x, TMatrixD &A, TMatrixD &lA);
00049   Double_t lIntegralFuncInverse(Double_t x0, Double_t x2, Int_t iter,
00050                                 Double_t &thisXI,
00051                                 Double_t &la, Double_t &lb, Double_t &lc);
00052 
00053 protected:
00054   void getMin(TArrayD &xy, Double_t x, Double_t a, Double_t b, Double_t c);
00055   TArrayD getMin(Double_t x0, Double_t x1, Double_t x2,
00056                  Double_t a, Double_t b, Double_t c);
00057   
00058   Int_t _nPoints; 
00059   TArrayD _xs; 
00060   TArrayD _ys; 
00061   Int_t _mIdx; 
00062   Int_t _nSteps; 
00063   TList _coeffMList; 
00064   TList _lCoefMList; 
00065   TArrayD _x0s; 
00066   TArrayD _x1s; 
00067   TArrayD _x2s; 
00068   TArrayD _iLIntegrals; 
00069   TArrayD _tLIntegrals; 
00070   
00071   Bool_t _verbose; 
00072   
00073 private:
00074   rarNLL(const rarNLL&);
00075   ClassDef(rarNLL, 0) // RooRarFit NLL class
00076     ;
00077 };
00078 
00079 #endif

Generated on 30 Oct 2013 for RooRarFit by  doxygen 1.4.7