18 TCanvas*
c =
new TCanvas(Form(
"c%02d", ++cId),
title);
19 c->SetTopMargin(0.02);
20 c->SetRightMargin(0.02);
41 Int_t entries = tree->Draw(exp, cut, (
draw ?
"" :
"goff"));
42 if (entries==0)
return 0;
44 Double_t mean = TMath::Mean(entries, tree->GetV1());
45 return entries * mean;
62 Int_t entries = tree->Draw(exp, cut,
"goff");
63 if (entries <= 1 || !tree->GetV1())
return -10000;
66 TMath::Sort(entries, tree->GetV1(), index.fArray);
68 Int_t oindex = TMath::Min(order, entries);
69 Double_t value = tree->GetV1()[index[oindex-1]];
91 const char* xtitle=
"",
92 const char* ytitle=
"",
95 tree->Draw(Form(
"%s>>tmpa", exp), cut,
"GOFF");
96 if (!tree->GetHistogram())
return 0;
98 TH1* ret =
static_cast<TH1*
>(tree->GetHistogram()->Clone(name));
99 delete tree->GetHistogram();
100 ret->SetXTitle(xtitle);
101 ret->SetYTitle(ytitle);
102 ret->SetMarkerStyle(22);
103 ret->SetMarkerSize(1);
131 << 100*(alldT > 0 ? dT / alldT : 0) <<
"\t" 132 << 100*(alldVM > 0 ? dVM / alldVM : 0) << std::endl;
166 rootOut.ReplaceAll(
".log",
".root");
167 rootOut.ReplaceAll(
".foo",
".root");
168 Info(
"",
"Writing to ROOT file %s", rootOut.Data());
169 TFile* out = TFile::Open(rootOut,
"RECREATE");
170 TTree* tree = AliSysInfo::MakeTree(file);
176 sumOut.ReplaceAll(
".root",
".sum");
177 Info(
"",
"Writing to ASCII file %s", sumOut.Data());
178 std::ofstream ascii(sumOut.Data());
179 ascii <<
"Det/C:sumDt/F:sumDvm/F:fracDt/F:fracDvm/F" << std::endl;
182 const char* all =
"id0>=0&&id2>=0";
187 TCut cutT(
"cutDT", Form(
"deltaT > %f", topdT));
188 TCut cutVM(
"cutVM", Form(
"deltaVM > %f", topdVM));
191 "DVMvsName",
"",
"#DeltaVM [MB]",
draw&0x4);
193 "VMvsName",
"",
"VM [MB]",
draw&0x4);
195 "VMvsTime",
"Time [sec]",
"VM [MB]",
draw&0x4);
197 "CPUvsName",
"",
"#DeltaT [sec]",
draw&0x4);
201 Print(ascii,
"all", sumdTAll, sumdVMAll, sumdTAll, sumdVMAll);
206 const char** pdet =
dets;
209 TString cut = Form(
"id0==%d && id2 >= 0", idet);
212 Print(ascii, *pdet, sumdT, sumdVM, sumdTAll, sumdVMAll);
215 TString cut2 = Form(
"id0==%d",idet);
216 ExtractHist(tree,
"deltaVM:sname", cut2.Data()+cutVM,
217 Form(
"DVMvsName_%02d", idet),
"",
"#DeltaVM [MB]",
draw&0x8);
219 Form(
"VMvsName_%02d", idet),
"",
"VM [MB]",
draw&0x8);
220 ExtractHist(tree,
"deltaT:sname", cut2.Data()+cutT,
221 Form(
"CPUvsName_%02d", idet),
"",
"#DeltaT [sec]",
draw&0x8);
void Print(std::ostream &o, const char *name, Double_t dT, Double_t dVM, Double_t alldT, Double_t alldVM)
void PlotSysInfo(ULong_t pid=431808952)
TVirtualPad * MakeCanvas(const char *title="")
TH1 * ExtractHist(TTree *tree, const char *exp, const char *cut, const char *name, const char *xtitle="", const char *ytitle="", Bool_t draw=false)
Double_t TopUsage(TTree *tree, const char *exp, const char *cut, Int_t order)
Double_t SumUsage(TTree *tree, const char *exp, const char *cut, bool draw=false)
void Plot1SysInfo(const char *file, UShort_t draw=0x1)
TFile * file
TList with histograms for a given trigger.