ROOT logo
/*****************************************************************************
 * Project: RooFit                                                           *
 * Package: RooFitCore                                                       *
 * @(#)root/roofitcore:$Id: RooGlobalFunc.cxx 26185 2008-11-14 08:58:17Z wouter $
 * Authors:                                                                  *
 *   WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu       *
 *   DK, David Kirkby,    UC Irvine,         dkirkby@uci.edu                 *
 *                                                                           *
 * Copyright (c) 2000-2005, Regents of the University of California          *
 *                          and Stanford University. All rights reserved.    *
 *                                                                           *
 * Redistribution and use in source and binary forms,                        *
 * with or without modification, are permitted according to the terms        *
 * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
 *****************************************************************************/

// Global helper functions

#include "RooFit.h"

#include "RooGlobalFunc.h"
#include "RooGlobalFunc.h"
#include "RooCategory.h"
#include "RooRealConstant.h"
#include "RooDataSet.h"
#include "RooNumIntConfig.h"
#include "RooRealVar.h"
#include "TH1.h"

namespace RooFit {

  // RooAbsReal::plotOn arguments
  RooCmdArg DrawOption(const char* opt)            { return RooCmdArg("DrawOption",0,0,0,0,opt,0,0,0) ; }
  RooCmdArg Slice(const RooArgSet& sliceSet)       { return RooCmdArg("SliceVars",0,0,0,0,0,0,&sliceSet,0) ; }
  RooCmdArg Slice(RooCategory& cat, const char* label) { return RooCmdArg("SliceCat",0,0,0,0,label,0,&cat,0) ; }

  RooCmdArg Project(const RooArgSet& projSet)      { return RooCmdArg("Project",0,0,0,0,0,0,&projSet,0) ; }
  RooCmdArg ProjWData(const RooArgSet& projSet, 
                      const RooAbsData& projData,
                      Bool_t binData)              { return RooCmdArg("ProjData",binData,0,0,0,0,0,&projSet,&projData) ; }
  RooCmdArg ProjWData(const RooAbsData& projData,
                      Bool_t binData)              { return RooCmdArg("ProjData",binData,0,0,0,0,0,0,&projData) ; }
  RooCmdArg Asymmetry(const RooCategory& cat)      { return RooCmdArg("Asymmetry",0,0,0,0,0,0,&cat,0) ; }
  RooCmdArg Precision(Double_t prec)               { return RooCmdArg("Precision",0,0,prec,0,0,0,0,0) ; }
  RooCmdArg ShiftToZero()                          { return RooCmdArg("ShiftToZero",1,0,0,0,0,0,0,0) ; }
  RooCmdArg Normalization(Double_t scaleFactor)    { return RooCmdArg("Normalization",RooAbsReal::Relative,0,scaleFactor,0,0,0,0,0) ; }
  RooCmdArg Range(const char* rangeName, Bool_t adjustNorm)   { return RooCmdArg("RangeWithName",adjustNorm,0,0,0,rangeName,0,0,0) ; }
  RooCmdArg Range(Double_t lo, Double_t hi, Bool_t adjustNorm){ return RooCmdArg("Range",adjustNorm,0,lo,hi,0,0,0,0) ; }
  RooCmdArg NormRange(const char* rangeNameList)   { return RooCmdArg("NormRange",0,0,0,0,rangeNameList,0,0,0) ; }
  RooCmdArg VLines()                               { return RooCmdArg("VLines",1,0,0,0,0,0,0,0) ; } 
  RooCmdArg LineColor(Color_t color)               { return RooCmdArg("LineColor",color,0,0,0,0,0,0,0) ; }
  RooCmdArg LineStyle(Style_t style)               { return RooCmdArg("LineStyle",style,0,0,0,0,0,0,0) ; }
  RooCmdArg LineWidth(Width_t width)               { return RooCmdArg("LineWidth",width,0,0,0,0,0,0,0) ; }
  RooCmdArg FillColor(Color_t color)               { return RooCmdArg("FillColor",color,0,0,0,0,0,0,0) ; }
  RooCmdArg FillStyle(Style_t style)               { return RooCmdArg("FillStyle",style,0,0,0,0,0,0,0) ; }
  RooCmdArg ProjectionRange(const char* rangeName) { return RooCmdArg("ProjectionRange",0,0,0,0,rangeName,0,0,0) ; }
  RooCmdArg Name(const char* name)                 { return RooCmdArg("Name",0,0,0,0,name,0,0,0) ; }
  RooCmdArg Invisible()                            { return RooCmdArg("Invisible",1,0,0,0,0,0,0,0) ; }
  RooCmdArg AddTo(const char* name, double wgtSel, double wgtOther) { return RooCmdArg("AddTo",0,0,wgtSel,wgtOther,name,0,0,0) ; }
  RooCmdArg EvalErrorValue(Double_t val)           { return RooCmdArg("EvalErrorValue",1,0,val,0,0,0,0,0) ; }
  RooCmdArg MoveToBack()                           { return RooCmdArg("MoveToBack",1,0,0,0,0,0,0,0) ; }
  
