Logo ROOT  
Reference Guide
RooRealL.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_RooRealL
14#define ROOT_ROOFIT_TESTSTATISTICS_RooRealL
15
16#include "RooAbsReal.h"
17#include "RooSetProxy.h"
18
19#include "Rtypes.h" // ClassDef, ClassImp
20
21#include <memory> // shared_ptr
22
23namespace RooFit {
24namespace TestStatistics {
25
26class RooAbsL;
27
28class RooRealL : public RooAbsReal {
29public:
30 RooRealL(const char *name, const char *title, std::shared_ptr<RooAbsL> likelihood);
31 RooRealL(const RooRealL &other, const char *name = nullptr);
32
33 inline TObject *clone(const char *newname) const override { return new RooRealL(*this, newname); }
34
35 inline double globalNormalization() const
36 {
37 // Default value of global normalization factor is 1.0
38 return 1.0;
39 }
40
41 inline double getCarry() const { return eval_carry; }
42 inline double defaultErrorLevel() const override { return 0.5; }
43
44 std::shared_ptr<RooAbsL> const &getRooAbsL() { return likelihood_; };
45
46protected:
47 double evaluate() const override;
48
49private:
50 std::shared_ptr<RooAbsL> likelihood_;
51 mutable double eval_carry = 0;
52 RooSetProxy vars_proxy_; ///< sets up client-server connections
53 RooArgSet vars_obs_; ///< list of observables
54
56};
57
58} // namespace TestStatistics
59} // namespace RooFit
60
61#endif // ROOT_ROOFIT_TESTSTATISTICS_RooRealL
#define ClassDefOverride(name, id)
Definition: Rtypes.h:339
char name[80]
Definition: TGX11.cxx:110
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:62
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:56
RooAbsReal that wraps RooAbsL likelihoods for use in RooFit outside of the RooMinimizer context.
Definition: RooRealL.h:28
std::shared_ptr< RooAbsL > likelihood_
Definition: RooRealL.h:50
double defaultErrorLevel() const override
Definition: RooRealL.h:42
TObject * clone(const char *newname) const override
Definition: RooRealL.h:33
double evaluate() const override
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
Definition: RooRealL.cxx:44
RooSetProxy vars_proxy_
sets up client-server connections
Definition: RooRealL.h:52
double globalNormalization() const
Definition: RooRealL.h:35
std::shared_ptr< RooAbsL > const & getRooAbsL()
Definition: RooRealL.h:44
RooArgSet vars_obs_
list of observables
Definition: RooRealL.h:53
RooRealL(const char *name, const char *title, std::shared_ptr< RooAbsL > likelihood)
Definition: RooRealL.cxx:30
Mother of all ROOT objects.
Definition: TObject.h:41
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
Definition: Common.h:18