44                   std::vector<double>& samplingDist, 
const char * varName) :
 
   61                   std::vector<double>& samplingDist, std::vector<double>& sampleWeights, 
const char * varName) :
 
   97   const char * _columnName,
 
  108   TString columnName( _columnName );
 
  110   if( !columnName.
Length() ) {
 
  112      if( !dataSet.
get()->
find(columnName) ) {
 
  135  TNamed(
"SamplingDistribution_DefaultName",
"SamplingDistribution")
 
  168  for(
unsigned int i=0; i<newSamplingDist.size(); ++i){
 
  203   std::vector<unsigned int> 
index(
n);
 
  207   fSumW = std::vector<double>( 
n );
 
  208   fSumW2 = std::vector<double>( 
n );
 
  210   std::vector<double> sortedDist( 
n);
 
  211   std::vector<double> sortedWeights( 
n);
 
  213   for(
unsigned int i=0; i <
n; i++) {
 
  214      unsigned int j = 
index[i];
 
  243      error = numeric_limits<double>::infinity();
 
  247   if (
int(
fSumW.size()) != 
n)
 
  273   assert(indexLow < 
n && indexHigh < 
n);
 
  278   if (indexHigh >= 0) {
 
  290      double norm  = 
fSumW.back();
 
  291      double norm2 = 
fSumW2.back();
 
  297      error = std::sqrt( sum2 * (1. - 2. * 
sum) + norm2 * 
sum * 
sum ) / norm;
 
  300      error = std::sqrt(sum2);
 
  327                 double sigmaVariation,
 
  328                 double& inverseWithVariation)
 
  334      Warning(
"InverseCDF",
"Estimation of Quantiles (InverseCDF) for weighted events is not yet supported");
 
  359  else if(pvalue < 0.5){
 
  360    int delta = (
int)(sigmaVariation*sqrt(1.0*nominal)); 
 
  361    int variation = nominal+delta;
 
  365    else if(variation<=0)
 
  372  else if(pvalue >= 0.5){
 
  374    int variation = nominal+delta;
 
  380    else if(variation<=0)
 
  395    std::cout << 
"problem in SamplingDistribution::InverseCDF" << std::endl;
 
  412      Warning(
"InverseCDFInterpolate",
"Estimation of Quantiles (InverseCDF) for weighted events is not yet supported.");
 
  430  return (upperX-lowerX)/(upperY-lowerY)*(pvalue-lowerY)+lowerX;
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
 
double getRealValue(const char *name, double defVal=0.0, bool verbose=false) const
Get value of a RooAbsReal stored in set with given name.
 
RooAbsArg * first() const
 
RooAbsArg * find(const char *name) const
Find object with given name in list.
 
virtual Int_t numEntries() const
Return number of entries in dataset, i.e., count unweighted entries.
 
RooDataSet is a container class to hold unbinned data.
 
const RooArgSet * get(Int_t index) const override
Return RooArgSet with coordinates of event 'index'.
 
double weight() const override
Return event weight of current event.
 
static constexpr double infinity()
Return internal infinity representation.
 
This class simply holds a sampling distribution of some test statistic.
 
double Integral(double low, double high, bool normalize=true, bool lowClosed=true, bool highClosed=false) const
numerical integral in these limits
 
double CDF(double x) const
calculate CDF as a special case of Integral(...) with lower limit equal to -inf
 
~SamplingDistribution() override
Destructor of SamplingDistribution.
 
std::vector< double > fSumW2
! Cached vector with sum of the weight used to compute integral error
 
double InverseCDFInterpolate(double pvalue)
get the inverse of the Cumulative distribution function
 
std::vector< double > fSumW
! Cached vector with sum of the weight used to compute integral
 
SamplingDistribution()
Default constructor for SamplingDistribution.
 
std::vector< double > fSamplingDist
vector of points for the sampling distribution
 
double IntegralAndError(double &error, double low, double high, bool normalize=true, bool lowClosed=true, bool highClosed=false) const
numerical integral in these limits including error estimation
 
double InverseCDF(double pvalue)
get the inverse of the Cumulative distribution function
 
void Add(const SamplingDistribution *other)
merge two sampling distributions
 
const TString GetVarName() const
 
void SortValues() const
internal function to sort values
 
std::vector< double > fSampleWeights
vector of weights for the samples
 
The TNamed class is the base class for all named ROOT classes.
 
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
 
const char * GetName() const override
Returns name of object.
 
const char * GetTitle() const override
Returns title of object.
 
virtual void SetName(const char *name)
Set the name of the TNamed.
 
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
 
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
 
Namespace for the RooStats classes.
 
void SortItr(Iterator first, Iterator last, IndexIterator index, Bool_t down=kTRUE)
Sort the n1 elements of the Short_t array defined by its iterators.
 
Bool_t AreEqualRel(Double_t af, Double_t bf, Double_t relPrec)
Comparing floating points.
 
static uint64_t sum(uint64_t i)