Logo ROOT  
Reference Guide
TUnfoldBinningXML Class Reference

XML interfate to binning schemes, for use with the unfolding algorithm TUnfoldDensity.

Binning schemes are used to map analysis bins on a single histogram axis and back. The analysis bins may include unconnected bins (e.g nuisances for background normalisation) or various multidimensional histograms (signal bins, differential background normalisation bins, etc).

If you use this software, please consider the following citation

S.Schmitt, JINST 7 (2012) T10003 [arXiv:1205.6201]

Detailed documentation and updates are available on http://www.desy.de/~sschmitt

Please consult the documentation of the class TUnfoldBinning about how to use binning schemes. This class provides methods to read and write binning schemes in the XML language. There is also a method which writes out a dtd file for validation.

Example XML code

The example below encodes two binning schemes, detector and generator. The detector scheme consists of a single, three-dimensional distribution (pt,eta,discriminator). The generator scheme consists of two two-dimensional distributions, signal and background.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE TUnfoldBinning SYSTEM "tunfoldbinning.dtd">
<BinningNode name="detector" firstbin="1" factor="1">
<BinningNode name="detectordistribution" firstbin="1" factor="1">
<Axis name="pt" lowEdge="3.5">
<Bin repeat="3" width="0.5" />
<Bin repeat="3" width="1" />
<Bin width="2" />
<Bin width="3" />
<Bin location="overflow"/>
<Axis name="eta" lowEdge="-3">
<Bin repeat="2" width="0.5" />
<Bin width="1" />
<Bin repeat="4" width="0.5" />
<Bin width="1" />
<Bin repeat="2" width="0.5" />
<Axis name="discriminator" lowEdge="0">
<Bin width="0.15" />
<Bin repeat="2" width="0.35" />
<Bin width="0.15" />
</Axis>
</Axis>
</Axis>
</BinningNode>
</BinningNode>
<BinningNode name="generator" firstbin="1" factor="1">
<BinningNode name="signal" firstbin="1" factor="1">
<Axis name="ptgen" lowEdge="4">
<Bin location="underflow" />
<Bin width="1" />
<Bin width="2" />
<Bin width="3" />
<Bin location="overflow" />
<Axis name="etagen" lowEdge="-2">
<Bin location="underflow" />
<Bin width="1.5" />
<Bin width="1" />
<Bin width="1.5" />
<Bin location="overflow" />
</Axis>
</Axis>
</BinningNode>
<BinningNode name="background" firstbin="26" factor="1">
<Axis name="ptrec" lowEdge="3.5">
<Bin repeat="3" width="0.5" />
<Bin repeat="3" width="1" />
<Bin width="2" />
<Bin width="3" />
<Bin location="overflow" />
<Axis name="etarec" lowEdge="-3">
<Bin repeat="2" width="0.5" />
<Bin width="1" />
<Bin repeat="4" width="0.5" />
<Bin width="1" />
<Bin repeat="2" width="0.5" />
</Axis>
</Axis>
</BinningNode>
</BinningNode>

This file is part of TUnfold.

TUnfold is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

TUnfold is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with TUnfold. If not, see http://www.gnu.org/licenses/.

Version 17.6, with updated doxygen comments

History:

  • Version 17.5, in parallel to changes in TUnfold
  • Version 17.4, in parallel to changes in TUnfoldBinning
  • Version 17.3, support for the "repeat" attribute for element Bin
  • Version 17.2, initial version, numbered in parallel to TUnfold

Definition at line 51 of file TUnfoldBinningXML.h.

Public Member Functions

 TUnfoldBinningXML (const char *name=0, Int_t nBins=0, const char *binNames=0)
 construct a new binning scheme, for use with the root streamer More...
 
Int_t ExportXML (const char *fileName) const
 Export this binning scheme to a file. More...
 
- Public Member Functions inherited from TUnfoldBinning
 TUnfoldBinning (const char *name=0, Int_t nBins=0, const char *binNames=0)
 Create a new node without axis. More...
 
 TUnfoldBinning (const TAxis &axis, Int_t includeUnderflow, Int_t includeOverflow)
 Create a new node containing a distribution with one axis. More...
 
virtual ~TUnfoldBinning (void)
 
