RooNonCentralChiSquare.h

Go to the documentation of this file.
00001  /***************************************************************************** 
00002   * Project: RooFit                                                           * 
00003   * @(#)root/roofit:$Id: RooNonCentralChiSquare.h 37207 2010-12-02 20:30:14Z wouter $   *
00004   *                                                                           * 
00005   * RooFit NonCentralChisquare PDF                                            *
00006   *                                                                           * 
00007   * Author: Kyle Cranmer                                                      *
00008   *                                                                           * 
00009   *****************************************************************************/ 
00010 
00011 #ifndef ROO_NONCENTRALCHISQUARE
00012 #define ROO_NONCENTRALCHISQUARE
00013 
00014 #include "RooAbsPdf.h"
00015 #include "RooRealProxy.h"
00016 #include "RooCategoryProxy.h"
00017 #include "RooAbsReal.h"
00018 #include "RooAbsCategory.h"
00019  
00020 class RooNonCentralChiSquare : public RooAbsPdf {
00021 public:
00022    RooNonCentralChiSquare() {} ; 
00023    RooNonCentralChiSquare(const char *name, const char *title,
00024                           RooAbsReal& _x,
00025                           RooAbsReal& _k,
00026                           RooAbsReal& _lambda);
00027    RooNonCentralChiSquare(const RooNonCentralChiSquare& other, const char* name=0) ;
00028    virtual TObject* clone(const char* newname) const { return new RooNonCentralChiSquare(*this,newname); }
00029    inline virtual ~RooNonCentralChiSquare() { }
00030 
00031    void SetErrorTolerance(Double_t t) {fErrorTol = t;}
00032    void SetMaxIters(Int_t mi) {fMaxIters = mi;}
00033    void SetForceSum(Bool_t flag); 
00034 
00035 
00036    Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
00037    Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ;
00038 
00039 protected:
00040 
00041    RooRealProxy x ;
00042    RooRealProxy k ;
00043    RooRealProxy lambda ;
00044    Double_t fErrorTol;
00045    Int_t fMaxIters;
00046    Bool_t fForceSum;
00047    mutable Bool_t fHasIssuedConvWarning;
00048    mutable Bool_t fHasIssuedSumWarning;
00049    Double_t evaluate() const ;
00050 
00051 private:
00052 
00053    ClassDef(RooNonCentralChiSquare,1) // non-central chisquare pdf
00054 };
00055  
00056 #endif

Generated on Tue Jul 5 14:26:14 2011 for ROOT_528-00b_version by  doxygen 1.5.1