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;
26namespace ROOT {
27namespace Experimental {
28class RooFitDriver;
29}
30} // namespace ROOT
31
32namespace RooFit {
33namespace TestStatistics {
34
35class RooUnbinnedL : public RooAbsL {
36public:
39 RooUnbinnedL(const RooUnbinnedL &other);
40 ~RooUnbinnedL() override;
41 bool setApplyWeightSquared(bool flag);
42
44 evaluatePartition(Section events, std::size_t components_begin, std::size_t components_end) override;
45
46 std::string GetClassName() const override { return "RooUnbinnedL"; }
47
48private:
49 bool apply_weight_squared = false; ///< Apply weights squared?
50 mutable bool _first = true; ///<!
51 std::unique_ptr<RooChangeTracker> paramTracker_;
52 Section lastSection_ = {0, 0}; // used for cache together with the parameter tracker
54 std::shared_ptr<ROOT::Experimental::RooFitDriver> driver_; ///<! For batched evaluation
55};
56
57} // namespace TestStatistics
58} // namespace RooFit
59
60#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
RooAbsData is the common abstract base class for binned and unbinned datasets.
Definition RooAbsData.h:59
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition RooArgSet.h:55
RooChangeTracker is a meta object that tracks value changes in a given set of RooAbsArgs by registeri...
This class can evaluate a RooAbsReal object in other ways than recursive graph traversal.
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_
std::shared_ptr< ROOT::Experimental::RooFitDriver > driver_
! For batched evaluation
bool apply_weight_squared
Apply weights squared?
std::string GetClassName() const override
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
Definition Common.h:18
BatchModeOption
For setting the batch mode flag with the BatchMode() command argument to RooAbsPdf::fitTo()
A part of some range delimited by two fractional points between 0 and 1 (inclusive).
Definition RooAbsL.h:65