1#ifndef ROOT_TEfficiency 
    2#define ROOT_TEfficiency 
   71      void          Build(
const char* 
name,
const char* title);
 
  156      void          SetTitle(
const char* title) 
override;
 
 
#define ClassDefOverride(name, id)
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
const TEfficiency operator+(const TEfficiency &lhs, const TEfficiency &rhs)
Addition operator.
 
static unsigned int total
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void on
 
Fill Area Attributes class.
 
Using a TBrowser one can browse all ROOT objects.
 
Collection abstract base class.
 
Describe directory structure in memory.
 
Class to handle efficiency histograms.
 
void FillGraph2D(TGraph2DAsymmErrors *graph, Option_t *opt) const
Fill the graph to be painted with information from TEfficiency Internal method called by TEfficiency:...
 
Bool_t UsesCentralInterval() const
 
void ExecuteEvent(Int_t event, Int_t px, Int_t py) override
Execute action corresponding to one event.
 
static Bool_t FeldmanCousinsInterval(Double_t total, Double_t passed, Double_t level, Double_t &lower, Double_t &upper)
Calculates the interval boundaries using the frequentist methods of Feldman-Cousins.
 
void SetPosteriorMode(Bool_t on=true)
 
static Double_t BetaMode(Double_t alpha, Double_t beta)
Compute the mode of the beta distribution.
 
Bool_t SetPassedEvents(Int_t bin, Int_t events)
Sets the number of passed events in the given global bin.
 
TH2 * CreateHistogram(Option_t *opt="") const
Create the histogram used to be painted (for dim=2 TEfficiency) The return object is managed by the c...
 
static Bool_t BetaShortestInterval(Double_t level, Double_t alpha, Double_t beta, Double_t &lower, Double_t &upper)
Calculates the boundaries for a shortest confidence interval for a Beta distribution.
 
static Bool_t CheckWeights(const TH1 &pass, const TH1 &total)
Check if both histogram are weighted.
 
static Double_t BetaMean(Double_t alpha, Double_t beta)
Compute the mean (average) of the beta distribution.
 
TH2 * GetPaintedHistogram() const
 
TEfficiency()
Default constructor.
 
Double_t GetBetaAlpha(Int_t bin=-1) const
 
void SetPosteriorAverage(Bool_t on=true)
 
void FillWeighted(Bool_t bPassed, Double_t weight, Double_t x, Double_t y=0, Double_t z=0)
This function is used for filling the two histograms with a weight.
 
void Browse(TBrowser *) override
Browse object. May be overridden for another default action.
 
~TEfficiency() override
default destructor
 
TList * GetListOfFunctions()
 
