Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooNumGenConfig.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Project: RooFit *
3 * Package: RooFitCore *
4 * File: $Id$
5 * Authors: *
6 * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7 * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8 * *
9 * Copyright (c) 2000-2005, Regents of the University of California *
10 * and Stanford University. All rights reserved. *
11 * *
12 * Redistribution and use in source and binary forms, *
13 * with or without modification, are permitted according to the terms *
14 * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15 *****************************************************************************/
16#ifndef ROO_NUM_GEN_CONFIG
17#define ROO_NUM_GEN_CONFIG
18
19#include "TObject.h"
20#include "RooCategory.h"
21#include "RooLinkedList.h"
22class RooNumGenFactory ;
24
25class RooNumGenConfig : public TObject, public RooPrintable {
26public:
27
29 RooNumGenConfig(const RooNumGenConfig& other) ;
31 ~RooNumGenConfig() override;
32
33 // Return selected integration techniques for 1,2,N dimensional integrals
34 RooCategory& method1D(bool cond, bool cat) ;
35 RooCategory& method2D(bool cond, bool cat) ;
36 RooCategory& methodND(bool cond, bool cat) ;
37 const RooCategory& method1D(bool cond, bool cat) const ;
38 const RooCategory& method2D(bool cond, bool cat) const ;
39 const RooCategory& methodND(bool cond, bool cat) const ;
40
41
43
45 const RooArgSet& getConfigSection(const char* name) const ;
46 RooArgSet& getConfigSection(const char* name) ;
47
48 void printMultiline(std::ostream &os, Int_t content, bool verbose, TString indent= "") const override;
49
50 inline void Print(Option_t *options= nullptr) const override {
52 }
53 StyleOption defaultPrintStyle(Option_t* opt) const override ;
54
55
56protected:
57
58 RooCategory _method1D ; ///< Selects integration method for 1D p.d.f.s
59 RooCategory _method1DCat ; ///< Selects integration method for 1D p.d.f.s with categories
60 RooCategory _method1DCond ; ///< Selects integration method for 1D conditional p.d.f.s
61 RooCategory _method1DCondCat ; ///< Selects integration method for 1D conditional p.d.f.s with categories
62
63 RooCategory _method2D ; ///< Selects integration method for 2D p.d.f.s
64 RooCategory _method2DCat ; ///< Selects integration method for 2D p.d.f.s with categories
65 RooCategory _method2DCond ; ///< Selects integration method for 2D conditional p.d.f.s
66 RooCategory _method2DCondCat ; ///< Selects integration method for 2D conditional p.d.f.s with categories
67
68 RooCategory _methodND ; ///< Selects integration method for ND p.d.f.s
69 RooCategory _methodNDCat ; ///< Selects integration method for ND p.d.f.s with categories
70 RooCategory _methodNDCond ; ///< Selects integration method for ND conditional p.d.f.s
71 RooCategory _methodNDCondCat ; ///< Selects integration method for ND conditional p.d.f.s with categories
72
73 RooLinkedList _configSets ; ///< List of configuration sets for individual integration methods
74
75 ClassDefOverride(RooNumGenConfig,1) // Numeric (MC) Event generator configuration
76};
77
78#endif
79
80
const char Option_t
Definition RtypesCore.h:66
#define ClassDefOverride(name, id)
Definition Rtypes.h:341
static void indent(ostringstream &buf, int indent_level)
char name[80]
Definition TGX11.cxx:110
const char * proto
Definition civetweb.c:17536
Abstract base class for MC event generator implementations like RooAcceptReject and RooFoam.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition RooArgSet.h:55
Object to represent discrete states.
Definition RooCategory.h:28
Collection class for internal use, storing a collection of RooAbsArg pointers in a doubly linked list...
Holds the configuration parameters of the various numeric integrators used by RooRealIntegral.
RooCategory _methodND
Selects integration method for ND p.d.f.s.
RooCategory _methodNDCondCat
Selects integration method for ND conditional p.d.f.s with categories.
static RooNumGenConfig & defaultConfig()
Return reference to instance of default numeric integrator configuration object.
RooNumGenConfig()
Constructor.
RooCategory & method2D(bool cond, bool cat)
void printMultiline(std::ostream &os, Int_t content, bool verbose, TString indent="") const override
Detailed printing interface.
RooCategory & method1D(bool cond, bool cat)
RooCategory _method2D
Selects integration method for 2D p.d.f.s.
RooCategory _method1DCondCat
Selects integration method for 1D conditional p.d.f.s with categories.
RooCategory _method2DCat
Selects integration method for 2D p.d.f.s with categories.
bool addConfigSection(const RooAbsNumGenerator *proto, const RooArgSet &defaultConfig)
Add a configuration section for a particular integrator.
RooCategory _method1DCond
Selects integration method for 1D conditional p.d.f.s.
RooCategory _method2DCondCat
Selects integration method for 2D conditional p.d.f.s with categories.
~RooNumGenConfig() override
Destructor.
RooCategory _method1DCat
Selects integration method for 1D p.d.f.s with categories.
void Print(Option_t *options=nullptr) const override
This method must be overridden when a class wants to print itself.
RooCategory _method1D
Selects integration method for 1D p.d.f.s.
RooCategory _method2DCond
Selects integration method for 2D conditional p.d.f.s.
RooLinkedList _configSets
List of configuration sets for individual integration methods.
const RooArgSet & getConfigSection(const char *name) const
Retrieve configuration information specific to integrator with given name.
RooNumGenConfig & operator=(const RooNumGenConfig &other)
Assignment operator from other RooNumGenConfig.
RooCategory _methodNDCat
Selects integration method for ND p.d.f.s with categories.
RooCategory _methodNDCond
Selects integration method for ND conditional p.d.f.s.
StyleOption defaultPrintStyle(Option_t *opt) const override
RooCategory & methodND(bool cond, bool cat)
Factory to instantiate numeric integrators from a given function binding and a given configuration.
A 'mix-in' base class that define the standard RooFit plotting and printing methods.
virtual Int_t defaultPrintContents(Option_t *opt) const
Default choice of contents to be printed (name and value)
static std::ostream & defaultPrintStream(std::ostream *os=nullptr)
Return a reference to the current default stream to use in Print().
virtual void printStream(std::ostream &os, Int_t contents, StyleOption style, TString indent="") const
Print description of object on ostream, printing contents set by contents integer,...
Mother of all ROOT objects.
Definition TObject.h:41
Basic string class.
Definition TString.h:139