124 if (clippedValPtr) *clippedValPtr=clippedValue ;
139 <<
" out of range (" <<
getMin() <<
" - " <<
getMax() <<
")" << endl ;
173 inRange(newValue,0,&clipValue) ;
215 cmdList.
Add(const_cast<RooCmdArg*>(&arg1)) ; cmdList.
Add(const_cast<RooCmdArg*>(&arg2)) ;
216 cmdList.
Add(const_cast<RooCmdArg*>(&arg3)) ; cmdList.
Add(const_cast<RooCmdArg*>(&arg4)) ;
217 cmdList.
Add(const_cast<RooCmdArg*>(&arg5)) ; cmdList.
Add(const_cast<RooCmdArg*>(&arg6)) ;
218 cmdList.
Add(const_cast<RooCmdArg*>(&arg7)) ; cmdList.
Add(const_cast<RooCmdArg*>(&arg8)) ;
220 return frame(cmdList) ;
238 pc.
defineMutex(
"Range",
"RangeWithName",
"AutoRange") ;
241 pc.
defineInt(
"rangeSym",
"AutoRange",0,0) ;
261 xmax =
getMax(rangeName) ;
265 if (pc.
getInt(
"rangeSym")==0) {
277 xmin = dmean-ddelta ;
278 xmax = dmean+ddelta ;
313 return new RooPlot(*
this,xlo,xhi,nbins);
343 coutE(
InputArguments) <<
"RooAbsRealLValue::frame(" <<
GetName() <<
") ERROR: empty fit range, must specify plot range" << endl ;
347 coutE(
InputArguments) <<
"RooAbsRealLValue::frame(" <<
GetName() <<
") ERROR: open ended fit range, must specify plot range" << endl ;
368 coutE(
InputArguments) <<
"RooAbsRealLValue::frame(" <<
GetName() <<
") ERROR: empty fit range, must specify plot range" << endl ;
372 coutE(
InputArguments) <<
"RooAbsRealLValue::frame(" <<
GetName() <<
") ERROR: open ended fit range, must specify plot range" << endl ;
397 os << indent <<
"--- RooAbsRealLValue ---" << endl;
399 if(!unit.IsNull()) unit.Prepend(
' ');
400 os << indent <<
" Fit range is [ ";
402 os <<
getMin() << unit <<
" , ";
408 os <<
getMax() << unit <<
" ]" << endl;
411 os <<
"+INF ]" << endl;
444 if (ibin<0 || ibin>=
numBins(rangeName)) {
446 <<
" is out of range (0," <<
getBins(rangeName)-1 <<
")" << endl ;
515 return (val >=
getMin(name)-epsilon && val <=
getMax(name)+epsilon) ;
579 pc.
defineString(
"ybinningName",
"YVar::BinningName",0,
"") ;
580 pc.
defineInt(
"nybins",
"YVar::BinningSpec",0) ;
586 pc.
defineString(
"zbinningName",
"ZVar::BinningName",0,
"") ;
587 pc.
defineInt(
"nzbins",
"ZVar::BinningSpec",0) ;
602 const char* axisLabel = pc.
getString(
"axisLabel") ;
617 ownBinning[0] =
kTRUE ;
633 ownBinning[1] =
kTRUE ;
650 ownBinning[2] =
kTRUE ;
659 if (ownBinning[0])
delete binning[0] ;
660 if (ownBinning[1])
delete binning[1] ;
661 if (ownBinning[2])
delete binning[2] ;
680 <<
") ERROR: fit range empty or open ended, must explicitly specify range" << endl ;
736 if ((!xlo && xhi) || (xlo && !xhi)) {
738 <<
") ERROR must specify either no range, or both limits" << endl ;
748 Int_t *nBins2 = nBins;
754 <<
") ERROR: fit range empty or open ended, must explicitly specify range" << endl ;
759 <<
") ERROR: fit range of " << yvar.
GetName() <<
" empty or open ended, must explicitly specify range" << endl ;
766 xlo_fit[1] = yvar.
getMin() ;
767 xhi_fit[1] = yvar.
getMax() ;
775 nbins_fit[1] = yvar.
getBins() ;
810 if ((!xlo && xhi) || (xlo && !xhi)) {
812 <<
") ERROR must specify either no range, or both limits" << endl ;
822 Int_t* nBins2 = nBins;
827 <<
") ERROR: fit range empty or open ended, must explicitly specify range" << endl ;
832 <<
") ERROR: fit range of " << yvar.
GetName() <<
" empty or open ended, must explicitly specify range" << endl ;
837 <<
") ERROR: fit range of " << zvar.
GetName() <<
" empty or open ended, must explicitly specify range" << endl ;
844 xlo_fit[1] = yvar.
getMin() ;
845 xhi_fit[1] = yvar.
getMax() ;
847 xlo_fit[2] = zvar.
getMin() ;
848 xhi_fit[2] = zvar.
getMax() ;
856 nbins_fit[1] = yvar.
getBins() ;
857 nbins_fit[2] = zvar.
getBins() ;
896 if (bin[0])
delete bin[0] ;
897 if (bin[1])
delete bin[1] ;
898 if (bin[2])
delete bin[2] ;
915 if(dim < 1 || dim > 3) {
921 TString histName(name);
922 histName.Append(
"_");
926 for(index= 0; index < dim; index++) {
933 histName.Append(
"_");
934 histName.Append(arg->
GetName());
936 TString histTitle(histName);
937 histTitle.Prepend(
"Histogram of ");
943 if (bins[0]->isUniform()) {
944 histogram=
new TH1F(histName.Data(), histTitle.Data(),
947 histogram=
new TH1F(histName.Data(), histTitle.Data(),
952 if (bins[0]->isUniform() && bins[1]->
isUniform()) {
953 histogram=
new TH2F(histName.Data(), histTitle.Data(),
957 histogram=
new TH2F(histName.Data(), histTitle.Data(),
964 histogram=
new TH3F(histName.Data(), histTitle.Data(),
969 histogram=
new TH3F(histName.Data(), histTitle.Data(),
982 for(index= 0; index < dim; index++) {
1001 if((0 != tAxisLabel) && (0 != strlen(tAxisLabel))) {
1002 TString axisTitle(tAxisLabel);
1003 axisTitle.Append(
" / ( ");
1004 for(
Int_t index2= 0; index2 < dim; index2++) {
1006 if(index2 > 0) axisTitle.Append(
" x ");
1007 axisTitle.Append(
Form(
"%g",delta));
1008 if(strlen(xyz[index2]->
getUnit())) {
1009 axisTitle.Append(
" ");
1010 axisTitle.Append(xyz[index2]->
getUnit());
1013 axisTitle.Append(
" )");
virtual Bool_t isUniform() const
virtual Double_t getMin(const char *name=0) const
virtual void SetZTitle(const char *title)
virtual const char * GetName() const
Returns name of object.
virtual void setBin(Int_t ibin, const char *rangeName=0)
Set value to center of bin 'ibin' of binning 'rangeName' (or of default binning if no range is specif...
virtual ~RooAbsRealLValue()
Destructor.
virtual Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE)
Add the specified argument to list.
Bool_t hasMin(const char *name=0) const
virtual void setValFast(Double_t value)
virtual Double_t getMax(const char *name=0) const
const Text_t * getUnit() const
virtual void randomize(const char *rangeName=0)
Set a new value sampled from a uniform distribution over the fit range.
void SetName(const char *name)
Set the name of the RooPlot to 'name'.
Bool_t defineDouble(const char *name, const char *argName, Int_t doubleNum, Double_t defValue=0.)
Define Double_t property name 'name' mapped to Double_t in slot 'doubleNum' in RooCmdArg with name ar...
3-D histogram with a float per channel (see TH1 documentation)}
virtual Int_t numBins(const char *rangeName=0) const
const char * getString(const char *name, const char *defaultValue="", Bool_t convEmptyToNull=kFALSE)
Return string property registered with name 'name'.
Double_t getVal(const RooArgSet *set=0) const
THist< 1, float, THistStatContent, THistStatUncertainty > TH1F
virtual void printMultiline(std::ostream &os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const
Structure printing.
Bool_t hasMax(const char *name=0) const
TString getTitle(Bool_t appendUnit=kFALSE) const
Return this variable's title string.
virtual void printMultiline(std::ostream &os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const
Structure printing.
RooTreeData is the abstract base class for data collection that use a TTree as internal storage mecha...
1-D histogram with a float per channel (see TH1 documentation)}
virtual void SetYTitle(const char *title)
static Int_t isInfinite(Double_t x)
Return true if x is infinite by RooNumBer internal specification.
void SetTitle(const char *name)
Set the title of the RooPlot to 'title'.
TObject * getObject(const char *name, TObject *obj=0)
Return TObject property registered with name 'name'.
virtual void writeToStream(std::ostream &os, Bool_t compact) const
Write object contents to given stream.
virtual void copyCache(const RooAbsArg *source, Bool_t valueOnly=kFALSE, Bool_t setValDirty=kTRUE)
Copy the cached value of another RooAbsArg to our cache.
Bool_t getRange(RooRealVar &var, Double_t &lowest, Double_t &highest, Double_t marginFrac=0, Bool_t symMode=kFALSE) const
Fill Doubles 'lowest' and 'highest' with the lowest and highest value of observable 'var' in this dat...
virtual Bool_t readFromStream(std::istream &is, Bool_t compact, Bool_t verbose=kFALSE)
Read object contents from given stream.
Bool_t process(const RooCmdArg &arg)
Process given RooCmdArg.
virtual const char * ClassName() const
Returns name of class to which the object belongs.
Bool_t fitRangeOKForPlotting() const
Check if fit range is usable as plot range, i.e.
TH1 * createHistogram(const char *name, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) const
virtual void setBinFast(Int_t ibin, const RooAbsBinning &binning)
Set value to center of bin 'ibin' of binning 'rangeName' (or of default binning if no range is specif...
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...
RooPlot * frame() const
Create a new RooPlot on the heap with a drawing frame initialized for this object, but no plot contents.
virtual Double_t highBound() const =0
void defineDependency(const char *refArgName, const char *neededArgName)
Define that processing argument name refArgName requires processing of argument named neededArgName t...
virtual RooAbsArg & operator=(const RooAbsReal &other)
Assignment operator from other RooAbsReal.
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...
RooRealVar represents a fundamental (non-derived) real valued object.
virtual void Add(TObject *arg)
VecExpr< UnaryOp< Fabs< T >, VecExpr< A, T, D >, T >, T, D > fabs(const VecExpr< A, T, D > &rhs)
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'.
virtual Bool_t isValidReal(Double_t value, Bool_t printError=kFALSE) const
Check if given value is valid.
RooAbsArg * at(Int_t idx) const
2-D histogram with a float per channel (see TH1 documentation)}
Bool_t ok(Bool_t verbose) const
Return true of parsing was successful.
char * Form(const char *fmt,...)
virtual const RooAbsBinning & getBinning(const char *name=0, Bool_t verbose=kTRUE, Bool_t createOnTheFly=kFALSE) const =0
virtual Double_t lowBound() const =0
Class RooCmdConfig is a configurable parser for RooCmdArg named arguments.
virtual void setVal(Double_t value)=0
A RooPlot is a plot frame and a container for graphics objects within that frame. ...
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
virtual Bool_t isJacobianOK(const RooArgSet &depList) const
RooAbsBinning is the abstract base class for RooRealVar binning definitions This class defines the in...
static Double_t uniform(TRandom *generator=randomGenerator())
Return a number uniformly distributed from (0,1)
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
virtual Double_t binCenter(Int_t bin) const =0
Double_t getDouble(const char *name, Double_t defaultValue=0)
Return Double_t property registered with name 'name'.
Double_t moment(RooRealVar &var, Double_t order, const char *cutSpec=0, const char *cutRange=0) const
Calculate moment < (X - <X>)^n > where n = order.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t e
virtual Bool_t inRange(const char *name) const
Check if current value is inside range with given name.
THist< 3, float, THistStatContent, THistStatUncertainty > TH3F
Mother of all ROOT objects.
Bool_t hasProcessed(const char *cmdName) const
Return true if RooCmdArg with name 'cmdName' has been processed.
virtual void SetXTitle(const char *title)
RooAbsRealLValue is the common abstract base class for objects that represent a real value that may a...
void copyCache(const RooAbsArg *source, Bool_t valueOnly=kFALSE, Bool_t setValDirty=kTRUE)
Copy cache of another RooAbsArg to our cache.
static constexpr double pc
virtual Double_t * array() const =0
Bool_t defineObject(const char *name, const char *argName, Int_t setNum, const TObject *obj=0, Bool_t isArray=kFALSE)
Define TObject property name 'name' mapped to object in slot 'setNum' in RooCmdArg with name argName ...
virtual Int_t getBins(const char *name=0) const
Abstract base class for objects that are lvalues, i.e.
RooAbsArg is the common abstract base class for objects that represent a value (of arbitrary type) an...
virtual Double_t averageBinWidth() const =0
THist< 2, float, THistStatContent, THistStatUncertainty > TH2F
RooCmdArg is a named container for two doubles, two integers two object points and three string point...