  // RooAbsPdf::plotOn arguments
  RooCmdArg Components(const RooArgSet& compSet) { return RooCmdArg("SelectCompSet",0,0,0,0,0,0,&compSet,0) ; }
  RooCmdArg Components(const char* compSpec) { return RooCmdArg("SelectCompSpec",0,0,0,0,compSpec,0,0,0) ; }
  RooCmdArg Normalization(Double_t scaleFactor, RooAbsPdf::ScaleType scaleType) 
                                                   { return RooCmdArg("Normalization",scaleType,0,scaleFactor,0,0,0,0,0) ; }
  
  // RooAbsData::plotOn arguments
  RooCmdArg Cut(const char* cutSpec)              { return RooCmdArg("CutSpec",0,0,0,0,cutSpec,0,0,0) ; }
  RooCmdArg Cut(const RooFormulaVar& cutVar)      { return RooCmdArg("CutVar",0,0,0,0,0,0,&cutVar,0) ; }
  RooCmdArg Binning(const RooAbsBinning& binning) { return RooCmdArg("Binning",0,0,0,0,0,0,&binning,0) ;}
  RooCmdArg Binning(const char* binningName) { return RooCmdArg("BinningName",0,0,0,0,binningName,0,0,0) ;}
  RooCmdArg Binning(Int_t nBins, Double_t xlo, Double_t xhi) { return RooCmdArg("BinningSpec",nBins,0,xlo,xhi,0,0,0,0) ;}
  RooCmdArg MarkerStyle(Style_t style)            { return RooCmdArg("MarkerStyle",style,0,0,0,0,0,0,0) ; }
  RooCmdArg MarkerSize(Size_t size)               { return RooCmdArg("MarkerSize",0,0,size,0,0,0,0,0) ; }
  RooCmdArg MarkerColor(Color_t color)            { return RooCmdArg("MarkerColor",color,0,0,0,0,0,0,0) ; }
  RooCmdArg CutRange(const char* rangeName)       { return RooCmdArg("CutRange",0,0,0,0,rangeName,0,0,0) ; }
  RooCmdArg AddTo(const char* name)               { return RooCmdArg("AddTo",0,0,0,0,name,0,0,0) ; }
  RooCmdArg XErrorSize(Double_t width)            { return RooCmdArg("XErrorSize",0,0,width,0,0,0,0,0) ; }
  RooCmdArg RefreshNorm()                         { return RooCmdArg("RefreshNorm",1,0,0,0,0,0,0,0) ; }
  RooCmdArg Efficiency(const RooCategory& cat)    { return RooCmdArg("Efficiency",0,0,0,0,0,0,&cat,0) ; }

  // RooDataHist::ctor arguments
  RooCmdArg Weight(Double_t wgt)                  { return RooCmdArg("Weight",0,0,wgt,0,0,0,0,0) ; }
  RooCmdArg Index(RooCategory& icat)              { return RooCmdArg("IndexCat",0,0,0,0,0,0,&icat,0) ; }
  RooCmdArg Import(const char* state, TH1& histo) { return RooCmdArg("ImportHistoSlice",0,0,0,0,state,0,&histo,0) ; }
  RooCmdArg Import(TH1& histo)                    { return RooCmdArg("ImportHisto",0,0,0,0,0,0,&histo,0) ; }
  
  // RooDataSet::ctor arguments
  RooCmdArg WeightVar(const char* name)                 { return RooCmdArg("WeightVarName",0,0,0,0,name,0,0,0) ; }
  RooCmdArg WeightVar(const RooRealVar& arg)            { return RooCmdArg("WeightVar",0,0,0,0,0,0,&arg,0) ; }
  RooCmdArg Import(const char* state, RooDataSet& data) { return RooCmdArg("ImportDataSlice",0,0,0,0,state,0,&data,0) ; }
  RooCmdArg Import(RooDataSet& data)                    { return RooCmdArg("ImportData",0,0,0,0,0,0,&data,0) ; }
  RooCmdArg Import(TTree& tree)                         { return RooCmdArg("ImportTree",0,0,0,0,0,0,reinterpret_cast<TObject*>(&tree),0) ; }