Bool_t AddAxis (const char *name, Int_t nBins, const Double_t *binBorders, Bool_t hasUnderflow, Bool_t hasOverflow)
 Add an axis with the specified bin borders. More...
 
Bool_t AddAxis (const char *name, Int_t nBins, Double_t xMin, Double_t xMax, Bool_t hasUnderflow, Bool_t hasOverflow)
 Add an axis with equidistant bins. More...
 
Bool_t AddAxis (const TAxis &axis, Bool_t includeUnderflow, Bool_t includeOverflow)
 Add an axis to the distribution, using the TAxis as blueprint. More...
 
TUnfoldBinningAddBinning (const char *name, Int_t nBins=0, const char *binNames=0)
 Add a new binning node as last last child of this node. More...
 
TUnfoldBinningAddBinning (TUnfoldBinning *binning)
 Add a TUnfoldBinning as the last child of this node. More...
 
Int_tCreateEmptyBinMap (void) const
 Create an empty bin map, useful together with the getter methods of class TUnfold and TUnfoldSys. More...
 
TH2DCreateErrorMatrixHistogram (const char *histogramName, Bool_t originalAxisBinning, Int_t **binMap=0, const char *histogramTitle=0, const char *axisSteering=0) const
 Create a TH2D histogram capable to hold a covariance matrix. More...
 
TH1CreateHistogram (const char *histogramName, Bool_t originalAxisBinning=kFALSE, Int_t **binMap=0, const char *histogramTitle=0, const char *axisSteering=0) const
 Create a THxx histogram capable to hold the bins of this binning node and its children. More...
 
void DecodeAxisSteering (const char *axisSteering, const char *options, Int_t *isOptionGiven) const
 Decode axis steering. More...
 
TH1ExtractHistogram (const char *histogramName, const TH1 *globalBins, const TH2 *globalBinsEmatrix=0, Bool_t originalAxisBinning=kTRUE, const char *axisSteering=0) const
 Extract a distribution from the given set of global bins. More...
 
Int_t FillBinMap1D (Int_t *binMap, const char *axisSteering, Int_t firstBinX) const
 Map all global bins referenced by this node to the one-dimensional histogram destHist, starting with bin firstBinX. More...
 
TUnfoldBinning const * FindNode (char const *name) const
 Traverse the tree and return the first node which matches the given name. More...
 
virtual Double_t GetBinFactor (Int_t iBin) const
 Return scaling factor for the given global bin number. More...
 
TString GetBinName (Int_t iBin) const
 Get the name of a bin. More...
 
Int_t GetBinNeighbours (Int_t globalBin, Int_t axis, Int_t *prev, Double_t *distPrev, Int_t *next, Double_t *distNext, Bool_t isPeriodic=kFALSE) const
 Get neighbour bins along the specified axis. More...
 
Double_t GetBinSize (Int_t iBin) const
 Get N-dimensional bin size. More...
 
void GetBinUnderflowOverflowStatus (Int_t iBin, Int_t *uStatus, Int_t *oStatus) const
 Return bit maps indicating underflow and overflow status. More...
 
TUnfoldBinning const * GetChildNode (void) const
 first daughter node More...
 
virtual Double_t GetDistributionAverageBinSize (Int_t axis, Bool_t includeUnderflow, Bool_t includeOverflow) const
 Get average bin size on the specified axis. More...
 
TString GetDistributionAxisLabel (Int_t axis) const
 get name of an axis More...
 
virtual Double_t GetDistributionBinCenter (Int_t axis, Int_t bin) const
 return bin center for a given axis and bin number More...
 
TVectorD const * GetDistributionBinning (Int_t axis) const
 get vector of bin borders for one axis More...
 
Int_t GetDistributionDimension (void) const
 query dimension of this node's distribution More...
 
Int_t GetDistributionNumberOfBins (void) const
 number of bins in the distribution possibly including under/overflow More...
 
virtual Double_t GetDistributionOverflowBinWidth (Int_t axis) const
 Return bin width assigned to the overflow bin. More...
 
virtual Double_t GetDistributionUnderflowBinWidth (Int_t axis) const
 Return bin width assigned to the underflow bin. More...
 
