]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STAT/TStatToolkit.cxx
Example macro to read AOD with HF candidates (Andrea)
[u/mrichter/AliRoot.git] / STAT / TStatToolkit.cxx
index 981bd75a29adcec221c9247e6efa120f01f7b63d..82e6015dd9e5af78620f00596ff42e8c6e39a77f 100644 (file)
@@ -735,7 +735,7 @@ TGraph * TStatToolkit::MakeStat1D(TH3 * his, Int_t delta1, Int_t type){
 
 
 
-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
@@ -779,11 +779,22 @@ TString* TStatToolkit::FitPlane(TTree *tree, const char* drawCommand, const char
    }
 
    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++) {
@@ -791,6 +802,10 @@ TString* TStatToolkit::FitPlane(TTree *tree, const char* drawCommand, const char
      if (iparam < dim-1) returnFormula.Append("+");
    }
    returnFormula.Append(" )");
+   
+   
+
+
    delete formulaTokens;
    delete fitter;
    delete[] values;