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),
174 inline bool operator()(
const struct Data&
a,
const struct Data&
b)
const
175 {
return a.x <
b.x; }
183 std::vector<Data> tmp;
189 for (
Int_t i = 0; i <
data.numEntries(); ++i) {
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) {
350 for (
Int_t i = imin + 2; i < imax; ++i)
365 }
else if (imin == imax) {
385 Double_t max = -std::numeric_limits<Double_t>::max();
402 for ( ; it < iend; ++it) {
static const double x2[5]
static const double x1[5]
double pow(double, double)
TRObject operator()(const T1 &t1) const
Bool_t contains(const RooAbsArg &var) const
RooAbsPdf is the abstract interface for all probability density functions The class provides hybrid a...
RooAbsRealLValue is the common abstract base class for objects that represent a real value that may a...
virtual Double_t getMax(const char *name=0) const
virtual Double_t getMin(const char *name=0) const
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Bool_t matchArgs(const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a) const
Utility function for use in getAnalyticalIntegral().
Double_t getVal(const RooArgSet *set=0) const
Evaluate object. Returns either cached value or triggers a recalculation.
RooAbsArg * absArg() const
RooArgSet is a container object that can hold multiple RooAbsArg objects.
RooDataSet is a container class to hold unbinned data.
Class RooKeysPdf implements a one-dimensional kernel estimation p.d.f which model the distribution of...
RooKeysPdf()
coverity[UNINIT_CTOR]
virtual Double_t analyticalIntegral(Int_t code, const char *rangeName=0) const
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral.
virtual Double_t maxVal(Int_t code) const
Return maximum value for set of observables identified by code assigned in getMaxVal.
void LoadDataSet(RooDataSet &data)
virtual Int_t getMaxVal(const RooArgSet &vars) const
Advertise capability to determine maximum value of function for given set of observables.
Double_t g(Double_t x, Double_t sigma) const
static const Double_t _nSigma
Double_t _lookupTable[_nPoints+1]
Double_t evaluate() const
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
virtual Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
Interface function getAnalyticalIntergral advertises the analytical integrals that are supported.
Double_t min(const char *rname=0) const
const RooAbsReal & arg() const
Double_t max(const char *rname=0) const
RooRealVar represents a fundamental (non-derived) real valued object.
virtual const char * GetName() const
Returns name of object.
static long int sum(long int i)