41path = 
"root://eospublic.cern.ch//eos/opendata/atlas/OutreachDatasets/2020-01-22" 
   44    "mini", (
os.path.join(path, 
"GamGam/Data/data_{}.GamGam.root".
format(x)) 
for x 
in (
"A", 
"B", 
"C", 
"D"))
 
   51for p 
in [
"ggH", 
"VBF"]:
 
   52    df[p] = df[p].Define(
"weight", 
"scaleFactor_PHOTON * scaleFactor_PhotonTRIGGER * scaleFactor_PILEUP * mcWeight")
 
   53df[
"data"] = df[
"data"].Define(
"weight", 
"1.0")
 
   58    df[p] = df[p].Filter(
"trigP")
 
   65            "photon_isTightID && (photon_pt > 25000) && (abs(photon_eta) < 2.37) && ((abs(photon_eta) < 1.37) || (abs(photon_eta) > 1.52))",
 
   67        .Filter(
"Sum(goodphotons) == 2")
 
   73        .Filter(
"Sum(photon_ptcone30[goodphotons] / photon_pt[goodphotons] < 0.065) == 2")
 
   74        .Filter(
"Sum(photon_etcone20[goodphotons] / photon_pt[goodphotons] < 0.065) == 2")
 
   80using Vec_t = const ROOT::VecOps::RVec<float>; 
   81float ComputeInvariantMass(Vec_t& pt, Vec_t& eta, Vec_t& phi, Vec_t& e) { 
   82    ROOT::Math::PtEtaPhiEVector p1(pt[0], eta[0], phi[0], e[0]); 
   83    ROOT::Math::PtEtaPhiEVector p2(pt[1], eta[1], phi[1], e[1]); 
   84    return (p1 + p2).mass() / 1000.0; 
   95        "ComputeInvariantMass(photon_pt[goodphotons], photon_eta[goodphotons], photon_phi[goodphotons], photon_E[goodphotons])",
 
  101        .Filter(
"photon_pt[goodphotons][0] / 1000.0 / m_yy > 0.35")
 
  102        .Filter(
"photon_pt[goodphotons][1] / 1000.0 / m_yy > 0.25")
 
  103        .Filter(
"m_yy > 105 && m_yy < 160")
 
  107    hists[p] = df[p].Histo1D(
 
  108        ROOT.RDF.TH1DModel(p, 
"Diphoton invariant mass; m_{#gamma#gamma} [GeV];Events", 30, 105, 160), 
"m_yy", 
"weight" 
  119ggh = hists[
"ggH"].GetValue()
 
  120vbf = hists[
"VBF"].GetValue()
 
  121data = hists[
"data"].GetValue()
 
  131lower_pad = 
c.AddPad(RPadPos(0, 0.65), RPadExtent(1, 0.35))
 
  132upper_pad = 
c.AddPad(RPadPos(0, 0), RPadExtent(1, 0.65))
 
  147fit = 
ROOT.TF1(
"fit", 
"([0]+[1]*x+[2]*x^2+[3]*x^3)+[4]*exp(-0.5*((x-[5])/[6])^2)", 105, 160)
 
  178bkg = 
ROOT.TF1(
"bkg", 
"([0]+[1]*x+[2]*x^2+[3]*x^3)", 105, 160)
 
  191vbf.Scale(lumi * 0.008518764 / 3441426.13711)
 
  199ratiobkg = 
ROOT.TH1I(
"zero", 
"", 10, 105, 160)
 
  219ratiosig = 
ROOT.TH1F(
"ratiosig", 
"ratiosig", 5500, 105, 160)
 
  235legend = 
upper_pad.Draw[RLegend](RPadPos(0.01, 0.01), RPadExtent(0.3, 0.4))
 
  254lbl2 = 
upper_pad.Draw[RText](RPadPos(0.05 + 0.16, 0.88), 
"Open Data")
 
  259lbl3 = 
upper_pad.Draw[RText](RPadPos(0.05, 0.82), 
"#sqrt{s} = 13 TeV, 10 fb^{-1}")
 
  271    print(
"Saved figure to df104.png")
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t format
 
ROOT's RDataFrame offers a modern, high-level interface for analysis of data stored in TTree ,...
 
A struct which stores some basic parameters of a TH1D.