9 #ifndef ROOT_TUnfoldBinning
10 #define ROOT_TUnfoldBinning
79 fBinFactorConstant=normalisation; fBinFactorFunction=userFunc; }
94 char const *histogramName,
97 char const *histogramTitle=0);
121 Int_t *isOptionGiven)
const;
127 return (
TVectorD const *)fAxisList->
At(axis); }
129 return ((
TObjString *
const)fAxisLabelList->
At(axis))->GetString(); }
143 Int_t const *axisList)
const;
154 Int_t *binMap)
const;
Int_t FillBinMapRecursive(Int_t startBin, const char *axisSteering, Int_t *binMap) const
TString GetBinName(Int_t iBin) const
Int_t GetEndBin(void) const
TUnfoldBinning * parentNode
ClassImp(TSeqCollection) Int_t TSeqCollection TIter next(this)
Return index of object in collection.
Collectable string class.
TUnfoldBinning * childNode
TString BuildHistogramTitle(const char *histogramName, const char *histogramTitle, Int_t const *axisList) const
virtual Double_t GetDistributionOverflowBinWidth(Int_t axis) const
TUnfoldBinning * nextNode
const TUnfoldBinning * GetNonemptyNode(void) const
Int_t GetTHxxBinning(Int_t maxDim, Int_t *axisBins, Int_t *axisList, const char *axisSteering) const
Int_t ToGlobalBin(Int_t const *axisBins) const
Int_t GetStartBin(void) const
Int_t GetEntriesFast() const
virtual ~TUnfoldBinning(void)
Int_t UpdateFirstLastBin(Bool_t startWithRootNode=kTRUE)
Double_t fBinFactorConstant
TUnfoldBinning const * GetChildNode(void) const
static const double x2[5]
const TUnfoldBinning * GetBinLocation(Int_t binTHxx, const char *axisSteering, Int_t axisBins[MAXDIM]) const
#define ClassDef(name, id)
TH1 * ExtractHistogram(const char *histogramName, const TH1 *globalBins, const TH2 *globalBinsEmatrix=0, Bool_t originalAxisBinning=kTRUE, const char *axisSteering=0) const
The TNamed class is the base class for all named ROOT classes.
TH1 * CreateHistogram(const char *histogramName, Bool_t originalAxisBinning=kFALSE, Int_t **binMap=0, const char *histogramTitle=0, const char *axisSteering=0) const
TObjArray * fAxisLabelList
void Initialize(Int_t nBins)
Int_t FillBinMapSingleNode(const TH1 *hist, Int_t startBin, Int_t nDim, const Int_t *axisList, const char *axisSteering, Int_t *binMap) const
TVectorD const * GetDistributionBinning(Int_t axis) const
virtual Double_t GetDistributionUnderflowBinWidth(Int_t axis) const
Int_t * CreateBinMap(const TH1 *hist, Int_t nDim, const Int_t *axisList, const char *axisSteering) const
Bool_t AddAxis(const char *name, Int_t nBins, const Double_t *binBorders, Bool_t hasUnderflow, Bool_t hasOverflow)
void GetBinUnderflowOverflowStatus(Int_t iBin, Int_t *uStatus, Int_t *oStatus) const
void SetBinFactorFunction(Double_t normalisation, TF1 *userFunc=0)
Service class for 2-Dim histogram classes.
Class to manage histogram axis.
const TUnfoldBinning * GetBinLocationRecursive(Int_t &offset, const char *axisSteering, Int_t axisBins[MAXDIM]) const
TUnfoldBinning const * GetNextNode(void) const
Double_t GetBinSize(Int_t iBin) const
Int_t GetDistributionNumberOfBins(void) const
Int_t GetGlobalBinNumber(Double_t x) const
static void indent(ostringstream &buf, int indent_level)
static TH2D * CreateHistogramOfMigrations(TUnfoldBinning const *xAxis, TUnfoldBinning const *yAxis, char const *histogramName, Bool_t originalXAxisBinning=kFALSE, Bool_t originalYAxisBinning=kFALSE, char const *histogramTitle=0)
TH2D * CreateErrorMatrixHistogram(const char *histogramName, Bool_t originalAxisBinning, Int_t **binMap=0, const char *histogramTitle=0, const char *axisSteering=0) const
void PrintStream(std::ostream &out, Int_t indent=0) const
This class serves as a container of analysis bins analysis bins are specified by defining the axes of...
TUnfoldBinning const * GetParentNode(void) const
static const double x1[5]
Bool_t HasUnconnectedBins(void) const
Int_t GetDistributionDimension(void) const
TUnfoldBinning * prevNode
TString BuildHistogramTitle2D(const char *histogramName, const char *histogramTitle, Int_t xAxis, const TUnfoldBinning *yAxisBinning, Int_t yAxis) const
void GetBinNeighbours(Int_t globalBin, Int_t axis, Int_t *prev, Double_t *distPrev, Int_t *next, Double_t *distNext) const
TUnfoldBinning const * GetPrevNode(void) const
#define TUnfold_CLASS_VERSION
TString GetDistributionAxisLabel(Int_t axis) const
TUnfoldBinning const * FindNode(char const *name) const
TUnfoldBinning(const char *name=0, Int_t nBins=0, const char *binNames=0)
Int_t GetTH1xNumberOfBins(Bool_t originalAxisBinning=kTRUE, const char *axisSteering=0) const
TObject * At(Int_t idx) const
void DecodeAxisSteering(const char *axisSteering, const char *options, Int_t *isOptionGiven) const
virtual Double_t GetBinFactor(Int_t iBin) const
Int_t GetTHxxBinsRecursive(const char *axisSteering) const
TUnfoldBinning * GetRootNode(void)
TUnfoldBinning * AddBinning(TUnfoldBinning *binning)
virtual Double_t GetDistributionBinCenter(Int_t axis, Int_t bin) const
virtual Double_t GetDistributionAverageBinSize(Int_t axis, Bool_t includeUnderflow, Bool_t includeOverflow) const
Int_t GetTHxxBinningSingleNode(Int_t maxDim, Int_t *axisBins, Int_t *axisList, const char *axisSteering) const
static const double x3[11]
TUnfoldBinning const * ToAxisBins(Int_t globalBin, Int_t *axisBins) const
2-D histogram with a double per channel (see TH1 documentation)}