library: libRooFit #include "RooLinearVar.h"

# RooLinearVar

class description - source file - inheritance tree (.pdf)

## class RooLinearVar : public RooAbsRealLValue

| Inheritance Chart:
`TObject`
| <- | `TNamed`
`RooPrintable`
| <- | `RooAbsArg`
| <- | `RooAbsReal`
`RooAbsLValue`
| <- | `RooAbsRealLValue`
| <- | `RooLinearVar` |

        protected:

          virtual Double_t evaluate() const

        public:

                                       RooLinearVar(const char* name, const char* title, RooAbsRealLValue& variable, const RooAbsReal& slope, const RooAbsReal& offset, const char* unit = "")
                                       RooLinearVar(const RooLinearVar& other, const char* name = "0")
                               virtual ~RooLinearVar()
                        static TClass* Class()
                      virtual TObject* clone(const char* newname) const
          virtual const RooAbsBinning& getBinning(const char* name = "0", Bool_t verbose = kTRUE, Bool_t createOnTheFly = kFALSE) const
                virtual RooAbsBinning& getBinning(const char* name = "0", Bool_t verbose = kTRUE, Bool_t createOnTheFly = kFALSE)
                        virtual Bool_t hasBinning(const char* name) const
                       virtual TClass* IsA() const
                        virtual Bool_t isJacobianOK(const RooArgSet& depList) const
                      virtual Double_t jacobian() const
                          virtual void printToStream(ostream& stream, RooPrintable::PrintOption opt = Standard, TString indent = ) const
                        virtual Bool_t readFromStream(istream& is, Bool_t compact, Bool_t verbose = kFALSE)
                          virtual void setVal(Double_t value)
                          virtual void ShowMembers(TMemberInspector& insp, char* parent)
                          virtual void Streamer(TBuffer& b)
                                  void StreamerNVirtual(TBuffer& b)
                          virtual void writeToStream(ostream& os, Bool_t compact) const

### Data Members

        protected:

          RooLinTransBinning _binning
               RooLinkedList _altBinning  !
                RooRealProxy _var
                RooRealProxy _slope
                RooRealProxy _offset

## Class Description

        RLV = (slope)*x + (offset)

     X is required to be a RooRealVar to meet the invertibility criterium
     (slope) and (offset) is are RooAbsReals, but may not overlap with x,
     i.e. x may not be a server of (slope) and (offset)

     In the context of a dataset, (slope) may not contain any real-valued dependents
     (satisfied constant Jacobian requirement). This check cannot be enforced at
     construction time, but can be performed any time using the isJacobianOK(depList)
     member function.

RooLinearVar(const char *name, const char *title, RooAbsRealLValue& variable, const RooAbsReal& slope, const RooAbsReal& offset, const char *unit) : RooAbsRealLValue(name, title, unit), _binning(variable.getBinning(),slope.getVal(),offset.getVal()), _var("var","variable",this,variable,kTRUE,kTRUE), _slope("slope","slope",this,(RooAbsReal&)slope), _offset("offset","offset",this,(RooAbsReal&)offset)

     Constructor with RooRealVar variable and RooAbsReal slope and offset

RooLinearVar(const RooLinearVar& other, const char* name) : RooAbsRealLValue(other,name), _binning(other._binning), _var("var",this,other._var), _slope("slope",this,other._slope), _offset("offset",this,other._offset)

     Copy constructor

~RooLinearVar()

     Destructor

Double_t evaluate() const

     Calculate current value of this object

void setVal(Double_t value)

     Assign given value to linear transformation: set input variable to (value-offset)/slope

Bool_t isJacobianOK(const RooArgSet& depList) const

     Check if Jacobian of input LValue is OK

Double_t jacobian() const

Bool_t readFromStream(istream& /*is*/, Bool_t /*compact*/, Bool_t /*verbose*/)

     Read object contents from stream

void writeToStream(ostream& os, Bool_t compact) const

     Write object contents to stream

void printToStream(ostream& os, PrintOption opt, TString indent) const

     Print info about this object to the specified stream.

RooAbsBinning& getBinning(const char* name, Bool_t verbose, Bool_t createOnTheFly)

     Normalization binning

const RooAbsBinning& getBinning(const char* name, Bool_t verbose, Bool_t createOnTheFly) const

Bool_t hasBinning(const char* name) const

### Inline Functions

               TObject* clone(const char* newname) const
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)

Last update: Tue Jun 28 18:13:22 2005
Copyright (c) 2000-2005, Regents of the University of California *