17 #ifndef ROO_XY_CHI2_VAR
18 #define ROO_XY_CHI2_VAR
26 class RooAbsIntegrator ;
29 class RooXYChi2Var :
public RooAbsOptTestStatistic {
34 RooXYChi2Var(
const char *name,
const char* title, RooAbsReal& func, RooDataSet& data, Bool_t integrate=kFALSE) ;
35 RooXYChi2Var(
const char *name,
const char* title, RooAbsReal& func, RooDataSet& data, RooRealVar& yvar, Bool_t integrate=kFALSE) ;
36 RooXYChi2Var(
const char *name,
const char* title, RooAbsPdf& extPdf, RooDataSet& data, Bool_t integrate=kFALSE) ;
37 RooXYChi2Var(
const char *name,
const char* title, RooAbsPdf& extPdf, RooDataSet& data, RooRealVar& yvar, Bool_t integrate=kFALSE) ;
39 RooXYChi2Var(
const RooXYChi2Var& other,
const char* name=0);
40 virtual TObject* clone(
const char* newname)
const {
return new RooXYChi2Var(*
this,newname); }
42 virtual RooAbsTestStatistic* create(
const char *name,
const char *title, RooAbsReal& pdf, RooAbsData& adata,
43 const RooArgSet&,
const char*,
const char*,Int_t, RooFit::MPSplit,Bool_t, Bool_t, Bool_t) {
45 return new RooXYChi2Var(name,title,pdf,(RooDataSet&)adata) ;
48 virtual ~RooXYChi2Var();
50 virtual Double_t defaultErrorLevel()
const {
55 RooNumIntConfig& binIntegratorConfig() {
return _intConfig ; }
56 const RooNumIntConfig& binIntegratorConfig()
const {
return _intConfig ; }
60 Bool_t allowFunctionCache() {
66 RooArgSet requiredExtraObservables()
const ;
78 void initIntegrator() ;
79 Double_t xErrorContribution(Double_t ydata)
const ;
81 virtual Double_t evaluatePartition(std::size_t firstEvent, std::size_t lastEvent, std::size_t stepSize)
const ;
83 RooNumIntConfig _intConfig ;
84 RooAbsReal* _funcInt ;
85 std::list<RooAbsBinning*> _binList ;
87 ClassDef(RooXYChi2Var,1)