Int_t GetEndBin (void) const
 last+1 bin of this node (includes children) More...
 
Int_t GetGlobalBinNumber (const Double_t *x, Int_t *isBelow=0, Int_t *isAbove=0) const
 locate a bin in an N-dimensional distribution More...
 
Int_t GetGlobalBinNumber (Double_t x) const
 Locate a bin in a one-dimensional distribution. More...
 
Int_t GetGlobalBinNumber (Double_t x, Double_t y) const
 Locate a bin in a two-dimensional distribution. More...
 
Int_t GetGlobalBinNumber (Double_t x, Double_t y, Double_t z) const
 Locate a bin in a three-dimensional distribution. More...
 
Int_t GetGlobalBinNumber (Double_t x0, Double_t x1, Double_t x2, Double_t x3) const
 Locate a bin in a four-dimensional distribution. More...
 
Int_t GetGlobalBinNumber (Double_t x0, Double_t x1, Double_t x2, Double_t x3, Double_t x4) const
 Locate a bin in a five-dimensional distribution. More...
 
Int_t GetGlobalBinNumber (Double_t x0, Double_t x1, Double_t x2, Double_t x3, Double_t x4, Double_t x5) const
 Locate a bin in a six-dimensional distribution. More...
 
Double_t GetGlobalFactor (void) const
 Return global scaling factor for this node. More...
 
TUnfoldBinning const * GetNextNode (void) const
 next sister node More...
 
TUnfoldBinning const * GetParentNode (void) const
 mother node More...
 
TUnfoldBinning const * GetPrevNode (void) const
 previous sister node More...
 
TUnfoldBinning const * GetRootNode (void) const
 return root node of the binnig scheme More...
 
Int_t GetStartBin (void) const
 first bin of this node More...
 
Int_t GetTH1xNumberOfBins (Bool_t originalAxisBinning=kTRUE, const char *axisSteering=0) const
 Return the number of histogram bins required when storing this binning in a one-dimensional histogram. More...
 
const TObjStringGetUnconnectedBinName (Int_t bin) const
 Return the bin names of unconnected bins. More...
 
Bool_t HasOverflow (int axis) const
 check whether the axis has an overflow bin More...
 
Bool_t HasUnconnectedBins (void) const
 Check whether there are bins but no axis. More...
 
Bool_t HasUnderflow (int axis) const
 check whether an axis has an underflow bin More...
 
virtual Bool_t IsBinFactorGlobal (void) const
 Check whether there is only a global scaling factor for this node. More...
 
void PrintStream (std::ostream &out, Int_t indent=0, int debug=0) const
 Print some information about this binning tree. More...
 
void SetBinFactorFunction (Double_t normalisation, TF1 *userFunc=0)
 Set normalisation factor and function which are used in calls to GetBinFactor(). More...
 
void SetBinMapEntry (Int_t *binMap, Int_t globalBin, Int_t destBin) const
 Set one entry in a bin map. More...
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor. More...
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor. More...
 
virtual void Clear (Option_t *option="")
 Set name and title to empty strings (""). More...
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects. More...
 
virtual void Copy (TObject &named) const
 Copy this to obj. More...
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t IsSortable () const
 
virtual void ls (Option_t *option="") const
 List TNamed name and title. More...
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator. More...
 
virtual void Print (Option_t *option="") const
 Print TNamed name and title. More...
 
virtual void SetName (const char *name)
 Set the name of the TNamed. More...
 
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title). More...
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed. More...
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor. More...
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad). More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. More...
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
void InvertBit (UInt_t f)
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 

Static Public Member Functions

static Int_t ExportXML (const TUnfoldBinning &binning, std::ostream &out, Bool_t writeHeader, Bool_t writeFooter, Int_t indent=0)
 Export a binning scheme to a stream in XML format. More...
 
static TUnfoldBinningXMLImportXML (const TXMLDocument *document, const char *name)
 Import a binning scheme from an XML file. More...
 
static void WriteDTD (const char *fileName="tunfoldbinning.dtd")
 Write dtd file. More...
 
static void WriteDTD (std::ostream &out)
 Write dtd file. More...
 
