16 #ifndef ROO_GLOBAL_FUNC 
   17 #define ROO_GLOBAL_FUNC 
   31 class RooAbsRealLValue ;
 
   32 class RooRealConstant ;
 
   40 class RooAbsCollection ;
 
   44 class RooAbsCategory ;
 
   45 class RooNumIntConfig ;
 
   47 class RooAbsCollection ;
 
   65 enum MsgLevel { DEBUG=0, INFO=1, PROGRESS=2, WARNING=3, ERROR=4, FATAL=5 } ;
 
   67 enum MsgTopic { Generation=1, Minimization=2, Plotting=4, Fitting=8, Integration=16, LinkStateMgmt=32, 
 
   68     Eval=64, Caching=128, Optimization=256, ObjectHandling=512, InputArguments=1024, Tracing=2048, 
 
   69     Contents=4096, DataHandling=8192, NumIntegration=16384, FastEvaluations=1<<15 } ;
 
   70 enum MPSplit { BulkPartition=0, Interleave=1, SimComponents=2, Hybrid=3 } ;
 
   73 RooCmdArg DrawOption(
const char* opt) ;
 
   74 RooCmdArg Normalization(Double_t scaleFactor) ;
 
   75 RooCmdArg Slice(
const RooArgSet& sliceSet) ;
 
   76 RooCmdArg Slice(RooCategory& cat, 
const char* label) ;
 
   77 RooCmdArg Project(
const RooArgSet& projSet) ;
 
   78 RooCmdArg ProjWData(
const RooAbsData& projData, Bool_t binData=kFALSE) ;
 
   79 RooCmdArg ProjWData(
const RooArgSet& projSet, 
const RooAbsData& projData, Bool_t binData=kFALSE) ;
 
   80 RooCmdArg Asymmetry(
const RooCategory& cat) ;
 
   81 RooCmdArg Precision(Double_t prec) ;
 
   82 RooCmdArg ShiftToZero() ;
 
   83 RooCmdArg Range(
const char* rangeName, Bool_t adjustNorm=kTRUE) ;
 
   84 RooCmdArg Range(Double_t lo, Double_t hi, Bool_t adjustNorm=kTRUE) ;
 
   85 RooCmdArg NormRange(
const char* rangeNameList) ;
 
   87 RooCmdArg LineColor(Color_t color) ;
 
   88 RooCmdArg LineStyle(Style_t style) ;
 
   89 RooCmdArg LineWidth(Width_t width) ;
 
   90 RooCmdArg FillColor(Color_t color) ;
 
   91 RooCmdArg FillStyle(Style_t style) ;
 
   92 RooCmdArg ProjectionRange(
const char* rangeName) ;
 
   93 RooCmdArg Name(
const char* name) ;
 
   94 RooCmdArg Invisible(
bool inv=
true) ;
 
   95 RooCmdArg AddTo(
const char* name, 
double wgtSel=1.0, 
double wgtOther=1.0) ;
 
   96 RooCmdArg EvalErrorValue(Double_t value) ;
 
   97 RooCmdArg MoveToBack()  ;
 
   98 RooCmdArg VisualizeError(
const RooDataSet& paramData, Double_t Z=1) ;
 
   99 RooCmdArg VisualizeError(
const RooFitResult& fitres, Double_t Z=1, Bool_t linearMethod=kTRUE) ;
 
  100 RooCmdArg VisualizeError(
const RooFitResult& fitres, 
const RooArgSet& param, Double_t Z=1, Bool_t linearMethod=kTRUE) ;
 
  101 RooCmdArg ShowProgress() ;
 
  104 RooCmdArg Normalization(Double_t scaleFactor, Int_t scaleType) ;
 
  105 RooCmdArg Components(
const RooArgSet& compSet) ;
 
  106 RooCmdArg Components(
const char* compSpec) ;
 
  109 RooCmdArg Cut(
const char* cutSpec) ;
 
  110 RooCmdArg Cut(
const RooFormulaVar& cutVar) ;
 
  111 RooCmdArg Binning(
const RooAbsBinning& binning) ;
 
  112 RooCmdArg Binning(
const char* binningName) ;
 
  113 RooCmdArg Binning(Int_t nBins, Double_t xlo=0., Double_t xhi=0.) ;
 
  114 RooCmdArg MarkerStyle(Style_t style) ;
 
  115 RooCmdArg MarkerSize(Size_t size) ;
 
  116 RooCmdArg MarkerColor(Color_t color) ;
 
  117 RooCmdArg CutRange(
const char* rangeName) ;
 
  118 RooCmdArg XErrorSize(Double_t width) ;
 
  119 RooCmdArg RefreshNorm() ;
 
  120 RooCmdArg Efficiency(
const RooCategory& cat) ;
 
  121 RooCmdArg Rescale(Double_t factor) ;
 
  124 RooCmdArg Weight(Double_t wgt) ;
 
  125 RooCmdArg Index(RooCategory& icat) ;
 
  126 RooCmdArg Import(
const char* state, TH1& histo) ;
 
  127 RooCmdArg Import(
const std::map<std::string,TH1*>&) ;
 
  128 RooCmdArg Import(
const char* state, RooDataHist& dhist) ;
 
  129 RooCmdArg Import(
const std::map<std::string,RooDataHist*>&) ;
 
  130 RooCmdArg Import(TH1& histo, Bool_t importDensity=kFALSE) ;
 
  133 RooCmdArg WeightVar(
const char* name, Bool_t reinterpretAsWeight=kFALSE) ;
 
  134 RooCmdArg WeightVar(
const RooRealVar& arg, Bool_t reinterpretAsWeight=kFALSE) ;
 
  135 RooCmdArg Import(
const char* state, RooDataSet& data) ;
 
  136 RooCmdArg Import(
const std::map<std::string,RooDataSet*>& ) ;
 
  137 RooCmdArg Link(
const char* state, RooAbsData& data) ;
 
  138 RooCmdArg Link(
const std::map<std::string,RooAbsData*>&) ;
 
  139 RooCmdArg Import(RooDataSet& data) ;
 
  140 RooCmdArg Import(TTree& tree) ;
 
  141 RooCmdArg ImportFromFile(
const char* fname, 
const char* tname) ;
 
  142 RooCmdArg StoreError(
const RooArgSet& aset) ; 
 
  143 RooCmdArg StoreAsymError(
const RooArgSet& aset) ; 
 
  144 RooCmdArg OwnLinked() ;
 
  147 RooCmdArg Extended(Bool_t flag=kTRUE) ;
 
  148 RooCmdArg DataError(Int_t) ;
 
  149 RooCmdArg NumCPU(Int_t nCPU, Int_t interleave=0) ;
 
  150 RooCmdArg BatchMode(
bool flag=
true);
 
  153 RooCmdArg Columns(Int_t ncol) ;
 
  154 RooCmdArg OutputFile(
const char* fileName) ;
 
  155 RooCmdArg Format(
const char* format, Int_t sigDigit) ;
 
  156 RooCmdArg Format(
const char* what, 
const RooCmdArg& arg1=RooCmdArg::none(), 
const RooCmdArg& arg2=RooCmdArg::none(),
 
  157                  const RooCmdArg& arg3=RooCmdArg::none(),
const RooCmdArg& arg4=RooCmdArg::none(),
 
  158                  const RooCmdArg& arg5=RooCmdArg::none(),
const RooCmdArg& arg6=RooCmdArg::none(),
 
  159                  const RooCmdArg& arg7=RooCmdArg::none(),
const RooCmdArg& arg8=RooCmdArg::none()) ;
 
  160 RooCmdArg Sibling(
const RooAbsCollection& sibling) ;
 
  163 RooCmdArg Title(
const char* name) ;
 
  164 RooCmdArg Bins(Int_t nbin) ;
 
  165 RooCmdArg AutoSymRange(
const RooAbsData& data, Double_t marginFactor=0.1) ;
 
  166 RooCmdArg AutoRange(
const RooAbsData& data, Double_t marginFactor=0.1) ;
 
  169 RooCmdArg AutoSymBinning(Int_t nbins=100, Double_t marginFactor=0.1) ; 
 
  170 RooCmdArg AutoBinning(Int_t nbins=100, Double_t marginFactor=0.1) ;
 
  173 RooCmdArg IntegratedObservables(
const RooArgSet& intObs) ;
 
  176 RooCmdArg SelectVars(
const RooArgSet& vars) ;
 
  177 RooCmdArg EventRange(Int_t nStart, Int_t nStop) ;
 
  180 RooCmdArg PrefitDataFraction(Double_t data_ratio = 0.0) ;
 
  181 RooCmdArg FitOptions(
const char* opts) ;
 
  182 RooCmdArg Optimize(Int_t flag=2) ;
 
  183 RooCmdArg ProjectedObservables(
const RooArgSet& set) ; 
 
  184 RooCmdArg ConditionalObservables(
const RooArgSet& set) ;
 
  185 RooCmdArg Verbose(Bool_t flag=kTRUE) ;
 
  186 RooCmdArg Save(Bool_t flag=kTRUE) ;
 
  187 RooCmdArg Timer(Bool_t flag=kTRUE) ;
 
  188 RooCmdArg PrintLevel(Int_t code) ;
 
  189 RooCmdArg Warnings(Bool_t flag=kTRUE) ; 
 
  190 RooCmdArg Strategy(Int_t code) ;
 
  191 RooCmdArg InitialHesse(Bool_t flag=kTRUE) ;
 
  192 RooCmdArg Hesse(Bool_t flag=kTRUE) ;
 
  193 RooCmdArg Minos(Bool_t flag=kTRUE) ;
 
  194 RooCmdArg Minos(
const RooArgSet& minosArgs) ;
 
  195 RooCmdArg SplitRange(Bool_t flag=kTRUE) ;
 
  196 RooCmdArg SumCoefRange(
const char* rangeName) ;
 
  197 RooCmdArg Constrain(
const RooArgSet& params) ;
 
  198 RooCmdArg GlobalObservables(
const RooArgSet& globs) ;
 
  199 RooCmdArg GlobalObservablesTag(
const char* tagName) ;
 
  201 RooCmdArg ExternalConstraints(
const RooArgSet& constraintPdfs) ;
 
  202 RooCmdArg PrintEvalErrors(Int_t numErrors) ;
 
  203 RooCmdArg EvalErrorWall(Bool_t flag) ;
 
  204 RooCmdArg SumW2Error(Bool_t flag) ;
 
  205 RooCmdArg AsymptoticError(Bool_t flag) ;
 
  206 RooCmdArg CloneData(Bool_t flag) ;
 
  207 RooCmdArg Integrate(Bool_t flag) ;
 
  208 RooCmdArg Minimizer(
const char* type, 
const char* alg=0) ;
 
  209 RooCmdArg Offset(Bool_t flag=kTRUE) ;
 
  212 RooCmdArg Label(
const char* str) ;
 
  213 RooCmdArg Layout(Double_t xmin, Double_t xmax=0.99, Double_t ymin=0.95) ;
 
  214 RooCmdArg Parameters(
const RooArgSet& params) ;
 
  215 RooCmdArg ShowConstants(Bool_t flag=kTRUE) ;
 
  218 RooCmdArg What(
const char* str) ;
 
  221 RooCmdArg Conditional(
const RooArgSet& pdfSet, 
const RooArgSet& depSet, Bool_t depsAreCond=kFALSE) ;
 
  224 RooCmdArg ProtoData(
const RooDataSet& protoData, Bool_t randomizeOrder=kFALSE, Bool_t resample=kFALSE) ;
 
  225 RooCmdArg NumEvents(Int_t numEvents) ;
 
  226 RooCmdArg NumEvents(Double_t numEvents) ;
 
  227 RooCmdArg AutoBinned(Bool_t flag=kTRUE) ;
 
  228 RooCmdArg GenBinned(
const char* tag) ;
 
  229 RooCmdArg AllBinned() ;
 
  230 RooCmdArg ExpectedData(Bool_t flag=kTRUE) ; 
 
  231 RooCmdArg Asimov(Bool_t flag=kTRUE) ; 
 
  234 RooCmdArg YVar(
const RooAbsRealLValue& var, 
const RooCmdArg& arg=RooCmdArg::none()) ;
 
  235 RooCmdArg ZVar(
const RooAbsRealLValue& var, 
const RooCmdArg& arg=RooCmdArg::none()) ;
 
  236 RooCmdArg AxisLabel(
const char* name) ;
 
  237 RooCmdArg Scaling(Bool_t flag) ; 
 
  241 RooCmdArg IntrinsicBinning(Bool_t flag=kTRUE) ;
 
  244 RooCmdArg NormSet(
const RooArgSet& nset) ;
 
  245 RooCmdArg NumIntConfig(
const RooNumIntConfig& cfg) ;
 
  248 RooCmdArg Silence(Bool_t flag=kTRUE) ;
 
  249 RooCmdArg FitModel(RooAbsPdf& pdf) ;
 
  250 RooCmdArg FitOptions(
const RooCmdArg& arg1                ,
const RooCmdArg& arg2=RooCmdArg::none(),
 
  251                      const RooCmdArg& arg3=RooCmdArg::none(),
const RooCmdArg& arg4=RooCmdArg::none(),
 
  252                      const RooCmdArg& arg5=RooCmdArg::none(),
const RooCmdArg& arg6=RooCmdArg::none()) ;
 
  253 RooCmdArg Binned(Bool_t flag=kTRUE) ;
 
  256 RooCmdArg Frame(
const RooCmdArg& arg1                ,
const RooCmdArg& arg2=RooCmdArg::none(),
 
  257                 const RooCmdArg& arg3=RooCmdArg::none(),
const RooCmdArg& arg4=RooCmdArg::none(),
 
  258                 const RooCmdArg& arg5=RooCmdArg::none(),
const RooCmdArg& arg6=RooCmdArg::none()) ;
 
  259 RooCmdArg FrameBins(Int_t nbins) ;
 
  260 RooCmdArg FrameRange(Double_t xlo, Double_t xhi) ;
 
  261 RooCmdArg FitGauss(Bool_t flag=kTRUE) ;
 
  264 RooCmdArg AutoPrecision(Int_t ndigit=2) ;
 
  265 RooCmdArg FixedPrecision(Int_t ndigit=2) ;
 
  266 RooCmdArg TLatexStyle(Bool_t flag=kTRUE) ;
 
  267 RooCmdArg LatexStyle(Bool_t flag=kTRUE) ;
 
  268 RooCmdArg LatexTableStyle(Bool_t flag=kTRUE) ;
 
  269 RooCmdArg VerbatimName(Bool_t flag=kTRUE) ;
 
  272 RooCmdArg Topic(Int_t topic) ;
 
  273 RooCmdArg ObjectName(
const char* name) ;
 
  274 RooCmdArg ClassName(
const char* name) ;
 
  275 RooCmdArg BaseClassName(
const char* name) ;
 
  276 RooCmdArg TagName(
const char* name) ;
 
  277 RooCmdArg OutputStream(std::ostream& os) ;
 
  278 RooCmdArg Prefix(Bool_t flag) ;
 
  279 RooCmdArg Color(Color_t color) ;
 
  282 RooCmdArg RenameConflictNodes(
const char* suffix, Bool_t renameOrigNodes=kFALSE) ;
 
  283 RooCmdArg RenameAllNodes(
const char* suffix) ; 
 
  284 RooCmdArg RenameAllVariables(
const char* suffix) ; 
 
  285 RooCmdArg RenameAllVariablesExcept(
const char* suffix,
const char* exceptionList) ; 
 
  286 RooCmdArg RenameVariable(
const char* inputName, 
const char* outputName) ;
 
  287 RooCmdArg Rename(
const char* suffix) ;
 
  288 RooCmdArg RecycleConflictNodes(Bool_t flag=kTRUE) ;
 
  289 RooCmdArg Embedded(Bool_t flag=kTRUE) ;
 
  290 RooCmdArg NoRecursion(Bool_t flag=kTRUE) ;
 
  293 RooCmdArg SplitParam(
const char* varname, 
const char* catname) ;
 
  294 RooCmdArg SplitParam(
const RooRealVar& var, 
const RooAbsCategory& cat) ;
 
  295 RooCmdArg SplitParamConstrained(
const char* varname, 
const char* catname, 
const char* rsname) ;
 
  296 RooCmdArg SplitParamConstrained(
const RooRealVar& var, 
const RooAbsCategory& cat, 
const char* rsname) ;
 
  297 RooCmdArg Restrict(
const char* catName, 
const char* stateNameList) ;
 
  300 RooCmdArg SupNormSet(
const RooArgSet& nset) ; 
 
  301 RooCmdArg ScanParameters(Int_t nbins,Int_t intOrder) ;
 
  302 RooCmdArg ScanNumCdf() ;
 
  303 RooCmdArg ScanAllCdf() ;
 
  304 RooCmdArg ScanNoCdf() ;
 
  307 RooCmdArg MultiArg(
const RooCmdArg& arg1, 
const RooCmdArg& arg2,
 
  308          const RooCmdArg& arg3=RooCmdArg::none(),
const RooCmdArg& arg4=RooCmdArg::none(),
 
  309          const RooCmdArg& arg5=RooCmdArg::none(),
const RooCmdArg& arg6=RooCmdArg::none(),
 
  310          const RooCmdArg& arg7=RooCmdArg::none(),
const RooCmdArg& arg8=RooCmdArg::none()) ;
 
  312 RooConstVar& RooConst(Double_t val) ; 
 
  317 namespace RooFitShortHand {
 
  319 RooArgSet S(
const RooAbsArg& v1) ;
 
  320 RooArgSet S(
const RooAbsArg& v1, 
const RooAbsArg& v2) ;
 
  321 RooArgSet S(
const RooAbsArg& v1, 
const RooAbsArg& v2, 
const RooAbsArg& v3) ;
 
  322 RooArgSet S(
const RooAbsArg& v1, 
const RooAbsArg& v2, 
const RooAbsArg& v3, 
const RooAbsArg& v4) ;
 
  323 RooArgSet S(
const RooAbsArg& v1, 
const RooAbsArg& v2, 
const RooAbsArg& v3, 
const RooAbsArg& v4, 
const RooAbsArg& v5) ;
 
  324 RooArgSet S(
const RooAbsArg& v1, 
const RooAbsArg& v2, 
const RooAbsArg& v3, 
const RooAbsArg& v4, 
const RooAbsArg& v5, 
 
  325             const RooAbsArg& v6) ;
 
  326 RooArgSet S(
const RooAbsArg& v1, 
const RooAbsArg& v2, 
const RooAbsArg& v3, 
const RooAbsArg& v4, 
const RooAbsArg& v5, 
 
  327             const RooAbsArg& v6, 
const RooAbsArg& v7) ;
 
  328 RooArgSet S(
const RooAbsArg& v1, 
const RooAbsArg& v2, 
const RooAbsArg& v3, 
const RooAbsArg& v4, 
const RooAbsArg& v5, 
 
  329             const RooAbsArg& v6, 
const RooAbsArg& v7, 
const RooAbsArg& v8) ;
 
  330 RooArgSet S(
const RooAbsArg& v1, 
const RooAbsArg& v2, 
const RooAbsArg& v3, 
const RooAbsArg& v4, 
const RooAbsArg& v5, 
 
  331             const RooAbsArg& v6, 
const RooAbsArg& v7, 
const RooAbsArg& v8, 
const RooAbsArg& v9) ;
 
  333 RooArgList L(
const RooAbsArg& v1) ;
 
  334 RooArgList L(
const RooAbsArg& v1, 
const RooAbsArg& v2) ;
 
  335 RooArgList L(
const RooAbsArg& v1, 
const RooAbsArg& v2, 
const RooAbsArg& v3) ;
 
  336 RooArgList L(
const RooAbsArg& v1, 
const RooAbsArg& v2, 
const RooAbsArg& v3, 
const RooAbsArg& v4) ;
 
  337 RooArgList L(
const RooAbsArg& v1, 
const RooAbsArg& v2, 
const RooAbsArg& v3, 
const RooAbsArg& v4, 
const RooAbsArg& v5) ;
 
  338 RooArgList L(
const RooAbsArg& v1, 
const RooAbsArg& v2, 
const RooAbsArg& v3, 
const RooAbsArg& v4, 
const RooAbsArg& v5, 
 
  339              const RooAbsArg& v6) ;
 
  340 RooArgList L(
const RooAbsArg& v1, 
const RooAbsArg& v2, 
const RooAbsArg& v3, 
const RooAbsArg& v4, 
const RooAbsArg& v5, 
 
  341              const RooAbsArg& v6, 
const RooAbsArg& v7) ;
 
  342 RooArgList L(
const RooAbsArg& v1, 
const RooAbsArg& v2, 
const RooAbsArg& v3, 
const RooAbsArg& v4, 
const RooAbsArg& v5, 
 
  343              const RooAbsArg& v6, 
const RooAbsArg& v7, 
const RooAbsArg& v8) ;
 
  344 RooArgList L(
const RooAbsArg& v1, 
const RooAbsArg& v2, 
const RooAbsArg& v3, 
const RooAbsArg& v4, 
const RooAbsArg& v5, 
 
  345              const RooAbsArg& v6, 
const RooAbsArg& v7, 
const RooAbsArg& v8, 
const RooAbsArg& v9) ;
 
  347 RooConstVar& C(Double_t value) ;
 
  351 class RooGlobalFunc {};