Hi Alex,
Is your class TUnbinFitObj derived from TObject?
Rene Brun
On Mon, 19 Aug 2002, Alex Smith wrote:
> Hi,
>
> I am trying to use SetObjectFit to specify my own object to feed to
> a minuit FCN. I create an object of my own class TUnbinFitObj which is
> just an NTUPLE, a FUNCTION and a list of names of the Ntuple variables
> to be fed into my function (the arguments, not the parameters). The
> class definition is included below.
>
> As in a previous roottalk solution, I try using SetObjectFit to pass
> this object to my Minuit fcn. This is done in the constructor for my
> TUnbinnedFit object which will fit the object of class TUnbinFitObj.
>
> When I try to run the code included below this I get the message:
>
> TUnbinFitObj* fitobject;
>
> gMinuit = new TMinuit(nparam);
> fitobject = new TUnbinFitObj( "MassFit", "Mass Fit", func, ntuple,
> x_name );
> gMinuit->SetFCN(NtFitLikelihood);
> gMinuit->SetObjectFit( fitobject ); //FAILS HERE!!
>
>
>
>
>
> Error: Can't call TMinuit::SetObjectFit(fitobject) in current scope
> FILE:TUnbinnedFit.cxx LINE:152
> Possible candidates are...
> filename line:size busy function type and name (in TMinuit)
> (compiled) 0:0 0 public: virtual void SetObjectFit(TObject* obj);
> filename line:size busy function type and name (in TNamed)
> filename line:size busy function type and name (in TObject)
> Error: Symbol gMinuit is not defined in current scope
> FILE:TUnbinnedFit.cxx LINE:152
> Error: Failed to evaluate gMinuit->SetObjectFit(fitobject)Possible
> candidates are...
> filename line:size busy function type and name
> *** Interpreter error recovered ***
>
>
>
> What am I doing wrong?!?
>
> Thanks,
>
> Alex Smith
>
>
>
>
>
>
>
>
>
> ------------------------------------
> Object I'm trying to pass
> ------------------------------------
>
> class TUnbinFitObj {
>
> private:
> const char* name;
> char* title;
> TF1 *func; // pointer to probability function
> TNtuple* ntuple; // pointer to data ntuple
> Double_t x_val; // values of fit variables
> Int_t nparam; // number of function parameters
> Int_t ndim; // dimension of fit probability fn
> // (number of fit variables)
> char* x_name; // list of parameters to fit
> Int_t nevent; // number of events in Ntuple
>
> public:
> TUnbinFitObj( const char* name, char* title, TF1 *func, TNtuple*
> ntuple, char* x_name );
> ~TUnbinFitObj();
> Double_t GetFunctionValue(Int_t index);
> Int_t GetNumEvent();
> Int_t GetNumPar();
> Int_t GetNumDim();
> char* GetName();
> char* GetTitle();
> // char*[] GetXNames();
> ClassDef (TUnbinFitObj,1) // Unbinned Fit object
>
> };
>
>
>
>
>
>
>
>
>
>
>
>
>
>
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:05 MET