28fileNameUrl =
"http://root.cern/files/tutorials/df014_CsvDataSource_MuRun2010B.csv"
29fileName =
"CsvDataSource_MuRun2010B.csv"
30if not os.path.isfile(fileName):
31 urllib.request.urlretrieve(fileNameUrl, fileName)
39filteredEvents = df.Filter(
"Q1 * Q2 == -1") \
40 .
Define(
"m",
"sqrt(pow(E1 + E2, 2) - (pow(px1 + px2, 2) + pow(py1 + py2, 2) + pow(pz1 + pz2, 2)))")
43invMass = filteredEvents.Histo1D((
"invMass",
"CMS Opendata: #mu#mu mass;#mu#mu mass [GeV];Events", 512, 2, 110),
"m")
49c.SaveAs(
"df014_invMass.png")
55fullSpectrum = filteredEvents.Histo1D((
"Spectrum",
"Subset of CMS Run 2010B;#mu#mu mass [GeV];Events", 1024, 2, 110),
"m")
61jpsiCut =
'm < %s && m > %s' % (jpsiHigh, jpsiLow)
62jpsi = filteredEvents.Filter(jpsiCut) \
63 .Histo1D((
"jpsi",
"Subset of CMS Run 2010B: J/#psi window;#mu#mu mass [GeV];Events", 128, jpsiLow, jpsiHigh),
"m")
66dualCanvas = ROOT.TCanvas(
"DualCanvas",
"DualCanvas", 800, 512)
67dualCanvas.Divide(2, 1)
68leftPad = dualCanvas.cd(1)
71fullSpectrum.Draw(
"Hist")
73jpsi.SetMarkerStyle(20)
75dualCanvas.SaveAs(
"df014_jpsi.png")
77print(
"Saved figures to df014_*.png")
RInterface< Proxied, DS_t > Define(std::string_view name, F expression, const ColumnNames_t &columns={})
Define a new column.
RDataFrame FromCSV(std::string_view fileName, bool readHeaders=true, char delimiter=',', Long64_t linesChunkSize=-1LL, std::unordered_map< std::string, char > &&colTypes={})
Factory method to create a CSV RDataFrame.