3 #include <TMultiGraph.h> 19 TFile*
file = TFile::Open(filename.Data(),
"READ");
21 Error(
"Run",
"Failed to open \"%s\"", filename.Data());
28 pdfName.ReplaceAll(
".root",
".pdf");
66 const char* re =
"[pm][0-9]*d[0-9]*_[pm][0-9]*d[0-9]*";
69 if (!o->IsA()->InheritsFrom(TCollection::Class())) {
75 if (oN.Index(check) == kNPOS) {
80 Int_t ul = oN.Index(
"_");
82 TString sMax = oN(ul+1, oN.Length()-ul-1);
83 sMin.ReplaceAll(
"p",
"+");
84 sMin.ReplaceAll(
"m",
"-");
85 sMin.ReplaceAll(
"d",
".");
86 sMax.ReplaceAll(
"p",
"+");
87 sMax.ReplaceAll(
"m",
"-");
88 sMax.ReplaceAll(
"d",
".");
104 while ((o = next())) {
120 PrintCanvas(Form(
"%+5.1f < #eta < %+5.1f", etaMin, etaMax));
132 TLegend* l =
new TLegend(.5, .75, .98, .98,
"P(#it{N}_{ch})");
137 TIter next(s->GetHists());
140 while ((h = static_cast<TH1*>(next()))) {
142 if (n.BeginsWith(
"True")) { hasTrue =
true;
continue; }
143 n.ReplaceAll(
"Raw P(#it{N}_{ch}) in ",
"");
144 TLegendEntry* e = l->AddEntry(
"dummy", n,
"p");
145 e->SetMarkerStyle(h->GetMarkerStyle());
148 TLegendEntry* e = l->AddEntry(
"dummy",
"Raw",
"p");
149 e->SetMarkerStyle(20);
150 e->SetMarkerColor(kRed+1);
151 e = l->AddEntry(
"dummy",
"MC truth",
"p");
152 e->SetMarkerStyle(24);
153 e->SetMarkerColor(kBlue+1);
154 e = l->AddEntry(
"dummy",
"MC truth selected",
"p");
155 e->SetMarkerStyle(24);
156 e->SetMarkerColor(kOrange+1);
167 while ((o = nextO())) {
183 PrintCanvas(Form(
"%+5.1f < #eta < %+5.1f", etaMin, etaMax));
192 TLatex* ltx =
new TLatex(.5, y,
"AOD #rightarrow P(#it{N}_{ch} )");
193 ltx->SetTextSize(0.07);
194 ltx->SetTextFont(62);
195 ltx->SetTextAlign(22);
202 TLatex* sub =
new TLatex(.5, y,
"(Simulation input)");
203 sub->SetTextSize(0.04);
204 sub->SetTextFont(42);
205 sub->SetTextAlign(22);
Base class for classes to draw summaries.
static TH1 * GetH1(const TObject *parent, const TString &name, Bool_t verb=true)
static TH2 * GetH2(const TObject *parent, const TString &name, Bool_t verb=true)
static void TriggerString(ULong_t trigger, TString &str)
static void SysString(UShort_t sys, TString &str)
TCollection * GetEtaBin(TObject *o, Double_t &etaMin, Double_t &etaMax)
static Bool_t GetParameter(const TObject *c, const TString &name, Short_t &value, Bool_t verb=true)
static TObject * GetObject(const TObject *parent, const TString &name, Bool_t verb=true)
void CreateCanvas(const TString &pname, Bool_t landscape=false, Bool_t pdf=true, Bool_t useTop=true)
void DrawParameter(Double_t &y, const TString &name, const TString &value, Double_t size=0)
void PrintCanvas(const TString &title, Float_t size=.7)
void DrawTitlePage(const TCollection *c)
static void SNNString(UShort_t sNN, TString &str)
void DrawResCollection(TCollection *top, const TString &name)
TFile * file
TList with histograms for a given trigger.
void DrawSumCollection(TCollection *top, const TString &name)
TObject * DrawInPad(TVirtualPad *c, Int_t padNo, TObject *h, Option_t *opts="", UInt_t flags=0x0, const char *title="")
static TCollection * GetCollection(const TObject *parent, const TString &name, Bool_t verb=true)
void Run(const char *fname="forward_multdists.root", UShort_t flags=kNormal)
static THStack * GetStack(const TObject *parent, const TString &name, const char *sub=0, Bool_t verb=true)