ROOT logo
ROOT » HIST » HIST » TF12

class TF12: public TF1


 a projection of a TF2 along X or Y
 has the same behaviour as a TF1

      Example of a function

   TF2 *f2 = new TF2("f2","sin(x)*sin(y)/(x*y)",0,5,0,5);
   TF12 *f12 = new TF12("f12",f2,0.1,"y");
   f12->Draw();

Function Members (Methods)

public:
TF12()
TF12(const TF12& f12)
TF12(const char* name, TF2* f2, Double_t xy, Option_t* option = "x")
virtual~TF12()
voidTObject::AbstractMethod(const char* method) const
static voidTF1::AbsValue(Bool_t reject = kTRUE)
virtual voidTFormula::Analyze(const char* schain, Int_t& err, Int_t offset = 0)
virtual Bool_tTFormula::AnalyzeFunction(TString& chaine, Int_t& err, Int_t offset = 0)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTF1::Browse(TBrowser* b)
static voidTF1::CalcGaussLegendreSamplingPoints(Int_t num, Double_t* x, Double_t* w, Double_t eps = 3.0e-11)
virtual Double_tTF1::CentralMoment(Double_t n, Double_t a, Double_t b, const Double_t* params = 0, Double_t epsilon = 0.000001)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTFormula::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual Int_tTFormula::Compile(const char* expression = "")
virtual voidCopy(TObject& f12) const
virtual char*TFormula::DefinedString(Int_t code)
virtual Double_tTFormula::DefinedValue(Int_t code)
virtual Int_tTFormula::DefinedVariable(TString& variable, Int_t& action)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Double_tTF1::Derivative(Double_t x, Double_t* params = 0, Double_t epsilon = 0.001) const
virtual Double_tTF1::Derivative2(Double_t x, Double_t* params = 0, Double_t epsilon = 0.001) const
virtual Double_tTF1::Derivative3(Double_t x, Double_t* params = 0, Double_t epsilon = 0.001) const
static Double_tTF1::DerivativeError()
Int_tTAttLine::DistancetoLine(Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
virtual Int_tTF1::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTF1::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual TF1*DrawCopy(Option_t* option = "") const
virtual TObject*TF1::DrawDerivative(Option_t* option = "al")MENU
virtual voidTF1::DrawF1(const char* formula, Double_t xmin, Double_t xmax, Option_t* option = "")
virtual TObject*TF1::DrawIntegral(Option_t* option = "al")MENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual Double_tEval(Double_t x, Double_t y = 0, Double_t z = 0, Double_t t = 0) const
virtual Double_tEvalPar(const Double_t* x, const Double_t* params = 0)
virtual Double_tTFormula::EvalParOld(const Double_t* x, const Double_t* params = 0)
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 voidTF1::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 voidTF1::FixParameter(Int_t ipar, Double_t value)
Double_tTF1::GetChisquare() const
static TF1*TF1::GetCurrent()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual TStringTFormula::GetExpFormula(Option_t* option = "") const
virtual Color_tTAttFill::GetFillColor() const
virtual Style_tTAttFill::GetFillStyle() const
TH1*TF1::GetHistogram() const
virtual const char*TObject::GetIconName() const
virtual const TObject*TFormula::GetLinearPart(Int_t i)
virtual Color_tTAttLine::GetLineColor() const
virtual Style_tTAttLine::GetLineStyle() const
virtual Width_tTAttLine::GetLineWidth() const
virtual Color_tTAttMarker::GetMarkerColor() const
virtual Size_tTAttMarker::GetMarkerSize() const
virtual Style_tTAttMarker::GetMarkerStyle() const
virtual Double_tTF1::GetMaximum(Double_t xmin = 0, Double_t xmax = 0, Double_t epsilon = 1.E-10, Int_t maxiter = 100, Bool_t logx = false) const
virtual Double_tTF1::GetMaximumX(Double_t xmin = 0, Double_t xmax = 0, Double_t epsilon = 1.E-10, Int_t maxiter = 100, Bool_t logx = false) const
TMethodCall*TF1::GetMethodCall() const
virtual Double_tTF1::GetMinimum(Double_t xmin = 0, Double_t xmax = 0, Double_t epsilon = 1.E-10, Int_t maxiter = 100, Bool_t logx = false) const
virtual Double_tTF1::GetMinimumX(Double_t xmin = 0, Double_t xmax = 0, Double_t epsilon = 1.E-10, Int_t maxiter = 100, Bool_t logx = false) const
virtual const char*TNamed::GetName() const
virtual Int_tTF1::GetNDF() const
virtual Int_tTFormula::GetNdim() const
virtual Int_tTFormula::GetNpar() const
virtual Int_tTF1::GetNpx() const
virtual Int_tTFormula::GetNumber() const
virtual Int_tTF1::GetNumberFitPoints() const
virtual Int_tTF1::GetNumberFreeParameters() const
virtual char*TF1::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tTFormula::GetParameter(Int_t ipar) const
Double_tTFormula::GetParameter(const char* name) const
virtual Double_t*TFormula::GetParameters() const
virtual voidTFormula::GetParameters(Double_t* params)
TObject*TF1::GetParent() const
virtual Double_tTF1::GetParError(Int_t ipar) const
virtual Double_t*TF1::GetParErrors() const
virtual voidTF1::GetParLimits(Int_t ipar, Double_t& parmin, Double_t& parmax) const
virtual const char*TFormula::GetParName(Int_t ipar) const
virtual Int_tTFormula::GetParNumber(const char* name) const
virtual Double_tTF1::GetProb() const
virtual Int_tTF1::GetQuantiles(Int_t nprobSum, Double_t* q, const Double_t* probSum)
virtual Double_tTF1::GetRandom()
virtual Double_tTF1::GetRandom(Double_t xmin, Double_t xmax)
virtual voidTF1::GetRange(Double_t& xmin, Double_t& xmax) const
virtual voidTF1::GetRange(Double_t& xmin, Double_t& ymin, Double_t& xmax, Double_t& ymax) const
virtual voidTF1::GetRange(Double_t& xmin, Double_t& ymin, Double_t& zmin, Double_t& xmax, Double_t& ymax, Double_t& zmax) const
virtual Double_tTF1::GetSave(const Double_t* x)
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Double_tTF1::GetX(Double_t y, Double_t xmin = 0, Double_t xmax = 0, Double_t epsilon = 1.E-10, Int_t maxiter = 100, Bool_t logx = false) const
TAxis*TF1::GetXaxis() const
virtual Double_tTF1::GetXmax() const
virtual Double_tTF1::GetXmin() const
virtual Double_tGetXY() const
TAxis*TF1::GetYaxis() const
TAxis*TF1::GetZaxis() const
virtual Double_tTF1::GradientPar(Int_t ipar, const Double_t* x, Double_t eps = 0.01)
virtual voidTF1::GradientPar(const Double_t* x, Double_t* grad, Double_t eps = 0.01)
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() 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 voidTF1::InitArgs(const Double_t* x, const Double_t* params)
static voidTF1::InitStandardFunctions()
virtual voidTObject::Inspect() constMENU
virtual Double_tTF1::Integral(Double_t a, Double_t b, const Double_t* params = 0, Double_t epsilon = 1e-12)
virtual Double_tTF1::Integral(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t epsilon = 1e-12)
virtual Double_tTF1::Integral(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t az, Double_t bz, Double_t epsilon = 1e-12)
virtual Double_tTF1::IntegralError(Double_t a, Double_t b, const Double_t* params = 0, const Double_t* covmat = 0, Double_t epsilon = 1e-12)
virtual Double_tTF1::IntegralError(Int_t n, const Double_t* a, const Double_t* b, const Double_t* params = 0, const Double_t* covmat = 0, Double_t epsilon = 1e-12)
virtual Double_tTF1::IntegralFast(Int_t num, Double_t* x, Double_t* w, Double_t a, Double_t b, Double_t* params = 0, Double_t epsilon = 1e-12)
virtual Double_tTF1::IntegralMultiple(Int_t n, const Double_t* a, const Double_t* b, Double_t epsilon, Double_t& relerr)
virtual Double_tTF1::IntegralMultiple(Int_t n, const Double_t* a, const Double_t* b, Int_t minpts, Int_t maxpts, Double_t epsilon, Double_t& relerr, Int_t& nfnevl, Int_t& ifail)
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
virtual Bool_tTF1::IsInside(const Double_t* x) const
virtual Bool_tTFormula::IsLinear()
virtual Bool_tTFormula::IsNormalized()
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tTAttFill::IsTransparent() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Double_tTF1::Mean(Double_t a, Double_t b, const Double_t* params = 0, Double_t epsilon = 0.000001)
virtual voidTAttLine::Modify()
virtual Double_tTF1::Moment(Double_t n, Double_t a, Double_t b, const Double_t* params = 0, Double_t epsilon = 0.000001)
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) 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)
virtual Double_tTF1::operator()(const Double_t* x, const Double_t* params = 0)
virtual Double_tTF1::operator()(Double_t x, Double_t y = 0, Double_t z = 0, Double_t t = 0) const
TF1&TF1::operator=(const TF1& rhs)
voidTFormula::Optimize()
virtual voidTF1::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTF1::Print(Option_t* option = "") const
virtual voidTFormula::ProcessLinear(TString& replaceformula)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
static Bool_tTF1::RejectedPoint()
static voidTF1::RejectPoint(Bool_t reject = kTRUE)
virtual voidTF1::ReleaseParameter(Int_t ipar)
virtual voidTAttFill::ResetAttFill(Option_t* option = "")
virtual voidTAttLine::ResetAttLine(Option_t* option = "")
virtual voidTAttMarker::ResetAttMarker(Option_t* toption = "")
voidTObject::ResetBit(UInt_t f)
virtual voidTF1::Save(Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, Double_t zmin, Double_t zmax)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTAttFill::SaveFillAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1001)
virtual voidTAttLine::SaveLineAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t widdef = 1)
virtual voidTAttMarker::SaveMarkerAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t sizdef = 1)
virtual voidSavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTF1::SetChisquare(Double_t chi2)
static voidTF1::SetCurrent(TF1* f1)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTAttFill::SetFillAttributes()MENU
virtual voidTAttFill::SetFillColor(Color_t fcolor)
virtual voidTAttFill::SetFillStyle(Style_t fstyle)
virtual voidTF1::SetFitResult(const ROOT::Fit::FitResult& result, const Int_t* indpar = 0)
virtual voidTAttLine::SetLineAttributes()MENU
virtual voidTAttLine::SetLineColor(Color_t lcolor)
virtual voidTAttLine::SetLineStyle(Style_t lstyle)
virtual voidTAttLine::SetLineWidth(Width_t lwidth)
virtual voidTAttMarker::SetMarkerAttributes()MENU
virtual voidTAttMarker::SetMarkerColor(Color_t tcolor = 1)
virtual voidTAttMarker::SetMarkerSize(Size_t msize = 1)
virtual voidTAttMarker::SetMarkerStyle(Style_t mstyle = 1)
static voidTFormula::SetMaxima(Int_t maxop = 1000, Int_t maxpar = 1000, Int_t maxconst = 1000)
virtual voidTF1::SetMaximum(Double_t maximum = -1111)MENU
virtual voidTF1::SetMinimum(Double_t minimum = -1111)MENU
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
virtual voidTF1::SetNDF(Int_t ndf)
virtual voidTF1::SetNpx(Int_t npx = 100)MENU
virtual voidTFormula::SetNumber(Int_t number)
virtual voidTF1::SetNumberFitPoints(Int_t npfits)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTFormula::SetParameter(const char* name, Double_t parvalue)
virtual voidTFormula::SetParameter(Int_t ipar, Double_t parvalue)
virtual voidTFormula::SetParameters(const Double_t* params)
virtual voidTFormula::SetParameters(Double_t p0, Double_t p1, Double_t p2 = 0, Double_t p3 = 0, Double_t p4 = 0, Double_t p5 = 0, Double_t p6 = 0, Double_t p7 = 0, Double_t p8 = 0, Double_t p9 = 0, Double_t p10 = 0)MENU
virtual voidTF1::SetParent(TObject* p = 0)
virtual voidTF1::SetParError(Int_t ipar, Double_t error)
virtual voidTF1::SetParErrors(const Double_t* errors)
virtual voidTF1::SetParLimits(Int_t ipar, Double_t parmin, Double_t parmax)
virtual voidTFormula::SetParName(Int_t ipar, const char* name)
virtual voidTFormula::SetParNames(const char* name0 = "p0", const char* name1 = "p1", const char* name2 = "p2", const char* name3 = "p3", const char* name4 = "p4", const char* name5 = "p5", const char* name6 = "p6", const char* name7 = "p7", const char* name8 = "p8", const char* name9 = "p9", const char* name10 = "p10")MENU
virtual voidTF1::SetRange(Double_t xmin, Double_t xmax)MENU
virtual voidTF1::SetRange(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax)
virtual voidTF1::SetRange(Double_t xmin, Double_t ymin, Double_t zmin, Double_t xmax, Double_t ymax, Double_t zmax)
virtual voidTF1::SetSavedPoint(Int_t point, Double_t value)
virtual voidTF1::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidSetXY(Double_t xy)MENU
virtual voidShowMembers(TMemberInspector& insp)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(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
virtual voidTF1::Update()
virtual voidTObject::UseCurrentStyle()
virtual Double_tTF1::Variance(Double_t a, Double_t b, const Double_t* params = 0, Double_t epsilon = 0.000001)
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:
virtual Bool_tTFormula::CheckOperands(Int_t operation, Int_t& err)
virtual Bool_tTFormula::CheckOperands(Int_t leftoperand, Int_t rightoperartion, Int_t& err)
voidTFormula::ClearFormula(Option_t* option = "")
virtual voidTFormula::Convert(UInt_t fromVersion)
voidTF1::CreateFromCintClass(const char* name, void* ptr, Double_t xmin, Double_t xmax, Int_t npar, const char* cname, const char* fname)
voidTF1::CreateFromFunctor(const char* name, Int_t npar)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Double_tTFormula::EvalParFast(const Double_t* x, const Double_t* params)
Double_tTFormula::EvalPrimitive(const Double_t* x, const Double_t* params)
Double_tTFormula::EvalPrimitive0(const Double_t* x, const Double_t* params)
Double_tTFormula::EvalPrimitive1(const Double_t* x, const Double_t* params)
Double_tTFormula::EvalPrimitive2(const Double_t* x, const Double_t* params)
Double_tTFormula::EvalPrimitive3(const Double_t* x, const Double_t* params)
Double_tTFormula::EvalPrimitive4(const Double_t* x, const Double_t* params)
Short_tTFormula::GetAction(Int_t code) const
Short_tTFormula::GetActionOptimized(Int_t code) const
Int_tTFormula::GetActionParam(Int_t code) const
Int_tTFormula::GetActionParamOptimized(Int_t code) const
Int_t*TFormula::GetOper() const
Int_t*TFormula::GetOperOptimized() const
virtual Bool_tTFormula::IsString(Int_t oper) const
voidTFormula::MakePrimitive(const char* expr, Int_t pos)
voidTObject::MakeZombie()
Int_tTFormula::PreCompile()
voidTFormula::SetAction(Int_t code, Int_t value, Int_t param = 0)
voidTFormula::SetActionOptimized(Int_t code, Int_t value, Int_t param = 0)
virtual Bool_tTFormula::StringToNumber(Int_t code)

Data Members

protected:
Double_t*TF1::fAlpha!Array alpha. for each bin in x the deconvolution r of fIntegral
TBitsTFormula::fAlreadyFound! cache for information
Double_t*TF1::fBeta!Array beta. is approximated by x = alpha +beta*r *gamma*r**2
Int_tfCaseprojection along X(0), or Y(1)
Double_tTF1::fChisquareFunction fit chisquare
void*TF1::fCintFunc! pointer to interpreted function class
Double_t*TFormula::fConst[fNconst] Array of fNconst formula constants
TString*TFormula::fExpr[fNoper] List of expressions
TString*TFormula::fExprOptimized![fNOperOptimized] List of expressions
TF2*fF2pointer to the mother TF2
Color_tTAttFill::fFillColorfill area color
Style_tTAttFill::fFillStylefill area style
TObjArrayTFormula::fFunctionsArray of function calls to make
ROOT::Math::ParamFunctorTF1::fFunctor! Functor object to wrap any C++ callable object
Double_t*TF1::fGamma!Array gamma.
TH1*TF1::fHistogram!Pointer to histogram used for visualisation
Double_t*TF1::fIntegral![fNpx] Integral of function binned on fNpx bins
Color_tTAttLine::fLineColorline color
Style_tTAttLine::fLineStyleline style
Width_tTAttLine::fLineWidthline width
TObjArrayTFormula::fLinearPartsLinear parts if the formula is linear (contains '|' or "++")
Color_tTAttMarker::fMarkerColorMarker color index
Size_tTAttMarker::fMarkerSizeMarker size
Style_tTAttMarker::fMarkerStyleMarker style
Double_tTF1::fMaximumMaximum value for plotting
TMethodCall*TF1::fMethodCall!Pointer to MethodCall in case of interpreted function
Double_tTF1::fMinimumMinimum value for plotting
Int_tTF1::fNDFNumber of degrees of freedom in the fit
Int_tTFormula::fNOperOptimized!Number of operators after optimization
TStringTNamed::fNameobject identifier
TString*TFormula::fNames[fNpar] Array of parameter names
Int_tTFormula::fNconstNumber of constants
Int_tTFormula::fNdimDimension of function (1=1-Dim, 2=2-Dim,etc)
Int_tTFormula::fNoperNumber of operators
Int_tTFormula::fNparNumber of parameters
Int_tTF1::fNpfitsNumber of points used in the fit
Int_tTF1::fNpxNumber of points used for the graphical representation
Int_tTF1::fNsaveNumber of points used to fill array fSave
Int_tTFormula::fNstringNumber of different constants character strings
Int_tTFormula::fNumberformula number identifier
Int_tTFormula::fNvalNumber of different variables in expression
TOperOffset*TFormula::fOperOffset![fNOperOptimized] Offsets of operrands
Int_t*TFormula::fOperOptimized![fNOperOptimized] List of operators. (See documentation for changes made at version 7)
G__p2memfuncTFormula::fOptimal!pointer to optimal function
Double_t*TF1::fParErrors[fNpar] Array of errors of the fNpar parameters
Double_t*TF1::fParMax[fNpar] Array of upper limits of the fNpar parameters
Double_t*TF1::fParMin[fNpar] Array of lower limits of the fNpar parameters
Double_t*TFormula::fParams[fNpar] Array of fNpar parameters
TObject*TF1::fParent!Parent object hooking this function (if one)
TFormulaPrimitive**TFormula::fPredefined![fNPar] predefined function
Double_t*TF1::fSave[fNsave] Array of fNsave function values
TStringTNamed::fTitleobject title
Int_tTF1::fType(=0 for standard functions, 1 if pointer to function)
Double_tfXYValue along Y (if projection X) or X (if projection Y)
Double_tTF1::fXmaxUpper bounds for the range
Double_tTF1::fXminLower bounds for the range
static Bool_tTF1::fgAbsValueuse absolute value of function when computing integral
static TF1*TF1::fgCurrentpointer to current function being processed
static Bool_tTF1::fgRejectPointTrue if point must be rejected in a fit

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TF12()
 TF12 default constructor
TF12(const char* name, TF2* f2, Double_t xy, Option_t* option = "x")
 TF12 normal constructor.
   Create a TF12 (special TF1) from a projection of a TF2
   for a fix value of Y if option="X" or X if option="Y"
 This value may be changed at any time via TF12::SetXY(xy)
~TF12()
 F2 default destructor.
TF12(const TF12& f12)
 Copy constructor.
void Copy(TObject& f12) const
 Copy this F2 to a new F2.
TF1 * DrawCopy(Option_t* option = "") const
 Draw a copy of this function with its current attributes.

  This function MUST be used instead of Draw when you want to draw
  the same function with different parameters settings in the same canvas.

 Possible option values are:
   "SAME"  superimpose on top of existing picture
   "L"     connect all computed points with a straight line
   "C"     connect all computed points with a smooth curve.

 Note that the default value is "F". Therefore to draw on top
 of an existing picture, specify option "SL"
Double_t Eval(Double_t x, Double_t y = 0, Double_t z = 0, Double_t t = 0) const
 Evaluate this formula

   Computes the value of the referenced TF2 for a fix value of X or Y
Double_t EvalPar(const Double_t* x, const Double_t* params = 0)
 Evaluate this function at point x[0]
   x[0] is the value along X if fCase =0, the value along Y if fCase=1
 if params is non null, the array will be used instead of the internal TF2
 parameters
void SavePrimitive(ostream& out, Option_t* option = "")
 Save primitive as a C++ statement(s) on output stream out
void SetXY(Double_t xy)
 set the value of the constant for the TF2
   constant in X when projecting along Y
   constant in Y when projecting along X
  The function title is set to include the value of the constant
  The current pad is updated
Double_t GetXY() const
{return fXY;}