//#define PRESENTATION void scalability() { TStyle *plain = new TStyle("Plain","Plain Style(no colors/fill areas)"); plain->SetCanvasBorderMode(0); plain->SetPadBorderMode(0); plain->SetPadColor(0); plain->SetCanvasColor(0); plain->SetTitleColor(0); plain->SetStatColor(0); plain->SetOptStat(0); // plain->SetOptFit(11); plain->SetOptFit(-1); plain->SetStatW(0.19); plain->SetStatH(0.7); plain->SetOptTitle(0); plain->SetPadLeftMargin(0.10); plain->SetPadRightMargin(0.10); plain->SetPadTopMargin(0.08); plain->SetPadBottomMargin(0.08); plain->cd(); fstream fin; fin.open("speedCA_na.txt",fstream::in); const int NEff = 5; TString effName[NEff] = {"Triplets Construction", "Tracks Construction", "Final Stage", "Initialisation", "CA Track Finder"}; int effMarkerStyle[NEff] = {20, 21, 22, 23, 21}; float effMarkerSize[NEff] = {1.2, 1.2, 1.4, 1.4, 1.2}; int effColor[NEff] = { kBlack, kGreen, kBlue, kOrange, kRed }; TH1F *hEff[NEff]; int nEv[25]; float eff[NEff][25]; string line; int thread=1; float speedCA, Initialisation, trip, track, finl, init; int nTh=0; // cout<<"thread"<FindBin(nEv[i]); hEff[iE]->SetBinContent(iBin, eff[iE][0]/eff[iE][i]); cout<SetBinError(iBin, 0.00001); } hEff[iE]->SetLineColor(effColor[iE]); hEff[iE]->SetLineWidth(1.); hEff[iE]->SetMarkerStyle(effMarkerStyle[iE]); hEff[iE]->SetMarkerSize(effMarkerSize[iE]); hEff[iE]->SetMarkerColor(effColor[iE]); if(iE == 0) { hEff[iE]->GetXaxis()->SetTitle("N Threads"); hEff[iE]->GetXaxis()->SetTitleColor(kBlack); hEff[iE]->GetYaxis()->SetTitle("Speed up"); // hEff[iE]->GetXaxis()->SetRangeUser(0.0, 16.0); hEff[iE]->GetYaxis()->SetRangeUser(0.0, 10.0); hEff[iE]->GetYaxis()->SetTitleColor(kBlack); hEff[iE]->GetYaxis()->SetTitleOffset(1.3); hEff[iE]->Draw(); } else hEff[iE]->GetXaxis()->SetRangeUser(0.0, 80.0); hEff[iE]->GetYaxis()->SetRangeUser(0.0, 10.0); hEff[iE]->Draw("same"); } c1->Update(); leg = new TLegend(0.8,0.7,0.95,0.95); // leg->SetHeader("Efficiency"); leg->SetFillColor(0); // leg->AddEntry(hTime,"Time","p"); for(int iE=0; iE<1; iE++) leg->AddEntry(hEff[iE],effName[iE].Data(),"p"); // leg->Draw(); c1->SaveAs("Scalability.pdf"); TCanvas *c2 = new TCanvas("c2","c2",1200,800); for(int iE=0; iEFindBin(nEv[i]); hEff[iE]->SetBinContent(iBin, eff[iE][0]/eff[iE][i]); hEff[iE]->SetBinError(iBin, 0.00001); } hEff[iE]->SetLineColor(effColor[iE]); hEff[iE]->SetLineWidth(1.); hEff[iE]->SetMarkerStyle(effMarkerStyle[iE]); hEff[iE]->SetMarkerSize(effMarkerSize[iE]); hEff[iE]->SetMarkerColor(effColor[iE]); if(iE == 0) { hEff[iE]->GetXaxis()->SetTitle("N Threads"); hEff[iE]->GetXaxis()->SetTitleColor(kBlack); // hEff[iE]->GetYaxis()->SetTitle("Speed up"); hEff[iE]->GetYaxis()->SetTitle("Speed up"); // hEff[iE]->GetYaxis()->SetRangeUser(0.0, 30.0); //hEff[iE]->GetXaxis()->SetRangeUser(0.0, 16.0); hEff[iE]->GetYaxis()->SetRangeUser(0.0, 10.0); hEff[iE]->GetYaxis()->SetTitleColor(kBlack); hEff[iE]->GetYaxis()->SetTitleOffset(1.3); hEff[iE]->Draw(); } else hEff[iE]->Draw("same"); } c2->Update(); leg2 = new TLegend(0.8,0.7,0.95,0.95); // leg2->SetHeader("Efficiency"); leg2->SetFillColor(0); // leg2->AddEntry(hTime,"Time","p"); // for(int iE=0; iEAddEntry(hEff[3],effName[3].Data(),"p"); leg2->AddEntry(hEff[0],effName[0].Data(),"p"); leg2->AddEntry(hEff[1],effName[1].Data(),"p"); leg2->AddEntry(hEff[2],effName[2].Data(),"p"); leg2->AddEntry(hEff[4],effName[4].Data(),"p"); leg2->Draw(); c2->SaveAs("Scalability2.pdf"); }