ROOT
master
Reference Guide
RooHypatia2.h
Go to the documentation of this file.
1
// Author: Stephan Hageboeck, CERN, Oct 2019
2
// Based on RooIpatia2 by Diego Martinez Santos, Nikhef, Diego.Martinez.Santos@cern.ch
3
/*****************************************************************************
4
* Project: 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-2019, 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 ROOHYPATIA2
18
#define ROOHYPATIA2
19
20
#include "
RooAbsPdf.h
"
21
#include "
RooRealProxy.h
"
22
23
class
RooAbsReal
;
24
25
class
RooHypatia2
:
public
RooAbsPdf
{
26
public
:
27
RooHypatia2
() {} ;
28
RooHypatia2
(
const
char
*
name
,
const
char
*title,
29
RooAbsReal
&
x
,
RooAbsReal
& lambda,
RooAbsReal
& zeta,
RooAbsReal
&
beta
,
30
RooAbsReal
&
sigma
,
RooAbsReal
& mu,
RooAbsReal
&
a
,
RooAbsReal
&
n
,
RooAbsReal
& a2,
RooAbsReal
& n2);
31
RooHypatia2
(
const
RooHypatia2
& other,
const
char
*
name
=
nullptr
);
32
TObject
*
clone
(
const
char
* newname)
const override
{
return
new
RooHypatia2
(*
this
,newname); }
33
inline
~RooHypatia2
()
override
{ }
34
35
/* Analytical integrals need testing.
36
37
Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=nullptr) const override;
38
double analyticalIntegral(Int_t code, const char* rangeName=nullptr) const override;
39
40
*/
41
42
43
private
:
44
RooRealProxy
_x
;
45
RooRealProxy
_lambda
;
46
RooRealProxy
_zeta
;
47
RooRealProxy
_beta
;
48
RooRealProxy
_sigma
;
49
RooRealProxy
_mu
;
50
RooRealProxy
_a
;
51
RooRealProxy
_n
;
52
RooRealProxy
_a2
;
53
RooRealProxy
_n2
;
54
55
double
evaluate
()
const override
;
56
RooSpan<double>
evaluateSpan
(
RooBatchCompute::RunContext
& evalData,
const
RooArgSet
* normSet)
const override
;
57
58
/// \cond CLASS_DEF_DOXY
59
ClassDefOverride
(
RooHypatia2
, 1);
60
/// \endcond
61
};
62
63
#endif
RooAbsPdf.h
RooRealProxy.h
ClassDefOverride
#define ClassDefOverride(name, id)
Definition:
Rtypes.h:339
name
char name[80]
Definition:
TGX11.cxx:110
RooAbsPdf
Definition:
RooAbsPdf.h:43
RooAbsReal
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition:
RooAbsReal.h:60
RooAbsReal::sigma
RooAbsMoment * sigma(RooRealVar &obs)
Definition:
RooAbsReal.h:370
RooArgSet
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition:
RooArgSet.h:56
RooHypatia2
RooHypatia2 is the two-sided version of the Hypatia distribution described in https://arxiv....
Definition:
RooHypatia2.h:25
RooHypatia2::_beta
RooRealProxy _beta
Definition:
RooHypatia2.h:47
RooHypatia2::_n
RooRealProxy _n
Definition:
RooHypatia2.h:51
RooHypatia2::~RooHypatia2
~RooHypatia2() override
Definition:
RooHypatia2.h:33
RooHypatia2::_a
RooRealProxy _a
Definition:
RooHypatia2.h:50
RooHypatia2::_zeta
RooRealProxy _zeta
Definition:
RooHypatia2.h:46
RooHypatia2::_n2
RooRealProxy _n2
Definition:
RooHypatia2.h:53
RooHypatia2::_a2
RooRealProxy _a2
Definition:
RooHypatia2.h:52
RooHypatia2::_mu
RooRealProxy _mu
Definition:
RooHypatia2.h:49
RooHypatia2::RooHypatia2
RooHypatia2()
Definition:
RooHypatia2.h:27
RooHypatia2::clone
TObject * clone(const char *newname) const override
Definition:
RooHypatia2.h:32
RooHypatia2::_sigma
RooRealProxy _sigma
Definition:
RooHypatia2.h:48
RooHypatia2::_lambda
RooRealProxy _lambda
Definition:
RooHypatia2.h:45
RooHypatia2::evaluate
double evaluate() const override
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
Definition:
RooHypatia2.cxx:259
RooHypatia2::_x
RooRealProxy _x
Definition:
RooHypatia2.h:44
RooHypatia2::evaluateSpan
RooSpan< double > evaluateSpan(RooBatchCompute::RunContext &evalData, const RooArgSet *normSet) const override
Evaluate this object for a batch/span of data points.
Definition:
RooHypatia2.cxx:491
RooSpan
A simple container to hold a batch of data values.
Definition:
RooSpan.h:34
RooTemplateProxy< RooAbsReal >
TObject
Mother of all ROOT objects.
Definition:
TObject.h:41
ROOT::Math::beta
double beta(double x, double y)
Calculates the beta function.
Definition:
SpecFuncMathCore.cxx:111
x
Double_t x[n]
Definition:
legend1.C:17
n
const Int_t n
Definition:
legend1.C:16
RooBatchCompute::RunContext
This struct enables passing computation data around between elements of a computation graph.
Definition:
RunContext.h:32
a
TArc a
Definition:
textangle.C:12
roofit
roofitmore
inc
RooHypatia2.h
ROOT master - Reference Guide Generated on Tue Jan 31 2023 11:14:38 (GVA Time) using Doxygen 1.9.5