25 class RooChi2Var : 
public RooAbsOptTestStatistic {
 
   29   RooChi2Var(
const char *name, 
const char* title, RooAbsReal& func, RooDataHist& data,
 
   30         const RooCmdArg& arg1                , 
const RooCmdArg& arg2=RooCmdArg::none(),
const RooCmdArg& arg3=RooCmdArg::none(),
 
   31         const RooCmdArg& arg4=RooCmdArg::none(), 
const RooCmdArg& arg5=RooCmdArg::none(),
const RooCmdArg& arg6=RooCmdArg::none(),
 
   32         const RooCmdArg& arg7=RooCmdArg::none(), 
const RooCmdArg& arg8=RooCmdArg::none(),
const RooCmdArg& arg9=RooCmdArg::none()) ;
 
   34   RooChi2Var(
const char *name, 
const char* title, RooAbsPdf& pdf, RooDataHist& data,
 
   35         const RooCmdArg& arg1                , 
const RooCmdArg& arg2=RooCmdArg::none(),
const RooCmdArg& arg3=RooCmdArg::none(),
 
   36         const RooCmdArg& arg4=RooCmdArg::none(), 
const RooCmdArg& arg5=RooCmdArg::none(),
const RooCmdArg& arg6=RooCmdArg::none(),
 
   37         const RooCmdArg& arg7=RooCmdArg::none(), 
const RooCmdArg& arg8=RooCmdArg::none(),
const RooCmdArg& arg9=RooCmdArg::none()) ;
 
   39   enum FuncMode { Function, Pdf, ExtendedPdf } ;
 
   41   RooChi2Var(
const char *name, 
const char *title, RooAbsPdf& pdf, RooDataHist& data,
 
   42        Bool_t extended=kFALSE, 
const char* rangeName=0, 
const char* addCoefRangeName=0, 
 
   43         Int_t nCPU=1, RooFit::MPSplit interleave=RooFit::BulkPartition, Bool_t verbose=kTRUE, Bool_t splitCutRange=kTRUE, RooDataHist::ErrorType=RooDataHist::SumW2) ;
 
   45   RooChi2Var(
const char *name, 
const char *title, RooAbsReal& func, RooDataHist& data,
 
   46         const RooArgSet& projDeps, FuncMode funcMode, 
const char* rangeName=0, 
const char* addCoefRangeName=0, 
 
   47         Int_t nCPU=1, RooFit::MPSplit interleave=RooFit::BulkPartition, Bool_t verbose=kTRUE, Bool_t splitCutRange=kTRUE, RooDataHist::ErrorType=RooDataHist::SumW2) ;
 
   49   RooChi2Var(
const RooChi2Var& other, 
const char* name=0);
 
   50   virtual TObject* clone(
const char* newname)
 const { 
return new RooChi2Var(*
this,newname); }
 
   52   virtual RooAbsTestStatistic* create(
const char *name, 
const char *title, RooAbsReal& pdf, RooAbsData& dhist,
 
   53                   const RooArgSet& projDeps, 
const char* rangeName=0, 
const char* addCoefRangeName=0, 
 
   54                   Int_t nCPU=1, RooFit::MPSplit interleave=RooFit::BulkPartition,Bool_t verbose=kTRUE, Bool_t splitCutRange=kTRUE, Bool_t = kFALSE) {
 
   56     return new RooChi2Var(name,title,(RooAbsPdf&)pdf,(RooDataHist&)dhist,projDeps,_funcMode,rangeName,
 
   57            addCoefRangeName,nCPU,interleave,verbose, splitCutRange,_etype) ;
 
   60   virtual ~RooChi2Var();
 
   62   virtual Double_t defaultErrorLevel()
 const { 
 
   69   static RooArgSet _emptySet ;        
 
   71   RooDataHist::ErrorType _etype ;     
 
   74   virtual Double_t evaluatePartition(std::size_t firstEvent, std::size_t lastEvent, std::size_t stepSize) 
const ;
 
   76   ClassDef(RooChi2Var,1)