//#define PRESENTATION void DrawGraph() { 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->SetPadGridX(1); plain->SetPadGridY(1); plain->cd(); TCanvas *c1 = new TCanvas("c1","c1",600,400); int nBins = 101; float xMax = 15000.0; float xMin = -0.5; TH1F *hTime = new TH1F("hTime","hTime", nBins, xMin, xMax); const int NEff = 9; TString effName[NEff] = {"Ghost","LongRefPrim","RefPrim","RefSec","RefSet","AllSet","ExtraPrim","ExtraSec","ExtraSet"}; int effMarkerStyle[NEff] = {20, 22, 22, 22, 22, 33, 23, 23, 23}; float effMarkerSize[NEff] = {1.1, 1.2, 1.2, 1.2, 1.4, 1.8, 1.2, 1.2, 1.2}; int effColor[NEff] = { kBlack, kRed, TColor::GetColorDark(kRed), TColor::GetColorDark(kYellow), kOrange, kBlue, TColor::GetColorDark(kBlue), TColor::GetColorDark(7), TColor::GetColorDark(kGreen), }; TH1F *hEff[NEff]; const int nPoints = 21; int nEv[nPoints] = { 1, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100}; float time[nPoints] = {130.297, 651.485, 1302.970, 1954.803, 2605.940, 3257.425, 3909.606, 4563.357, 5211.880, 5864.409, 6514.850, 7167.611, 7868.250, 8482.333, 9126.714, 9787.308, 10491.000, 11163.182, 11728.818, 12550.200, 13029.700}; float eff[NEff][nPoints] = { //Ghost {0.1, 0.2, 0.4, 0.7, 1.1, 1.6, 2.0, 2.7, 3.2, 3.9, 4.4, 5.0, 5.6, 6.3, 7.0, 7.5, 8.2, 8.7, 9.3, 10.1, 10.4} //LongRefPrim {99.3, 99.3, 99.3, 99.3, 99.3, 99.3, 99.2, 99.2, 99.2, 99.2, 99.2, 99.1, 99.1, 99.1, 99.0, 99.0, 99.0, 98.9, 98.9, 98.8, 98.8}, //RefPrim {96.1 , 96.1 , 96.0 , 96.0, 95.9, 95.9, 95.8, 95.7, 95.7, 95.6, 95.5, 95.4, 95.3, 95.2, 95.0, 95.0, 94.7, 94.7, 94.6, 94.4, 94.4}, //RefSec {76.6, 76.4, 76.1, 75.8, 75.0, 74.2, 73.8, 72.7, 72.4, 71.3, 70.2, 69.7, 69.0, 67.9, 67.3, 66.5, 65.8, 64.7, 64.3, 63.4, 63.0}, //RefSet {93.7, 93.7, 93.6, 93.5, 93.4, 93.2, 93.1, 92.9, 92.8, 92.6, 92.3, 92.2, 92.0, 91.8, 91.6, 91.5, 91.2, 91.0, 90.8, 90.6, 90.5}, //AllSet {83.8, 83.9, 83.9, 83.9, 83.8, 83.5, 83.4, 83.2, 83.0, 82.7, 82.3, 82.2, 81.9, 81.5, 81.2, 81.0, 80.5, 80.3, 80.0, 79.6, 79.4}, //ExtraPrim {79.8, 80.2, 80.3, 80.4, 80.3, 80.1, 79.9, 79.7, 79.4, 79.0, 78.5, 78.2, 77.8, 77.4, 76.8, 76.4, 75.7,75.4, 75.0, 74.2, 73.8 }, //ExtraSec {40.9, 41.3, 41.5, 41.5, 41.4, 40.8, 40.7, 40.1, 39.8, 39.2, 38.7, 38.2, 37.6, 37.0, 36.6, 36.1, 35.3, 34.9, 34.4, 33.9, 33.5}, //ExtraSet {66.9, 67.3, 67.4, 67.5, 67.4, 67.0, 66.8, 66.6, 66.2, 65.8, 65.2, 64.9, 64.4, 64.0, 63.4, 63.0, 62.3, 61.9, 61.5, 60.8, 60.4}, }; for(int iE=0; iEFindBin(time[i]); hEff[iE]->SetBinContent(iBin, 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()->SetLabelFont(22); hEff[iE]->GetXaxis()->SetTitleFont(22); hEff[iE]->GetYaxis()->SetLabelFont(22); hEff[iE]->GetYaxis()->SetTitleFont(22); hEff[iE]->GetXaxis()->SetTitle("MC Tracks"); hEff[iE]->GetXaxis()->SetTitleColor(kBlack); hEff[iE]->GetYaxis()->SetTitle("Efficiency, %"); hEff[iE]->GetYaxis()->SetRangeUser(0.,100.); hEff[iE]->GetYaxis()->SetTitleColor(kBlack); hEff[iE]->GetYaxis()->SetTitleOffset(1.3); // hEff[iE]->GetXaxis()->SetLimits(0., 13029.700); hEff[iE]->Draw(); } else hEff[iE]->GetXaxis()->SetLabelFont(22); hEff[iE]->GetXaxis()->SetTitleFont(22); hEff[iE]->GetYaxis()->SetLabelFont(22); hEff[iE]->GetYaxis()->SetTitleFont(22); hEff[iE]->GetXaxis()->SetTitle("MC Tracks"); hEff[iE]->GetXaxis()->SetTitleColor(kBlack); hEff[iE]->GetYaxis()->SetTitle("Efficiency, %"); hEff[iE]->GetYaxis()->SetRangeUser(0.,100.); hEff[iE]->GetYaxis()->SetTitleColor(kBlack); hEff[iE]->GetYaxis()->SetTitleOffset(1.3); //hEff[iE]->GetXaxis()->SetLimits(0., 13029.700); hEff[iE]->Draw("same"); // hEff[iE]->GetXaxis()->SetRangeUser(0.,15000.); } c1->Update(); Double_t yAxis = gPad->GetUymax() ; float evRange = 100.*15000./13029.700; TGaxis *axisEvent = new TGaxis(gPad->GetUxmin(),yAxis,gPad->GetUxmax(),yAxis,0,evRange,508,"-"); for(int i=0; iFindBin(nEv[i]); hTime->SetBinContent(iBin, nEv[i]); hTime->SetBinError(iBin, 0.00001); } Float_t rightmax = 1.1*hTime->GetMaximum(); Float_t scale = gPad->GetUymax()/rightmax; hTime->SetLineColor(0); hTime->SetLineWidth(0); hTime->SetMarkerStyle(21); hTime->SetMarkerSize(1.2); hTime->SetMarkerColor(6); hTime->GetXaxis()->SetTitle("Number of Events"); hTime->GetXaxis()->SetRangeUser(0.,100.); hTime->GetXaxis()->SetTitleColor(kBlack); hTime->GetYaxis()->SetTitle("MC Tracks"); hTime->GetXaxis()->SetRangeUser(0.,115.); hTime->GetYaxis()->SetTitleColor(kBlack); hTime->GetYaxis()->SetTitleOffset(1.0); // hTime->Scale(scale); //hTime->Draw("same"); //draw an axis on the right side Double_t yAxis = gPad->GetUymax() ; float evRange = 100.*15000./13029.700; TGaxis *axisTime = new TGaxis(gPad->GetUxmin(),yAxis,gPad->GetUxmax(),yAxis,0,evRange,508,"-"); axisTime->SetLabelSize(0.04); axisTime->SetLabelFont(22); axisTime->SetTextFont(22); axisTime->SetTextSize(0.8); axisEvent->ImportAxisAttributes(hTime->GetXaxis()); axisTime->SetTitle("Number of Events"); axisTime->SetTitleColor(kBlack); axisTime->SetTitleOffset(1.0); axisTime->Draw(); // hEff[0]->GetXaxis()->SetLimits(0., 15000.); leg = new TLegend(0.2,0.5,0.4,0.95); // leg->SetHeader("Efficiency"); leg->SetFillColor(0); // leg->AddEntry(hTime,"Time","p"); for(int iE=1; iEAddEntry(hEff[iE],effName[iE].Data(),"p"); leg->AddEntry(hEff[0],effName[0].Data(),"p"); leg->SetBorderSize(1); leg->Draw(); c1->SaveAs("EffAndTime_Groups_1-1000.pdf"); }