26 std::vector<double> binLim(nbins + 1);
28 const double expMax = std::log(
max /
min);
29 const double binWidth = expMax / nbins;
34 for (Int_t
i = 1;
i < nbins; ++
i) {
35 binLim[
i] =
min * std::exp(
i * binWidth);
47 histo.SetMaximum(300);
48 histo.SetLineColor(
color);
49 histo.SetLineWidth(1);
50 histo.SetMarkerColor(
color);
51 histo.SetMarkerSize(0.05);
52 histo.SetMarkerStyle(1);
61 histo.GetXaxis()->SetTitle(titleXaxis.Data());
62 histo.GetYaxis()->SetTitle(titleYaxis.Data());
63 histo.GetXaxis()->SetTitleOffset(1.4);
64 histo.GetYaxis()->SetTitleOffset(1.2);
72 histo.SetMinimum(-15.);
73 histo.SetMaximum(15.);
74 histo.GetXaxis()->SetTitleOffset(1.4);
75 histo.GetYaxis()->SetTitleOffset(1.2);
83 histo.GetYaxis()->SetRangeUser(-600, 600);
84 histo.GetXaxis()->SetTitleOffset(1.2);
85 histo.GetYaxis()->SetTitleOffset(1.2);
91 TCanvas*
c1 =
new TCanvas();
106 TCanvas*
c1 =
new TCanvas();
111 TString direction =
"";
112 TString histoName1 = h1.GetName();
113 TString histoName2 = h2.GetName();
114 if (histoName1.Contains(
"Xy")) {
117 if (histoName1.Contains(
"Z")) {
120 if ((histoName1.Contains(
"Xy")) && (histoName2.Contains(
"Z"))) {
125 TLegend*
leg =
new TLegend(0.6, 0.3, 0.8, 0.5);
126 leg->SetBorderSize(0);
127 leg->SetFillStyle(0);
128 leg->AddEntry(&h1, nameHisto1.Data(),
"lp");
129 leg->AddEntry(&h2, nameHisto2.Data(),
"lp");
139 TCanvas*
c1 =
new TCanvas();
144 TLegend*
leg =
new TLegend(0.2, 0.3, 0.5, 0.5);
145 leg->SetBorderSize(0);
146 leg->SetFillStyle(0);
147 leg->AddEntry(&h1, nameHisto1.Data(),
"lp");
148 leg->AddEntry(&h2, nameHisto2.Data(),
"lp");
162 TCanvas*
c1 =
new TCanvas();
166 TLegend*
leg =
new TLegend(0.2, 0.15, 0.5, 0.35);
167 leg->SetBorderSize(0);
168 leg->SetFillStyle(0);
169 leg->AddEntry(&h1, nameHisto1.Data(),
"lp");
170 leg->AddEntry(&h2, nameHisto2.Data(),
"lp");
180 TCanvas*
c1 =
new TCanvas();
185 TGraphAsymmErrors* gSigma;
187 gSigma->SetLineColor(kRed);
188 gSigma->SetFillStyle(0);
189 gSigma->Draw(
"E2same");
196 pave->SetFillStyle(0);
197 pave->SetBorderSize(0);
198 pave->SetFillColor(0);
199 pave->SetTextFont(53);
200 pave->SetTextSize(12);
201 pave->AddText(
"ALICE");
202 pave->AddText(
"Run3 ITS Performaces");
203 pave->AddText(Form(
"Interaction Rate = %s", intRate.Data()));
209 const Int_t nbinsxx = hMean.GetNbinsX() + 1;
210 Double_t
x[nbinsxx],
y[nbinsxx], ex1[nbinsxx],
ex2[nbinsxx], ey1[nbinsxx], ey2[nbinsxx];
212 for (
int i = 0;
i < nbinsxx;
i++) {
213 x[
i] = hMean.GetBinCenter(
i);
214 y[
i] = hMean.GetBinContent(
i);
215 ex1[
i] = hMean.GetBinCenter(
i) - hMean.GetBinLowEdge(
i);
217 ey1[
i] = hSigma.GetBinContent(
i);
218 ey2[
i] = hSigma.GetBinContent(
i);
221 gr =
new TGraphAsymmErrors(nbinsxx,
x,
y, ex1,
ex2, ey1, ey2);
bool const GPUTPCGMMerger::trackCluster * c1
std::vector< double > makeLogBinning(const int nbins, const double min, const double max)
get a vector containing binning info for constant sized bins on a log axis
void paveTextITS(TPaveText *pave, TString intRate)
prepare TPaveText with labels
TCanvas * prepareSimpleCanvas2Histograms(TH1F &h1, int color1, TH1F &h2, int color2)
prepare canvas with two TH1F plots
TCanvas * prepareSimpleCanvas2DcaMeanValues(TH1F &h1, int color1, TString nameHisto1, TH1F &h2, int color2, TString nameHisto2)
void setStyleHistogram1DMeanValues(TH1F &histo, int color)
TCanvas * plot2DwithMeanAndSigma(TH2F &h2D, TH1F &hMean, TH1F &hSigma, int color)
plot canvas with TH2D + TH1D(Mean and Sigma) from slice
void setStyleHistogram2D(TH2F &histo)
void ConvertTH1ToTGraphAsymmError(TH1F &hMean, TH1F &hSigma, TGraphAsymmErrors *&gr)
Convert TH1F in TGraphAsymmetricError.
void setStyleHistogram1D(TH1F &histo, int color)
Set nice style for single 1D histograms.