Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooHist.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Project: RooFit *
3 * Package: RooFitCore *
4 * File: $Id: RooHist.h,v 1.22 2007/05/11 09:11:30 verkerke Exp $
5 * Authors: *
6 * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7 * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8 * *
9 * Copyright (c) 2000-2005, Regents of the University of California *
10 * and Stanford University. All rights reserved. *
11 * *
12 * Redistribution and use in source and binary forms, *
13 * with or without modification, are permitted according to the terms *
14 * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15 *****************************************************************************/
16#ifndef ROO_HIST
17#define ROO_HIST
18
19#include "TGraphAsymmErrors.h"
20#include "RooPlotable.h"
21#include "RooAbsData.h"
22#include "RooAbsRealLValue.h"
23
24class TH1;
25class RooCurve ;
26
27class RooHist : public TGraphAsymmErrors, public RooPlotable {
28public:
29 RooHist() ;
30 RooHist(Double_t nominalBinWidth, Double_t nSigma= 1, Double_t xErrorFrac=1.0, Double_t scaleFactor=1.0);
31 RooHist(const TH1 &data, Double_t nominalBinWidth= 0, Double_t nSigma= 1, RooAbsData::ErrorType=RooAbsData::Poisson,
32 Double_t xErrorFrac=1.0, Bool_t correctForBinWidth=kTRUE, Double_t scaleFactor=1.);
33 RooHist(const TH1 &data1, const TH1 &data2, Double_t nominalBinWidth= 0, Double_t nSigma= 1, RooAbsData::ErrorType=RooAbsData::Poisson,
34 Double_t xErrorFrac=1.0, Bool_t efficiency=kFALSE, Double_t scaleFactor=1.0);
35 RooHist(const RooHist& hist1, const RooHist& hist2, Double_t wgt1=1.0, Double_t wgt2=1.0,
37 RooHist(const RooAbsReal &f, RooAbsRealLValue &x, Double_t xErrorFrac=1.0, Double_t scaleFactor=1.0, const RooArgSet *normVars = 0, const RooFitResult* fr = 0);
38 virtual ~RooHist();
39
40 // add a datapoint for a bin with n entries, using a Poisson error
41 void addBin(Axis_t binCenter, Double_t n, Double_t binWidth= 0, Double_t xErrorFrac=1.0, Double_t scaleFactor=1.0);
42 // add a datapoint for a bin with n entries, using a given error
43 void addBinWithError(Axis_t binCenter, Double_t n, Double_t elow, Double_t ehigh, Double_t binWidth= 0,
44 Double_t xErrorFrac=1.0, Bool_t correctForBinWidth=kTRUE, Double_t scaleFactor=1.0);
45 // add a datapoint for a bin with n entries, using a given x and y error
46 void addBinWithXYError(Axis_t binCenter, Double_t n, Double_t exlow, Double_t exhigh, Double_t eylow, Double_t eyhigh,
47 Double_t scaleFactor=1.0);
48 // add a datapoint for the asymmetry (n1-n2)/(n1+n2), using a binomial error
49 void addAsymmetryBin(Axis_t binCenter, Int_t n1, Int_t n2, Double_t binWidth= 0, Double_t xErrorFrac=1.0, Double_t scaleFactor=1.0);
50 // add a datapoint for the asymmetry (n1-n2)/(n1+n2), using sum-of-weights error
51 void addAsymmetryBinWithError(Axis_t binCenter, Double_t n1, Double_t n2, Double_t en1, Double_t en2, Double_t binWidth= 0, Double_t xErrorFrac=1.0, Double_t scaleFactor=1.0);
52
53 // add a datapoint for the efficiency (n1)/(n1+n2), using a binomial error
54 void addEfficiencyBin(Axis_t binCenter, Int_t n1, Int_t n2, Double_t binWidth= 0, Double_t xErrorFrac=1.0, Double_t scaleFactor=1.0);
55 // add a datapoint for the efficiency (n1)/(n1+n2), using a sum-of-weights error
56 void addEfficiencyBinWithError(Axis_t binCenter, Double_t n1, Double_t n2, Double_t en1, Double_t en2, Double_t binWidth= 0, Double_t xErrorFrac=1.0, Double_t scaleFactor=1.0);
57
58 virtual void printName(std::ostream& os) const ;
59 virtual void printTitle(std::ostream& os) const ;
60 virtual void printClassName(std::ostream& os) const ;
61 virtual void printMultiline(std::ostream& os, Int_t content, Bool_t verbose=kFALSE, TString indent= "") const;
62
63 inline virtual void Print(Option_t *options= 0) const {
64 // Printing interface
66 }
67
71 inline Double_t getNominalBinWidth() const { return _nominalBinWidth; }
72 inline void setRawEntries(Double_t n) { _rawEntries = n ; }
73
74 Bool_t hasIdenticalBinning(const RooHist& other) const ;
75
76 RooHist* makeResidHist(const RooCurve& curve,bool normalize=false, bool useAverage=false) const;
77 RooHist* makePullHist(const RooCurve& curve, bool useAverage=false) const
78 {return makeResidHist(curve,true,useAverage); }
79
80
81 Bool_t isIdentical(const RooHist& other, Double_t tol=1e-6) const ;
82
83
84protected:
85 void initialize();
87
88private:
89 Double_t _nominalBinWidth ; // Average bin width
90 Double_t _nSigma ; // Number of 'sigmas' error bars represent
91 Double_t _entries ; // Number of entries in histogram
92 Double_t _rawEntries; // Number of entries in source dataset
93
94 ClassDef(RooHist,1) // 1-dimensional histogram with error bars
95};
96
97#endif
#define f(i)
Definition RSha256.hxx:104
#define e(i)
Definition RSha256.hxx:103
const Bool_t kFALSE
Definition RtypesCore.h:92
double Axis_t
Definition RtypesCore.h:76
double Double_t
Definition RtypesCore.h:59
const Bool_t kTRUE
Definition RtypesCore.h:91
const char Option_t
Definition RtypesCore.h:66
#define ClassDef(name, id)
Definition Rtypes.h:325
static void indent(ostringstream &buf, int indent_level)
RooAbsRealLValue is the common abstract base class for objects that represent a real value that may a...
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition RooAbsReal.h:61
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition RooArgSet.h:29
A RooCurve is a one-dimensional graphical representation of a real-valued function.
Definition RooCurve.h:32
RooFitResult is a container class to hold the input and output of a PDF fit to a dataset.
A RooHist is a graphical representation of binned data based on the TGraphAsymmErrors class.
Definition RooHist.h:27
void addAsymmetryBinWithError(Axis_t binCenter, Double_t n1, Double_t n2, Double_t en1, Double_t en2, Double_t binWidth=0, Double_t xErrorFrac=1.0, Double_t scaleFactor=1.0)
Add a bin to this histogram with the value (n1-n2)/(n1+n2) using an error bar calculated with Binomia...
Definition RooHist.cxx:543
RooHist * makeResidHist(const RooCurve &curve, bool normalize=false, bool useAverage=false) const
Create and return RooHist containing residuals w.r.t to given curve.
Definition RooHist.cxx:750
Double_t _nominalBinWidth
Definition RooHist.h:89
void addEfficiencyBin(Axis_t binCenter, Int_t n1, Int_t n2, Double_t binWidth=0, Double_t xErrorFrac=1.0, Double_t scaleFactor=1.0)
Add a bin to this histogram with the value n1/(n1+n2) using an error bar calculated with Binomial sta...
Definition RooHist.cxx:569
Double_t getFitRangeNEvt() const
Return the number of events of the dataset associated with this RooHist.
Definition RooHist.cxx:351
Double_t _rawEntries
Definition RooHist.h:92
virtual void printTitle(std::ostream &os) const
Print title of RooHist.
Definition RooHist.cxx:728
Int_t roundBin(Double_t y)
Return the nearest positive integer to the input value and print a warning if an adjustment is requir...
Definition RooHist.cxx:402
void initialize()
Perform common initialization for all constructors.
Definition RooHist.cxx:339
RooHist()
Default constructor.
Definition RooHist.cxx:50
virtual void Print(Option_t *options=0) const
Print graph and errors values.
Definition RooHist.h:63
virtual void printName(std::ostream &os) const
Print name of RooHist.
Definition RooHist.cxx:718
void setRawEntries(Double_t n)
Definition RooHist.h:72
void addBinWithError(Axis_t binCenter, Double_t n, Double_t elow, Double_t ehigh, Double_t binWidth=0, Double_t xErrorFrac=1.0, Bool_t correctForBinWidth=kTRUE, Double_t scaleFactor=1.0)
Add a bin to this histogram with the specified bin contents and error.
Definition RooHist.cxx:472
virtual void printMultiline(std::ostream &os, Int_t content, Bool_t verbose=kFALSE, TString indent="") const
Print info about this histogram to the specified output stream.
Definition RooHist.cxx:694
void addEfficiencyBinWithError(Axis_t binCenter, Double_t n1, Double_t n2, Double_t en1, Double_t en2, Double_t binWidth=0, Double_t xErrorFrac=1.0, Double_t scaleFactor=1.0)
Add a bin to this histogram with the value n1/(n1+n2) using an error bar calculated with Binomial sta...
Definition RooHist.cxx:596
void addBin(Axis_t binCenter, Double_t n, Double_t binWidth=0, Double_t xErrorFrac=1.0, Double_t scaleFactor=1.0)
Add a bin to this histogram with the specified integer bin contents and using an error bar calculated...
Definition RooHist.cxx:422
Double_t getNominalBinWidth() const
Definition RooHist.h:71
virtual void printClassName(std::ostream &os) const
Print class name of RooHist.
Definition RooHist.cxx:738
Double_t _entries
Definition RooHist.h:91
Double_t getFitRangeBinW() const
Return (average) bin width of this RooHist.
Definition RooHist.cxx:391
void addAsymmetryBin(Axis_t binCenter, Int_t n1, Int_t n2, Double_t binWidth=0, Double_t xErrorFrac=1.0, Double_t scaleFactor=1.0)
Add a bin to this histogram with the value (n1-n2)/(n1+n2) using an error bar calculated with Binomia...
Definition RooHist.cxx:517
Bool_t hasIdenticalBinning(const RooHist &other) const
Return kTRUE if binning of this RooHist is identical to that of 'other'.
Definition RooHist.cxx:632
virtual ~RooHist()
Destructor.
Definition RooHist.cxx:623
void addBinWithXYError(Axis_t binCenter, Double_t n, Double_t exlow, Double_t exhigh, Double_t eylow, Double_t eyhigh, Double_t scaleFactor=1.0)
Add a bin to this histogram with the specified bin contents and error.
Definition RooHist.cxx:497
RooHist * makePullHist(const RooCurve &curve, bool useAverage=false) const
Definition RooHist.h:77
Double_t _nSigma
Definition RooHist.h:90
Bool_t isIdentical(const RooHist &other, Double_t tol=1e-6) const
Return kTRUE if contents of this RooHist is identical within given relative tolerance to that of 'oth...
Definition RooHist.cxx:662
Class RooPotable is a base class for objects that can be inserted into RooPlots and take advantage of...
Definition RooPlotable.h:26
virtual StyleOption defaultPrintStyle(Option_t *opt) const
virtual Int_t defaultPrintContents(Option_t *opt) const
Default choice of contents to be printed (name and value)
static std::ostream & defaultPrintStream(std::ostream *os=0)
Return a reference to the current default stream to use in Print().
virtual void printStream(std::ostream &os, Int_t contents, StyleOption style, TString indent="") const
Print description of object on ostream, printing contents set by contents integer,...
TGraph with asymmetric error bars.
TH1 is the base class of all histogram classes in ROOT.
Definition TH1.h:58
Basic string class.
Definition TString.h:136
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
const Int_t n
Definition legend1.C:16