62 _mirrorLeft(
kFALSE), _mirrorRight(kFALSE),
63 _asymLeft(kFALSE), _asymRight(kFALSE)
76 _x(
"x",
"observable",this,x),
81 _mirrorLeft(mirror==MirrorLeft || mirror==MirrorBoth || mirror==MirrorLeftAsymRight),
82 _mirrorRight(mirror==MirrorRight || mirror==MirrorBoth || mirror==MirrorAsymLeftRight),
83 _asymLeft(mirror==MirrorAsymLeft || mirror==MirrorAsymLeftRight || mirror==MirrorAsymBoth),
84 _asymRight(mirror==MirrorAsymRight || mirror==MirrorLeftAsymRight || mirror==MirrorAsymBoth),
107 _x(
"x",
"Observable",this,xpdf),
112 _mirrorLeft(mirror==MirrorLeft || mirror==MirrorBoth || mirror==MirrorLeftAsymRight),
113 _mirrorRight(mirror==MirrorRight || mirror==MirrorBoth || mirror==MirrorAsymLeftRight),
114 _asymLeft(mirror==MirrorAsymLeft || mirror==MirrorAsymLeftRight || mirror==MirrorAsymBoth),
115 _asymRight(mirror==MirrorAsymRight || mirror==MirrorLeftAsymRight || mirror==MirrorAsymBoth),
134 RooAbsPdf(other,name), _x(
"x",this,other._x), _nEvents(other._nEvents),
135 _dataPts(0), _dataWgts(0), _weights(0), _sumWgt(0),
136 _mirrorLeft( other._mirrorLeft ), _mirrorRight( other._mirrorRight ),
137 _asymLeft(other._asymLeft), _asymRight(other._asymRight),
184 {
return a.x < b.x; }
192 std::vector<Data> tmp;
220 std::sort(tmp.begin(), tmp.end(), cmp());
226 for (
unsigned i = 0; i < tmp.size(); ++i) {
232 std::vector<Data> tmp2;
258 if (xlo >= xhi)
continue;
266 for (
Int_t k = binlo; k <= binhi; ++k, chi += chi2incr) {
276 if (xlo >= xhi)
continue;
284 for (
Int_t k = binlo; k <= binhi; ++k, chi += chi2incr) {
295 if (xlo >= xhi)
continue;
303 for (
Int_t k = binlo; k <= binhi; ++k, chi += chi2incr) {
309 for (
Int_t i=0;i<_nPoints+1;++i)
359 for (
Int_t i = imin + 2; i < imax; ++i)
360 sum += 2. * _lookupTable[i];
367 sum +=
_binWidth * (1. - dxmin) * 0.5 * (_lookupTable[imin + 1] +
368 _lookupTable[imin] + dxmin *
369 (_lookupTable[imin + 1] - _lookupTable[imin]));
371 sum +=
_binWidth * dxmax * 0.5 * (_lookupTable[imax] +
372 _lookupTable[imax] + dxmax *
373 (_lookupTable[imax + 1] - _lookupTable[imax]));
374 }
else if (imin == imax) {
376 sum +=
_binWidth * (dxmax - dxmin) * 0.5 * (
377 _lookupTable[imin] + dxmin *
378 (_lookupTable[imin + 1] - _lookupTable[imin]) +
379 _lookupTable[imax] + dxmax *
380 (_lookupTable[imax + 1] - _lookupTable[imax]));
412 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 Vc_ALWAYS_INLINE int_v min(const int_v &x, const int_v &y)
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
std::vector< std::vector< double > > Data
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.
virtual Double_t weight() const
Return event weight of current event.
TPaveLabel title(3, 27.1, 15, 28.7,"ROOT Environment and Tools")
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...
static Vc_ALWAYS_INLINE int_v max(const int_v &x, const int_v &y)
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
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