TObjArray* valTokens = strVal.Tokenize(":");
drawStr = valTokens->At(0)->GetName();
ferr = valTokens->At(1)->GetName();
+ delete valTokens;
}
fitter->ClearPoints();
Int_t entries = tree->Draw(drawStr.Data(), cutStr.Data(), "goff", stop-start, start);
- if (entries == -1) return new TString("An ERROR has occured during fitting!");
+ if (entries == -1) {
+ delete formulaTokens;
+ return new TString("An ERROR has occured during fitting!");
+ }
Double_t **values = new Double_t*[dim+1] ;
for (Int_t i=0; i<dim+1; i++) values[i]=NULL;
//
entries = tree->Draw(ferr.Data(), cutStr.Data(), "goff", stop-start, start);
if (entries == -1) {
+ delete formulaTokens;
delete []values;
return new TString("An ERROR has occured during fitting!");
}
TObjArray* valTokens = strVal.Tokenize(":");
drawStr = valTokens->At(0)->GetName();
ferr = valTokens->At(1)->GetName();
+ delete valTokens;
}
fitter->ClearPoints();
Int_t entries = tree->Draw(drawStr.Data(), cutStr.Data(), "goff", stop-start, start);
- if (entries == -1) return new TString("An ERROR has occured during fitting!");
+ if (entries == -1) {
+ delete formulaTokens;
+ return new TString("An ERROR has occured during fitting!");
+ }
Double_t **values = new Double_t*[dim+1] ;
for (Int_t i=0; i<dim+1; i++) values[i]=NULL;
//
entries = tree->Draw(ferr.Data(), cutStr.Data(), "goff", stop-start, start);
if (entries == -1) {
+ delete formulaTokens;
delete [] values;
return new TString("An ERROR has occured during fitting!");
}
if (entries != centries) {
delete []errors;
delete []values;
+ delete formulaTokens;
return new TString("An ERROR has occured during fitting!");
}
values[i] = new Double_t[entries];
if (strVal.Contains(":")){
TObjArray* valTokens = strVal.Tokenize(":");
drawStr = valTokens->At(0)->GetName();
- ferr = valTokens->At(1)->GetName();
+ ferr = valTokens->At(1)->GetName();
+ delete valTokens;
}
fitter->ClearPoints();
Int_t entries = tree->Draw(drawStr.Data(), cutStr.Data(), "goff", stop-start, start);
- if (entries == -1) return new TString("An ERROR has occured during fitting!");
+ if (entries == -1) {
+ delete formulaTokens;
+ return new TString("An ERROR has occured during fitting!");
+ }
Double_t **values = new Double_t*[dim+1] ;
for (Int_t i=0; i<dim+1; i++) values[i]=NULL;
//
entries = tree->Draw(ferr.Data(), cutStr.Data(), "goff", stop-start, start);
if (entries == -1) {
delete []values;
+ delete formulaTokens;
return new TString("An ERROR has occured during fitting!");
}
Double_t *errors = new Double_t[entries];
if (entries != centries) {
delete []errors;
delete []values;
+ delete formulaTokens;
return new TString("An ERROR has occured during fitting!");
}
values[i] = new Double_t[entries];
}
if (isOK) index=i;
}
+ delete arrFit;
+ delete arrSub;
return index;
}
}
}
result+="-0.)";
+ delete array0;
+ delete array1;
return result;
}
for (Int_t i=0; i<=array0->GetEntries(); i++){
param(i)=paramM(i,0);
}
+ delete array0;
+ delete array1;
}
TString TStatToolkit::MakeFitString(const TString &input, const TVectorD ¶m, const TMatrixD & covar, Bool_t verbose){
if (verbose) printf("%f\t%f\t%s\n", param[i+1], TMath::Sqrt(covar(i+1,i+1)),str.Data());
}
result+="-0.)";
+ delete array0;
return result;
}
-TGraph * TStatToolkit::MakeGraphSparse(TTree * tree, const char * expr, const char * cut, Int_t mstyle, Int_t mcolor){
+TGraph * TStatToolkit::MakeGraphSparse(TTree * tree, const char * expr, const char * cut, Int_t mstyle, Int_t mcolor, Float_t msize){
//
// Make a sparse draw of the variables
// Writen by Weilin.Yu
const Int_t entries = tree->Draw(expr,cut,"goff");
+ if (entries<=0) {
+ TStatToolkit t;
+ t.Error("TStatToolkit::MakeGraphSparse",Form("Empty or Not valid expression (%s) or cut *%s)", expr,cut));
+ return 0;
+ }
// TGraph * graph = (TGraph*)gPad->GetPrimitive("Graph"); // 2D
TGraph * graph = 0;
if (tree->GetV3()) graph = new TGraphErrors (entries, tree->GetV2(),tree->GetV1(),0,tree->GetV3());
graph->SetMarkerStyle(mstyle);
graph->SetMarkerColor(mcolor);
//
- Int_t *index = new Int_t[entries];
+ Int_t *index = new Int_t[entries*4];
TMath::Sort(entries,graph->GetX(),index,kFALSE);
Double_t *tempArray = new Double_t[entries];
graphNew->GetHistogram()->SetTitle("");
graphNew->SetMarkerStyle(mstyle);
graphNew->SetMarkerColor(mcolor);
+ if (msize>0) graphNew->SetMarkerSize(msize);
delete [] tempArray;
delete [] index;
delete [] newBins;