40typedef std::pair<Int_t, VecVecDouble::iterator >
iiPair;
41typedef std::vector< iiPair >
iiVec;
42typedef std::pair<Int_t, VecTVecDouble::iterator >
itPair;
43typedef std::vector< itPair >
itVec;
60 TString options =
"ma",
double rho = 1,
double nSigma = 3,
bool rotate =
true,
61 bool sortInput =
true);
64 double rho = 1,
double nSigma = 3,
bool rotate =
true,
bool sortInput =
true);
67 const TVectorD &rho,
TString options =
"ma",
double nSigma = 3,
bool rotate =
true,
68 bool sortInput =
true);
71 const RooArgList &rhoList,
TString options =
"ma",
double nSigma = 3,
bool rotate =
true,
72 bool sortInput =
true);
75 const RooArgList &rhoList,
TString options =
"ma",
double nSigma = 3,
bool rotate =
true,
76 bool sortInput =
true);
79 double rho = 1,
double nSigma = 3,
bool rotate =
true,
bool sortInput =
true);
82 TString options =
"ma",
double rho = 1.0,
double nSigma = 3,
bool rotate =
true,
83 bool sortInput =
true);
130 double gauss(std::vector<double> &
x, std::vector<std::vector<double>> &weights)
const;
131 void loopRange(std::vector<double> &
x, std::vector<Int_t> &indices)
const;
164 std::vector<std::vector<double> >*
_weights{
nullptr};
169 mutable std::vector<double>
_rho;
171 mutable std::vector<double>
_x;
std::pair< Int_t, VecVecDouble::iterator > iiPair
std::vector< itPair > itVec
std::vector< iiPair > iiVec
std::pair< Int_t, VecTVecDouble::iterator > itPair
#define ClassDefOverride(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
RooChangeTracker is a meta object that tracks value changes in a given set of RooAbsArgs by registeri...
RooDataSet is a container class to hold unbinned data.
Generic N-dimensional implementation of a kernel estimation p.d.f.
std::vector< double > _xVarLoM3s
std::unique_ptr< RooDataSet > _ownedData
std::map< Int_t, bool > _ibNoSort
std::vector< Int_t > _sIdcs
std::vector< std::vector< double > > _weights0
void initialize()
initialization
double analyticalIntegral(Int_t code, const char *rangeName=nullptr) const override
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral.
void calculatePreNorm(BoxInfo *bi) const
bi->nEventsBMSW=0.; bi->nEventsBW=0.;
std::vector< double > _xDatHi
void loadDataSet(bool firstCall)
copy the dataset and calculate some useful variables
std::vector< std::vector< double > > * _weights
double evaluate() const override
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
void loopRange(std::vector< double > &x, std::vector< Int_t > &indices) const
determine closest points to x, to loop over in evaluate()
std::vector< double > _xDatLo
std::map< Int_t, double > _wMap
void sortDataIndices(BoxInfo *bi=nullptr)
sort entries, as needed for loopRange()
std::vector< double > _xVarHi
std::vector< Int_t > _bIdcs
std::vector< TVectorD > _dataPtsR
std::vector< double > _mean
std::vector< double > _xVarLo
void calculateShell(BoxInfo *bi) const
determine points in +/- nSigma shell around the box determined by the variable ranges.
void calculateBandWidth()
std::vector< double > _xDatLo3s
std::vector< double > _x1
std::vector< std::vector< double > > _dataPts
std::vector< double > _xVarHiM3s
std::vector< double > _x0
std::vector< double > _x2
double gauss(std::vector< double > &x, std::vector< std::vector< double > > &weights) const
loop over all closest point to x, as determined by loopRange()
std::vector< double > _rho
std::vector< Int_t > _bmsIdcs
std::vector< itVec > _sortTVIdcs
Weights to be used. Points either to _weights0 or _weights1.
void boxInfoInit(BoxInfo *bi, const char *rangeName, Int_t code) const
std::map< std::pair< std::string, int >, BoxInfo * > _rangeBoxInfo
std::vector< Int_t > _idx
TObject * clone(const char *newname) const override
Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=nullptr) const override
Interface function getAnalyticalIntergral advertises the analytical integrals that are supported.
std::vector< double > _xVarLoP3s
std::vector< std::vector< double > > _weights1
std::vector< double > _xDatHi3s
TString _options
do not persist
std::vector< double > _xVarHiP3s
TMatrixD getWeights(const int &k) const
Return evaluated weights.
std::vector< double > _sigma
void mirrorDataSet()
determine mirror dataset.
void setOptions()
set the configuration
RooDataSet * createDatasetFromHist(const RooArgList &varList, const TH1 &hist) const
std::vector< std::string > _varName
void checkInitWeights() const
void createPdf(bool firstCall=true)
evaluation order of constructor.
std::map< Int_t, bool > _bpsIdcs
RooChangeTracker * _tracker
RooRealVar represents a variable that can be changed from the outside.
TH1 is the base class of all histogram classes in ROOT.
Mother of all ROOT objects.
std::vector< double > xVarHiM3s
std::vector< Int_t > bIdcs
std::vector< double > xVarHiP3s
std::vector< double > xVarLo
std::vector< double > xVarHi
std::map< Int_t, bool > bpsIdcs
std::vector< Int_t > sIdcs
std::vector< double > xVarLoM3s
std::vector< double > xVarLoP3s
std::vector< Int_t > bmsIdcs