Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
RooGenProdProj.h
Go to the documentation of this file.
1/// \cond ROOFIT_INTERNAL
2
3/*
4 * Project: RooFit
5 *
6 * Copyright (c) 2023, 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 ROO_GEN_PROD_PROJ
14#define ROO_GEN_PROD_PROJ
15
16#include <RooAbsReal.h>
17#include <RooSetProxy.h>
18#include <RooListProxy.h>
19
20/// General form of projected integral of product of PDFs, utility class for RooProdPdf.
21class RooGenProdProj : public RooAbsReal {
22public:
23 RooGenProdProj(const char *name, const char *title, const RooArgSet &_prodSet, const RooArgSet &_intSet,
24 const RooArgSet &_normSet, const char *isetRangeName, const char *normRangeName = nullptr,
25 bool doFactorize = true);
26
27 RooGenProdProj(const RooGenProdProj &other, const char *name = nullptr);
28 TObject *clone(const char *newname) const override { return new RooGenProdProj(*this, newname); }
29
30private:
32 const char *isetRangeName, bool doFactorize);
33
34 void operModeHook() override;
35
36 double evaluate() const override;
37 std::unique_ptr<RooArgSet> _compSetOwnedN; ///< Owner of numerator components
38 std::unique_ptr<RooArgSet> _compSetOwnedD; ///< Owner of denominator components
39 RooSetProxy _compSetN; ///< Set proxy for numerator components
40 RooSetProxy _compSetD; ///< Set proxy for denominator components
41 RooListProxy _intList; ///< Master integrals representing numerator and denominator
42 bool _haveD = false; ///< Do we have a denominator term?
43};
44
45#endif
46
47/// \endcond
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
char name[80]
Definition TGX11.cxx:110
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
Mother of all ROOT objects.
Definition TObject.h:41
void evaluate(typename Architecture_t::Tensor_t &A, EActivationFunction f)
Apply the given activation function to each value in the given tensor A.
Definition Functions.h:98