I would like to be able to call getRange or getMin or getMax on a RooRealVar just as I can call setRange, setMin, and setMax. As far as I can tell, RooRealVar has no such member.
Hi @mwilkins,
what you look for is this part of RooAbsReal’s interface:
virtual const RooAbsBinning& getBinning(const char* name=0, Bool_t verbose=kTRUE, Bool_t createOnTheFly=kFALSE) const;
With the binning (RooAbsBinning documentation) you can do all kinds of operations. Convenience functions for retrieving the bounds from the binning are also defined in RooAbsReal:
virtual Double_t getMin(const char* name=0) const { return getBinning(name).lowBound(); }
virtual Double_t getMax(const char* name=0) const { return getBinning(name).highBound(); }
The names don’t hint at a range, but this will do the trick.
I could add the following if you see the need:
std::pair<double, double> getRange(const char* name = 0) const {
return {getMin(name), getMax(name)};
}
1 Like
Hello,
Thanks for your response. Indeed, getMin and getMax are already just what I was looking for–I missed them for lack of a “range” keyword in the documentation.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.