ROOT logo
ROOT » ROOFIT » ROOFITCORE » RooLinTransBinning

class RooLinTransBinning: public RooAbsBinning



RooLinTransBinning is a special binning implementation for RooLinearVar that transforms the binning of the RooLinearVar input variable in the same way that RooLinearVar does

Function Members (Methods)

public:
RooLinTransBinning(const char* name = 0)
RooLinTransBinning(const RooLinTransBinning&, const char* name = 0)
RooLinTransBinning(const RooAbsBinning& input, Double_t slope = 1.0, Double_t offset = 0.0, const char* name = 0)
virtual~RooLinTransBinning()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual Double_t*array() const
virtual Double_t*RooAbsBinning::array() const
virtual Double_taverageBinWidth() const
virtual Double_tbinCenter(Int_t bin) const
virtual Double_tRooAbsBinning::binCenter(Int_t bin) const
virtual Double_tbinHigh(Int_t bin) const
virtual Double_tRooAbsBinning::binHigh(Int_t bin) const
virtual Double_tbinLow(Int_t bin) const
virtual Double_tRooAbsBinning::binLow(Int_t bin) const
virtual Int_tbinNumber(Double_t x) const
virtual Int_tRooAbsBinning::binNumber(Double_t x) const
virtual Double_tbinWidth(Int_t bin) const
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
static TClass*RooAbsBinning::Class()
static TClass*RooPrintable::Class()
static TClass*TNamed::Class()
static TClass*TObject::Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual voidTObject::Clear(Option_t* = "")
virtual RooAbsBinning*clone(const char* name = 0) const
virtual TObject*RooAbsBinning::Clone(const char* newname = 0) const
virtual RooAbsBinning*RooAbsBinning::clone(const char* name = 0) const
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Copy(TObject& object) const
virtual Int_tRooPrintable::defaultPrintContents(Option_t* opt) const
static ostream&RooPrintable::defaultPrintStream(ostream* os = 0)
virtual RooPrintable::StyleOptionRooPrintable::defaultPrintStyle(Option_t* opt) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TNamed::GetTitle() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual ULong_tTObject::Hash() const
virtual Double_thighBound() const
virtual Double_tRooAbsBinning::highBound() const
virtual RooAbsReal*RooAbsBinning::highBoundFunc() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidRooAbsBinning::insertHook(RooAbsRealLValue&) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual TClass*RooAbsBinning::IsA() const
virtual TClass*RooPrintable::IsA() const
virtual TClass*TNamed::IsA() const
virtual TClass*TObject::IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tRooAbsBinning::isParameterized() const
virtual Bool_tRooAbsBinning::isShareable() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual Double_tlowBound() const
virtual Double_tRooAbsBinning::lowBound() const
virtual RooAbsReal*RooAbsBinning::lowBoundFunc() const
virtual voidTNamed::ls(Option_t* option = "") const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
static voidRooPrintable::nameFieldLength(Int_t newLen)
virtual Bool_tTObject::Notify()
Int_tRooAbsBinning::numBins() const
virtual Int_tnumBoundaries() const
virtual Int_tRooAbsBinning::numBoundaries() const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
RooLinTransBinning&operator=(const RooLinTransBinning&)
RooAbsBinning&RooAbsBinning::operator=(const RooAbsBinning&)
RooPrintable&RooPrintable::operator=(const RooPrintable&)
TNamed&TNamed::operator=(const TNamed& rhs)
TObject&TObject::operator=(const TObject& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidRooAbsBinning::Print(Option_t* options = 0) const
virtual voidTNamed::Print(Option_t* option = "") const
virtual voidTObject::Print(Option_t* option = "") const
virtual voidRooPrintable::printAddress(ostream& os) const
virtual voidRooAbsBinning::printArgs(ostream& os) const
virtual voidRooPrintable::printArgs(ostream& os) const
virtual voidRooAbsBinning::printClassName(ostream& os) const
virtual voidRooPrintable::printClassName(ostream& os) const
virtual voidRooPrintable::printExtras(ostream& os) const
virtual voidRooPrintable::printMultiline(ostream& os, Int_t contents, Bool_t verbose = kFALSE, TString indent = "") const
virtual voidRooAbsBinning::printName(ostream& os) const
virtual voidRooPrintable::printName(ostream& os) const
virtual voidRooPrintable::printStream(ostream& os, Int_t contents, RooPrintable::StyleOption style, TString indent = "") const
virtual voidRooAbsBinning::printTitle(ostream& os) const
virtual voidRooPrintable::printTitle(ostream& os) const
virtual voidRooPrintable::printTree(ostream& os, TString indent = "") const
virtual voidRooAbsBinning::printValue(ostream& os) const
virtual voidRooPrintable::printValue(ostream& os) const
virtual Int_tRooAbsBinning::rawBinNumber(Double_t x) const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidRooAbsBinning::removeHook(RooAbsRealLValue&) const
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidsetMax(Double_t xhi)
virtual voidRooAbsBinning::setMax(Double_t xhi)
virtual voidsetMin(Double_t xlo)
virtual voidRooAbsBinning::setMin(Double_t xlo)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidsetRange(Double_t xlo, Double_t xhi)
virtual voidRooAbsBinning::setRange(Double_t xlo, Double_t xhi)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidRooAbsBinning::ShowMembers(TMemberInspector& insp, char* parent)
virtual voidRooPrintable::ShowMembers(TMemberInspector& insp, char* parent)
virtual voidTNamed::ShowMembers(TMemberInspector& insp, char* parent)
virtual voidTObject::ShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
virtual voidRooAbsBinning::Streamer(TBuffer& b)
virtual voidRooPrintable::Streamer(TBuffer& b)
virtual voidTNamed::Streamer(TBuffer& b)
virtual voidTObject::Streamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
voidRooAbsBinning::StreamerNVirtual(TBuffer& b)
voidRooPrintable::StreamerNVirtual(TBuffer& b)
voidTNamed::StreamerNVirtual(TBuffer& b)
voidTObject::StreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidupdateInput(const RooAbsBinning& input, Double_t slope = 1.0, Double_t offset = 0.0)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
Int_tbinTrans(Int_t bin) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Double_tinvTrans(Double_t x) const
voidTObject::MakeZombie()
Double_ttrans(Double_t x) const

Data Members

protected:
Double_t*_array! Array of transformed bin boundaries
RooAbsBinning*_inputInput binning
static Int_tRooPrintable::_nameLength
Double_t_offsetOffset of tranformation
Double_t_slopeSlope of transformation
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

RooLinTransBinning(const RooAbsBinning& input, Double_t slope = 1.0, Double_t offset = 0.0, const char* name = 0)
 Constructor with a given input binning and the slope and offset to be applied to
 construct the linear transformation
RooLinTransBinning(const RooLinTransBinning& , const char* name = 0)
 Copy constructor
~RooLinTransBinning()
 Destructor
void setRange(Double_t xlo, Double_t xhi)
Double_t* array() const
 Return array of bin boundaries
void updateInput(const RooAbsBinning& input, Double_t slope = 1.0, Double_t offset = 0.0)
 Update the slope and offset parameters and the pointer to the input binning
RooLinTransBinning(const char* name = 0)
{}
RooAbsBinning* clone(const char* name = 0) const
{ return new RooLinTransBinning(*this,name) ; }
Int_t numBoundaries() const
{ return _input->numBoundaries() ; }
Int_t binNumber(Double_t x) const
{ return _input->binNumber(invTrans(x)) ; }
Double_t binCenter(Int_t bin) const
{ return trans(_input->binCenter(binTrans(bin))) ; }
Double_t binWidth(Int_t bin) const
{ return _slope*_input->binWidth(binTrans(bin)) ; }
Double_t binLow(Int_t bin) const
{ if (_slope>0) return trans(_input->binLow(binTrans(bin))) ; else return trans(_input->binHigh(binTrans(bin))) ; }
Double_t binHigh(Int_t bin) const
{ if (_slope>0) return trans(_input->binHigh(binTrans(bin))) ; else return trans(_input->binLow(binTrans(bin))) ; }
void setMin(Double_t xlo)
{ setRange(xlo,highBound()) ; }
void setMax(Double_t xhi)
{ setRange(lowBound(),xhi) ; }
Double_t lowBound() const
{ if (_slope>0) return trans(_input->lowBound()) ; else return trans(_input->highBound()) ; }
Double_t highBound() const
{ if (_slope>0) return trans(_input->highBound()) ; else return trans(_input->lowBound()) ; }
Double_t averageBinWidth() const
{ return _slope*_input->averageBinWidth() ; }
Int_t binTrans(Int_t bin) const
{ if (_slope>0) return bin ; else return numBins()-bin-1 ; }
Double_t trans(Double_t x) const
{ return x*_slope + _offset ; }
Double_t invTrans(Double_t x) const
{ if (_slope==0.) return 0 ; return (x-_offset)/_slope ; }