-TString* TStatToolkit::FitPlane(TTree *tree, const char* drawCommand, const char* formula, const char* cuts, Double_t & chi2, Int_t &npoints, TVectorD &fitParam, TMatrixD &covMatrix, Int_t start, Int_t stop){
+TString* TStatToolkit::FitPlane(TTree *tree, const char* drawCommand, const char* formula, const char* cuts, Double_t & chi2, Int_t &npoints, TVectorD &fitParam, TMatrixD &covMatrix, Float_t frac, Int_t start, Int_t stop){
//
// fit an arbitrary function, specified by formula into the data, specified by drawCommand and cuts
// returns chi2, fitParam and covMatrix
}
fitter->Eval();
+ if (frac>0.5 && frac<1){
+ fitter->EvalRobust(frac);
+ }
fitter->GetParameters(fitParam);
fitter->GetCovarianceMatrix(covMatrix);
chi2 = fitter->GetChisquare();
chi2 = chi2;
npoints = entries;
+// TString *preturnFormula = new TString(Form("%f*(",fitParam[0])), &returnFormula = *preturnFormula;
+
+// for (Int_t iparam = 0; iparam < dim; iparam++) {
+// returnFormula.Append(Form("%s*(%f)",((TObjString*)formulaTokens->At(iparam))->GetName(),fitParam[iparam+1]/fitParam[0]));
+// if (iparam < dim-1) returnFormula.Append("+");
+// }
+// returnFormula.Append(" )");
+
TString *preturnFormula = new TString(Form("( %f+",fitParam[0])), &returnFormula = *preturnFormula;
for (Int_t iparam = 0; iparam < dim; iparam++) {
if (iparam < dim-1) returnFormula.Append("+");
}
returnFormula.Append(" )");
+
+
+
+
delete formulaTokens;
delete fitter;
delete[] values;