Logo ROOT  
Reference Guide
ConstantTermsOptimizer.h
Go to the documentation of this file.
1// Author: Patrick Bos, Netherlands eScience Center / NIKHEF 2021
2
3/*****************************************************************************
4 * RooFit
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-2021, 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
17#ifndef ROOT_ROOFIT_TESTSTATISTICS_ConstantTermsOptimizer
18#define ROOT_ROOFIT_TESTSTATISTICS_ConstantTermsOptimizer
19
20// forward declarations
21class RooAbsReal;
22class RooArgSet;
23class RooAbsData;
24
25namespace RooFit {
26namespace TestStatistics {
27
28// this is a class only for convenience: it saves multiple friend definitions in RooAbsData for otherwise free functions
31 bool applyTrackingOpt);
32 static void optimizeCaching(RooAbsReal *function, RooArgSet *norm_set, RooArgSet* observables, RooAbsData *dataset);
33 static void disableConstantTermsOptimization(RooAbsReal *function, RooArgSet *norm_set, RooArgSet* observables, RooAbsData *dataset);
35};
36
37}
38}
39
40#endif // ROOT_ROOFIT_TESTSTATISTICS_ConstantTermsOptimizer
RooAbsData is the common abstract base class for binned and unbinned datasets.
Definition: RooAbsData.h:79
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:61
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:35
void function(const Char_t *name_, T fun, const Char_t *docstring=0)
Definition: RExports.h:150
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
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)