]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/FORWARD/corrections/Empirical/DrawEmpirical.C
Corrected spelling mistake Emperical -> Empirical
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / corrections / Empirical / DrawEmpirical.C
diff --git a/PWGLF/FORWARD/corrections/Empirical/DrawEmpirical.C b/PWGLF/FORWARD/corrections/Empirical/DrawEmpirical.C
new file mode 100644 (file)
index 0000000..2bb09d6
--- /dev/null
@@ -0,0 +1,103 @@
+void 
+DrawMG(TObject* o, TLegend* l, TLegend* cent=0)
+{
+  TMultiGraph* mg = static_cast<TMultiGraph*>(o);
+  TIter next(mg->GetListOfGraphs());
+  TObject* g = 0;
+  Int_t i = 0;
+  while ((g = next())) {
+    g->Draw("p same");
+    TGraph* gg = static_cast<TGraph*>(g);
+    TLegendEntry* e = 0;
+    if (i == 0) {
+      e = l->AddEntry("dummy", mg->GetTitle(), "pl");
+      e->SetMarkerColor(kBlack);
+      e->SetMarkerStyle(gg->GetMarkerStyle());
+      e->SetFillStyle(0);
+    }
+    i++;
+    if (!cent) continue;
+    e = cent->AddEntry("dummy", g->GetTitle(), "f");
+    e->SetMarkerColor(kBlack);
+    e->SetFillStyle(1001);
+    e->SetFillColor(gg->GetMarkerColor());
+  }
+
+}
+
+void 
+DrawEmpirical(const char* corrs="EmpiricalCorrection.root")
+{
+  TFile* fcorr = TFile::Open(corrs, "READ");
+  if (!fcorr) return;
+
+  TObject* odfmdnom  = fcorr->Get("nominal");
+  TObject* odfmdsat  = fcorr->Get("fmdfmd/satellite");
+  TObject* odfullsat = fcorr->Get("fmdfull/satellite");
+  TObject* ocfmdfmd  = fcorr->Get("fmdfmd/average");
+  TObject* ocfmdfull = fcorr->Get("fmdfull/average");
+  TObject* oraverage = fcorr->Get("ratio");
+
+  Int_t size = 800;
+  TCanvas* c = new TCanvas("c", "c", size / TMath::Sqrt(2), size);
+  c->SetRightMargin(0.02);
+  c->SetTopMargin(0.02);
+  c->Divide(1, 3, 0, 0);
+
+  TVirtualPad* p =  c->cd(1);
+  p->SetRightMargin(0.01);
+  p->SetGridx();
+  TH1* h = new TH1D("h1", "h", 200, -4, 6);
+  h->SetStats(0);
+  h->SetXTitle("#eta");
+  h->SetYTitle("1/N_{ev} dN_{ch}/d#eta");
+  h->SetTitle("");
+  h->SetMinimum(1);
+  h->SetMaximum(2100);
+  h->DrawClone();
+  TLegend* l  = new TLegend(.2,  .05, .45, .25, "dN/d#eta");
+  TLegend* lc = new TLegend(.55, .05, .8,  .25, "Centrality");
+  DrawMG(odfmdnom, l);
+  DrawMG(odfmdsat, l);
+  DrawMG(odfullsat, l, lc);
+  l->SetFillStyle(0);
+  l->SetBorderSize(0);
+  l->Draw();
+  lc->SetFillStyle(0);
+  lc->SetBorderSize(0);
+  lc->Draw();
+
+  p = c->cd(2);
+  p->SetGridx();
+  p->SetRightMargin(0.01);
+  h->SetMinimum(.91);
+  h->SetMaximum(1.21);
+  h->SetYTitle("#LTdN_{ch}/d#eta|_{nominal}/dN_{ch}/d#eta|_{satelitte}#GT");
+  h->DrawClone();
+  // DrawMG(ocfmdfmd);
+  // DrawMG(ocfmdfull);
+  ocfmdfmd->Draw("p same");
+  ocfmdfull->Draw("p same");
+  l = new TLegend(.2, .05, .8, .2);
+  l->SetNColumns(2);
+  l->SetBorderSize(0);
+  l->SetFillStyle(0);
+  l->AddEntry(ocfmdfmd,  "FMD/FMD",  "pl");
+  l->AddEntry(ocfmdfull, "Full/FMD", "pl");
+  l->Draw();
+
+  p = c->cd(3);
+  p->SetGridx();
+  p->SetRightMargin(0.01);
+  h->SetMinimum(-.035);
+  h->SetMaximum(+.065);
+  h->SetYTitle("#frac{#LTFull/FMD#GT}{#LTFMD/FMD#GT}");
+  h->DrawClone();
+  oraverage->Draw("p same");
+  TGraph* g = static_cast<TGraph*>(oraverage);
+  g->SetMarkerStyle(20);
+  g->SetMarkerSize(1.1);
+  // DrawMG(orfmdfmd);
+  // DrawMG(orfmdfull);
+}
+