7 TImage* dimg = TImage::Open(img);
9 Error(
"Failed to open image file: %s", img);
13 UInt_t w = (dimg ? dimg->GetWidth() : 1000);
14 UInt_t h = (dimg ? dimg->GetHeight() : 900);
15 Printf(
"Canvas size: (%dx%d)", w, h);
16 TCanvas*
c =
new TCanvas(name, title, w, h);
17 c->SetTopMargin(0.01);
18 c->SetRightMargin(0.01);
30 TPad* p =
new TPad(
"overlay",
"Overlay", 0, 0, 1, 1, 0, 0, 0);
34 p->SetTopMargin(0.01);
35 p->SetRightMargin(0.01);
53 gROOT->SetMacroPath(Form(
"%s:%s", gROOT->GetMacroPath(),
54 "$ALICE_PHYSICS/PWGLF/FORWARD/analysis2/dndeta"));
56 if (!gROOT->GetClass(
"Drawer")) gROOT->LoadMacro(
"Drawer.C++");
62 TString t1(trigger); t1.ReplaceAll(
"X",
"A");
63 TString t2(trigger); t2.ReplaceAll(
"X",
"C");
67 if (!s1 || !s2)
return 0;
70 TPair* ret =
new TPair(res, 0);
74 Warning(
"",
"No other data for %s,%d,%s",
75 system.Data(),sNN,trigger.Data());
84 gStyle->SetFrameLineStyle(0);
87 =
"$ALICE_PHYSICS/PWGLF/FORWARD/analysis2/dndeta/dNdeta_muon.png";
88 TCanvas*
c =
MakeCanvas(
"CompareMuonDensity",
"Muon",
93 Warning(
"",
"Didn't get mine");
98 TVirtualPad* p = c->GetPad(10);
100 Error(
"CompareMuon",
"No overlay pad");
103 p->SetTopMargin(0.08);
104 p->SetRightMargin(0.06);
105 p->SetBottomMargin(0.16);
106 p->SetLeftMargin(0.18);
113 THStack* data =
static_cast<THStack*
>(mine->Key());
114 data->SetTitle(Form(
"1/N dN_{ch}/d#eta (%s) and 1/#deltac dN_{#mu}/d#eta",
116 data->Draw(
"nostack y+");
117 data->GetHistogram()->GetXaxis()->SetRangeUser(-4.5,4.5);
118 data->GetHistogram()->GetXaxis()->SetLabelSize(0);
119 data->GetHistogram()->GetYaxis()->SetNdivisions(305);
120 data->GetHistogram()->GetXaxis()->SetNdivisions(305);
123 mine->Value()->Draw(
"p");
126 static_cast<TFrame*
>(p->GetListOfPrimitives()->FindObject(
"TFrame"));
128 Warning(
"",
"No frame");
138 c->Print(Form(
"plots/CompareMuonDensity%s.png",trig));
144 gStyle->SetFrameLineStyle(0);
147 =
"$ALICE_PHYSICS/PWGLF/FORWARD/analysis2/dndeta/dNdeta_muon_ratio.png";
148 TCanvas*
c =
MakeCanvas(
"CompareMuonRatio",
"Muon",
153 Warning(
"",
"Didn't get mine");
158 TVirtualPad* p = c->GetPad(10);
160 Error(
"CompareMuon",
"No overlay pad");
163 p->SetTopMargin(0.08);
164 p->SetRightMargin(0.06);
165 p->SetBottomMargin(0.16);
166 p->SetLeftMargin(0.18);
174 THStack* data =
static_cast<THStack*
>(mine->Key());
175 THStack* ratios =
new THStack(*data);
176 TList* dlist = ratios->GetHists();
177 TH1* dperif =
static_cast<TH1*
>(dlist->Last());
178 dlist->Remove(dperif);
181 while ((dh = static_cast<TH1*>(dnext()))) {
183 dh->SetMaximum(37.3);
185 ratios->SetTitle(Form(
"R_{cp} for 1/N dN_{ch}/d#eta (%s) "
186 "and 1/#deltac dN_{#mu}/d#eta", trig));
187 ratios->Draw(
"nostack y+");
188 ratios->GetHistogram()->GetXaxis()->SetRangeUser(-4.5,4.5);
189 ratios->GetHistogram()->GetYaxis()->SetNdivisions(305);
190 ratios->GetHistogram()->GetXaxis()->SetLabelSize(0);
191 ratios->GetHistogram()->GetXaxis()->SetNdivisions(305);
195 TMultiGraph* odata =
static_cast<TMultiGraph*
>(mine->Value());
196 TMultiGraph* oratios =
new TMultiGraph;
197 TList* olist = odata->GetListOfGraphs();
200 olist->Remove(operif);
204 while ((og = static_cast<TGraphAsymmErrors*>(onext())))
210 static_cast<TFrame*
>(p->GetListOfPrimitives()->FindObject(
"TFrame"));
212 Warning(
"",
"No frame");
222 c->Print(Form(
"plots/CompareMuonRatio%s.png",trig));
TPair * GetMine(const TString &trigger, Bool_t rebinned=true, Bool_t empirical=true)
void CompareMuonRatio(const char *trig)
void CompareMuonDensity(const char *trig)
static THStack * GetStack(TLegend *legend, const TString &system, UShort_t sNN, const TString &trigger, Bool_t rebinned=true, Bool_t empirical=true, Int_t marker=20)
static TGraph * GOverG(const TGraph *num, const TGraph *den, const TGraph *dlow, const TGraph *dup, Double_t dx=0)
static TMultiGraph * GetOther(UShort_t sys, UShort_t sNN, UShort_t trg, UShort_t exps=0xf, Int_t verbose=3)
void CompareMuon(const char *trig="CENTZNX")
TCanvas * MakeCanvas(const char *name, const char *title, const char *img=0)
static THStack * Symmetrice(THStack *s1, THStack *s2)