Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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
26 static void enableConstantTermsOptimization(RooAbsReal *function, RooArgSet *norm_set, RooAbsData *dataset,
27 bool applyTrackingOpt);
28 static void
29 optimizeCaching(RooAbsReal *function, RooArgSet *norm_set, RooAbsData *dataset, RooArgSet *observables = nullptr);
30 static void disableConstantTermsOptimization(RooAbsReal *function, RooArgSet *norm_set, RooAbsData *dataset,
31 RooArgSet *observables = nullptr);
33};
34
35} // namespace TestStatistics
36} // namespace RooFit
37
38#endif // ROOT_ROOFIT_TESTSTATISTICS_ConstantTermsOptimizer
Abstract base class for binned and unbinned datasets.
Definition RooAbsData.h:57
Abstract base class for objects that represent a real value and implements functionality common to al...
Definition RooAbsReal.h:59
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition RooArgSet.h:24
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
Definition JSONIO.h:26
Analyzes a function given a dataset/observables for constant terms and caches those in the dataset.
static void disableConstantTermsOptimization(RooAbsReal *function, RooArgSet *norm_set, RooAbsData *dataset, RooArgSet *observables=nullptr)
static void optimizeCaching(RooAbsReal *function, RooArgSet *norm_set, RooAbsData *dataset, RooArgSet *observables=nullptr)
static void enableConstantTermsOptimization(RooAbsReal *function, RooArgSet *norm_set, RooAbsData *dataset, bool applyTrackingOpt)