#include <RooMultiVarGaussian.h>
Inheritance diagram for RooMultiVarGaussian:
Public Member Functions | |
RooMultiVarGaussian () | |
RooMultiVarGaussian (const char *name, const char *title, const RooArgList &xvec, const RooFitResult &fr) | |
RooMultiVarGaussian (const char *name, const char *title, const RooArgList &xvec, const RooArgList &mu, const TMatrixDSym &covMatrix) | |
RooMultiVarGaussian (const char *name, const char *title, const RooArgList &xvec, const TVectorD &mu, const TMatrixDSym &covMatrix) | |
RooMultiVarGaussian (const char *name, const char *title, const RooArgList &xvec, const TMatrixDSym &covMatrix) | |
void | setAnaIntZ (Double_t z) |
RooMultiVarGaussian (const RooMultiVarGaussian &other, const char *name=0) | |
virtual TObject * | clone (const char *newname) const |
virtual | ~RooMultiVarGaussian () |
Int_t | getAnalyticalIntegral (RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const |
Double_t | analyticalIntegral (Int_t code, const char *rangeName=0) const |
Int_t | getGenerator (const RooArgSet &directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const |
void | initGenerator (Int_t code) |
void | generateEvent (Int_t code) |
const TMatrixDSym & | covarianceMatrix () const |
RooMultiVarGaussian () | |
RooMultiVarGaussian (const char *name, const char *title, const RooArgList &xvec, const RooFitResult &fr) | |
RooMultiVarGaussian (const char *name, const char *title, const RooArgList &xvec, const RooArgList &mu, const TMatrixDSym &covMatrix) | |
RooMultiVarGaussian (const char *name, const char *title, const RooArgList &xvec, const TVectorD &mu, const TMatrixDSym &covMatrix) | |
RooMultiVarGaussian (const char *name, const char *title, const RooArgList &xvec, const TMatrixDSym &covMatrix) | |
void | setAnaIntZ (Double_t z) |
RooMultiVarGaussian (const RooMultiVarGaussian &other, const char *name=0) | |
virtual TObject * | clone (const char *newname) const |
virtual | ~RooMultiVarGaussian () |
Int_t | getAnalyticalIntegral (RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const |
Double_t | analyticalIntegral (Int_t code, const char *rangeName=0) const |
Int_t | getGenerator (const RooArgSet &directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const |
void | initGenerator (Int_t code) |
void | generateEvent (Int_t code) |
const TMatrixDSym & | covarianceMatrix () const |
Static Public Member Functions | |
static void | blockDecompose (const TMatrixD &input, const vector< int > &map1, const vector< int > &map2, TMatrixDSym &S11, TMatrixD &S12, TMatrixD &S21, TMatrixDSym &S22) |
static void | blockDecompose (const TMatrixD &input, const vector< int > &map1, const vector< int > &map2, TMatrixDSym &S11, TMatrixD &S12, TMatrixD &S21, TMatrixDSym &S22) |
Protected Member Functions | |
void | decodeCode (Int_t code, vector< int > &map1, vector< int > &map2) const |
AnaIntData & | anaIntData (Int_t code) const |
GenData & | genData (Int_t code) const |
void | syncMuVec () const |
Double_t | evaluate () const |
Do not persist. | |
void | decodeCode (Int_t code, vector< int > &map1, vector< int > &map2) const |
AnaIntData & | anaIntData (Int_t code) const |
GenData & | genData (Int_t code) const |
void | syncMuVec () const |
Double_t | evaluate () const |
Do not persist. | |
Protected Attributes | |
map< int, AnaIntData > | _anaIntCache |
map< int, GenData > | _genCache |
RooListProxy | _x |
RooListProxy | _mu |
TMatrixDSym | _cov |
TMatrixDSym | _covI |
Double_t | _det |
Double_t | _z |
TVectorD | _muVec |
map< int, AnaIntData > | _anaIntCache |
map< int, GenData > | _genCache |
Classes | |
class | AnaIntData |
class | GenData |
Definition at line 28 of file RooMultiVarGaussian.h.
RooMultiVarGaussian::RooMultiVarGaussian | ( | ) | [inline] |
RooMultiVarGaussian::RooMultiVarGaussian | ( | const char * | name, | |
const char * | title, | |||
const RooArgList & | xvec, | |||
const RooFitResult & | fr | |||
) |
Definition at line 64 of file RooMultiVarGaussian.cxx.
References _cov, _covI, _det, _mu, _x, RooListProxy::add(), RooListProxy::addOwned(), RooArgList::at(), RooAbsArg::Clone(), TMatrixTSym< Element >::Determinant(), RooAbsCollection::find(), RooFitResult::floatParsFinal(), Form(), TNamed::GetName(), RooAbsCollection::getSize(), i, TMatrixTSym< Element >::Invert(), kTRUE, and RooAbsRealLValue::setConstant().
RooMultiVarGaussian::RooMultiVarGaussian | ( | const char * | name, | |
const char * | title, | |||
const RooArgList & | xvec, | |||
const RooArgList & | mu, | |||
const TMatrixDSym & | covMatrix | |||
) |
Definition at line 43 of file RooMultiVarGaussian.cxx.
References _cov, _covI, _det, _mu, _x, RooListProxy::add(), TMatrixTSym< Element >::Determinant(), and TMatrixTSym< Element >::Invert().
RooMultiVarGaussian::RooMultiVarGaussian | ( | const char * | name, | |
const char * | title, | |||
const RooArgList & | xvec, | |||
const TVectorD & | mu, | |||
const TMatrixDSym & | covMatrix | |||
) |
Definition at line 100 of file RooMultiVarGaussian.cxx.
References _cov, _covI, _det, _mu, _x, RooListProxy::add(), TMatrixTSym< Element >::Determinant(), TVectorT< Element >::GetNrows(), i, TMatrixTSym< Element >::Invert(), and RooFit::RooConst().
RooMultiVarGaussian::RooMultiVarGaussian | ( | const char * | name, | |
const char * | title, | |||
const RooArgList & | xvec, | |||
const TMatrixDSym & | covMatrix | |||
) |
Definition at line 122 of file RooMultiVarGaussian.cxx.
References _cov, _covI, _det, _mu, _x, RooListProxy::add(), TMatrixTSym< Element >::Determinant(), RooAbsCollection::getSize(), i, TMatrixTSym< Element >::Invert(), and RooFit::RooConst().
RooMultiVarGaussian::RooMultiVarGaussian | ( | const RooMultiVarGaussian & | other, | |
const char * | name = 0 | |||
) |
Definition at line 147 of file RooMultiVarGaussian.cxx.
virtual RooMultiVarGaussian::~RooMultiVarGaussian | ( | ) | [inline, virtual] |
Definition at line 40 of file RooMultiVarGaussian.h.
RooMultiVarGaussian::RooMultiVarGaussian | ( | ) | [inline] |
Definition at line 31 of file RooMultiVarGaussian.h.
RooMultiVarGaussian::RooMultiVarGaussian | ( | const char * | name, | |
const char * | title, | |||
const RooArgList & | xvec, | |||
const RooFitResult & | fr | |||
) |
RooMultiVarGaussian::RooMultiVarGaussian | ( | const char * | name, | |
const char * | title, | |||
const RooArgList & | xvec, | |||
const RooArgList & | mu, | |||
const TMatrixDSym & | covMatrix | |||
) |
RooMultiVarGaussian::RooMultiVarGaussian | ( | const char * | name, | |
const char * | title, | |||
const RooArgList & | xvec, | |||
const TVectorD & | mu, | |||
const TMatrixDSym & | covMatrix | |||
) |
RooMultiVarGaussian::RooMultiVarGaussian | ( | const char * | name, | |
const char * | title, | |||
const RooArgList & | xvec, | |||
const TMatrixDSym & | covMatrix | |||
) |
RooMultiVarGaussian::RooMultiVarGaussian | ( | const RooMultiVarGaussian & | other, | |
const char * | name = 0 | |||
) |
virtual RooMultiVarGaussian::~RooMultiVarGaussian | ( | ) | [inline, virtual] |
Definition at line 40 of file RooMultiVarGaussian.h.
void RooMultiVarGaussian::setAnaIntZ | ( | Double_t | z | ) | [inline] |
virtual TObject* RooMultiVarGaussian::clone | ( | const char * | newname | ) | const [inline, virtual] |
Implements RooAbsArg.
Definition at line 39 of file RooMultiVarGaussian.h.
References RooMultiVarGaussian().
Int_t RooMultiVarGaussian::getAnalyticalIntegral | ( | RooArgSet & | allVars, | |
RooArgSet & | analVars, | |||
const char * | rangeName = 0 | |||
) | const [virtual] |
Reimplemented from RooAbsReal.
Definition at line 185 of file RooMultiVarGaussian.cxx.
References _cov, _muVec, _x, _z, RooArgSet::add(), RooArgList::at(), code, coutW, cxcoutD, RooAbsCollection::find(), RooAbsRealLValue::getMax(), RooAbsRealLValue::getMin(), TNamed::GetName(), RooAbsCollection::getSize(), i, RooFit::Integration, sqrt(), and syncMuVec().
Double_t RooMultiVarGaussian::analyticalIntegral | ( | Int_t | code, | |
const char * | rangeName = 0 | |||
) | const [virtual] |
Reimplemented from RooAbsReal.
Definition at line 229 of file RooMultiVarGaussian.cxx.
References _det, _muVec, _x, anaIntData(), RooArgList::at(), exp(), ROOT::Math::fabs(), RooAbsCollection::getSize(), RooAbsPdf::getVal(), i, RooMultiVarGaussian::AnaIntData::nint, RooMultiVarGaussian::AnaIntData::pmap, pow(), RooMultiVarGaussian::AnaIntData::S22bar, RooMultiVarGaussian::AnaIntData::S22det, sqrt(), syncMuVec(), and u.
Int_t RooMultiVarGaussian::getGenerator | ( | const RooArgSet & | directVars, | |
RooArgSet & | generateVars, | |||
Bool_t | staticInitOK = kTRUE | |||
) | const [virtual] |
Reimplemented from RooAbsPdf.
Definition at line 310 of file RooMultiVarGaussian.cxx.
References _x, RooArgSet::add(), RooArgList::at(), code, coutW, RooAbsCollection::find(), TNamed::GetName(), RooAbsCollection::getSize(), i, and RooFit::Integration.
void RooMultiVarGaussian::initGenerator | ( | Int_t | code | ) | [virtual] |
Reimplemented from RooAbsPdf.
Definition at line 342 of file RooMultiVarGaussian.cxx.
References _genCache.
void RooMultiVarGaussian::generateEvent | ( | Int_t | code | ) | [virtual] |
Reimplemented from RooAbsPdf.
Definition at line 354 of file RooMultiVarGaussian.cxx.
References _x, RooArgList::at(), RooRandom::gaussian(), genData(), TMatrixTBase< Element >::GetNcols(), RooAbsPdf::getVal(), i, k, kFALSE, kTRUE, RooMultiVarGaussian::GenData::mu1, RooMultiVarGaussian::GenData::mu2, ok, RooMultiVarGaussian::GenData::omap, RooMultiVarGaussian::GenData::pmap, RooMultiVarGaussian::GenData::S12S22I, RooMultiVarGaussian::GenData::UT, and x2.
const TMatrixDSym& RooMultiVarGaussian::covarianceMatrix | ( | ) | const [inline] |
void RooMultiVarGaussian::blockDecompose | ( | const TMatrixD & | input, | |
const vector< int > & | map1, | |||
const vector< int > & | map2, | |||
TMatrixDSym & | S11, | |||
TMatrixD & | S12, | |||
TMatrixD & | S21, | |||
TMatrixDSym & | S22 | |||
) | [static] |
Definition at line 531 of file RooMultiVarGaussian.cxx.
References i, j, TMatrixTSym< Element >::ResizeTo(), and TMatrixT< Element >::ResizeTo().
Referenced by anaIntData(), RooFitResult::createHessePdf(), G__G__RooFitCore3_762_0_15(), G__setup_memfuncRooMultiVarGaussian(), genData(), and RooFitResult::reducedCovarianceMatrix().
void RooMultiVarGaussian::decodeCode | ( | Int_t | code, | |
vector< int > & | map1, | |||
vector< int > & | map2 | |||
) | const [protected] |
Definition at line 514 of file RooMultiVarGaussian.cxx.
References _x, RooAbsCollection::getSize(), and i.
Referenced by anaIntData(), and genData().
RooMultiVarGaussian::AnaIntData & RooMultiVarGaussian::anaIntData | ( | Int_t | code | ) | const [protected] |
Definition at line 257 of file RooMultiVarGaussian.cxx.
References _anaIntCache, _covI, blockDecompose(), decodeCode(), TMatrixTSym< Element >::Determinant(), TMatrixT< Element >::Invert(), RooMultiVarGaussian::AnaIntData::nint, RooMultiVarGaussian::AnaIntData::pmap, TMatrixT< Element >::ResizeTo(), RooMultiVarGaussian::AnaIntData::S22bar, and RooMultiVarGaussian::AnaIntData::S22det.
Referenced by analyticalIntegral().
RooMultiVarGaussian::GenData & RooMultiVarGaussian::genData | ( | Int_t | code | ) | const [protected] |
Definition at line 420 of file RooMultiVarGaussian.cxx.
References _cov, _genCache, _muVec, _x, blockDecompose(), decodeCode(), TDecompChol::Decompose(), RooAbsCollection::getSize(), TDecompChol::GetU(), i, TMatrixT< Element >::kInverted, TMatrixT< Element >::kTransposed, RooMultiVarGaussian::GenData::mu1, RooMultiVarGaussian::GenData::mu2, RooMultiVarGaussian::GenData::omap, RooMultiVarGaussian::GenData::pmap, TMatrixT< Element >::ResizeTo(), TVectorT< Element >::ResizeTo(), RooMultiVarGaussian::GenData::S12S22I, syncMuVec(), and RooMultiVarGaussian::GenData::UT.
Referenced by generateEvent().
void RooMultiVarGaussian::syncMuVec | ( | ) | const [protected] |
Definition at line 156 of file RooMultiVarGaussian.cxx.
References _mu, _muVec, RooArgList::at(), RooAbsCollection::getSize(), RooAbsPdf::getVal(), i, and TVectorT< Element >::ResizeTo().
Referenced by analyticalIntegral(), evaluate(), genData(), and getAnalyticalIntegral().
Double_t RooMultiVarGaussian::evaluate | ( | ) | const [protected, virtual] |
Do not persist.
Implements RooAbsReal.
Definition at line 166 of file RooMultiVarGaussian.cxx.
References _covI, _muVec, _x, RooArgList::at(), exp(), RooAbsCollection::getSize(), RooAbsPdf::getVal(), i, syncMuVec(), and x.
void RooMultiVarGaussian::setAnaIntZ | ( | Double_t | z | ) | [inline] |
virtual TObject* RooMultiVarGaussian::clone | ( | const char * | newname | ) | const [inline, virtual] |
Implements RooAbsArg.
Definition at line 39 of file RooMultiVarGaussian.h.
References RooMultiVarGaussian().
Int_t RooMultiVarGaussian::getAnalyticalIntegral | ( | RooArgSet & | allVars, | |
RooArgSet & | analVars, | |||
const char * | rangeName = 0 | |||
) | const [virtual] |
Reimplemented from RooAbsReal.
Double_t RooMultiVarGaussian::analyticalIntegral | ( | Int_t | code, | |
const char * | rangeName = 0 | |||
) | const [virtual] |
Reimplemented from RooAbsReal.
Int_t RooMultiVarGaussian::getGenerator | ( | const RooArgSet & | directVars, | |
RooArgSet & | generateVars, | |||
Bool_t | staticInitOK = kTRUE | |||
) | const [virtual] |
Reimplemented from RooAbsPdf.
const TMatrixDSym& RooMultiVarGaussian::covarianceMatrix | ( | ) | const [inline] |
static void RooMultiVarGaussian::blockDecompose | ( | const TMatrixD & | input, | |
const vector< int > & | map1, | |||
const vector< int > & | map2, | |||
TMatrixDSym & | S11, | |||
TMatrixD & | S12, | |||
TMatrixD & | S21, | |||
TMatrixDSym & | S22 | |||
) | [static] |
void RooMultiVarGaussian::decodeCode | ( | Int_t | code, | |
vector< int > & | map1, | |||
vector< int > & | map2 | |||
) | const [protected] |
AnaIntData& RooMultiVarGaussian::anaIntData | ( | Int_t | code | ) | const [protected] |
void RooMultiVarGaussian::syncMuVec | ( | ) | const [protected] |
Double_t RooMultiVarGaussian::evaluate | ( | ) | const [protected, virtual] |
map<int,AnaIntData> RooMultiVarGaussian::_anaIntCache [mutable, protected] |
map<int,GenData> RooMultiVarGaussian::_genCache [mutable, protected] |
RooListProxy RooMultiVarGaussian::_x [protected] |
Definition at line 80 of file RooMultiVarGaussian.h.
Referenced by analyticalIntegral(), decodeCode(), evaluate(), genData(), generateEvent(), getAnalyticalIntegral(), getGenerator(), and RooMultiVarGaussian().
RooListProxy RooMultiVarGaussian::_mu [protected] |
Definition at line 81 of file RooMultiVarGaussian.h.
Referenced by RooMultiVarGaussian(), and syncMuVec().
TMatrixDSym RooMultiVarGaussian::_cov [protected] |
Definition at line 82 of file RooMultiVarGaussian.h.
Referenced by covarianceMatrix(), genData(), getAnalyticalIntegral(), and RooMultiVarGaussian().
TMatrixDSym RooMultiVarGaussian::_covI [protected] |
Definition at line 83 of file RooMultiVarGaussian.h.
Referenced by anaIntData(), evaluate(), and RooMultiVarGaussian().
Double_t RooMultiVarGaussian::_det [protected] |
Definition at line 84 of file RooMultiVarGaussian.h.
Referenced by analyticalIntegral(), and RooMultiVarGaussian().
Double_t RooMultiVarGaussian::_z [protected] |
Definition at line 85 of file RooMultiVarGaussian.h.
Referenced by getAnalyticalIntegral(), and setAnaIntZ().
TVectorD RooMultiVarGaussian::_muVec [mutable, protected] |
Definition at line 88 of file RooMultiVarGaussian.h.
Referenced by analyticalIntegral(), evaluate(), genData(), getAnalyticalIntegral(), and syncMuVec().
map<int,AnaIntData> RooMultiVarGaussian::_anaIntCache [mutable, protected] |
Definition at line 77 of file RooMultiVarGaussian.h.
map<int,GenData> RooMultiVarGaussian::_genCache [mutable, protected] |
Definition at line 78 of file RooMultiVarGaussian.h.