15 const char* n1=0,
const char* n2=0,
21 gROOT->Macro(
"$ALICE_PHYSICS/PWGLF/FORWARD/analysis2/scripts/LoadLibs.C");
22 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGLF/FORWARD/analysis2/scripts/CompareCorrs.C");
29 if (!o1 || !o2)
return;
35 Canvas*
c =
new Canvas(
"vtxBiasComparison",
"Ratio of vertex bias", n1, n2);
42 Char_t r = (q == 0 ?
'I' :
'O');
49 TVirtualPad* p = c->
cd(v);
55 Error(
"CompareVtxBias",
56 "Bias for FMD%d%c, vtxbin %3d not found in first",
61 Error(
"CompareVtxBias",
62 "Bias for FMD%d%c, vtxbin %3d not found in second",
70 static_cast<TH2*
>(h1->Clone(Form(
"tmpFMD%d%c_%3d",d,r,v)));
71 ratio->SetName(Form(
"FMD%d%c_vtx%03d_ratio", d, r, v));
72 ratio->SetTitle(Form(
"%+5.1f<v_{z}<%-+5.1f", vl, vh));
75 ratio->SetDirectory(0);
76 ratio->SetZTitle(
"ratio");
78 if (ratio->GetMaximum()-ratio->GetMinimum() > 10)
83 hists.AddAt(ratio, v-1);
91 TH2* hist =
static_cast<TH2*
>(hists.At(v-1));
92 TH1* prof = hist->ProjectionX();
95 prof->SetMinimum(0.8);
96 prof->SetMaximum(1.2);
99 prof->Fit(
"pol0",
"Q");
101 TF1* f = prof->GetFunction(
"pol0");
103 TLatex* l =
new TLatex(0.5, 0.4, Form(
"A = %f #pm %f",
109 l->DrawLatex(0.5, 0.3, Form(
"#chi^2/NDF = %f / %d = %f",
112 f->GetChisquare() / f->GetNDF()));
113 Double_t dist = TMath::Abs(1 - f->GetParameter(0));
114 l->DrawLatex(0.5, 0.35, Form(
"|1 - A| = %f %s #deltaA",
115 dist, dist <= f->GetParError(0) ?
118 TLine* l1 =
new TLine(-4, 1, 6, 1);
119 l1->SetLineColor(kRed);
124 c->
Print(d, r,
"profiles");
TH2D * GetCorrection(Char_t r, Double_t v) const
void Print(UShort_t d, Char_t r, const char *extra="")
void CompareVtxBias(const char *fn1, const char *fn2, const char *n1=0, const char *n2=0, bool load=true)
TPad * Clear(UShort_t nPad, UShort_t d, Char_t r, Bool_t flush=false)
TVirtualPad * cd(Int_t i)
const TAxis & GetVertexAxis() const
void GetObjects(const char *what, const char *fn1, const char *fn2, TObject *&o1, TObject *&o2)