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