It is based on a style file from BaBar.
const int nren = 3;
static const double mur[nren] = {1.0, 0.25, 4.0};
static const double muf[nren] = {1.0, 0.25, 4.0};
const unsigned int NUMPDF = 41;
void AtlasExample()
{
gROOT->SetStyle(
"ATLAS");
auto canvas =
new TCanvas(
"canvas",
"single inclusive jets", 50, 50, 600, 600);
canvas->SetLogy();
frame->SetYTitle("d#sigma_{jet}/dE_{T,jet} [fb/GeV]");
frame->SetXTitle("E_{T,jet} [GeV]");
frame->GetYaxis()->SetTitleOffset(1.4);
frame->GetXaxis()->SetTitleOffset(1.4);
for (
Int_t icut = 0; icut < ncut; icut++) {
for (
Int_t ir = 0; ir < nren; ir++) {
g1[ir][icut] = GetGraph(ir, ir, icut, 0);
if (!g1[ir][icut]) {
cout << " g1 not found " << endl;
return;
}
}
char daname[100];
sprintf(daname, "data_%d", icut);
data[icut]->SetMarkerStyle(20);
data[icut]->SetMarkerColor(1);
for (
Int_t i = 0; i <
data[icut]->GetN(); i++) {
if (icut == 0)
y = r1 *
y1 + r1 * r2 * r2 *
x1 / 50000.;
else
data[icut]->SetPointError(i, dx1,
e);
}
scale[icut] = MakeBand(g1[0][icut], g1[1][icut], g1[2][icut]);
for (
Int_t ipdf = 0; ipdf < NUMPDF; ipdf++) {
gpdf[ipdf][icut] = GetGraph(0, 0, icut, ipdf);
if (!gpdf[ipdf][icut]) {
cout << " gpdf not found " << endl;
return;
}
AddtoBand(gpdf[ipdf][icut], scalepdf[icut]);
}
scalepdf[icut]->
Draw(
"zE2");
scale[icut]->
Draw(
"zE2");
}
auto l =
new TLegend(0.45, 0.65, 0.8, 0.8,
"",
"NDC");
l->AddEntry(
"data_0",
"Data 2009",
"ep");
l->AddEntry(
"scalepdf",
"NLO QCD",
"lf");
}
{
const char *cuts[5] = {"0.0 <= |eta| < 0.5", "0.5 <= |eta| < 1.0", "1.0 <= |eta| < 1.5", "1.5 <= |eta| < 2.0",
"2.0 <= |eta| < 3.0"};
const double mur[] = {1.0, 0.25, 4.0};
const double muf[] = {1.0, 0.25, 4.0};
TFile *file =
TFile::Open(
"http://root.cern/files/AtlasGraphs.root",
"CACHEREAD");
char gname[100];
char tname[100];
if (ipdf >= 0)
sprintf(tname, " E_T (mu_r=%g, mu_f=%g);%s Pdf: %d", mur[ir], muf[ifs], cuts[icut], ipdf);
else
sprintf(tname, " E_T %s Ms= %d", cuts[icut], -ipdf);
for (int i = 1; i <= GMAX; i++) {
sprintf(gname, "full_%d", i);
if (!g1) {
cout << gname << " not found " << endl;
return nullptr;
}
if (strcmp(title, tname) == 0)
break;
g1 = 0;
}
if (!g1)
return nullptr;
return g1;
}
{
else
if (i == 0)
else
}
if (binwl == 0.)
binwl = binwh;
if (binwh == 0.)
binwh = binwl;
}
return g3;
}
{
cout << " graphs don't have the same number of elements " << endl;
cerr << "check these points very carefully : AddtoBand() : point " << i << endl;
if (y0 != 0) {
if (y0 > 0) {
eyh = EYhigh[i];
eyh =
sqrt(eyh * eyh + y0 * y0);
} else {
eyl = EYlow[i];
eyl =
sqrt(eyl * eyl + y0 * y0);
}
}
}
}
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Option_t Option_t TPoint TPoint const char x2
Option_t Option_t TPoint TPoint const char x1
Option_t Option_t TPoint TPoint const char y2
Option_t Option_t TPoint TPoint const char y1
R__EXTERN TRandom * gRandom
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
virtual void SetLineStyle(Style_t lstyle)
Set the line style.
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
virtual void SetMarkerStyle(Style_t mstyle=1)
Set the marker style.
TObject * Get(const char *namecycle) override
Return pointer to object identified by namecycle.
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
static Bool_t SetCacheFileDir(std::string_view cacheDir, Bool_t operateDisconnected=kTRUE, Bool_t forceCacheread=kFALSE)
Sets the directory where to locally stage/cache remote files.
TGraph with asymmetric error bars.
virtual void SetPointEYlow(Int_t i, Double_t eyl)
Set EYlow for point i.
virtual void SetPointError(Double_t exl, Double_t exh, Double_t eyl, Double_t eyh)
Set ex and ey values for point pointed by the mouse.
virtual void SetPointEYhigh(Int_t i, Double_t eyh)
Set EYhigh for point i.
Double_t * GetEYhigh() const override
Double_t * GetEYlow() const override
A TGraphErrors is a TGraph with error bars.
virtual void SetPoint(Int_t i, Double_t x, Double_t y)
Set x and y values for point number i.
void Draw(Option_t *chopt="") override
Draw this graph with its current attributes.
virtual Int_t GetPoint(Int_t i, Double_t &x, Double_t &y) const
Get x and y values for point number i.
To draw Mathematical Formula.
TLatex * DrawLatex(Double_t x, Double_t y, const char *text)
Make a copy of this object with the new parameters And copy object attributes.
This class displays a legend box (TPaveText) containing several legend entries.
const char * GetTitle() const override
Returns title of object.
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
Double_t Rndm() override
Machine independent random number generator.
virtual void SetNDC(Bool_t isNDC=kTRUE)
Set NDC mode on if isNDC = kTRUE, off otherwise.
VecExpr< UnaryOp< Sqrt< T >, VecExpr< A, T, D >, T >, T, D > sqrt(const VecExpr< A, T, D > &rhs)