-
TTree *fTree; // tree of interest
TObjArray aReport; // array with branch statistic
TArrayF totSize; // total size for branch
else{
TMath::Sort(entries,totSize.GetArray(),indexes,kTRUE);
}
- Float_t zipBytes = fTree->GetZipBytes();
- Float_t totBytes = fTree->GetTotBytes();
+ Float_t zipBytes = zipSize[indexes[0]];
+ Float_t totBytes = totSize[indexes[0]];
Float_t ratioT = 100.*zipBytes/totBytes;
for (Int_t i=entries-1; i>=0; i--){
Int_t ib = indexes[i];
Float_t ratio0= 100.*totSize[ib]/totBytes;
Float_t ratio1= 100.*zipSize[ib]/zipBytes;
- if (i==0)
+ if (i==0) {
printf("\n------------------------------------------------------------\n");
-
+ printf("%d \t\t%5.f(%.2f\%) \t\t%5.f(%.2f\%) \t%.2f \t%s\n",i,
+ totSize[ib],100., zipSize[ib],100., 100.*zipRatio[ib], aReport.At(ib)->GetName());
+ }else{
printf("%d \t\t%5.f(%.2f\%) \t\t%5.f(%.2f\%) \t%.2f \t%s\n",i,
totSize[ib],ratio0, zipSize[ib],ratio1, 100.*zipRatio[ib], aReport.At(ib)->GetName());
+ }
}
}
-void AddToReport(const char * name, Float_t size[2], Float_t ratio){
+void AddToReport(const char *prefix,const char * name, Float_t size[2], Float_t ratio){
//
// add branch info to array
//
- aReport.AddLast(new TObjString(name));
+ char fullname[10000];
+ sprintf(fullname,"%s.%s",prefix,name);
+ aReport.AddLast(new TObjString(fullname));
Int_t entry = aReport.GetEntries();
if (totSize.GetSize()<entry){
totSize.Set(entry*2);
Float_t ratio= (size[0]>0) ? size[1]/Float_t(size[0]): 0;
// printf("Sum :\t%f\t%f\t%f\t%s.%s\t\n", float(size[0]), float(size[1]),ratio, prefix,tree->GetName());
- AddToReport(tree->GetName(),size,ratio);
+ AddToReport(prefix, tree->GetName(),size,ratio);
PrintSorted(zipSort);
}
if (bsize[1]>0){
Float_t ratio= (bsize[0]>0) ? bsize[1]/Float_t(bsize[0]): 0;
// printf("Term:\t%f\t%f\t%f\t%s.%s\t\n",float(bsize[0]), float(bsize[1]),ratio, prefix,branch->GetName());
- AddToReport(branch->GetName(),bsize,ratio);
+ AddToReport(prefix, branch->GetName(),bsize,ratio);
//branch->Print();
size[0]+=bsize[0];
size[1]+=bsize[1];
}else{
Float_t ratio= mratio;
//printf("Ter?:\t%f\t%f\t%f\t%s.%s\t\n",float(bsize[0]), float(-1),ratio, prefix,branch->GetName());
- AddToReport(branch->GetName(),bsize,ratio);
+ AddToReport(prefix, branch->GetName(),bsize,ratio);
//branch->Print();
size[0]+=bsize[0];
size[1]+=TMath::Nint(bsize[0]*mratio);
}
Float_t ratio= (size[0]>0) ? size[1]/Float_t(size[0]): 0;
//printf("Sum :\t%f\t%f\t%f\t%s.%s\t\n", float(bsizeSum[0]), float(bsizeSum[1]),ratio, prefix,branch->GetName());
- AddToReport(branch->GetName(),bsizeSum,ratio);
+ AddToReport(prefix,branch->GetName(),bsizeSum,ratio);
}