#include #include #include #include #include ROOT::RDF::RResultPtr get_result() { ROOT::EnableImplicitMT(39); TChain chaint("treet"); ROOT::RDataFrame dt("treet", "2021-11-1~22 54 18.root"); Double_t low=0.; Double_t high=16.; Int_t bin=10*(high-low); return dt.Histo1D({"depositEt2","depositEt2",bin,low,high},"depositEnergyt7"); // return ROOT::RDataFrame(10).Define("x", "42").Histo1D("x"); } void plot_result(TH1D &depositEt1) { TCanvas *c1 = new TCanvas("c1","c1",0,0,1500,1000); c1->SetTopMargin(0.1); c1->SetBottomMargin(0.13); depositEt1.Draw(); gStyle->SetPalette(1); depositEt1.SetContour(100); depositEt1.SetMaximum(500); depositEt1.SetMinimum(0); depositEt1.SetStats(0); depositEt1.SetTitle(""); depositEt1.GetXaxis()->SetTitle("Si #7 Deposit Energy [MeV]"); depositEt1.GetYaxis()->SetTitle("Counts"); depositEt1.GetYaxis()->SetLabelFont(12); depositEt1.GetYaxis()->SetLabelSize(0.05); depositEt1.GetYaxis()->SetTitleSize(0.05); depositEt1.GetYaxis()->SetTitleOffset(0.8); depositEt1.GetYaxis()->SetTitleFont(22); depositEt1.GetXaxis()->SetLabelFont(12); depositEt1.GetXaxis()->SetLabelSize(0.05); depositEt1.GetXaxis()->SetTitleSize(0.05); depositEt1.GetXaxis()->SetTitleOffset(1); depositEt1.GetXaxis()->SetTitleFont(22); depositEt1.GetXaxis()->CenterTitle(); depositEt1.GetYaxis()->CenterTitle(); } void plot2D_color_test2() { ROOT::EnableImplicitMT(39); ROOT::RDF::RResultPtr depositEt1 = get_result(); // histograms created like this are owned by ROOT by default, // and you get a non-owning pointer to them TH1D *rootOwnedHisto = new TH1D(*depositEt1); plot_result(*rootOwnedHisto); } int main() { TApplication app("app", nullptr, nullptr); plot2D_color_test2(); app.Run(); }