- Static Public Member Functions inherited from TUnfoldBinning
static TH2DCreateHistogramOfMigrations (TUnfoldBinning const *xAxis, TUnfoldBinning const *yAxis, char const *histogramName, Bool_t originalXAxisBinning=kFALSE, Bool_t originalYAxisBinning=kFALSE, char const *histogramTitle=0)
 Create a TH2D histogram capable to hold the bins of the two input binning schemes on the x and y axes, respectively. More...
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 

Protected Member Functions

void AddAxisXML (TXMLNode *node)
 Import axis from XML node. More...
 
- Protected Member Functions inherited from TUnfoldBinning
TString BuildHistogramTitle (const char *histogramName, const char *histogramTitle, Int_t const *axisList) const
 Construct a title. More...
 
TString BuildHistogramTitle2D (const char *histogramName, const char *histogramTitle, Int_t xAxis, const TUnfoldBinning *yAxisBinning, Int_t yAxis) const
 Construct a histogram title for a 2D histogram with different binning schemes on x and y axis. More...
 
Int_tCreateBinMap (const TH1 *hist, Int_t nDim, const Int_t *axisList, const char *axisSteering) const
 Create mapping from global bin number to a histogram for this node. More...
 
Int_t FillBinMapRecursive (Int_t startBin, const char *axisSteering, Int_t *binMap) const
 Recursively fill bin map. More...
 
Int_t FillBinMapSingleNode (const TH1 *hist, Int_t startBin, Int_t nDim, const Int_t *axisList, const char *axisSteering, Int_t *binMap) const
 Fill bin map for a single node. More...
 
const TUnfoldBinningGetNonemptyNode (void) const
 Find a node which has non-empty distributions if there is none or if there are many, return zero. More...
 
TUnfoldBinningGetRootNode (void)
 return root node More...
 
Int_t GetTHxxBinning (Int_t maxDim, Int_t *axisBins, Int_t *axisList, const char *axisSteering) const
 Calculate properties of a THxx histogram to store this binning. More...
 
Int_t GetTHxxBinningSingleNode (Int_t maxDim, Int_t *axisBins, Int_t *axisList, const char *axisSteering) const
 Get the properties of a histogram capable to hold the distribution attached to this node. More...
 
Int_t GetTHxxBinsRecursive (const char *axisSteering) const
 Calculate number of bins required to store this binning with the given axisSteering. More...
 
void Initialize (Int_t nBins)
 Initialize variables for a given number of bins. More...
 
void SetBinFactor (Double_t normalisation, TObject *factors)
 Set normalisation factors which are used in calls to GetBinFactor(). More...
 
TUnfoldBinning const * ToAxisBins (Int_t globalBin, Int_t *axisBins) const
 Return distribution in which the bin is located and bin numbers on the corresponding axes. More...
 
Int_t ToGlobalBin (Int_t const *axisBins, Int_t *isBelow=0, Int_t *isAbove=0) const
 Get global bin number, given axis bin numbers. More...
 
Int_t UpdateFirstLastBin (Bool_t startWithRootNode=kTRUE)
 Update fFirstBin and fLastBin members of this node and its children. More...
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 
void MakeZombie ()
 

Static Protected Member Functions

static TUnfoldBinningXMLImportXMLNode (TXMLNode *node)
 Recursively import one node from the XML tree. More...
 

Additional Inherited Members

- Public Types inherited from TUnfoldBinning
enum  { MAXDIM =32 }
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kInconsistent = 0x08000000,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = BIT(3) }
 
enum  EStatusBits {
  kCanDelete = BIT(0), kMustCleanup = BIT(3), kIsReferenced = BIT(4), kHasUUID = BIT(5),
  kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13)
}
 
- Protected Attributes inherited from TUnfoldBinning
TUnfoldBinningchildNode
 first daughter node More...
 
TObjArrayfAxisLabelList
 for each axis its name (TObjString), or names of unconnected bins More...
 
TObjArrayfAxisList
 for each axis the bin borders (TVectorD) More...
 
Double_t fBinFactorConstant
 common scale factor for all bins of this node More...
 
