Logo ROOT  
Reference Guide
RooNDKeysPdf.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitModels *
4  * File: $Id: RooNDKeysPdf.h 44368 2012-05-30 15:38:44Z axel $
5  * Authors: *
6  * Max Baak, CERN, mbaak@cern.ch *
7  * *
8  * Copyright (c) 2000-2005, Regents of the University of California *
9  * and Stanford University. All rights reserved. *
10  * *
11  * Redistribution and use in source and binary forms, *
12  * with or without modification, are permitted according to the terms *
13  * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
14  *****************************************************************************/
15 #ifndef ROO_NDKEYS_PDF
16 #define ROO_NDKEYS_PDF
17 
18 #include "RooAbsPdf.h"
19 #include "RooRealProxy.h"
20 #include "RooSetProxy.h"
21 #include "RooDataSet.h"
22 #include "RooListProxy.h"
23 #include "TH1.h"
24 #include "TAxis.h"
25 #include "TVectorD.h"
26 #include "TMatrixD.h"
27 #include "TMatrixDSym.h"
28 #include <map>
29 #include <vector>
30 #include <string>
31 
32 class RooRealVar;
33 class RooArgList;
34 class RooArgSet;
35 class RooChangeTracker;
36 
37 #ifndef __CINT__
38 class VecVecDouble : public std::vector<std::vector<Double_t> > { } ;
39 class VecTVecDouble : public std::vector<TVectorD> { } ;
40 typedef std::pair<Int_t, VecVecDouble::iterator > iiPair;
41 typedef std::vector< iiPair > iiVec;
42 typedef std::pair<Int_t, VecTVecDouble::iterator > itPair;
43 typedef std::vector< itPair > itVec;
44 #else
45 class itPair ;
46 #endif
47 
48 class RooNDKeysPdf : public RooAbsPdf {
49 
50 public:
51 
56 
57  RooNDKeysPdf() = default;
58 
59  RooNDKeysPdf(const char *name, const char *title, const RooArgList &varList, const RooDataSet &data,
60  TString options = "ma", Double_t rho = 1, Double_t nSigma = 3, Bool_t rotate = kTRUE,
61  Bool_t sortInput = kTRUE);
62 
63  RooNDKeysPdf(const char *name, const char *title, const RooArgList &varList, const TH1 &hist, TString options = "ma",
64  Double_t rho = 1, Double_t nSigma = 3, Bool_t rotate = kTRUE, Bool_t sortInput = kTRUE);
65 
66  RooNDKeysPdf(const char *name, const char *title, const RooArgList &varList, const RooDataSet &data,
67  const TVectorD &rho, TString options = "ma", Double_t nSigma = 3, Bool_t rotate = kTRUE,
68  Bool_t sortInput = kTRUE);
69 
70  RooNDKeysPdf(const char *name, const char *title, const RooArgList &varList, const RooDataSet &data,
71  const RooArgList &rhoList, TString options = "ma", Double_t nSigma = 3, Bool_t rotate = kTRUE,
72  Bool_t sortInput = kTRUE);
73 
74  RooNDKeysPdf(const char *name, const char *title, const RooArgList &varList, const TH1 &hist,
75  const RooArgList &rhoList, TString options = "ma", Double_t nSigma = 3, Bool_t rotate = kTRUE,
76  Bool_t sortInput = kTRUE);
77 
78  RooNDKeysPdf(const char *name, const char *title, RooAbsReal &x, const RooDataSet &data, Mirror mirror = NoMirror,
79  Double_t rho = 1, Double_t nSigma = 3, Bool_t rotate = kTRUE, Bool_t sortInput = kTRUE);
80 
81  RooNDKeysPdf(const char *name, const char *title, RooAbsReal &x, RooAbsReal &y, const RooDataSet &data,
82  TString options = "ma", Double_t rho = 1.0, Double_t nSigma = 3, Bool_t rotate = kTRUE,
83  Bool_t sortInput = kTRUE);
84 
85  RooNDKeysPdf(const RooNDKeysPdf& other, const char* name=0);
86  virtual ~RooNDKeysPdf();
87 
88  virtual TObject* clone(const char* newname) const { return new RooNDKeysPdf(*this,newname); }
89 
90  Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
91  Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ;
92 
93  inline void fixShape(Bool_t fix) {
95  _fixedShape=fix;
96  }
97 
98  TMatrixD getWeights(const int &k) const;
99 
100  struct BoxInfo {
105  std::vector<Double_t> xVarLo, xVarHi;
106  std::vector<Double_t> xVarLoM3s, xVarLoP3s, xVarHiM3s, xVarHiP3s;
107  std::map<Int_t,Bool_t> bpsIdcs;
108  std::vector<Int_t> sIdcs;
109  std::vector<Int_t> bIdcs;
110  std::vector<Int_t> bmsIdcs;
111  } ;
112 
113 protected:
114 
117 
118  Double_t evaluate() const;
119 
120  void createPdf(Bool_t firstCall = kTRUE);
121  void setOptions();
122  void initialize();
123  void loadDataSet(Bool_t firstCall);
124  void mirrorDataSet();
125  void loadWeightSet();
126  void calculateShell(BoxInfo *bi) const;
127  void calculatePreNorm(BoxInfo *bi) const;
128  void sortDataIndices(BoxInfo *bi = 0);
129  void calculateBandWidth();
130  Double_t gauss(std::vector<Double_t> &x, std::vector<std::vector<Double_t>> &weights) const;
131  void loopRange(std::vector<Double_t> &x, std::map<Int_t, Bool_t> &ibMap) const;
132  void boxInfoInit(BoxInfo *bi, const char *rangeName, Int_t code) const;
133  RooDataSet *createDatasetFromHist(const RooArgList &varList, const TH1 &hist) const;
134  void updateRho() const;
135  void checkInitWeights() const {
136  if (_weights == &_weights0 || _weights == &_weights1)
137  return;
138  const_cast<RooNDKeysPdf*>(this)->calculateBandWidth();
139  }
140 
141  std::unique_ptr<RooDataSet> _ownedData{nullptr};
142  const RooDataSet* _data; //! do not persist
143  mutable TString _options;
146 
148  Bool_t _mirror{false};
149  Bool_t _debug{false}; //!
150  Bool_t _verbose{false}; //!
151 
158 
159  // cached info on variable
160  std::vector<std::vector<Double_t> > _dataPts;
161  std::vector<TVectorD> _dataPtsR;
162  std::vector<std::vector<Double_t> > _weights0; // Plain weights
163  std::vector<std::vector<Double_t> > _weights1; // Weights for adaptive kernels
164  std::vector<std::vector<Double_t> >* _weights{nullptr}; //! Weights to be used. Points either to _weights0 or _weights1
165 
166  std::vector<itVec> _sortTVIdcs; //!
167 
168  std::vector<std::string> _varName;
169  mutable std::vector<Double_t> _rho;
171  mutable std::vector<Double_t> _x; // Cache for x values
172  std::vector<Double_t> _x0, _x1, _x2;
173  std::vector<Double_t> _mean, _sigma;
174  std::vector<Double_t> _xDatLo, _xDatHi;
175  std::vector<Double_t> _xDatLo3s, _xDatHi3s;
176 
180  std::vector<Double_t> _xVarLo, _xVarHi;
181  std::vector<Double_t> _xVarLoM3s, _xVarLoP3s, _xVarHiM3s, _xVarHiP3s;
182  std::map<Int_t,Bool_t> _bpsIdcs;
183  std::map<Int_t, Bool_t> _ibNoSort;
184  std::vector<Int_t> _sIdcs;
185  std::vector<Int_t> _bIdcs;
186  std::vector<Int_t> _bmsIdcs;
187 
188  // Data for analytical integrals:
189  mutable std::map<std::pair<std::string,int>,BoxInfo*> _rangeBoxInfo ;
191 
192  std::vector<Int_t> _idx;
195  std::map<Int_t,Double_t> _wMap;
196 
197  TMatrixDSym* _covMat{nullptr};
199  TMatrixD* _rotMat{nullptr};
200  TVectorD* _sigmaR{nullptr};
201  TVectorD* _dx{nullptr};
203 
207 
209 
210  ClassDef(RooNDKeysPdf, 1) // General N-dimensional non-parametric kernel estimation p.d.f
211 };
212 
213 #endif
RooNDKeysPdf::createPdf
void createPdf(Bool_t firstCall=kTRUE)
evaluation order of constructor.
Definition: RooNDKeysPdf.cxx:384
RooNDKeysPdf::_ownedData
std::unique_ptr< RooDataSet > _ownedData
Definition: RooNDKeysPdf.h:141
RooNDKeysPdf::BoxInfo::filled
Bool_t filled
Definition: RooNDKeysPdf.h:101
kTRUE
const Bool_t kTRUE
Definition: RtypesCore.h:91
TVectorD.h
RooNDKeysPdf::clone
virtual TObject * clone(const char *newname) const
Definition: RooNDKeysPdf.h:88
RooNDKeysPdf::_d
Double_t _d
Definition: RooNDKeysPdf.h:156
RooNDKeysPdf::calculateBandWidth
void calculateBandWidth()
Definition: RooNDKeysPdf.cxx:893
RooNDKeysPdf::~RooNDKeysPdf
virtual ~RooNDKeysPdf()
Definition: RooNDKeysPdf.cxx:362
RooNDKeysPdf::_bIdcs
std::vector< Int_t > _bIdcs
Definition: RooNDKeysPdf.h:185
RooNDKeysPdf::MirrorLeft
@ MirrorLeft
Definition: RooNDKeysPdf.h:52
RooNDKeysPdf::_rotMat
TMatrixD * _rotMat
Definition: RooNDKeysPdf.h:199
RooNDKeysPdf::initialize
void initialize()
initialization
Definition: RooNDKeysPdf.cxx:455
RooNDKeysPdf::BoxInfo::xVarHiM3s
std::vector< Double_t > xVarHiM3s
Definition: RooNDKeysPdf.h:106
RooNDKeysPdf::BoxInfo
Definition: RooNDKeysPdf.h:100
RooNDKeysPdf::_nEventsW
Double_t _nEventsW
Definition: RooNDKeysPdf.h:155
RooNDKeysPdf::Mirror
Mirror
Definition: RooNDKeysPdf.h:52
RooNDKeysPdf::_xDatLo3s
std::vector< Double_t > _xDatLo3s
Definition: RooNDKeysPdf.h:175
RooArgList
Definition: RooArgList.h:21
RooNDKeysPdf::_weights1
std::vector< std::vector< Double_t > > _weights1
Definition: RooNDKeysPdf.h:163
RooNDKeysPdf::_xVarLo
std::vector< Double_t > _xVarLo
Definition: RooNDKeysPdf.h:180
VecVecDouble
Definition: RooNDKeysPdf.h:38
RooNDKeysPdf::BoxInfo::xVarLoM3s
std::vector< Double_t > xVarLoM3s
Definition: RooNDKeysPdf.h:106
RooNDKeysPdf::BoxInfo::netFluxZ
Bool_t netFluxZ
Definition: RooNDKeysPdf.h:102
RooNDKeysPdf::MirrorLeftAsymRight
@ MirrorLeftAsymRight
Definition: RooNDKeysPdf.h:54
x
Double_t x[n]
Definition: legend1.C:17
RooNDKeysPdf::loopRange
void loopRange(std::vector< Double_t > &x, std::map< Int_t, Bool_t > &ibMap) const
determine closest points to x, to loop over in evaluate()
Definition: RooNDKeysPdf.cxx:1019
RooNDKeysPdf::_netFluxZ
Bool_t _netFluxZ
Definition: RooNDKeysPdf.h:177
RooAbsReal
Definition: RooAbsReal.h:61
TMatrixTSym
Definition: TMatrixDSymfwd.h:22
RooNDKeysPdf::getAnalyticalIntegral
Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
Interface function getAnalyticalIntergral advertises the analytical integrals that are supported.
Definition: RooNDKeysPdf.cxx:1132
RooNDKeysPdf::boxInfoInit
void boxInfoInit(BoxInfo *bi, const char *rangeName, Int_t code) const
Definition: RooNDKeysPdf.cxx:1071
RooSetProxy.h
TString
Definition: TString.h:136
TMatrixT
Definition: TMatrixDfwd.h:22
RooNDKeysPdf::_rhoList
RooListProxy _rhoList
Definition: RooNDKeysPdf.h:116
RooNDKeysPdf::getWeights
TMatrixD getWeights(const int &k) const
Return evaluated weights.
Definition: RooNDKeysPdf.cxx:1324
RooNDKeysPdf::_sigmaAvgR
Double_t _sigmaAvgR
Definition: RooNDKeysPdf.h:202
RooNDKeysPdf::_nSigma
Double_t _nSigma
Definition: RooNDKeysPdf.h:145
RooNDKeysPdf::_nEventsM
Int_t _nEventsM
Definition: RooNDKeysPdf.h:154
RooDataSet.h
RooNDKeysPdf::_covMat
TMatrixDSym * _covMat
Definition: RooNDKeysPdf.h:197
RooNDKeysPdf::_nEvents
Int_t _nEvents
Definition: RooNDKeysPdf.h:153
RooNDKeysPdf::mirrorDataSet
void mirrorDataSet()
determine mirror dataset.
Definition: RooNDKeysPdf.cxx:656
bool
RooNDKeysPdf::_xDatLo
std::vector< Double_t > _xDatLo
Definition: RooNDKeysPdf.h:174
TMatrixDSym.h
iiVec
std::vector< iiPair > iiVec
Definition: RooNDKeysPdf.h:41
RooNDKeysPdf::BoxInfo::xVarHiP3s
std::vector< Double_t > xVarHiP3s
Definition: RooNDKeysPdf.h:106
RooChangeTracker
Definition: RooChangeTracker.h:26
RooNDKeysPdf::BoxInfo::sIdcs
std::vector< Int_t > sIdcs
Definition: RooNDKeysPdf.h:108
itPair
std::pair< Int_t, VecTVecDouble::iterator > itPair
Definition: RooNDKeysPdf.h:42
RooNDKeysPdf::_dx
TVectorD * _dx
Definition: RooNDKeysPdf.h:201
RooNDKeysPdf::_maxWeight
Double_t _maxWeight
Definition: RooNDKeysPdf.h:194
RooNDKeysPdf::_xVarHiP3s
std::vector< Double_t > _xVarHiP3s
Definition: RooNDKeysPdf.h:181
RooNDKeysPdf::_nEventsBMSW
Double_t _nEventsBMSW
Definition: RooNDKeysPdf.h:179
RooNDKeysPdf::_x1
std::vector< Double_t > _x1
Definition: RooNDKeysPdf.h:172
RooNDKeysPdf::_nDim
Int_t _nDim
Definition: RooNDKeysPdf.h:152
RooNDKeysPdf::_widthFactor
Double_t _widthFactor
Definition: RooNDKeysPdf.h:144
RooNDKeysPdf::BoxInfo::xVarLo
std::vector< Double_t > xVarLo
Definition: RooNDKeysPdf.h:105
RooNDKeysPdf::_nEventsBW
Double_t _nEventsBW
Definition: RooNDKeysPdf.h:178
RooNDKeysPdf::_verbose
Bool_t _verbose
Definition: RooNDKeysPdf.h:150
RooNDKeysPdf::_fullBoxInfo
BoxInfo _fullBoxInfo
Definition: RooNDKeysPdf.h:190
RooNDKeysPdf::calculatePreNorm
void calculatePreNorm(BoxInfo *bi) const
bi->nEventsBMSW=0.
Definition: RooNDKeysPdf.cxx:836
RooNDKeysPdf::_xVarLoM3s
std::vector< Double_t > _xVarLoM3s
Definition: RooNDKeysPdf.h:181
itVec
std::vector< itPair > itVec
Definition: RooNDKeysPdf.h:43
RooNDKeysPdf::_debug
Bool_t _debug
Definition: RooNDKeysPdf.h:149
RooNDKeysPdf::_ibNoSort
std::map< Int_t, Bool_t > _ibNoSort
Definition: RooNDKeysPdf.h:183
RooNDKeysPdf::BoxInfo::xVarHi
std::vector< Double_t > xVarHi
Definition: RooNDKeysPdf.h:105
RooNDKeysPdf::BoxInfo::bpsIdcs
std::map< Int_t, Bool_t > bpsIdcs
Definition: RooNDKeysPdf.h:107
RooNDKeysPdf::_rangeBoxInfo
std::map< std::pair< std::string, int >, BoxInfo * > _rangeBoxInfo
Definition: RooNDKeysPdf.h:189
RooNDKeysPdf::_bpsIdcs
std::map< Int_t, Bool_t > _bpsIdcs
Definition: RooNDKeysPdf.h:182
RooNDKeysPdf::_xDatHi
std::vector< Double_t > _xDatHi
Definition: RooNDKeysPdf.h:174
RooAbsPdf.h
RooNDKeysPdf::analyticalIntegral
Double_t analyticalIntegral(Int_t code, const char *rangeName=0) const
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral.
Definition: RooNDKeysPdf.cxx:1145
RooNDKeysPdf::loadWeightSet
void loadWeightSet()
Definition: RooNDKeysPdf.cxx:745
RooNDKeysPdf::RooNDKeysPdf
RooNDKeysPdf()=default
RooNDKeysPdf::BoxInfo::nEventsBMSW
Double_t nEventsBMSW
Definition: RooNDKeysPdf.h:104
VecTVecDouble
Definition: RooNDKeysPdf.h:39
RooNDKeysPdf::loadDataSet
void loadDataSet(Bool_t firstCall)
copy the dataset and calculate some useful variables
Definition: RooNDKeysPdf.cxx:525
kFALSE
const Bool_t kFALSE
Definition: RtypesCore.h:92
RooNDKeysPdf::_weights
std::vector< std::vector< Double_t > > * _weights
Definition: RooNDKeysPdf.h:164
RooNDKeysPdf::_xDatHi3s
std::vector< Double_t > _xDatHi3s
Definition: RooNDKeysPdf.h:175
RooNDKeysPdf::_tracker
RooChangeTracker * _tracker
Definition: RooNDKeysPdf.h:208
RooNDKeysPdf::BoxInfo::xVarLoP3s
std::vector< Double_t > xVarLoP3s
Definition: RooNDKeysPdf.h:106
RooNDKeysPdf::_sigmaR
TVectorD * _sigmaR
Definition: RooNDKeysPdf.h:200
RooRealProxy.h
RooNDKeysPdf::_wMap
std::map< Int_t, Double_t > _wMap
Definition: RooNDKeysPdf.h:195
RooNDKeysPdf::_xVarHiM3s
std::vector< Double_t > _xVarHiM3s
Definition: RooNDKeysPdf.h:181
RooNDKeysPdf::_xVarHi
std::vector< Double_t > _xVarHi
Definition: RooNDKeysPdf.h:180
RooNDKeysPdf::_idx
std::vector< Int_t > _idx
Definition: RooNDKeysPdf.h:192
RooNDKeysPdf::_weights0
std::vector< std::vector< Double_t > > _weights0
Definition: RooNDKeysPdf.h:162
y
Double_t y[n]
Definition: legend1.C:17
RooNDKeysPdf::MirrorAsymLeft
@ MirrorAsymLeft
Definition: RooNDKeysPdf.h:53
RooNDKeysPdf::fixShape
void fixShape(Bool_t fix)
Definition: RooNDKeysPdf.h:93
RooNDKeysPdf::MirrorBoth
@ MirrorBoth
Definition: RooNDKeysPdf.h:52
RooNDKeysPdf::_nAdpt
Int_t _nAdpt
Definition: RooNDKeysPdf.h:206
RooNDKeysPdf::_x
std::vector< Double_t > _x
Definition: RooNDKeysPdf.h:171
RooListProxy
Definition: RooListProxy.h:24
RooNDKeysPdf::_fixedShape
Bool_t _fixedShape
Definition: RooNDKeysPdf.h:147
RooNDKeysPdf::createDatasetFromHist
RooDataSet * createDatasetFromHist(const RooArgList &varList, const TH1 &hist) const
Definition: RooNDKeysPdf.cxx:1242
RooNDKeysPdf::_dataPtsR
std::vector< TVectorD > _dataPtsR
Definition: RooNDKeysPdf.h:161
RooNDKeysPdf::_mirror
Bool_t _mirror
Definition: RooNDKeysPdf.h:148
RooNDKeysPdf::_sIdcs
std::vector< Int_t > _sIdcs
Definition: RooNDKeysPdf.h:184
RooNDKeysPdf::NoMirror
@ NoMirror
Definition: RooNDKeysPdf.h:52
RooNDKeysPdf::MirrorRight
@ MirrorRight
Definition: RooNDKeysPdf.h:52
iiPair
std::pair< Int_t, VecVecDouble::iterator > iiPair
Definition: RooNDKeysPdf.h:40
RooNDKeysPdf::checkInitWeights
void checkInitWeights() const
Definition: RooNDKeysPdf.h:135
TVectorT
Definition: TMatrixTBase.h:78
RooListProxy.h
RooNDKeysPdf::_xVarLoP3s
std::vector< Double_t > _xVarLoP3s
Definition: RooNDKeysPdf.h:181
Double_t
double Double_t
Definition: RtypesCore.h:59
RooNDKeysPdf::_sigma
std::vector< Double_t > _sigma
Definition: RooNDKeysPdf.h:173
RooNDKeysPdf::_n
Double_t _n
Definition: RooNDKeysPdf.h:157
RooNDKeysPdf::gauss
Double_t gauss(std::vector< Double_t > &x, std::vector< std::vector< Double_t >> &weights) const
loop over all closest point to x, as determined by loopRange()
Definition: RooNDKeysPdf.cxx:965
RooNDKeysPdf::_bmsIdcs
std::vector< Int_t > _bmsIdcs
Definition: RooNDKeysPdf.h:186
RooNDKeysPdf::calculateShell
void calculateShell(BoxInfo *bi) const
determine points in +/- nSigma shell around the box determined by the variable ranges.
Definition: RooNDKeysPdf.cxx:765
RooNDKeysPdf::_data
const RooDataSet * _data
Definition: RooNDKeysPdf.h:142
RooNDKeysPdf::evaluate
Double_t evaluate() const
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
Definition: RooNDKeysPdf.cxx:1107
RooNDKeysPdf::_sortInput
Bool_t _sortInput
Definition: RooNDKeysPdf.h:205
RooNDKeysPdf::BoxInfo::nEventsBW
Double_t nEventsBW
Definition: RooNDKeysPdf.h:103
TAxis.h
RooNDKeysPdf::_varList
RooListProxy _varList
Definition: RooNDKeysPdf.h:115
TObject
Definition: TObject.h:37
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
RooNDKeysPdf::_x0
std::vector< Double_t > _x0
Definition: RooNDKeysPdf.h:172
RooNDKeysPdf::_minWeight
Double_t _minWeight
Definition: RooNDKeysPdf.h:193
TH1
Definition: TH1.h:57
RooNDKeysPdf::_sortTVIdcs
std::vector< itVec > _sortTVIdcs
Weights to be used. Points either to _weights0 or _weights1.
Definition: RooNDKeysPdf.h:166
name
char name[80]
Definition: TGX11.cxx:110
RooNDKeysPdf::_x2
std::vector< Double_t > _x2
Definition: RooNDKeysPdf.h:172
RooNDKeysPdf::MirrorAsymBoth
@ MirrorAsymBoth
Definition: RooNDKeysPdf.h:55
RooNDKeysPdf::BoxInfo::bmsIdcs
std::vector< Int_t > bmsIdcs
Definition: RooNDKeysPdf.h:110
RooDataSet
Definition: RooDataSet.h:33
RooNDKeysPdf::_rotate
Bool_t _rotate
Definition: RooNDKeysPdf.h:204
RooNDKeysPdf::_varName
std::vector< std::string > _varName
Definition: RooNDKeysPdf.h:168
RooNDKeysPdf
Definition: RooNDKeysPdf.h:48
RooNDKeysPdf::updateRho
void updateRho() const
Definition: RooNDKeysPdf.cxx:1346
RooNDKeysPdf::sortDataIndices
void sortDataIndices(BoxInfo *bi=0)
sort entries, as needed for loopRange()
Definition: RooNDKeysPdf.cxx:855
RooNDKeysPdf::_options
TString _options
do not persist
Definition: RooNDKeysPdf.h:143
RooAbsPdf
Definition: RooAbsPdf.h:40
RooNDKeysPdf::_mean
std::vector< Double_t > _mean
Definition: RooNDKeysPdf.h:173
RooNDKeysPdf::MirrorAsymLeftRight
@ MirrorAsymLeftRight
Definition: RooNDKeysPdf.h:53
TMatrixD.h
RooRealVar
Definition: RooRealVar.h:36
RooNDKeysPdf::BoxInfo::bIdcs
std::vector< Int_t > bIdcs
Definition: RooNDKeysPdf.h:109
RooNDKeysPdf::_corrMat
TMatrixDSym * _corrMat
Definition: RooNDKeysPdf.h:198
RooNDKeysPdf::_rho
std::vector< Double_t > _rho
Definition: RooNDKeysPdf.h:169
RooNDKeysPdf::setOptions
void setOptions()
set the configuration
Definition: RooNDKeysPdf.cxx:418
TH1.h
RooNDKeysPdf::MirrorAsymRight
@ MirrorAsymRight
Definition: RooNDKeysPdf.h:54
RooNDKeysPdf::_dataVars
RooArgSet _dataVars
Definition: RooNDKeysPdf.h:170
RooNDKeysPdf::_dataPts
std::vector< std::vector< Double_t > > _dataPts
Definition: RooNDKeysPdf.h:160
RooArgSet
Definition: RooArgSet.h:28
int