Logo ROOT  
Reference Guide
RooDataProjBinding.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Project: RooFit *
3 * Package: RooFitCore *
4 * File: $Id: RooDataProjBinding.h,v 1.6 2007/05/11 09:11:30 verkerke Exp $
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-2005, 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#ifndef ROO_DATA_PROJ_BINDING
17#define ROO_DATA_PROJ_BINDING
18
19#include "RooRealBinding.h"
20class RooAbsReal ;
21class RooAbsData ;
22class RooSuperCategory ;
23class Roo1DTable ;
24
26public:
27 RooDataProjBinding(const RooAbsReal &real, const RooAbsData& data, const RooArgSet &vars, const RooArgSet* normSet=0) ;
28 ~RooDataProjBinding() override ;
29
30 double operator()(const double xvector[]) const override;
31
32 RooSpan<const double> getValues(std::vector<RooSpan<const double>> coordinates) const override;
33
34protected:
35
36 mutable bool _first ; ///< Bit indicating if operator() has been called yet
37 const RooAbsReal* _real ; ///< Real function to be projected
38 const RooAbsData* _data ; ///< Dataset used for projection
39 const RooArgSet* _nset ; ///< Normalization set for real function
40
41 RooSuperCategory* _superCat ; ///< Supercategory constructed from _data's category variables
42 Roo1DTable* _catTable ; ///< Supercategory table generated from _data
43 mutable std::unique_ptr<std::vector<double>> _batchBuffer; ///<! Storage for handing out spans.
44
45 ClassDefOverride(RooDataProjBinding,0) // RealFunc/Dataset binding for data projection of a real function
46};
47
48#endif
49
#define ClassDefOverride(name, id)
Definition: Rtypes.h:339
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Roo1DTable implements a one-dimensional table.
Definition: Roo1DTable.h:23
RooAbsData is the common abstract base class for binned and unbinned datasets.
Definition: RooAbsData.h:62
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:64
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:57
adaptor that projects a real function via summation of states provided in a dataset.
RooDataProjBinding(const RooAbsReal &real, const RooAbsData &data, const RooArgSet &vars, const RooArgSet *normSet=0)
Constructor of a data weighted average function binding with variables 'vars' for function 'real' and...
const RooArgSet * _nset
Normalization set for real function.
bool _first
Bit indicating if operator() has been called yet.
const RooAbsReal * _real
Real function to be projected.
Roo1DTable * _catTable
Supercategory table generated from _data.
std::unique_ptr< std::vector< double > > _batchBuffer
! Storage for handing out spans.
~RooDataProjBinding() override
Destructor, delete owned objects.
RooSuperCategory * _superCat
Supercategory constructed from _data's category variables.
const RooAbsData * _data
Dataset used for projection.
double operator()(const double xvector[]) const override
Evaluate data-projected values of the bound real function.
RooSpan< const double > getValues(std::vector< RooSpan< const double > > coordinates) const override
Evaluate the function at the specified values of the dependents.
Lightweight interface adaptor that binds a RooAbsReal object to a subset of its servers and present i...
A simple container to hold a batch of data values.
Definition: RooSpan.h:34
The RooSuperCategory can join several RooAbsCategoryLValue objects into a single category.