Logo ROOT  
Reference Guide
ConstantTermsOptimizer.h
Go to the documentation of this file.
1/*
2 * Project: RooFit
3 * Authors:
4 * PB, Patrick Bos, Netherlands eScience Center, p.bos@esciencecenter.nl
5 *
6 * Copyright (c) 2021, CERN
7 *
8 * Redistribution and use in source and binary forms,
9 * with or without modification, are permitted according to the terms
10 * listed in LICENSE (http://roofit.sourceforge.net/license.txt)
11 */
12
13#ifndef ROOT_ROOFIT_TESTSTATISTICS_ConstantTermsOptimizer
14#define ROOT_ROOFIT_TESTSTATISTICS_ConstantTermsOptimizer
15
16// forward declarations
17class RooAbsReal;
18class RooArgSet;
19class RooAbsData;
20
21namespace RooFit {
22namespace TestStatistics {
23
24// this is a class only for convenience: it saves multiple friend definitions in RooAbsData for otherwise free functions
27 bool applyTrackingOpt);
28 static void optimizeCaching(RooAbsReal *function, RooArgSet *norm_set, RooArgSet* observables, RooAbsData *dataset);
29 static void disableConstantTermsOptimization(RooAbsReal *function, RooArgSet *norm_set, RooArgSet* observables, RooAbsData *dataset);
31};
32
33}
34}
35
36#endif // ROOT_ROOFIT_TESTSTATISTICS_ConstantTermsOptimizer
RooAbsData is the common abstract base class for binned and unbinned datasets.
Definition: RooAbsData.h:62
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:64
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:57
void function(const Char_t *name_, T fun, const Char_t *docstring=0)
Definition: RExports.h:167
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
Definition: Common.h:18
Analyzes a function given a dataset/observables for constant terms and caches those in the dataset.
static void optimizeCaching(RooAbsReal *function, RooArgSet *norm_set, RooArgSet *observables, RooAbsData *dataset)
static void enableConstantTermsOptimization(RooAbsReal *function, RooArgSet *norm_set, RooAbsData *dataset, bool applyTrackingOpt)
static void disableConstantTermsOptimization(RooAbsReal *function, RooArgSet *norm_set, RooArgSet *observables, RooAbsData *dataset)