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"
20 class RooAbsReal ;
21 class RooAbsData ;
22 class RooSuperCategory ;
23 class Roo1DTable ;
24 
26 public:
27  RooDataProjBinding(const RooAbsReal &real, const RooAbsData& data, const RooArgSet &vars, const RooArgSet* normSet=0) ;
28  virtual ~RooDataProjBinding() ;
29 
30  virtual Double_t operator()(const Double_t xvector[]) const;
31 
32  RooSpan<const double> getValues(std::vector<RooSpan<const double>> coordinates) const;
33 
34 protected:
35 
36  mutable Bool_t _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  ClassDef(RooDataProjBinding,0) // RealFunc/Dataset binding for data projection of a real function
46 };
47 
48 #endif
49 
RooDataProjBinding::_batchBuffer
std::unique_ptr< std::vector< double > > _batchBuffer
Definition: RooDataProjBinding.h:43
RooAbsData
RooAbsData is the common abstract base class for binned and unbinned datasets.
Definition: RooAbsData.h:47
Roo1DTable
Roo1DTable implements a one-dimensional table.
Definition: Roo1DTable.h:23
RooAbsReal
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:61
RooDataProjBinding::_nset
const RooArgSet * _nset
Definition: RooDataProjBinding.h:39
RooDataProjBinding::~RooDataProjBinding
virtual ~RooDataProjBinding()
Destructor, delete owned objects.
Definition: RooDataProjBinding.cxx:83
bool
RooDataProjBinding::_catTable
Roo1DTable * _catTable
Definition: RooDataProjBinding.h:42
RooDataProjBinding::_first
Bool_t _first
Definition: RooDataProjBinding.h:36
RooRealBinding
Lightweight interface adaptor that binds a RooAbsReal object to a subset of its servers and present i...
Definition: RooRealBinding.h:29
RooDataProjBinding::_real
const RooAbsReal * _real
Definition: RooDataProjBinding.h:37
RooDataProjBinding::_data
const RooAbsData * _data
Definition: RooDataProjBinding.h:38
Double_t
double Double_t
Definition: RtypesCore.h:59
RooDataProjBinding::getValues
RooSpan< const double > getValues(std::vector< RooSpan< const double >> coordinates) const
Evaluate the function at the specified values of the dependents.
Definition: RooDataProjBinding.cxx:165
RooDataProjBinding::RooDataProjBinding
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...
Definition: RooDataProjBinding.cxx:57
RooDataProjBinding
adaptor that projects a real function via summation of states provided in a dataset.
Definition: RooDataProjBinding.h:25
RooDataProjBinding::_superCat
RooSuperCategory * _superCat
Definition: RooDataProjBinding.h:41
RooSuperCategory
The RooSuperCategory can join several RooAbsCategoryLValue objects into a single category.
Definition: RooSuperCategory.h:27
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
RooRealBinding.h
RooSpan
A simple container to hold a batch of data values.
Definition: RooSpan.h:34
RooArgSet
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:29
RooDataProjBinding::operator()
virtual Double_t operator()(const Double_t xvector[]) const
Evaluate data-projected values of the bound real function.
Definition: RooDataProjBinding.cxx:94