113 _value= 0.5*(minValue + maxValue);
210 if (clipValue !=
_value) {
225 inRange(value,rangeName,&clipValue) ;
227 if (clipValue !=
_value) {
301 if (!createOnTheFly) {
308 coutI(
Eval) <<
"RooRealVar::getBinning(" <<
GetName() <<
") new range named '" 309 << name <<
"' created with default bounds" << endl ;
322 std::list<std::string> binningNames;
324 binningNames.push_back(
"");
329 while((binning = iter.
next())) {
331 binningNames.push_back(
string(name));
335 while((binning = iter.
next())) {
337 binningNames.push_back(
string(name));
366 altBinning->
Remove(oldBinning) ;
375 altBinning->
Add(newBinning) ;
396 <<
"): Proposed new fit min. larger than max., setting min. to max." << endl ;
426 <<
"): Proposed new fit max. smaller than min., setting max. to min." << endl ;
459 <<
"): Proposed new fit max. smaller than min., setting max. to min." << endl ;
460 binning.setRange(min,min) ;
462 binning.setRange(min,max) ;
467 <<
") new range named '" << name <<
"' created with bounds [" 468 << min <<
"," << max <<
"]" << endl ;
493 TString token,errorPrefix(
"RooRealVar::readFromStream(") ;
520 if (!reprocessToken) {
544 Double_t asymErrLo=0., asymErrHi=0.;
556 haveConstant =
kTRUE ;
572 <<
") WARNING: plot range deprecated, removed P(...) token" << endl ;
589 <<
") WARNING: F(lo-hi:bins) token deprecated, use L(lo-hi) B(bins)" << endl ;
595 Double_t fitMin = 0.0, fitMax = 0.0;
621 if (haveValue)
setVal(value) ;
639 char fmtVal[16], fmtErr[16] ;
642 if (
_value>=0) os <<
" " ;
655 os << tmp->
Data() <<
" " ;
681 os <<
"B(" <<
getBins() <<
") " ;
686 os <<
"// [" <<
getUnit() <<
"]" ;
735 os <<
"B(" <<
getBins() <<
") " ;
740 os <<
"// [" <<
getUnit() <<
"]" ;
753 if (opt &&
TString(opt)==
"I") {
766 os << indent <<
"--- RooRealVar ---" << endl;
769 os << indent <<
" Error = " <<
getError() << unit << endl;
787 pc.
defineInt(
"autop",
"FormatArgs::AutoPrecision",0,2) ;
788 pc.
defineInt(
"fixedp",
"FormatArgs::FixedPrecision",0,2) ;
789 pc.
defineInt(
"tlatex",
"FormatArgs::TLatexStyle",0,0) ;
790 pc.
defineInt(
"latex",
"FormatArgs::LatexStyle",0,0) ;
791 pc.
defineInt(
"latext",
"FormatArgs::LatexTableStyle",0,0) ;
792 pc.
defineInt(
"verbn",
"FormatArgs::VerbatimName",0,0) ;
793 pc.
defineMutex(
"FormatArgs::TLatexStyle",
"FormatArgs::LatexStyle",
"FormatArgs::LatexTableStyle") ;
794 pc.
defineMutex(
"FormatArgs::AutoPrecision",
"FormatArgs::FixedPrecision") ;
806 if (pc.
getInt(
"tlatex")) {
808 }
else if (pc.
getInt(
"latex")) {
810 }
else if (pc.
getInt(
"latext")) {
814 if (pc.
getInt(
"verbn")) options +=
"V" ;
815 Int_t sigDigits = 2 ;
818 sigDigits = pc.
getInt(
"autop") ;
819 }
else if (pc.
hasProcessed(
"FormatArgs::FixedPrecision")) {
821 sigDigits = pc.
getInt(
"fixedp") ;
824 return format(sigDigits,options) ;
865 if (latexTableMode) latexMode =
kTRUE ;
869 if(sigDigits < 1) sigDigits= 1;
870 Int_t leadingDigitVal = 0;
871 if (useErrorForPrecision) {
876 if (
_value==0) leadingDigitVal=0 ;
879 Int_t whereVal= leadingDigitVal - sigDigits + 1;
880 Int_t whereErr= leadingDigitErr - sigDigits + 1;
881 char fmtVal[16], fmtErr[16];
883 if (
_value<0) whereVal -= 1 ;
884 snprintf(fmtVal,16,
"%%.%df", whereVal < 0 ? -whereVal : 0);
885 snprintf(fmtErr,16,
"%%.%df", whereErr < 0 ? -whereErr : 0);
887 if(latexMode) text->
Append(
"$");
890 if (latexTableMode && latexVerbatimName) {
894 if (latexVerbatimName) text->
Append(
"+") ;
896 if (!latexTableMode) {
968 if(latexMode) text->
Append(
"$");
1049 loName.
Append(
"_aerr_lo") ;
1060 hiName.
Append(
"_aerr_hi") ;
1084 coutE(
Eval) <<
"RooAbsReal::fillTreeBranch(" <<
GetName() <<
") ERROR: not attached to tree" << endl ;
1093 if (errBranch) errBranch->
Fill() ;
1098 loName.
Append(
"_aerr_lo") ;
1100 if (loBranch) loBranch->
Fill() ;
1103 hiName.
Append(
"_aerr_hi") ;
1105 if (hiBranch) hiBranch->
Fill() ;
1138 void RooRealVar::Streamer(
TBuffer &R__b)
1144 RooAbsRealLValue::Streamer(R__b);
1146 coutI(
Eval) <<
"RooRealVar::Streamer(" <<
GetName() <<
") converting version 1 data format" << endl ;
1166 tmpSharedProp->Streamer(R__b) ;
1170 delete tmpSharedProp ;
1180 RooAbsRealLValue::Streamer(R__b);
virtual const char * GetTitle() const
Returns title of object.
TString * format(const RooCmdArg &formatArg) const
Format contents of RooRealVar for pretty printing on RooPlot parameter boxes.
static RooRealVarSharedProperties _nullProp
Bool_t hasBinning(const char *name) const
Returns true if variable has a binning with 'name'.
RooRealVar()
Default constructor.
void setShapeDirty() const
Bool_t hasProcessed(const char *cmdName) const
Return true if RooCmdArg with name 'cmdName' has been processed.
virtual void setMin(Double_t xlo)
Bool_t hasError(Bool_t allowZero=kTRUE) const
virtual void attachToTree(TTree &t, Int_t bufSize=32000)
Overload RooAbsReal::attachToTree to also attach branches for errors and/or asymmetric errors attribu...
virtual Bool_t Remove(TObject *arg)
Remove object from collection.
TString cleanBranchName() const
Construct a mangled name from the actual name that is free of any math symbols that might be interpre...
const char * getString(const char *name, const char *defaultValue="", Bool_t convEmptyToNull=kFALSE)
Return string property registered with name 'name'.
virtual void SetName(const char *name)
Set the name of the TNamed.
void setBuffer(RooAbsReal *real, Double_t *newBuf)
Buffer base class used for serializing objects.
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
const RooAbsBinning & getBinning(const char *name=0, Bool_t verbose=kTRUE, Bool_t createOnTheFly=kFALSE) const
Return binning definition with name.
virtual Double_t getMin(const char *name=0) const
void ToLower()
Change string to lower-case.
virtual Bool_t isValidReal(Double_t value, Bool_t printError=kFALSE) const
Check if given value is valid.
static Int_t isInfinite(Double_t x)
Return true if x is infinite by RooNumBer internal specification.
void setAsymErrorBuffer(Double_t *newBufL, Double_t *newBufH)
TString & Prepend(const char *cs)
virtual UInt_t WriteVersion(const TClass *cl, Bool_t useBcnt=kFALSE)=0
Bool_t getAttribute(const Text_t *name) const
Check if a named attribute is set. By default, all attributes are unset.
virtual void copyCache(const RooAbsArg *source, Bool_t valueOnly=kFALSE, Bool_t setValDirty=kTRUE)
Copy the cached value of another RooAbsArg to our cache.
Iterator abstract base class.
void setMax(const char *name, Double_t value)
Set maximum of name range to given value.
static Int_t _printSigDigits
const char * Data() const
Bool_t process(const RooCmdArg &arg)
Process given RooCmdArg.
void setBinning(const RooAbsBinning &binning, const char *name=0)
Add given binning under name 'name' with this variable.
static void printScientific(Bool_t flag=kFALSE)
If true, contents of RooRealVars will be printed in scientific notation.
Bool_t hasMax(const char *name=0) const
virtual void printMultiline(std::ostream &os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const
Detailed printing interface.
static RooSharedPropertiesList _sharedPropList
virtual Int_t SetBranchAddress(const char *bname, void *add, TBranch **ptr=0)
Change branch address, dealing with clone trees properly.
void removeRange(const char *name=0)
RooRealVarSharedProperties * _sharedProp
RooVectorDataStore is the abstract base class for data collection that use a TTree as internal storag...
const Text_t * getUnit() const
void deleteSharedProperties()
No longer used?
virtual Int_t getBins(const char *name=0) const
virtual Int_t defaultPrintContents(Option_t *opt) const
Mapping of Print() option string to RooPrintable contents specifications.
void setProcessRecArgs(Bool_t flag, Bool_t prefix=kTRUE)
double pow(double, double)
Bool_t defineString(const char *name, const char *argName, Int_t stringNum, const char *defValue="", Bool_t appendMode=kFALSE)
Define Double_t property name 'name' mapped to Double_t in slot 'stringNum' in RooCmdArg with name ar...
TString & Append(const char *cs)
RooErrorVar is an auxilary class that represents the error of a RooRealVar as a seperate object...
TIterator * MakeIterator(Bool_t dir=kTRUE) const
Return an iterator over this list.
void setAsymError(Double_t lo, Double_t hi)
Double_t getVal(const RooArgSet *set=0) const
void setBins(Int_t nBins, const char *name=0)
RooSharedProperties * registerProperties(RooSharedProperties *, Bool_t canDeleteIncoming=kTRUE)
Register property into list and take ownership.
virtual void printValue(std::ostream &os) const
Print value of variable.
const char * getPlotLabel() const
Get the label associated with the variable.
Bool_t defineInt(const char *name, const char *argName, Int_t intNum, Int_t defValue=0)
Define integer property name 'name' mapped to integer in slot 'intNum' in RooCmdArg with name argName...
Bool_t hasError(RooAbsReal *real)
RooRealVar represents a fundamental (non-derived) real valued object.
virtual TBranch * GetBranch(const char *name)
Return pointer to the branch with the given name in this tree or its friends.
Bool_t convertToDouble(const TString &token, Double_t &value)
Convert given string to a double. Return true if the conversion fails.
virtual Int_t Fill()
Loop on all leaves of this branch to fill Basket buffer.
Double_t chopAt(Double_t what, Int_t where) const
Utility to calculate number of decimals to show based on magnitude of error.
virtual void setVal(Double_t value)
Set value of variable to 'value'.
virtual void Add(TObject *arg)
virtual RooAbsBinning * clone(const char *name=0) const =0
void unregisterProperties(RooSharedProperties *)
Decrease reference count of property.
std::list< std::string > getBinningNames() const
Get a list of all binning names.
virtual void writeToStream(std::ostream &os, Bool_t compact) const
Write object contents to given stream.
VecExpr< UnaryOp< Fabs< T >, VecExpr< A, T, D >, T >, T, D > fabs(const VecExpr< A, T, D > &rhs)
Bool_t hasAsymError(RooAbsReal *real)
void defineMutex(const char *argName1, const char *argName2)
Define arguments named argName1 and argName2 mutually exclusive.
Int_t getInt(const char *name, Int_t defaultValue=0)
Return integer property registered with name 'name'.
void setConstant(Bool_t value=kTRUE)
Class RooRealVarSharedProperties is an implementation of RooSharedProperties that stores the properti...
void setMin(const char *name, Double_t value)
Set minimum of name range to given value.
TString readToken()
Read one token separated by any of the know punctuation characters This function recognizes and handl...
Bool_t hasAsymError(Bool_t allowZero=kTRUE) const
virtual void printMultiline(std::ostream &os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const
Structure printing.
char * Form(const char *fmt,...)
void zapToEnd(Bool_t inclContLines=kFALSE)
Eat all characters up to and including then end of the current line.
virtual const char * GetName() const
Returns name of object.
virtual void SetByteCount(UInt_t cntpos, Bool_t packInVersion=kFALSE)=0
TObject * FindObject(const char *name) const
Return pointer to obejct with given name.
Class RooCmdConfig is a configurable parser for RooCmdArg named arguments.
Bool_t readDouble(Double_t &value, Bool_t zapOnError=kFALSE)
Read the next token and convert it to a Double_t.
Bool_t ok(Bool_t verbose) const
Return true of parsing was successful.
static void indent(ostringstream &buf, int indent_level)
Class RooParamBinning is an implementation of RooAbsBinning that constructs a binning with a range de...
virtual void attachToTree(TTree &t, Int_t bufSize=32000)
Attach object to a branch of given TTree.
Bool_t expectToken(const TString &expected, Bool_t zapOnError=kFALSE)
Read the next token and return kTRUE if it is identical to the given 'expected' token.
virtual void printExtras(std::ostream &os) const
Print extras of variable: (asymmetric) error, constant flag, limits and binning.
virtual void removeHook(RooAbsRealLValue &) const
Double_t getAsymErrorHi() const
static void printSigDigits(Int_t ndig=5)
Set number of digits to show when printing RooRealVars.
Bool_t hasMin(const char *name=0) const
Bool_t isConstant() const
void setErrorBuffer(Double_t *newBuf)
virtual void fillTreeBranch(TTree &t)
Overload RooAbsReal::fillTreeBranch to also fill tree branches with (asymmetric) errors if requested...
static Bool_t _printScientific
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
RooAbsBinning is the abstract base class for RooRealVar binning definitions This class defines the in...
void Delete(Option_t *o=0)
Remove all elements in collection and delete all elements NB: Collection does not own elements...
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
RooFIter fwdIterator() const
Bool_t isFullReal(RooAbsReal *real)
virtual void attachToVStore(RooVectorDataStore &vstore)
RooRangeBinning is binning/range definition that only defines a range but no binning.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t e
void setValueDirty() const
RooErrorVar * errorVar() const
Return a RooAbsRealLValue representing the error associated with this variable.
Class RooSharedPropertiesList maintains the properties of RooRealVars and RooCategories that are clon...
void setRange(const char *name, Double_t min, Double_t max)
Set range named 'name to [min,max].
virtual Int_t Branch(TCollection *list, Int_t bufsize=32000, Int_t splitlevel=99, const char *name="")
Create one branch for each element in the collection.
virtual Double_t getMax(const char *name=0) const
RooAbsRealLValue is the common abstract base class for objects that represent a real value that may a...
Double_t getAsymErrorLo() const
virtual Bool_t inRange(const char *name) const
Check if current value is inside range with given name.
Bool_t readInteger(Int_t &value, Bool_t zapOnError=kFALSE)
Read a token and convert it to an Int_t.
RealFullVector * addRealFull(RooAbsReal *real)
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
virtual TObject * Next()=0
RooLinkedList _altNonSharedBinning
virtual ~RooRealVar()
Destructor cout << "RooRealVar::dtor(" << this << ")" << endl ;.
virtual void copyCache(const RooAbsArg *source, Bool_t valueOnly=kFALSE, Bool_t setValDirty=kTRUE)
Copy the cached value of another RooAbsArg to our cache Warning: This function copies the cached valu...
virtual Bool_t readFromStream(std::istream &is, Bool_t compact, Bool_t verbose=kFALSE)
Read object contents from given stream.
RooLinkedList _altBinning
virtual void attachToVStore(RooVectorDataStore &vstore)
Overload RooAbsReal::attachToTree to also attach branches for errors and/or asymmetric errors attribu...
A TTree object has a header with a name and a title.
RooRealVarSharedProperties * sharedProp() const
RooAbsArg is the common abstract base class for objects that represent a value (of arbitrary type) an...
virtual Bool_t isShareable() const
A TTree is a list of TBranches.
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
Bool_t atEOL()
If true, parser is at end of line in stream.
virtual TObject * FindObject(const char *name) const
Must be redefined in derived classes.
virtual void setMax(Double_t xhi)
int CompareTo(const char *cs, ECaseCompare cmp=kExact) const
Compare a string to char *cs2.
virtual Version_t ReadVersion(UInt_t *start=0, UInt_t *bcnt=0, const TClass *cl=0)=0
RooCmdArg is a named container for two doubles, two integers two object points and three string point...
void setError(Double_t value)
Double_t getError() const
virtual Double_t getValV(const RooArgSet *nset=0) const
Return value of variable.
virtual void insertHook(RooAbsRealLValue &) const