21 ::Warning(
"GetO",
"No object %s in %s", name, d->GetName());
26 if (!o->IsA()->InheritsFrom(cls)) {
27 Warning(
"GetO",
"Object %s read from %s, is not a %s but a %s",
28 name, d->GetName(), cls->GetName(), o->ClassName());
33 THStack*
GetHS(TDirectory* d,
const char* name)
35 return static_cast<THStack*
>(
GetO(d, name, THStack::Class()));
39 return static_cast<TH1*
>(
GetO(d, name, TH1::Class()));
43 return static_cast<TH2*
>(
GetO(d, name, TH2::Class()));
45 TDirectory*
GetD(TDirectory* d,
const char* name)
48 TDirectory* sub = d->GetDirectory(name);
50 ::Warning(
"GetO",
"No directory %s in %s", name, d->GetName());
58 fFile = TFile::Open(filename,
"READ");
61 TString outName(filename); outName.ReplaceAll(
".root",
".pdf");
63 Int_t w = h/TMath::Sqrt(2);
65 fCanvas =
new TCanvas(outName, outName, w, h);
66 fTop =
new TPad(
"top",
"top",0,.9,1,1);
67 fTop->SetFillColor(kYellow-10);
68 fTop->SetFillStyle(1001);
71 fBody =
new TPad(
"body",
"body",0,0,1,.9);
72 fBody->SetFillColor(kWhite);
73 fBody->SetFillStyle(1001);
74 fBody->SetTopMargin(0.01);
75 fBody->SetRightMargin(0.03);
79 fTitle =
new TLatex(0.5, 0.5,
"");
80 fTitle->SetTextAlign(22);
81 fTitle->SetTextSize(0.3);
85 fCanvas->Print(Form(
"%s[", fCanvas->GetName()),
"PDF");
88 for (
Int_t i = 1; i <= centAxis->GetNbins(); i++) {
89 Double_t c1 = centAxis->GetBinLowEdge(i);
90 Double_t c2 = centAxis->GetBinUpEdge(i);
95 fCanvas->Print(Form(
"%s]", fCanvas->GetName()),
"PDF");
99 THStack* result =
GetHS(fFile,
"result");
103 result->Draw(
"nostack");
109 fBody->Divide(1,2,0,0);
110 TVirtualPad* p = fBody->cd(1);
111 p->SetRightMargin(0.01);
115 p->SetRightMargin(0.01);
118 Print(
"Centralities");
120 return cent->GetXaxis();
125 binName.Form(
"cent%03dd%02d_%03dd%02d",
129 TDirectory* binDir =
GetD(fFile, binName);
132 THStack* summary =
GetHS(binDir,
"summary");
134 fBody->SetRightMargin(0.2);
135 summary->Draw(
"nostack");
136 fBody->BuildLegend(1-fBody->GetRightMargin(),
137 fBody->GetBottomMargin(),
139 1-fBody->GetTopMargin());
140 Print(Form(
"%5.2f-%5.2f%% - Calculations", c1, c2));
142 TDirectory* detDir =
GetD(binDir,
"details");
143 THStack* deltas =
GetHS(detDir,
"deltas");
147 fBody->SetRightMargin(0.2);
148 deltas->Draw(
"nostack");
149 fBody->BuildLegend(1-fBody->GetRightMargin(),
150 fBody->GetBottomMargin(),
152 1-fBody->GetTopMargin());
153 Print(Form(
"%5.2f-%5.2f%% - #Delta", c1, c2));
159 fTitle->SetTitle(
title);
166 fCanvas->Print(Form(
"%s", fCanvas->GetName()), Form(
"PDF Title=%s",
title));
168 fCanvas->WaitPrimitive();
172 fBody->SetLogy(
false);
173 fBody->SetLogx(
false);
TDirectory * GetD(TDirectory *d, const char *name)
void VisualizeBin(Double_t c1, Double_t c2)
void Summarize(const char *name)
TH1 * GetH1(TDirectory *d, const char *name)
void Print(const char *title="")
TAxis * VisualizeResults()
void Run(const char *filename)
THStack * GetHS(TDirectory *d, const char *name)
TH2 * GetH2(TDirectory *d, const char *name)
TObject * GetO(TDirectory *d, const char *name, TClass *cls=0)