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)