16 # include <TCollection.h> 22 # include <TBrowser.h> 25 # include <TLegendEntry.h> 53 for (
Int_t i = 1; i <= axis->GetNbins(); i++) {
54 TString lbl = axis->GetBinLabel(i);
56 Color_t d1; Style_t d2;
58 axis->SetBinLabel(i, lbl);
60 axis->LabelsOption(
"v");
61 axis->SetLabelSize(0.05);
63 void Run(
const char*
filename=
"PbPb_5023_LHC15k1a1_245064_gridAOD_stk/root_archive_245064/AnalysisResults.root")
72 THStack* stackP =
new THStack(
"stackP",
"");
76 TH1* ratioP =
static_cast<TH1*
>(seenP->Clone(
"ratioP"));
77 ratioP->Divide(usedP);
79 TH1* seenC1 = seenC->ProjectionX(
"seenC1",1,1);
80 TH1* usedC1 = usedC->ProjectionX(
"usedC1",1,1);
81 TH1* seenC2 = seenC->ProjectionX(
"seenC2",2,2);
82 TH1* usedC2 = usedC->ProjectionX(
"usedC2",2,2);
83 seenC1->SetMarkerStyle(20); seenC1->SetMarkerColor(kGreen+1);
84 usedC1->SetMarkerStyle(24); usedC1->SetMarkerColor(kBlue+1);
85 seenC2->SetMarkerStyle(21); seenC2->SetMarkerColor(kGreen+3);
86 usedC2->SetMarkerStyle(25); usedC2->SetMarkerColor(kBlue+3);
87 TH1* ratio1 =
static_cast<TH1*
>(seenC1->Clone(
"ratio1"));
88 TH1* ratio2 =
static_cast<TH1*
>(seenC2->Clone(
"ratio2"));
89 ratio1->Divide(usedC1);
90 ratio2->Divide(usedC2);
94 THStack* stackC =
new THStack(
"stackC",
"");
100 THStack* ratioC =
new THStack(
"ratioC",
"");
109 Int_t cw = (mode == 1 ? 1600 : mode == 2 ? 800 : 1000);
110 Int_t ch = (mode == 1 ? cw/2 : mode == 2 ? 1.5*cw : cw);
111 TCanvas*
c =
new TCanvas(
"clusterExpectations",
"Cluster canvas",
113 c->SetTopMargin(0.01);
114 c->SetRightMargin(0.01);
115 c->SetBottomMargin(0.13);
118 TVirtualPad* q = c->cd(1);
123 stackP->SetMaximum(smax);
124 stackP->SetMinimum(smin);
125 stackP->Draw(
"nostack");
126 stackP->GetHistogram()->SetYTitle(
"#it{N}_{tracks}");
128 TLegend* l1 =
new TLegend(q->GetLeftMargin()+.5,
129 1-q->GetTopMargin()-.2,
130 1-q->GetRightMargin(),
133 l1->SetBorderSize(0);
135 TLegendEntry* e = l1->AddEntry(
"d1",
"Before suppression",
"p");
136 e->SetMarkerStyle(20);
137 e = l1->AddEntry(
"d1",
"After suppression",
"p");
138 e->SetMarkerStyle(24);
145 ratioP->SetMinimum(rmin);
146 ratioP->SetMaximum(rmax);
148 ratioP->SetTitle(
"");
150 ratioP->SetYTitle(
"Before/After");
159 q->SetRightMargin(0.01);
160 stackC->SetMinimum(smin);
161 stackC->SetMaximum(smax);
162 stackC->Draw(
"nostack");
163 stackC->GetHistogram()->SetYTitle(
"#it{N}_{cluster}");
165 TLegend* l2 =
new TLegend(q->GetLeftMargin()+.6,
166 1-q->GetTopMargin()-.2,
167 1-q->GetRightMargin(),
169 "Associated clusters");
170 l2->SetBorderSize(0);
173 e = l2->AddEntry(
"d1",
"Layer 1",
"p");
174 e->SetMarkerStyle(20);
175 e = l2->AddEntry(
"d1",
"Layer 2",
"p");
176 e->SetMarkerStyle(21);
182 q->SetRightMargin(0.01);
185 ratioC->SetMinimum(rmin);
186 ratioC->SetMaximum(rmax);
187 ratioC->Draw(
"nostack");
188 ratioC->GetHistogram()->SetYTitle(
"Before/After");
189 ratioC->GetHistogram()->GetXaxis()->LabelsOption(
"v");
190 ratioC->GetHistogram()->GetXaxis()->SetLabelSize(ratioP->GetXaxis()
197 c->SaveAs(Form(
"%s.png",c->GetName()));
199 TH1* eff1 =
static_cast<TH1*
>(seenC1->Clone(
"eff1"));
200 TH1* eff2 =
static_cast<TH1*
>(seenC2->Clone(
"eff2"));
205 THStack* eff =
new THStack(
"eff",
"");
208 TCanvas*
cc =
new TCanvas(
"clusterEfficiency",
"EffCanvas",cw,ch);
209 cc->SetTopMargin(0.01);
210 cc->SetRightMargin(0.01);
212 eff->Draw(
"nostack");
213 eff->GetHistogram()->SetYTitle(
"#it{N}_{cluster}/#it{N}_{tracks}");
214 eff->GetHistogram()->GetXaxis()->LabelsOption(
"v");
215 eff->GetHistogram()->GetXaxis()->SetLabelSize(ratioP->GetXaxis()
222 cc->SaveAs(Form(
"%s.png",cc->GetName()));
233 if (!gROOT->GetClass(
"AliTrackletAODUtils")) {
234 Printf(
"Loading utilities");
235 gROOT->LoadMacro(
"$ANA_SRC/dndeta/tracklets3/AliTrackletAODUtils.C+g");
238 gSystem->AddIncludePath(
"-DSELF_COMPILE__");
239 if (!gROOT->GetClass(
"ClusterCalculations")) {
240 gInterpreter->ClearFileBusy();
242 Printf(
"Reload self compiled");
243 gROOT->LoadMacro(
"$ANA_SRC/dndeta/tracklets3/YieldExpectations.C+g");
static void PdgAttr(Int_t pdg, TString &nme, Color_t &c, Style_t &s)
static TFile * OpenFile(const char *filename)
static TH1 * GetH1(Container *parent, const char *name, Bool_t verb=true)
void Run(const char *filename="PbPb_5023_LHC15k1a1_245064_gridAOD_stk/root_archive_245064/AnalysisResults.root")
void FixLabels(TAxis *axis)
Utilities for midrapidity analysis.
void ClusterExpectations(Double_t c1=0, Double_t c2=0)
static TH2 * GetH2(Container *parent, const char *name, Bool_t verb=true)
TFile * file
TList with histograms for a given trigger.
static Container * GetC(Container *parent, const char *name, Bool_t verb=true)