AliPhysics  d565ceb (d565ceb)
DrawCorrVtxBias.C
Go to the documentation of this file.
1 
15 void
16 ClearCanvas(TCanvas* c)
17 {
18  c->SetLeftMargin(.1);
19  c->SetRightMargin(.05);
20  c->SetBottomMargin(.1);
21  c->SetTopMargin(.05);
22  c->Clear();
23 }
24 
42 void
43 DrawCorrVtxBias(const char* fname, const char* option="colz")
44 {
45  //__________________________________________________________________
46  // Load libraries and object
47  gROOT->Macro("$ALICE_PHYSICS/PWGLF/FORWARD/analysis2/scripts/LoadLibs.C");
48 
49  TFile* file = TFile::Open(fname, "READ");
50  if (!file) {
51  Error("DrawCorrVtxBias", "Failed to open %s", fname);
52  return;
53  }
54  TString pname(fname);
55  pname.ReplaceAll(".root", ".pdf");
56 
57  const char* objName =
60  AliFMDCorrVertexBias* corr =
61  static_cast<AliFMDCorrVertexBias*>(file->Get(objName));
62  if (!corr) {
63  Error("DrawCorrVtxBias", "Object '%s' not found in %s", objName, fname);
64  return;
65  }
66 
67  //__________________________________________________________________
68  // Create a canvas
69  TCanvas* c = new TCanvas("c", "c", 800 / TMath::Sqrt(2), 800);
70  c->SetFillColor(0);
71  c->SetBorderSize(0);
72  c->SetBorderMode(0);
73  c->Print(Form("%s[", pname.Data()));
74 
75  gStyle->SetOptStat(0);
76  gStyle->SetTitleColor(0);
77  gStyle->SetTitleStyle(0);
78  gStyle->SetTitleBorderSize(0);
79  gStyle->SetTitleX(.1);
80  gStyle->SetTitleY(1);
81  gStyle->SetTitleW(.8);
82  gStyle->SetTitleH(.09);
83  gStyle->SetFrameFillColor(kWhite);
84  gStyle->SetFrameBorderSize(1);
85  gStyle->SetFrameBorderMode(1);
86  gStyle->SetPalette(1);
87 
88  ClearCanvas(c);
89  //__________________________________________________________________
90  // Create a title page
91  TLatex* ll = new TLatex(.5,.8, fname);
92  ll->SetTextAlign(22);
93  ll->SetTextSize(0.03);
94  ll->SetNDC();
95  ll->Draw();
96 
97  TLatex* l = new TLatex(.5,.8, fname);
98  l->SetNDC();
99  l->SetTextSize(0.03);
100  l->SetTextFont(132);
101  l->SetTextAlign(12);
102  l->DrawLatex(0.2, 0.70, "Vertex Bias Corrections");
103  l->SetTextAlign(22);
104  l->DrawLatex(0.5, 0.60, "c_{v}(#eta,#phi)=#frac{1/N_{t}}{1/N_{v}}"
105  "#sum_{i}^{N_{tv}}N_{ch,i}(#eta,#phi) / "
106  "#sum_{i}^{N_{v}}N_{ch,i}(#eta,#phi)");
107  l->SetTextAlign(12);
108  l->DrawLatex(0.2, 0.50, "N_{t}: Number of events w/triggers");
109  l->DrawLatex(0.2, 0.45, "N_{v}: Number of events w/vertex");
110  l->DrawLatex(0.2, 0.40, "N_{tv}: Number of events w/trigger and vertex");
111  l->DrawLatex(0.2, 0.35, "N_{ch,i}(#eta,#phi): Number of charged, "
112  "particles in (#eta,#phi) bin");
113  l->DrawLatex(0.2, 0.30, "All quantities determined in MC");
114 
115  c->Print(pname.Data(), "Title:Title page");
116 
117  ClearCanvas(c);
118 
119  //__________________________________________________________________
120  // Draw all corrections
121  const TAxis& vtxAxis = corr->GetVertexAxis();
122  Int_t nVtx = vtxAxis.GetNbins();
123  UShort_t nQ = 2;
124  UShort_t d = 0;
125  for (UShort_t q = 0; q < nQ; q++) {
126  Char_t r = (q == 0 ? 'I' : 'O');
127 
128  ClearCanvas(c);
129  c->Divide(2, (nVtx+1)/2);
130  for (UShort_t v=1; v <= nVtx; v++) {
131  TVirtualPad* p = c->cd(v);
132 
133 
134  TH2* h1 = corr->GetCorrection(r, v);
135  if (!h1) {
136  Warning("DrawCorrVtxBias", "No correction for r=%c, v=%d", r, v);
137  continue;
138  }
139  h1->Draw(option);
140  }
141  c->Print(pname.Data(), Form("Title:FMDX%c", r));
142  }
143 
144  //__________________________________________________________________
145  // Close output file
146  c->Print(Form("%s]", pname.Data()));
147 }
148 //
149 // EOF
150 //
TH2D * GetCorrection(Char_t r, Double_t v) const
char Char_t
Definition: External.C:18
void DrawCorrVtxBias(const char *fname, const char *option="colz")
TCanvas * c
Definition: TestFitELoss.C:172
int Int_t
Definition: External.C:63
const char * GetObjectName(Int_t what) const
const TAxis & GetVertexAxis() const
void ClearCanvas(TCanvas *c)
Definition: DrawCorrAcc2.C:16
Definition: External.C:220
TFile * file
TList with histograms for a given trigger.
unsigned short UShort_t
Definition: External.C:28
static AliForwardCorrectionManager & Instance()