20 int df015_LazyDataSource()
22 using namespace ROOT::RDF;
26 auto fileNameUrl =
"http://root.cern.ch/files/tutorials/df014_CsvDataSource_MuRun2010B.csv";
27 auto fileName =
"df015_CsvDataSource_MuRun2010B.csv";
28 if(gSystem->AccessPathName(fileName))
29 TFile::Cp(fileNameUrl, fileName);
31 auto csv_rdf = MakeCsvDataFrame(fileName);
34 std::string px1Name =
"px1";
35 auto px1 = csv_rdf.Take<
double>(px1Name);
36 std::string py1Name =
"py1";
37 auto py1 = csv_rdf.Take<
double>(py1Name);
41 auto tdf = MakeLazyDataFrame(std::make_pair(px1Name, px1), std::make_pair(py1Name, py1));
44 auto ptFormula = [](
double px,
double py) {
return sqrt(px * px + py * py); };
45 auto pt_h = tdf.Define(
"pt", ptFormula, {
"px1",
"py1"})
46 .Histo1D<double>({
"pt",
"Muon p_{T};p_{T} [GeV/c];", 128, 0, 128},
"pt");
48 auto can =
new TCanvas();