RooGlobalFunc.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002  * Project: RooFit                                                           *
00003  * Package: RooFitCore                                                       *
00004  *    File: $Id: RooGlobalFunc.h,v 1.14 2007/07/16 21:04:28 wouter Exp $
00005  * Authors:                                                                  *
00006  *   WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu       *
00007  *   DK, David Kirkby,    UC Irvine,         dkirkby@uci.edu                 *
00008  *                                                                           *
00009  * Copyright (c) 2000-2005, Regents of the University of California          *
00010  *                          and Stanford University. All rights reserved.    *
00011  *                                                                           *
00012  * Redistribution and use in source and binary forms,                        *
00013  * with or without modification, are permitted according to the terms        *
00014  * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
00015  *****************************************************************************/
00016 #ifndef ROO_GLOBAL_FUNC
00017 #define ROO_GLOBAL_FUNC
00018 
00019 #include "RooCmdArg.h"
00020 #include <map>
00021 #include <string>
00022 //#include "RooDataHist.h"
00023 //#include "RooAbsPdf.h"
00024 //#include "RooRealConstant.h"
00025 //#include "RooMsgService.h"
00026 
00027 class RooDataHist ;
00028 class RooDataSet ;
00029 class RooFitResult ;
00030 class RooAbsPdf ;
00031 class RooAbsRealLValue ;
00032 class RooRealConstant ;
00033 class RooMsgService ;
00034 class RooFormulaVar ;
00035 class RooAbsData ;
00036 class RooArgSet ;
00037 class RooCategory ;
00038 class RooAbsReal ;
00039 class RooAbsBinning ;
00040 class RooAbsCollection ;
00041 class RooAbsPdf ;
00042 class RooConstVar ;
00043 class RooRealVar ;
00044 class RooAbsCategory ;
00045 class RooNumIntConfig ;
00046 class RooArgList ;
00047 class RooAbsCollection ;
00048 class TH1 ;
00049 class TF1 ;
00050 class TF2 ;
00051 class TF3 ;
00052 class TTree ;
00053 
00054 namespace RooFit {
00055 
00056 enum MsgLevel { DEBUG=0, INFO=1, PROGRESS=2, WARNING=3, ERROR=4, FATAL=5 } ;
00057 enum MsgTopic { Generation=1, Minimization=2, Plotting=4, Fitting=8, Integration=16, LinkStateMgmt=32, 
00058          Eval=64, Caching=128, Optimization=256, ObjectHandling=512, InputArguments=1024, Tracing=2048, 
00059          Contents=4096, DataHandling=8192, NumIntegration=16384 } ;
00060 
00061 // RooAbsReal::plotOn arguments
00062 RooCmdArg DrawOption(const char* opt) ;
00063 RooCmdArg Normalization(Double_t scaleFactor) ;
00064 RooCmdArg Slice(const RooArgSet& sliceSet) ;
00065 RooCmdArg Slice(RooCategory& cat, const char* label) ;
00066 RooCmdArg Project(const RooArgSet& projSet) ;
00067 RooCmdArg ProjWData(const RooAbsData& projData, Bool_t binData=kFALSE) ;
00068 RooCmdArg ProjWData(const RooArgSet& projSet, const RooAbsData& projData, Bool_t binData=kFALSE) ;
00069 RooCmdArg Asymmetry(const RooCategory& cat) ;
00070 RooCmdArg Precision(Double_t prec) ;
00071 RooCmdArg ShiftToZero() ;
00072 RooCmdArg Range(const char* rangeName, Bool_t adjustNorm=kTRUE) ;
00073 RooCmdArg Range(Double_t lo, Double_t hi, Bool_t adjustNorm=kTRUE) ;
00074 RooCmdArg NormRange(const char* rangeNameList) ;
00075 RooCmdArg VLines() ;
00076 RooCmdArg LineColor(Color_t color) ;
00077 RooCmdArg LineStyle(Style_t style) ;
00078 RooCmdArg LineWidth(Width_t width) ;
00079 RooCmdArg FillColor(Color_t color) ;
00080 RooCmdArg FillStyle(Style_t style) ;
00081 RooCmdArg ProjectionRange(const char* rangeName) ;
00082 RooCmdArg Name(const char* name) ;
00083 RooCmdArg Invisible() ;
00084 RooCmdArg AddTo(const char* name, double wgtSel=1.0, double wgtOther=1.0) ;
00085 RooCmdArg EvalErrorValue(Double_t value) ;
00086 RooCmdArg MoveToBack()  ;
00087 RooCmdArg VisualizeError(const RooDataSet& paramData, Double_t Z=1) ;
00088 RooCmdArg VisualizeError(const RooFitResult& fitres, Double_t Z=1, Bool_t linearMethod=kTRUE) ;
00089 RooCmdArg VisualizeError(const RooFitResult& fitres, const RooArgSet& param, Double_t Z=1, Bool_t linearMethod=kTRUE) ;
00090 RooCmdArg ShowProgress() ;
00091 
00092 // RooAbsPdf::plotOn arguments
00093 RooCmdArg Normalization(Double_t scaleFactor, Int_t scaleType) ;
00094 RooCmdArg Components(const RooArgSet& compSet) ;
00095 RooCmdArg Components(const char* compSpec) ;
00096 
00097 // RooAbsData::plotOn arguments
00098 RooCmdArg Cut(const char* cutSpec) ;
00099 RooCmdArg Cut(const RooFormulaVar& cutVar) ;
00100 RooCmdArg Binning(const RooAbsBinning& binning) ;
00101 RooCmdArg Binning(const char* binningName) ;
00102 RooCmdArg Binning(Int_t nBins, Double_t xlo=0., Double_t xhi=0.) ;
00103 RooCmdArg MarkerStyle(Style_t style) ;
00104 RooCmdArg MarkerSize(Size_t size) ;
00105 RooCmdArg MarkerColor(Color_t color) ;
00106 RooCmdArg CutRange(const char* rangeName) ;
00107 RooCmdArg XErrorSize(Double_t width) ;
00108 RooCmdArg RefreshNorm() ;
00109 RooCmdArg Efficiency(const RooCategory& cat) ;
00110 RooCmdArg Rescale(Double_t factor) ;
00111 
00112 // RooDataHist::ctor arguments
00113 RooCmdArg Weight(Double_t wgt) ;
00114 RooCmdArg Index(RooCategory& icat) ;
00115 RooCmdArg Import(const char* state, TH1& histo) ;
00116 RooCmdArg Import(const std::map<std::string,TH1*>&) ;
00117 RooCmdArg Import(const char* state, RooDataHist& dhist) ;
00118 RooCmdArg Import(const std::map<std::string,RooDataHist*>&) ;
00119 RooCmdArg Import(TH1& histo, Bool_t importDensity=kTRUE) ;
00120 
00121 // RooDataSet::ctor arguments
00122 RooCmdArg WeightVar(const char* name) ;
00123 RooCmdArg WeightVar(const RooRealVar& arg) ;
00124 RooCmdArg Import(const char* state, RooDataSet& data) ;
00125 RooCmdArg Import(const std::map<std::string,RooDataSet*>& ) ;
00126 RooCmdArg Link(const char* state, RooAbsData& data) ;
00127 RooCmdArg Link(const std::map<std::string,RooAbsData*>&) ;
00128 RooCmdArg Import(RooDataSet& data) ;
00129 RooCmdArg Import(TTree& tree) ;
00130 RooCmdArg ImportFromFile(const char* fname, const char* tname) ;
00131 RooCmdArg StoreError(const RooArgSet& aset) ; 
00132 RooCmdArg StoreAsymError(const RooArgSet& aset) ; 
00133 
00134 // RooChi2Var::ctor arguments
00135 RooCmdArg Extended(Bool_t flag=kTRUE) ;
00136 RooCmdArg DataError(Int_t) ;
00137 RooCmdArg NumCPU(Int_t nCPU, Bool_t interleave=kFALSE) ;
00138 
00139 // RooAbsPdf::printLatex arguments
00140 RooCmdArg Columns(Int_t ncol) ;
00141 RooCmdArg OutputFile(const char* fileName) ;
00142 RooCmdArg Format(const char* format, Int_t sigDigit) ;
00143 RooCmdArg Format(const char* what, const RooCmdArg& arg1=RooCmdArg::none(), const RooCmdArg& arg2=RooCmdArg::none(),
00144                  const RooCmdArg& arg3=RooCmdArg::none(),const RooCmdArg& arg4=RooCmdArg::none(),
00145                  const RooCmdArg& arg5=RooCmdArg::none(),const RooCmdArg& arg6=RooCmdArg::none(),
00146                  const RooCmdArg& arg7=RooCmdArg::none(),const RooCmdArg& arg8=RooCmdArg::none()) ;
00147 RooCmdArg Sibling(const RooAbsCollection& sibling) ;
00148 
00149 // RooAbsRealLValue::frame arguments
00150 RooCmdArg Title(const char* name) ;
00151 RooCmdArg Bins(Int_t nbin) ;
00152 RooCmdArg AutoSymRange(const RooAbsData& data, Double_t marginFactor=0.1) ;
00153 RooCmdArg AutoRange(const RooAbsData& data, Double_t marginFactor=0.1) ;
00154 
00155 // RooAbsData::createHistogram arguments
00156 RooCmdArg AutoSymBinning(Int_t nbins=100, Double_t marginFactor=0.1) ; 
00157 RooCmdArg AutoBinning(Int_t nbins=100, Double_t marginFactor=0.1) ;
00158 
00159 // RooAbsReal::fillHistogram arguments
00160 RooCmdArg IntegratedObservables(const RooArgSet& intObs) ;
00161 
00162 // RooAbsData::reduce arguments
00163 RooCmdArg SelectVars(const RooArgSet& vars) ;
00164 RooCmdArg EventRange(Int_t nStart, Int_t nStop) ;
00165 
00166 // RooAbsPdf::fitTo arguments
00167 RooCmdArg FitOptions(const char* opts) ;
00168 RooCmdArg Optimize(Bool_t flag=kTRUE) ;
00169 RooCmdArg ProjectedObservables(const RooArgSet& set) ; // obsolete, for backward compatibility
00170 RooCmdArg ConditionalObservables(const RooArgSet& set) ;
00171 RooCmdArg Verbose(Bool_t flag=kTRUE) ;
00172 RooCmdArg Save(Bool_t flag=kTRUE) ;
00173 RooCmdArg Timer(Bool_t flag=kTRUE) ;
00174 RooCmdArg PrintLevel(Int_t code) ;
00175 RooCmdArg Warnings(Bool_t flag=kTRUE) ; 
00176 RooCmdArg Strategy(Int_t code) ;
00177 RooCmdArg InitialHesse(Bool_t flag=kTRUE) ;
00178 RooCmdArg Hesse(Bool_t flag=kTRUE) ;
00179 RooCmdArg Minos(Bool_t flag=kTRUE) ;
00180 RooCmdArg Minos(const RooArgSet& minosArgs) ;
00181 RooCmdArg SplitRange(Bool_t flag=kTRUE) ;
00182 RooCmdArg SumCoefRange(const char* rangeName) ;
00183 RooCmdArg Constrain(const RooArgSet& params) ;
00184 RooCmdArg Constrained() ;
00185 RooCmdArg ExternalConstraints(const RooArgSet& constraintPdfs) ;
00186 RooCmdArg PrintEvalErrors(Int_t numErrors) ;
00187 RooCmdArg EvalErrorWall(Bool_t flag) ;
00188 RooCmdArg SumW2Error(Bool_t flag) ;
00189 RooCmdArg CloneData(Bool_t flag) ;
00190 RooCmdArg Integrate(Bool_t flag) ;
00191 RooCmdArg Minimizer(const char* type, const char* alg=0) ;
00192 
00193 // RooAbsPdf::paramOn arguments
00194 RooCmdArg Label(const char* str) ;
00195 RooCmdArg Layout(Double_t xmin, Double_t xmax=0.99, Double_t ymin=0.95) ;
00196 RooCmdArg Parameters(const RooArgSet& params) ;
00197 RooCmdArg ShowConstants(Bool_t flag=kTRUE) ;
00198 
00199 // RooTreeData::statOn arguments
00200 RooCmdArg What(const char* str) ;
00201 
00202 // RooProdPdf::ctor arguments
00203 RooCmdArg Conditional(const RooArgSet& pdfSet, const RooArgSet& depSet, Bool_t depsAreCond=kFALSE) ;
00204 
00205 // RooAbsPdf::generate arguments
00206 RooCmdArg ProtoData(const RooDataSet& protoData, Bool_t randomizeOrder=kFALSE, Bool_t resample=kFALSE) ;
00207 RooCmdArg NumEvents(Int_t numEvents) ;
00208 RooCmdArg NumEvents(Double_t numEvents) ;
00209 RooCmdArg ExpectedData(Bool_t flag=kTRUE) ; 
00210 RooCmdArg Asimov(Bool_t flag=kTRUE) ; 
00211 
00212 // RooAbsRealLValue::createHistogram arguments
00213 RooCmdArg YVar(const RooAbsRealLValue& var, const RooCmdArg& arg=RooCmdArg::none()) ;
00214 RooCmdArg ZVar(const RooAbsRealLValue& var, const RooCmdArg& arg=RooCmdArg::none()) ;
00215 RooCmdArg AxisLabel(const char* name) ;
00216 RooCmdArg Scaling(Bool_t flag) ; 
00217 
00218 // RooAbsReal::createIntegral arguments
00219 RooCmdArg NormSet(const RooArgSet& nset) ;
00220 RooCmdArg NumIntConfig(const RooNumIntConfig& cfg) ;
00221 
00222 // RooMCStudy::ctor arguments
00223 RooCmdArg Silence(Bool_t flag=kTRUE) ;
00224 RooCmdArg FitModel(RooAbsPdf& pdf) ;
00225 RooCmdArg FitOptions(const RooCmdArg& arg1                ,const RooCmdArg& arg2=RooCmdArg::none(),
00226                      const RooCmdArg& arg3=RooCmdArg::none(),const RooCmdArg& arg4=RooCmdArg::none(),
00227                      const RooCmdArg& arg5=RooCmdArg::none(),const RooCmdArg& arg6=RooCmdArg::none()) ;
00228 RooCmdArg Binned(Bool_t flag=kTRUE) ;
00229 
00230 // RooMCStudy::plot* arguments
00231 RooCmdArg Frame(const RooCmdArg& arg1                ,const RooCmdArg& arg2=RooCmdArg::none(),
00232                 const RooCmdArg& arg3=RooCmdArg::none(),const RooCmdArg& arg4=RooCmdArg::none(),
00233                 const RooCmdArg& arg5=RooCmdArg::none(),const RooCmdArg& arg6=RooCmdArg::none()) ;
00234 RooCmdArg FrameBins(Int_t nbins) ;
00235 RooCmdArg FrameRange(Double_t xlo, Double_t xhi) ;
00236 RooCmdArg FitGauss(Bool_t flag=kTRUE) ;
00237 
00238 // RooRealVar::format arguments
00239 RooCmdArg AutoPrecision(Int_t ndigit=2) ;
00240 RooCmdArg FixedPrecision(Int_t ndigit=2) ;
00241 RooCmdArg TLatexStyle(Bool_t flag=kTRUE) ;
00242 RooCmdArg LatexStyle(Bool_t flag=kTRUE) ;
00243 RooCmdArg LatexTableStyle(Bool_t flag=kTRUE) ;
00244 RooCmdArg VerbatimName(Bool_t flag=kTRUE) ;
00245 
00246 // RooMsgService::addReportingStream arguments
00247 RooCmdArg Topic(Int_t topic) ;
00248 RooCmdArg ObjectName(const char* name) ;
00249 RooCmdArg ClassName(const char* name) ;
00250 RooCmdArg BaseClassName(const char* name) ;
00251 RooCmdArg TagName(const char* name) ;
00252 RooCmdArg OutputStream(ostream& os) ;
00253 RooCmdArg Prefix(Bool_t flag) ;
00254 RooCmdArg Color(Color_t color) ;
00255 
00256 
00257 // RooWorkspace::import() arguments
00258 RooCmdArg RenameConflictNodes(const char* suffix) ;
00259 RooCmdArg RenameAllNodes(const char* suffix) ; 
00260 RooCmdArg RenameAllVariables(const char* suffix) ; 
00261 RooCmdArg RenameAllVariablesExcept(const char* suffix,const char* exceptionList) ; 
00262 RooCmdArg RenameVariable(const char* inputName, const char* outputName) ;
00263 RooCmdArg Rename(const char* suffix) ;
00264 RooCmdArg RecycleConflictNodes(Bool_t flag=kTRUE) ;
00265 
00266 // RooSimCloneTool::build() arguments
00267 RooCmdArg SplitParam(const char* varname, const char* catname) ;
00268 RooCmdArg SplitParam(const RooRealVar& var, const RooAbsCategory& cat) ;
00269 RooCmdArg SplitParamConstrained(const char* varname, const char* catname, const char* rsname) ;
00270 RooCmdArg SplitParamConstrained(const RooRealVar& var, const RooAbsCategory& cat, const char* rsname) ;
00271 RooCmdArg Restrict(const char* catName, const char* stateNameList) ;
00272 
00273 // RooAbsPdf::createCdf() arguments
00274 RooCmdArg SupNormSet(const RooArgSet& nset) ; 
00275 RooCmdArg ScanParameters(Int_t nbins,Int_t intOrder) ;
00276 RooCmdArg ScanNumCdf() ;
00277 RooCmdArg ScanAllCdf() ;
00278 RooCmdArg ScanNoCdf() ;
00279 
00280 RooConstVar& RooConst(Double_t val) ; 
00281 
00282 
00283 }
00284 
00285 namespace RooFitShortHand {
00286 
00287 RooArgSet S(const RooAbsArg& v1) ;
00288 RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2) ;
00289 RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3) ;
00290 RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4) ;
00291 RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5) ;
00292 RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5, 
00293             const RooAbsArg& v6) ;
00294 RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5, 
00295             const RooAbsArg& v6, const RooAbsArg& v7) ;
00296 RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5, 
00297             const RooAbsArg& v6, const RooAbsArg& v7, const RooAbsArg& v8) ;
00298 RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5, 
00299             const RooAbsArg& v6, const RooAbsArg& v7, const RooAbsArg& v8, const RooAbsArg& v9) ;
00300 
00301 RooArgList L(const RooAbsArg& v1) ;
00302 RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2) ;
00303 RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3) ;
00304 RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4) ;
00305 RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5) ;
00306 RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5, 
00307              const RooAbsArg& v6) ;
00308 RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5, 
00309              const RooAbsArg& v6, const RooAbsArg& v7) ;
00310 RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5, 
00311              const RooAbsArg& v6, const RooAbsArg& v7, const RooAbsArg& v8) ;
00312 RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5, 
00313              const RooAbsArg& v6, const RooAbsArg& v7, const RooAbsArg& v8, const RooAbsArg& v9) ;
00314 
00315 RooConstVar& C(Double_t value) ;
00316 
00317 } // End namespace ShortHand
00318 
00319 class RooGlobalFunc {};
00320 
00321 #endif

Generated on Tue Jul 5 14:26:11 2011 for ROOT_528-00b_version by  doxygen 1.5.1