25 void SQLitePlatformDistribution(){
27 TSQLServer *db = TSQLServer::Connect(
"sqlite://root_download_stats.sqlite",
"",
"");
29 const char *rootPlatform =
"SELECT Platform FROM accesslog;";
31 TSQLResult *rootPlatformRes = db->Query(rootPlatform);
33 TH1F *hrootPlatform =
new TH1F(
"hrootPlatform",
"Platform Distribution", 7, 0, -1);
34 TH1F *shorthrootPlatform =
new TH1F(
"shorthrootPlatform",
"Short Platform Distribution", 7, 0, -1);
36 while (TSQLRow *row = rootPlatformRes->Next()) {
37 TString rowPlatform(row->GetField(0));
38 TString Platform(rowPlatform);
39 TString Platform_0(rowPlatform(0,5));
40 TString Platform_1(rowPlatform(0,6));
41 TString Platform_2(rowPlatform(0,8));
42 if ( rowPlatform.Contains(
"win32") ){
43 shorthrootPlatform->Fill(Platform_0,1);
44 }
else if ( rowPlatform.Contains(
"Linux") ){
45 shorthrootPlatform->Fill(Platform_0,1);
46 }
else if ( rowPlatform.Contains(
"source") ){
47 shorthrootPlatform->Fill(Platform_1,1);
48 }
else if ( rowPlatform.Contains(
"macosx64") ){
49 shorthrootPlatform->Fill(Platform_2,1);
50 }
else if ( rowPlatform.Contains(
"IRIX64") ){
51 shorthrootPlatform->Fill(Platform_1,1);
54 hrootPlatform->Fill(Platform,1);
59 TCanvas *PlatformDistributionHistogram =
new TCanvas();
61 hrootPlatform->GetXaxis()->LabelsOption(
"a");
62 hrootPlatform->LabelsDeflate(
"X");
63 hrootPlatform->Draw();
65 TCanvas *shortPlatformDistributionHistogram =
new TCanvas();
67 shorthrootPlatform->GetXaxis()->LabelsOption(
"a");
68 shorthrootPlatform->LabelsDeflate(
"X");
69 shorthrootPlatform->Draw();