61 _mirrorLeft(
kFALSE), _mirrorRight(kFALSE),
62 _asymLeft(kFALSE), _asymRight(kFALSE)
74 _x(
"x",
"observable",this,x),
79 _mirrorLeft(mirror==MirrorLeft || mirror==MirrorBoth || mirror==MirrorLeftAsymRight),
80 _mirrorRight(mirror==MirrorRight || mirror==MirrorBoth || mirror==MirrorAsymLeftRight),
81 _asymLeft(mirror==MirrorAsymLeft || mirror==MirrorAsymLeftRight || mirror==MirrorAsymBoth),
82 _asymRight(mirror==MirrorAsymRight || mirror==MirrorLeftAsymRight || mirror==MirrorAsymBoth),
103 _x(
"x",
"Observable",this,xpdf),
108 _mirrorLeft(mirror==MirrorLeft || mirror==MirrorBoth || mirror==MirrorLeftAsymRight),
109 _mirrorRight(mirror==MirrorRight || mirror==MirrorBoth || mirror==MirrorAsymLeftRight),
110 _asymLeft(mirror==MirrorAsymLeft || mirror==MirrorAsymLeftRight || mirror==MirrorAsymBoth),
111 _asymRight(mirror==MirrorAsymRight || mirror==MirrorLeftAsymRight || mirror==MirrorAsymBoth),
128 RooAbsPdf(other,name), _x(
"x",this,other._x), _nEvents(other._nEvents),
129 _dataPts(0), _dataWgts(0), _weights(0), _sumWgt(0),
130 _mirrorLeft( other._mirrorLeft ), _mirrorRight( other._mirrorRight ),
131 _asymLeft(other._asymLeft), _asymRight(other._asymRight),
175 {
return a.x < b.x; }
183 std::vector<Data> tmp;
211 std::sort(tmp.begin(), tmp.end(), cmp());
217 for (
unsigned i = 0; i < tmp.size(); ++i) {
223 std::vector<Data> tmp2;
249 if (xlo >= xhi)
continue;
257 for (
Int_t k = binlo; k <= binhi; ++k, chi += chi2incr) {
267 if (xlo >= xhi)
continue;
275 for (
Int_t k = binlo; k <= binhi; ++k, chi += chi2incr) {
286 if (xlo >= xhi)
continue;
294 for (
Int_t k = binlo; k <= binhi; ++k, chi += chi2incr) {
300 for (
Int_t i=0;i<_nPoints+1;++i)
350 for (
Int_t i = imin + 2; i < imax; ++i)
351 sum += 2. * _lookupTable[i];
358 sum +=
_binWidth * (1. - dxmin) * 0.5 * (_lookupTable[imin + 1] +
359 _lookupTable[imin] + dxmin *
360 (_lookupTable[imin + 1] - _lookupTable[imin]));
362 sum +=
_binWidth * dxmax * 0.5 * (_lookupTable[imax] +
363 _lookupTable[imax] + dxmax *
364 (_lookupTable[imax + 1] - _lookupTable[imax]));
365 }
else if (imin == imax) {
367 sum +=
_binWidth * (dxmax - dxmin) * 0.5 * (
368 _lookupTable[imin] + dxmin *
369 (_lookupTable[imin + 1] - _lookupTable[imin]) +
370 _lookupTable[imax] + dxmax *
371 (_lookupTable[imax + 1] - _lookupTable[imax]));
385 Double_t max = -std::numeric_limits<Double_t>::max();
402 for ( ; it < iend; ++it) {
virtual Double_t analyticalIntegral(Int_t code, const char *rangeName=0) const
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral. ...
Double_t _lookupTable[_nPoints+1]
static long int sum(long int i)
virtual Double_t maxVal(Int_t code) const
Return maximum value for set of observables identified by code assigned in getMaxVal.
Bool_t contains(const RooAbsArg &var) const
Double_t g(Double_t x, Double_t sigma) const
virtual Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
Interface function getAnalyticalIntergral advertises the analytical integrals that are supported...
const RooAbsReal & arg() const
static const double x2[5]
Class RooKeysPdf implements a one-dimensional kernel estimation p.d.f which model the distribution of...
double pow(double, double)
Double_t evaluate() const
Double_t getVal(const RooArgSet *set=0) const
void LoadDataSet(RooDataSet &data)
static const Double_t _nSigma
RooRealVar represents a fundamental (non-derived) real valued object.
virtual Int_t getMaxVal(const RooArgSet &vars) const
Advertise capability to determine maximum value of function for given set of observables.
RooKeysPdf()
coverity[UNINIT_CTOR]
virtual Double_t weight() const
Return event weight of current event.
virtual Int_t numEntries() const
RooAbsArg * absArg() const
virtual const char * GetName() const
Returns name of object.
RooDataSet is a container class to hold unbinned data.
TRObject operator()(const T1 &t1) const
static const double x1[5]
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
RooAbsRealLValue is the common abstract base class for objects that represent a real value that may a...
RooAbsPdf is the abstract interface for all probability density functions The class provides hybrid a...
Double_t min(const char *rname=0) const
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
Bool_t matchArgs(const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a) const
Utility function for use in getAnalyticalIntegral().
double norm(double *x, double *p)
virtual const RooArgSet * get(Int_t index) const
Return RooArgSet with coordinates of event 'index'.
Double_t max(const char *rname=0) const