  // RooChi2Var::ctor arguments
  RooCmdArg Extended(Bool_t flag) { return RooCmdArg("Extended",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg DataError(RooDataHist::ErrorType etype) { return RooCmdArg("DataError",(Int_t)etype,0,0,0,0,0,0,0) ; }
  RooCmdArg NumCPU(Int_t nCPU, Bool_t interleave)   { return RooCmdArg("NumCPU",nCPU,interleave,0,0,0,0,0,0) ; }
  
  // RooAbsCollection::printLatex arguments
  RooCmdArg Columns(Int_t ncol)                           { return RooCmdArg("Columns",ncol,0,0,0,0,0,0,0) ; }
  RooCmdArg OutputFile(const char* fileName)              { return RooCmdArg("OutputFile",0,0,0,0,fileName,0,0,0) ; }
  RooCmdArg Sibling(const RooAbsCollection& sibling)      { return RooCmdArg("Sibling",0,0,0,0,0,0,&sibling,0) ; }
  RooCmdArg Format(const char* format, Int_t sigDigit)    { return RooCmdArg("Format",sigDigit,0,0,0,format,0,0,0) ; }
  RooCmdArg Format(const char* what, const RooCmdArg& arg1,const RooCmdArg& arg2,const RooCmdArg& arg3,const RooCmdArg& arg4,
                   const RooCmdArg& arg5,const RooCmdArg& arg6,const RooCmdArg& arg7,const RooCmdArg& arg8) {
            RooCmdArg ret("FormatArgs",0,0,0,0,what,0,0,0) ; ret.addArg(arg1) ; ret.addArg(arg2) ; 
            ret.addArg(arg3) ; ret.addArg(arg4) ; ret.addArg(arg5) ; ret.addArg(arg6) ; ret.addArg(arg7) ; ret.addArg(arg8) ;
            ret.setProcessRecArgs(kFALSE) ; return ret ;
  }
  
  // RooAbsRealLValue::frame arguments
  RooCmdArg Title(const char* name) { return RooCmdArg("Title",0,0,0,0,name,0,0,0) ; }
  RooCmdArg Bins(Int_t nbin)        { return RooCmdArg("Bins",nbin,0,0,0,0,0,0,0) ; }
  RooCmdArg AutoSymRange(const RooAbsData& data, Double_t marginFactor) { return RooCmdArg("AutoRange",1,0,marginFactor,0,0,0,&data,0) ; }
  RooCmdArg AutoRange(const RooAbsData& data, Double_t marginFactor) { return RooCmdArg("AutoRange",0,0,marginFactor,0,0,0,&data,0) ; }
  
  // RooAbsData::reduce arguments
  RooCmdArg SelectVars(const RooArgSet& vars)     { return RooCmdArg("SelectVars",0,0,0,0,0,0,&vars,0) ; }
  RooCmdArg EventRange(Int_t nStart, Int_t nStop) { return RooCmdArg("EventRange",nStart,nStop,0,0,0,0,0,0) ; }
  
  // RooAbsPdf::fitTo arguments
  RooCmdArg FitOptions(const char* opts) { return RooCmdArg("FitOptions",0,0,0,0,opts,0,0,0) ; }
  RooCmdArg Optimize(Bool_t flag)        { return RooCmdArg("Optimize",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg Verbose(Bool_t flag)         { return RooCmdArg("Verbose",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg Save(Bool_t flag)            { return RooCmdArg("Save",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg Timer(Bool_t flag)           { return RooCmdArg("Timer",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg PrintLevel(Int_t level)      { return RooCmdArg("PrintLevel",level,0,0,0,0,0,0,0) ; }
  RooCmdArg Warnings(Bool_t flag)        { return RooCmdArg("Warnings",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg Strategy(Int_t code)         { return RooCmdArg("Strategy",code,0,0,0,0,0,0,0) ; }
  RooCmdArg InitialHesse(Bool_t flag)    { return RooCmdArg("InitialHesse",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg Hesse(Bool_t flag)           { return RooCmdArg("Hesse",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg Minos(Bool_t flag)           { return RooCmdArg("Minos",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg Minos(const RooArgSet& minosArgs)            { return RooCmdArg("Minos",kTRUE,0,0,0,0,0,&minosArgs,0) ; }
  RooCmdArg ConditionalObservables(const RooArgSet& set) { return RooCmdArg("ProjectedObservables",0,0,0,0,0,0,&set,0) ; }
  RooCmdArg ProjectedObservables(const RooArgSet& set)   { return RooCmdArg("ProjectedObservables",0,0,0,0,0,0,&set,0) ; }
  RooCmdArg SplitRange(Bool_t flag)                      { return RooCmdArg("SplitRange",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg SumCoefRange(const char* rangeName)          { return RooCmdArg("SumCoefRange",0,0,0,0,rangeName,0,0,0) ; }
  RooCmdArg Constrain(const RooArgSet& params)           { return RooCmdArg("Constrain",0,0,0,0,0,0,&params,0) ; }
  RooCmdArg ExternalConstraints(const RooArgSet& cpdfs)  { return RooCmdArg("ExternalConstraints",0,0,0,0,0,0,&cpdfs,0) ; }
  RooCmdArg PrintEvalErrors(Int_t numErrors)             { return RooCmdArg("PrintEvalErrors",numErrors,0,0,0,0,0,0,0) ; }
  RooCmdArg EvalErrorWall(Bool_t flag)                   { return RooCmdArg("EvalErrorWall",flag,0,0,0,0,0,0,0) ; }

  
  // RooAbsPdf::paramOn arguments
  RooCmdArg Label(const char* str) { return RooCmdArg("Label",0,0,0,0,str,0,0,0) ; }
  RooCmdArg Layout(Double_t xmin, Double_t xmax, Double_t ymin) { return RooCmdArg("Layout",Int_t(ymin*10000),0,xmin,xmax,0,0,0,0) ; }
  RooCmdArg Parameters(const RooArgSet& params) { return RooCmdArg("Parameters",0,0,0,0,0,0,&params,0) ; }
  RooCmdArg ShowConstants(Bool_t flag) { return RooCmdArg("ShowConstants",flag,0,0,0,0,0,0,0) ; }

  // RooTreeData::statOn arguments
  RooCmdArg What(const char* str) { return RooCmdArg("What",0,0,0,0,str,0,0,0) ; }

  // RooProdPdf::ctor arguments
  RooCmdArg Conditional(const RooArgSet& pdfSet, const RooArgSet& depSet) { return RooCmdArg("Conditional",0,0,0,0,0,0,&pdfSet,&depSet) ; } ;
  
  // RooAbsPdf::generate arguments
  RooCmdArg ProtoData(const RooDataSet& protoData, Bool_t randomizeOrder, Bool_t resample) 
                                         { return RooCmdArg("PrototypeData",randomizeOrder,resample,0,0,0,0,&protoData,0) ; }
  RooCmdArg NumEvents(Int_t numEvents)   { return RooCmdArg("NumEvents",numEvents,0,0,0,0,0,0,0) ; }
  
  // RooAbsRealLValue::createHistogram arguments
  RooCmdArg YVar(const RooAbsRealLValue& var, const RooCmdArg& arg)       { return RooCmdArg("YVar",0,0,0,0,0,0,&var,0,&arg) ; }
  RooCmdArg ZVar(const RooAbsRealLValue& var, const RooCmdArg& arg)       { return RooCmdArg("ZVar",0,0,0,0,0,0,&var,0,&arg) ; }
  RooCmdArg AxisLabel(const char* name)                                   { return RooCmdArg("AxisLabel",0,0,0,0,name,0,0,0) ; }
  RooCmdArg Scaling(Bool_t flag)                                          { return RooCmdArg("Scaling",flag,0,0,0,0,0,0,0) ; }

  // RooAbsData::createHistogram arguments
  RooCmdArg AutoSymBinning(Int_t nbins, Double_t marginFactor) { return RooCmdArg("AutoRangeData",1,nbins,marginFactor,0,0,0,0,0) ; }
  RooCmdArg AutoBinning(Int_t nbins, Double_t marginFactor) { return RooCmdArg("AutoRangeData",0,nbins,marginFactor,0,0,0,0,0) ; }

  // RooAbsReal::createIntegral arguments
  RooCmdArg NormSet(const RooArgSet& nset)           { return RooCmdArg("NormSet",0,0,0,0,0,0,&nset,0) ; }
  RooCmdArg NumIntConfig(const RooNumIntConfig& cfg) { return RooCmdArg("NumIntConfig",0,0,0,0,0,0,&cfg,0) ; }

  // RooMCStudy::ctor arguments
  RooCmdArg Silence(Bool_t flag) { return RooCmdArg("Silence",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg FitModel(RooAbsPdf& pdf) { return RooCmdArg("FitModel",0,0,0,0,0,0,&pdf,0) ; }
  RooCmdArg FitOptions(const RooCmdArg& arg1 ,const RooCmdArg& arg2, const RooCmdArg& arg3,
                       const RooCmdArg& arg4, const RooCmdArg& arg5, const RooCmdArg& arg6) {
             RooCmdArg ret("FitOptArgs",0,0,0,0,0,0,0,0) ; ret.addArg(arg1) ; ret.addArg(arg2) ; 
             ret.addArg(arg3) ; ret.addArg(arg4) ; ret.addArg(arg5) ; ret.addArg(arg6) ; 
             ret.setProcessRecArgs(kFALSE) ; return ret ; 
  }
  RooCmdArg Binned(Bool_t flag)               { return RooCmdArg("Binned",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg BootStrapData(const RooDataSet& dset) { return RooCmdArg("BootStrapData",0,0,0,0,0,0,&dset,0) ; }


  // RooMCStudy::plot* arguments
  RooCmdArg Frame(const RooCmdArg& arg1,const RooCmdArg& arg2,
                  const RooCmdArg& arg3,const RooCmdArg& arg4,
                  const RooCmdArg& arg5,const RooCmdArg& arg6) {
            RooCmdArg ret("FrameArgs",0,0,0,0,0,0,0,0) ; ret.addArg(arg1) ; ret.addArg(arg2) ; 
            ret.addArg(arg3) ; ret.addArg(arg4) ; ret.addArg(arg5) ; ret.addArg(arg6) ; 
            ret.setProcessRecArgs(kFALSE) ; return ret ;
  }
  RooCmdArg FrameBins(Int_t nbins)                 { return RooCmdArg("Bins",nbins,0,0,0,0,0,0,0) ; }
  RooCmdArg FrameRange(Double_t xlo, Double_t xhi) { return RooCmdArg("Range",0,0,xlo,xhi,0,0,0,0) ; }
  RooCmdArg FitGauss(Bool_t flag)                  { return RooCmdArg("FitGauss",flag,0,0,0,0,0,0,0) ; }

  // RooRealVar::format arguments
  RooCmdArg ShowName(Bool_t flag)             { return RooCmdArg("ShowName",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg ShowValue(Bool_t flag)            { return RooCmdArg("ShowValue",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg ShowError(Bool_t flag)            { return RooCmdArg("ShowError",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg ShowAsymError(Bool_t flag)        { return RooCmdArg("ShowAsymError",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg ShowUnit(Bool_t flag)             { return RooCmdArg("ShowUnit",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg AutoPrecision(Int_t ndigit)   { return RooCmdArg("AutoPrecision",ndigit,0,0,0,0,0,0,0) ; }
  RooCmdArg FixedPrecision(Int_t ndigit)  { return RooCmdArg("FixedPrecision",ndigit,0,0,0,0,0,0,0) ; }
  RooCmdArg TLatexStyle(Bool_t flag)      { return RooCmdArg("TLatexStyle",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg LatexStyle(Bool_t flag)       { return RooCmdArg("LatexStyle",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg LatexTableStyle(Bool_t flag)  { return RooCmdArg("LatexTableStyle",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg VerbatimName(Bool_t flag)     { return RooCmdArg("VerbatimName",flag,0,0,0,0,0,0,0) ; }

  // RooMsgService::addReportingStream arguments
  RooCmdArg Topic(Int_t topic)              { return RooCmdArg("Topic",topic,0,0,0,0,0,0,0) ; }
  RooCmdArg ObjectName(const char* name)    { return RooCmdArg("ObjectName",0,0,0,0,name,0,0,0) ; }
  RooCmdArg ClassName(const char* name)     { return RooCmdArg("ClassName",0,0,0,0,name,0,0,0) ; }
  RooCmdArg BaseClassName(const char* name) { return RooCmdArg("BaseClassName",0,0,0,0,name,0,0,0) ; }
  RooCmdArg TagName(const char* name)     { return RooCmdArg("LabelName",0,0,0,0,name,0,0,0) ; }
  RooCmdArg OutputStream(ostream& os)    { return RooCmdArg("FitModel",0,0,0,0,0,0,reinterpret_cast<TObject*>(&os),0) ; }
  RooCmdArg Prefix(Bool_t flag)          { return RooCmdArg("Prefix",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg Color(Color_t color)         { return RooCmdArg("Color",color,0,0,0,0,0,0,0) ; }


  // RooWorkspace::import() arguments
  RooCmdArg RenameConflictNodes(const char* suffix)         { return RooCmdArg("RenameConflictNodes",0,0,0,0,suffix,0,0,0) ; }
  RooCmdArg RecycleConflictNodes(Bool_t flag)               { return RooCmdArg("RecycleConflictNodes",flag,0,0,0,0,0,0,0) ; }
  RooCmdArg RenameAllNodes(const char* suffix)              { return RooCmdArg("RenameAllNodes",0,0,0,0,suffix,0,0,0) ; }
  RooCmdArg RenameAllVariables(const char* suffix)          { return RooCmdArg("RenameAllVariables",0,0,0,0,suffix,0,0,0) ; }
  RooCmdArg RenameVariable(const char* in, const char* out) { return RooCmdArg("RenameVar",0,0,0,0,in,out,0,0) ; }
  RooCmdArg RenameDataset(const char* suffix)               { return RooCmdArg("RenameDataset",0,0,0,0,suffix,0,0,0) ; }

  // RooSimCloneTool::build() arguments
  RooCmdArg SplitParam(const char* varname, const char* catname)         { return RooCmdArg("SplitParam",0,0,0,0,varname,catname,0,0) ; }
  RooCmdArg SplitParam(const RooRealVar& var, const RooAbsCategory& cat) { return RooCmdArg("SplitParam",0,0,0,0,var.GetName(),cat.GetName(),0,0) ; }
  RooCmdArg SplitParamConstrained(const char* varname, const char* catname, const char* rsname)        { return RooCmdArg("SplitParamConstrained",0,0,0,0,varname,catname,0,0,0,rsname) ; }
  RooCmdArg SplitParamConstrained(const RooRealVar& var, const RooAbsCategory& cat, const char* rsname) { return RooCmdArg("SplitParamConstrained",0,0,0,0,var.GetName(),cat.GetName(),0,0,0,rsname) ; }
  RooCmdArg Restrict(const char* catName, const char* stateNameList) { return RooCmdArg("Restrict",0,0,0,0,catName,stateNameList,0,0) ; }

  // RooAbsPdf::createCdf() arguments
  RooCmdArg SupNormSet(const RooArgSet& nset) { return RooCmdArg("SupNormSet",0,0,0,0,0,0,&nset,0) ; } 
  RooCmdArg ScanParameters(Int_t nbins,Int_t intOrder) { return RooCmdArg("ScanParameters",nbins,intOrder,0,0,0,0,0,0) ; }
  RooCmdArg ScanNumCdf() { return RooCmdArg("ScanNumCdf",1,0,0,0,0,0,0,0) ; }
  RooCmdArg ScanAllCdf() { return RooCmdArg("ScanAllCdf",1,0,0,0,0,0,0,0) ; }
  RooCmdArg ScanNoCdf() { return RooCmdArg("ScanNoCdf",1,0,0,0,0,0,0,0) ; }

  RooConstVar& RooConst(Double_t val) { return RooRealConstant::value(val) ; }

 
} // End namespace RooFit

namespace RooFitShortHand {

RooArgSet S(const RooAbsArg& v1) { return RooArgSet(v1) ; }
RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2) { return RooArgSet(v1,v2) ; }
RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3) { return RooArgSet(v1,v2,v3) ; }
RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4) { return RooArgSet(v1,v2,v3,v4) ; }
RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5) 
          { return RooArgSet(v1,v2,v3,v4,v5) ; }
RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5, 
            const RooAbsArg& v6) { return RooArgSet(v1,v2,v3,v4,v5,v6) ; }
RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5, 
            const RooAbsArg& v6, const RooAbsArg& v7) { return RooArgSet(v1,v2,v3,v4,v5,v6,v7) ; }
RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5, 
            const RooAbsArg& v6, const RooAbsArg& v7, const RooAbsArg& v8) { return RooArgSet(v1,v2,v3,v4,v5,v6,v7,v8) ; }
RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5, 
            const RooAbsArg& v6, const RooAbsArg& v7, const RooAbsArg& v8, const RooAbsArg& v9) 
          { return RooArgSet(v1,v2,v3,v4,v5,v6,v7,v8,v9) ; }

RooArgList L(const RooAbsArg& v1) { return RooArgList(v1) ; }
RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2) { return RooArgList(v1,v2) ; }
RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3) { return RooArgList(v1,v2,v3) ; }
RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4) { return RooArgList(v1,v2,v3,v4) ; }
RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5) 
           { return RooArgList(v1,v2,v3,v4,v5) ; }
RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5, 
             const RooAbsArg& v6) { return RooArgList(v1,v2,v3,v4,v5,v6) ; }
RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5, 
             const RooAbsArg& v6, const RooAbsArg& v7) { return RooArgList(v1,v2,v3,v4,v5,v6,v7) ; }
RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5, 
             const RooAbsArg& v6, const RooAbsArg& v7, const RooAbsArg& v8) { return RooArgList(v1,v2,v3,v4,v5,v6,v7,v8) ; }
RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5, 
             const RooAbsArg& v6, const RooAbsArg& v7, const RooAbsArg& v8, const RooAbsArg& v9) 
           { return RooArgList(v1,v2,v3,v4,v5,v6,v7,v8,v9) ; }

RooConstVar& C(Double_t value) { return RooFit::RooConst(value) ; }

} // End namespace Shorthand

 RooGlobalFunc.cxx:1
 RooGlobalFunc.cxx:2
 RooGlobalFunc.cxx:3
 RooGlobalFunc.cxx:4
 RooGlobalFunc.cxx:5
 RooGlobalFunc.cxx:6
 RooGlobalFunc.cxx:7
 RooGlobalFunc.cxx:8
 RooGlobalFunc.cxx:9
 RooGlobalFunc.cxx:10
 RooGlobalFunc.cxx:11
 RooGlobalFunc.cxx:12
 RooGlobalFunc.cxx:13
 RooGlobalFunc.cxx:14
 RooGlobalFunc.cxx:15
 RooGlobalFunc.cxx:16
 RooGlobalFunc.cxx:17
 RooGlobalFunc.cxx:18
 RooGlobalFunc.cxx:19
 RooGlobalFunc.cxx:20
 RooGlobalFunc.cxx:21
 RooGlobalFunc.cxx:22
 RooGlobalFunc.cxx:23
 RooGlobalFunc.cxx:24
 RooGlobalFunc.cxx:25
 RooGlobalFunc.cxx:26
 RooGlobalFunc.cxx:27
 RooGlobalFunc.cxx:28
 RooGlobalFunc.cxx:29
 RooGlobalFunc.cxx:30
 RooGlobalFunc.cxx:31
 RooGlobalFunc.cxx:32
 RooGlobalFunc.cxx:33
 RooGlobalFunc.cxx:34
 RooGlobalFunc.cxx:35
 RooGlobalFunc.cxx:36
 RooGlobalFunc.cxx:37
 RooGlobalFunc.cxx:38
 RooGlobalFunc.cxx:39
 RooGlobalFunc.cxx:40
 RooGlobalFunc.cxx:41
 RooGlobalFunc.cxx:42
 RooGlobalFunc.cxx:43
 RooGlobalFunc.cxx:44
 RooGlobalFunc.cxx:45
 RooGlobalFunc.cxx:46
 RooGlobalFunc.cxx:47
 RooGlobalFunc.cxx:48
 RooGlobalFunc.cxx:49
 RooGlobalFunc.cxx:50
 RooGlobalFunc.cxx:51
 RooGlobalFunc.cxx:52
 RooGlobalFunc.cxx:53
 RooGlobalFunc.cxx:54
 RooGlobalFunc.cxx:55
 RooGlobalFunc.cxx:56
 RooGlobalFunc.cxx:57
 RooGlobalFunc.cxx:58
 RooGlobalFunc.cxx:59
 RooGlobalFunc.cxx:60
 RooGlobalFunc.cxx:61
 RooGlobalFunc.cxx:62
 RooGlobalFunc.cxx:63
 RooGlobalFunc.cxx:64
 RooGlobalFunc.cxx:65
 RooGlobalFunc.cxx:66
 RooGlobalFunc.cxx:67
 RooGlobalFunc.cxx:68
 RooGlobalFunc.cxx:69
 RooGlobalFunc.cxx:70
 RooGlobalFunc.cxx:71
 RooGlobalFunc.cxx:72
 RooGlobalFunc.cxx:73
 RooGlobalFunc.cxx:74
 RooGlobalFunc.cxx:75
 RooGlobalFunc.cxx:76
 RooGlobalFunc.cxx:77
 RooGlobalFunc.cxx:78
 RooGlobalFunc.cxx:79
 RooGlobalFunc.cxx:80
 RooGlobalFunc.cxx:81
 RooGlobalFunc.cxx:82
 RooGlobalFunc.cxx:83
 RooGlobalFunc.cxx:84
 RooGlobalFunc.cxx:85
 RooGlobalFunc.cxx:86
 RooGlobalFunc.cxx:87
 RooGlobalFunc.cxx:88
 RooGlobalFunc.cxx:89
 RooGlobalFunc.cxx:90
 RooGlobalFunc.cxx:91
 RooGlobalFunc.cxx:92
 RooGlobalFunc.cxx:93
 RooGlobalFunc.cxx:94
 RooGlobalFunc.cxx:95
 RooGlobalFunc.cxx:96
 RooGlobalFunc.cxx:97
 RooGlobalFunc.cxx:98
 RooGlobalFunc.cxx:99
 RooGlobalFunc.cxx:100
 RooGlobalFunc.cxx:101
 RooGlobalFunc.cxx:102
 RooGlobalFunc.cxx:103
 RooGlobalFunc.cxx:104
 RooGlobalFunc.cxx:105
 RooGlobalFunc.cxx:106
 RooGlobalFunc.cxx:107
 RooGlobalFunc.cxx:108
 RooGlobalFunc.cxx:109
 RooGlobalFunc.cxx:110
 RooGlobalFunc.cxx:111
 RooGlobalFunc.cxx:112
 RooGlobalFunc.cxx:113
 RooGlobalFunc.cxx:114
 RooGlobalFunc.cxx:115
 RooGlobalFunc.cxx:116
 RooGlobalFunc.cxx:117
 RooGlobalFunc.cxx:118
 RooGlobalFunc.cxx:119
 RooGlobalFunc.cxx:120
 RooGlobalFunc.cxx:121
 RooGlobalFunc.cxx:122
 RooGlobalFunc.cxx:123
 RooGlobalFunc.cxx:124
 RooGlobalFunc.cxx:125
 RooGlobalFunc.cxx:126
 RooGlobalFunc.cxx:127
 RooGlobalFunc.cxx:128
 RooGlobalFunc.cxx:129
 RooGlobalFunc.cxx:130
 RooGlobalFunc.cxx:131
 RooGlobalFunc.cxx:132
 RooGlobalFunc.cxx:133
 RooGlobalFunc.cxx:134
 RooGlobalFunc.cxx:135
 RooGlobalFunc.cxx:136
 RooGlobalFunc.cxx:137
 RooGlobalFunc.cxx:138
 RooGlobalFunc.cxx:139
 RooGlobalFunc.cxx:140
 RooGlobalFunc.cxx:141
 RooGlobalFunc.cxx:142
 RooGlobalFunc.cxx:143
 RooGlobalFunc.cxx:144
 RooGlobalFunc.cxx:145
 RooGlobalFunc.cxx:146
 RooGlobalFunc.cxx:147
 RooGlobalFunc.cxx:148
 RooGlobalFunc.cxx:149
 RooGlobalFunc.cxx:150
 RooGlobalFunc.cxx:151
 RooGlobalFunc.cxx:152
 RooGlobalFunc.cxx:153
 RooGlobalFunc.cxx:154
 RooGlobalFunc.cxx:155
 RooGlobalFunc.cxx:156
 RooGlobalFunc.cxx:157
 RooGlobalFunc.cxx:158
 RooGlobalFunc.cxx:159
 RooGlobalFunc.cxx:160
 RooGlobalFunc.cxx:161
 RooGlobalFunc.cxx:162
 RooGlobalFunc.cxx:163
 RooGlobalFunc.cxx:164
 RooGlobalFunc.cxx:165
 RooGlobalFunc.cxx:166
 RooGlobalFunc.cxx:167
 RooGlobalFunc.cxx:168
 RooGlobalFunc.cxx:169
 RooGlobalFunc.cxx:170
 RooGlobalFunc.cxx:171
 RooGlobalFunc.cxx:172
 RooGlobalFunc.cxx:173
 RooGlobalFunc.cxx:174
 RooGlobalFunc.cxx:175
 RooGlobalFunc.cxx:176
 RooGlobalFunc.cxx:177
 RooGlobalFunc.cxx:178
 RooGlobalFunc.cxx:179
 RooGlobalFunc.cxx:180
 RooGlobalFunc.cxx:181
 RooGlobalFunc.cxx:182
 RooGlobalFunc.cxx:183
 RooGlobalFunc.cxx:184
 RooGlobalFunc.cxx:185
 RooGlobalFunc.cxx:186
 RooGlobalFunc.cxx:187
 RooGlobalFunc.cxx:188
 RooGlobalFunc.cxx:189
 RooGlobalFunc.cxx:190
 RooGlobalFunc.cxx:191
 RooGlobalFunc.cxx:192
 RooGlobalFunc.cxx:193
 RooGlobalFunc.cxx:194
 RooGlobalFunc.cxx:195
 RooGlobalFunc.cxx:196
 RooGlobalFunc.cxx:197
 RooGlobalFunc.cxx:198
 RooGlobalFunc.cxx:199
 RooGlobalFunc.cxx:200
 RooGlobalFunc.cxx:201
 RooGlobalFunc.cxx:202
 RooGlobalFunc.cxx:203
 RooGlobalFunc.cxx:204
 RooGlobalFunc.cxx:205
 RooGlobalFunc.cxx:206
 RooGlobalFunc.cxx:207
 RooGlobalFunc.cxx:208
 RooGlobalFunc.cxx:209
 RooGlobalFunc.cxx:210
 RooGlobalFunc.cxx:211
 RooGlobalFunc.cxx:212
 RooGlobalFunc.cxx:213
 RooGlobalFunc.cxx:214
 RooGlobalFunc.cxx:215
 RooGlobalFunc.cxx:216
 RooGlobalFunc.cxx:217
 RooGlobalFunc.cxx:218
 RooGlobalFunc.cxx:219
 RooGlobalFunc.cxx:220
 RooGlobalFunc.cxx:221
 RooGlobalFunc.cxx:222
 RooGlobalFunc.cxx:223
 RooGlobalFunc.cxx:224
 RooGlobalFunc.cxx:225
 RooGlobalFunc.cxx:226
 RooGlobalFunc.cxx:227
 RooGlobalFunc.cxx:228
 RooGlobalFunc.cxx:229
 RooGlobalFunc.cxx:230
 RooGlobalFunc.cxx:231
 RooGlobalFunc.cxx:232
 RooGlobalFunc.cxx:233
 RooGlobalFunc.cxx:234
 RooGlobalFunc.cxx:235
 RooGlobalFunc.cxx:236
 RooGlobalFunc.cxx:237
 RooGlobalFunc.cxx:238
 RooGlobalFunc.cxx:239
 RooGlobalFunc.cxx:240
 RooGlobalFunc.cxx:241
 RooGlobalFunc.cxx:242
 RooGlobalFunc.cxx:243
 RooGlobalFunc.cxx:244
 RooGlobalFunc.cxx:245
 RooGlobalFunc.cxx:246
 RooGlobalFunc.cxx:247
 RooGlobalFunc.cxx:248
 RooGlobalFunc.cxx:249
 RooGlobalFunc.cxx:250
 RooGlobalFunc.cxx:251
 RooGlobalFunc.cxx:252
 RooGlobalFunc.cxx:253
 RooGlobalFunc.cxx:254
 RooGlobalFunc.cxx:255
 RooGlobalFunc.cxx:256
 RooGlobalFunc.cxx:257
 RooGlobalFunc.cxx:258
 RooGlobalFunc.cxx:259
 RooGlobalFunc.cxx:260
 RooGlobalFunc.cxx:261
 RooGlobalFunc.cxx:262
 RooGlobalFunc.cxx:263
 RooGlobalFunc.cxx:264
 RooGlobalFunc.cxx:265
 RooGlobalFunc.cxx:266
 RooGlobalFunc.cxx:267
 RooGlobalFunc.cxx:268
 RooGlobalFunc.cxx:269
 RooGlobalFunc.cxx:270
 RooGlobalFunc.cxx:271
 RooGlobalFunc.cxx:272
 RooGlobalFunc.cxx:273
 RooGlobalFunc.cxx:274
 RooGlobalFunc.cxx:275
 RooGlobalFunc.cxx:276
 RooGlobalFunc.cxx:277
 RooGlobalFunc.cxx:278
 RooGlobalFunc.cxx:279
 RooGlobalFunc.cxx:280
 RooGlobalFunc.cxx:281
 RooGlobalFunc.cxx:282
 RooGlobalFunc.cxx:283
 RooGlobalFunc.cxx:284
 RooGlobalFunc.cxx:285
 RooGlobalFunc.cxx:286
 RooGlobalFunc.cxx:287
 RooGlobalFunc.cxx:288
 RooGlobalFunc.cxx:289
 RooGlobalFunc.cxx:290
 RooGlobalFunc.cxx:291