18void df029_SQlitePlatformDistribution() {
20 auto rdf =
ROOT::RDF::FromSqlite(
"http://root.cern/files/root_download_stats.sqlite",
"SELECT * FROM accesslog;");
22 TH1F hRootPlatform(
"hrootPlatform",
"Platform Distribution", 7, 0, -1);
23 TH1F hShortRootPlatform(
"hShortRootPlatform",
"Short Platform Distribution", 7, 0, -1);
25 auto fillRootPlatform = [&hRootPlatform, &hShortRootPlatform] (
const std::string &platform ) {
27 TString Platform_0(Platform(0,5));
28 TString Platform_1(Platform(0,6));
29 TString Platform_2(Platform(0,8));
32 hShortRootPlatform.Fill(Platform_0,1);
33 }
else if ( Platform.
Contains(
"Linux") ){
34 hShortRootPlatform.Fill(Platform_0,1);
35 }
else if ( Platform.
Contains(
"source") ){
36 hShortRootPlatform.Fill(Platform_1,1);
37 }
else if ( Platform.
Contains(
"macosx64") ){
38 hShortRootPlatform.Fill(Platform_2,1);
39 }
else if ( Platform.
Contains(
"IRIX64") ){
40 hShortRootPlatform.Fill(Platform_1,1);
43 hRootPlatform.Fill(Platform,1);
46 rdf.Foreach( fillRootPlatform, {
"Platform" } );
48 auto PlatformDistributionHistogram =
new TCanvas();
50 hRootPlatform.GetXaxis()->LabelsOption(
"a");
51 hRootPlatform.LabelsDeflate(
"X");
52 hRootPlatform.DrawClone();
54 auto shortPlatformDistributionHistogram =
new TCanvas();
56 hShortRootPlatform.GetXaxis()->LabelsOption(
"a");
57 hShortRootPlatform.LabelsDeflate(
"X");
58 hShortRootPlatform.DrawClone();
1-D histogram with a float per channel (see TH1 documentation)
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
RDataFrame FromSqlite(std::string_view fileName, std::string_view query)
Factory method to create a SQlite RDataFrame.