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.;
 
         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};
 
 
   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;
}
 
 
 
 
 
 
      }
 
      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);
 
         }
      }
   }
}
static const double x3[11]
 
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.
 
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
 
static Bool_t SetCacheFileDir(ROOT::Internal::TStringView cacheDir, Bool_t operateDisconnected=kTRUE, Bool_t forceCacheread=kFALSE)
 
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.
 
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.
 
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)