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 {};