static Double_t Bayesian(Double_t total, Double_t passed, Double_t level, Double_t alpha, Double_t beta, Bool_t bUpper, Bool_t bShortest=false)
Calculates the boundaries for a Bayesian confidence interval (shortest or central interval depending ...
 
static Double_t AgrestiCoull(Double_t total, Double_t passed, Double_t level, Bool_t bUpper)
Calculates the boundaries for the frequentist Agresti-Coull interval.
 
Long64_t Merge(TCollection *list)
Merges the TEfficiency objects in the given list to the given TEfficiency object using the operator+=...
 
std::vector< std::pair< Double_t, Double_t > > fBeta_bin_params
Parameter for prior beta distribution different bin by bin (default vector is empty)
 
static Double_t FeldmanCousins(Double_t total, Double_t passed, Double_t level, Bool_t bUpper)
Calculates the boundaries for the frequentist Feldman-Cousins interval.
 
EStatOption fStatisticOption
Defines how the confidence intervals are determined.
 
void SetStatisticOption(EStatOption option)
Sets the statistic option which affects the calculation of the confidence interval.
 
TGraph2DAsymmErrors * GetPaintedGraph2D() const
 
void Paint(Option_t *opt) override
Paints this TEfficiency object.
 
void SetWeight(Double_t weight)
Sets the global weight for this TEfficiency object.
 
TH1 * fTotalHistogram
Histogram for total number of events.
 
Int_t GetDimension() const
returns the dimension of the current TEfficiency object
 
TGraph2DAsymmErrors * fPaintGraph2D
! Temporary graph for painting
 
TEfficiency & operator+=(const TEfficiency &rhs)
Adds the histograms of another TEfficiency object to current histograms.
 
Bool_t SetBins(Int_t nx, Double_t xmin, Double_t xmax)
Set the bins for the underlined passed and total histograms If the class have been already filled the...
 
void Build(const char *name, const char *title)
Building standard data structure of a TEfficiency object.
 
TH1 * GetCopyPassedHisto() const
Returns a cloned version of fPassedHistogram.
 
Double_t GetEfficiencyErrorUp(Int_t bin) const
Returns the upper error on the efficiency in the given global bin.
 
Double_t fBeta_alpha
Global parameter for prior beta distribution (default = 1)
 
Bool_t UsesBayesianStat() const
 
const TH1 * GetPassedHistogram() const
 
void SavePrimitive(std::ostream &out, Option_t *opt="") override
Have histograms fixed bins along each axis?
 
void SetBetaBeta(Double_t beta)
Sets the shape parameter β.
 
Double_t GetConfidenceLevel() const
 
static Bool_t CheckBinning(const TH1 &pass, const TH1 &total)
Checks binning for each axis.
 
void SetName(const char *name) override
Sets the name.
 
TGraph2DAsymmErrors * CreateGraph2D(Option_t *opt="") const
Create the graph used be painted (for dim=1 TEfficiency) The return object is managed by the caller.
 
static Double_t BetaCentralInterval(Double_t level, Double_t alpha, Double_t beta, Bool_t bUpper)
Calculates the boundaries for a central confidence interval for a Beta distribution.
 
Int_t GetGlobalBin(Int_t binx, Int_t biny=0, Int_t binz=0) const
Returns the global bin number which can be used as argument for the following functions:
 
TH1 * fPassedHistogram
Histogram for events which passed certain criteria.
 
static Double_t MidPInterval(Double_t total, Double_t passed, Double_t level, Bool_t bUpper)
Calculates the boundaries using the mid-P binomial interval (Lancaster method) from B.
 
void SetBetaAlpha(Double_t alpha)
Sets the shape parameter α.
 
@ kIsBayesian
Bayesian statistics are used.
 
@ kUseWeights
Use weights.
 
@ kPosteriorMode
Use posterior mean for best estimate (Bayesian statistics)
 
@ kUseBinPrior
Use a different prior for each bin.
 
@ kShortestInterval
Use shortest interval.
 
static Bool_t CheckEntries(const TH1 &pass, const TH1 &total, Option_t *opt="")
Checks whether bin contents are compatible with binomial statistics.
 
static Double_t Normal(Double_t total, Double_t passed, Double_t level, Bool_t bUpper)
Returns the confidence limits for the efficiency supposing that the efficiency follows a normal distr...
 
Double_t fWeight
Weight for all events (default = 1)
 
Bool_t SetPassedHistogram(const TH1 &rPassed, Option_t *opt)
Sets the histogram containing the passed events.
 
Double_t GetBetaBeta(Int_t bin=-1) const
 
Double_t(* fBoundary)(Double_t, Double_t, Double_t, Bool_t)
! Pointer to a method calculating the boundaries of confidence intervals
 
void FillGraph(TGraphAsymmErrors *graph, Option_t *opt) const
Fill the graph to be painted with information from TEfficiency Internal method called by TEfficiency:...
 
static Double_t Combine(Double_t &up, Double_t &low, Int_t n, const Int_t *pass, const Int_t *total, Double_t alpha, Double_t beta, Double_t level=0.683, const Double_t *w=nullptr, Option_t *opt="")
 
Bool_t UsesPosteriorMode() const
 
void SetShortestInterval(Bool_t on=true)
 
const TH1 * GetTotalHistogram() const
 
Bool_t UsesWeights() const
 
void FillHistogram(TH2 *h2) const
Fill the 2d histogram to be painted with information from TEfficiency 2D Internal method called by TE...
 
Bool_t UsesPosteriorAverage() const
 
Int_t FindFixBin(Double_t x, Double_t y=0, Double_t z=0) const
Returns the global bin number containing the given values.
 
TDirectory * GetDirectory() const
 
TDirectory * fDirectory
! Pointer to directory holding this TEfficiency object
 
void SetUseWeightedEvents(Bool_t on=kTRUE)
 
static Double_t Wilson(Double_t total, Double_t passed, Double_t level, Bool_t bUpper)
Calculates the boundaries for the frequentist Wilson interval.
 
TEfficiency & operator=(const TEfficiency &rhs)
Assignment operator.
 
Int_t DistancetoPrimitive(Int_t px, Int_t py) override
Compute distance from point px,py to a graph.
 
Double_t fConfLevel
Confidence level (default = 0.683, 1 sigma)
 
void SetCentralInterval(Bool_t on=true)
 
Double_t fBeta_beta
Global parameter for prior beta distribution (default = 1)
 
Double_t GetEfficiency(Int_t bin) const
Returns the efficiency in the given global bin.
 
Bool_t SetTotalHistogram(const TH1 &rTotal, Option_t *opt)
Sets the histogram containing all events.
 
void Fill(Bool_t bPassed, Double_t x, Double_t y=0, Double_t z=0)
This function is used for filling the two histograms.
 
void SetDirectory(TDirectory *dir)
Sets the directory holding this TEfficiency object.
 
TGraphAsymmErrors * fPaintGraph
! Temporary graph for painting
 
TGraphAsymmErrors * CreateGraph(Option_t *opt="") const
Create the graph used be painted (for dim=1 TEfficiency) The return object is managed by the caller.
 
EStatOption GetStatisticOption() const
 
TGraphAsymmErrors * GetPaintedGraph() const
 
TList * fFunctions
->Pointer to list of functions
 
Bool_t SetTotalEvents(Int_t bin, Double_t events)
Sets the number of total events in the given global bin.
 
void SetBetaBinParameters(Int_t bin, Double_t alpha, Double_t beta)
Sets different shape parameter α and β for the prior distribution for each bin.
 
static Bool_t CheckConsistency(const TH1 &pass, const TH1 &total, Option_t *opt="")
Checks the consistence of the given histograms.
 
Double_t GetWeight() const
 
void Add(const TEfficiency &rEff)
 
TH1 * GetCopyTotalHisto() const
Returns a cloned version of fTotalHistogram.
 
static Double_t ClopperPearson(Double_t total, Double_t passed, Double_t level, Bool_t bUpper)
Calculates the boundaries for the frequentist Clopper-Pearson interval.
 
void SetConfidenceLevel(Double_t level)
Sets the confidence level (0 < level < 1) The default value is 1-sigma :~ 0.683.
 
Double_t GetEfficiencyErrorLow(Int_t bin) const
Returns the lower error on the efficiency in the given global bin.
 
Bool_t UsesShortestInterval() const
 
EStatOption
Enumeration type for different statistic options for calculating confidence intervals kF* ....
 
@ kBJeffrey
Jeffrey interval (Prior ~ Beta(0.5,0.5)
 
@ kFWilson
Wilson interval.
 
@ kFAC
Agresti-Coull interval.
 
@ kMidP
Mid-P Lancaster interval.
 
@ kBUniform
Prior ~ Uniform = Beta(1,1)
 
@ kFFC
Feldman-Cousins interval.
 
@ kBBayesian
User specified Prior ~ Beta(fBeta_alpha,fBeta_beta)
 
@ kFNormal
Normal approximation.
 
@ kFCP
Clopper-Pearson interval (recommended by PDG)
 
void SetTitle(const char *title) override
Sets the title.
 
TFitResultPtr Fit(TF1 *f1, Option_t *opt="")
Fits the efficiency using the TBinomialEfficiencyFitter class.
 
TH2 * fPaintHisto
! Temporary histogram for painting
 
Provides an indirection to the TFitResult class and with a semantics identical to a TFitResult pointe...
 
Graph 2D class with errors.
 
TGraph with asymmetric error bars.
 
TH1 is the base class of all histogram classes in ROOT.
 
Service class for 2-D histogram classes.
 
The TNamed class is the base class for all named ROOT classes.
 
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
 
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.