TObjectfBinFactorFunction
 function to calculate a scale factor from bin centres (may be a TF1 or a TVectorD More...
 
Int_t fDistributionSize
 number of bins in this node's distribution More...
 
Int_t fFirstBin
 global bin number of the first bin More...
 
Int_t fHasOverflow
 bit fields indicating whether there are overflow bins on the axes More...
 
Int_t fHasUnderflow
 bit fields indicating whether there are underflow bins on the axes More...
 
Int_t fLastBin
 global bin number of the last(+1) bin, including daughters More...
 
TUnfoldBinningnextNode
 next sister More...
 
TUnfoldBinningparentNode
 mother node More...
 
TUnfoldBinningprevNode
 previous sister More...
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

#include <TUnfoldBinningXML.h>

Inheritance diagram for TUnfoldBinningXML:
[legend]

Constructor & Destructor Documentation

◆ TUnfoldBinningXML()

TUnfoldBinningXML::TUnfoldBinningXML ( const char *  name = 0,
Int_t  nBins = 0,
const char *  binNames = 0 
)
inline

construct a new binning scheme, for use with the root streamer

Definition at line 61 of file TUnfoldBinningXML.h.

Member Function Documentation

◆ AddAxisXML()

void TUnfoldBinningXML::AddAxisXML ( TXMLNode node)
protected

Import axis from XML node.

Parameters
[in]nodenode in the XML document tree

find axis if there is one

Definition at line 382 of file TUnfoldBinningXML.cxx.

◆ ExportXML() [1/2]

Int_t TUnfoldBinningXML::ExportXML ( const char *  fileName) const

Export this binning scheme to a file.

Parameters
[in]fileNamename of the file

returns true if the writing succeeded

export this binning scheme to a file

  • fileName: name of the xml file

Definition at line 586 of file TUnfoldBinningXML.cxx.

◆ ExportXML() [2/2]

Int_t TUnfoldBinningXML::ExportXML ( const TUnfoldBinning binning,
std::ostream &  out,
Bool_t  writeHeader,
Bool_t  writeFooter,
Int_t  indent = 0 
)
static

Export a binning scheme to a stream in XML format.

Parameters
[in]binningthe binning scheme to export
[in]outstream to write to
[in]writeHeaderset true when writing the first binning scheme to this stream
[in]writeFooterset true when writing the last binning scheme to this stream
[in]indentindentation of the XML output

returns true if the writing succeeded

Definition at line 484 of file TUnfoldBinningXML.cxx.

◆ ImportXML()

TUnfoldBinningXML * TUnfoldBinningXML::ImportXML ( const TXMLDocument document,
const char *  name 
)
static

Import a binning scheme from an XML file.

Parameters
[in]documentXMP document tree
[in]nameidentifier of the binning scheme

returns a new TUnfoldBinningXML, if name is found in document

import binning scheme from a XML document

  • document: the XML document
  • name: the name of the binning scheme to import if name==0, the first binning scheme found in the tree is imported

Definition at line 190 of file TUnfoldBinningXML.cxx.

◆ ImportXMLNode()

TUnfoldBinningXML * TUnfoldBinningXML::ImportXMLNode ( TXMLNode node)
staticprotected

Recursively import one node from the XML tree.

Parameters
[in]nodenode in the XML document tree

returns a new TUnfoldBinningXML

import data from a given "BinningNode"

Definition at line 232 of file TUnfoldBinningXML.cxx.

◆ WriteDTD() [1/2]

void TUnfoldBinningXML::WriteDTD ( const char *  file = "tunfoldbinning.dtd")
static

Write dtd file.

Parameters
[in]fileregular file for writing the dtd

Definition at line 172 of file TUnfoldBinningXML.cxx.

◆ WriteDTD() [2/2]

void TUnfoldBinningXML::WriteDTD ( std::ostream &  out)
static

Write dtd file.

Parameters
[out]outstream for writing the dtd

Definition at line 147 of file TUnfoldBinningXML.cxx.

Libraries for TUnfoldBinningXML:
[legend]

The documentation for this class was generated from the following files:
TUnfoldBinning
Binning schemes for use with the unfolding algorithm TUnfoldDensity.
Definition: TUnfoldBinning.h:53
width
include TDocParser_001 C image html pict1_TDocParser_001 png width
Definition: TDocParser.cxx:121
name
char name[80]
Definition: TGX11.cxx:110