Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooUnbinnedL.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_RooUnbinnedL
14#define ROOT_ROOFIT_TESTSTATISTICS_RooUnbinnedL
15
17#include <RooGlobalFunc.h>
18
19#include "Math/Util.h" // KahanSum
20
21// forward declarations
22class RooAbsPdf;
23class RooAbsData;
24class RooArgSet;
26
27namespace RooFit {
28
29class Evaluator;
30
31namespace TestStatistics {
32
33class RooUnbinnedL : public RooAbsL {
34public:
37 RooUnbinnedL(const RooUnbinnedL &other);
38 ~RooUnbinnedL() override;
39 bool setApplyWeightSquared(bool flag);
40
42 evaluatePartition(Section events, std::size_t components_begin, std::size_t components_end) override;
43
44 std::string GetClassName() const override { return "RooUnbinnedL"; }
45
46private:
47 bool apply_weight_squared = false; ///< Apply weights squared?
48 mutable bool _first = true; ///<!
49 std::unique_ptr<RooChangeTracker> paramTracker_;
50 Section lastSection_ = {0, 0}; // used for cache together with the parameter tracker
52 std::shared_ptr<RooFit::Evaluator> evaluator_; ///<! For batched evaluation
53 std::stack<std::vector<double>> _vectorBuffers; // used for preserving resources in batched evaluation
54};
55
56} // namespace TestStatistics
57} // namespace RooFit
58
59#endif // ROOT_ROOFIT_TESTSTATISTICS_RooUnbinnedL
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
The Kahan summation is a compensated summation algorithm, which significantly reduces numerical error...
Definition Util.h:122
Abstract base class for binned and unbinned datasets.
Definition RooAbsData.h:57
Abstract interface for all probability density functions.
Definition RooAbsPdf.h:40
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition RooArgSet.h:55
Meta object that tracks value changes in a given set of RooAbsArgs by registering itself as value cli...
static EvalBackend Legacy()
ROOT::Math::KahanSum< double > cachedResult_
bool setApplyWeightSquared(bool flag)
Returns true if value was changed, false otherwise.
ROOT::Math::KahanSum< double > evaluatePartition(Section events, std::size_t components_begin, std::size_t components_end) override
Calculate and return likelihood on subset of data from firstEvent to lastEvent processed with a step ...
std::unique_ptr< RooChangeTracker > paramTracker_
bool apply_weight_squared
Apply weights squared?
std::string GetClassName() const override
std::stack< std::vector< double > > _vectorBuffers
std::shared_ptr< RooFit::Evaluator > evaluator_
! For batched evaluation
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
Definition JSONIO.h:26
A part of some range delimited by two fractional points between 0 and 1 (inclusive).
Definition RooAbsL.h:65