Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:13:53

0001 #include <iostream>
0002 #include <fstream>
0003 #include <iomanip>
0004 #include <string>
0005 #include <list>
0006 
0007 #include <math.h>
0008 #include <vector>
0009 
0010 #include "Rtypes.h"
0011 #include "TROOT.h"
0012 #include "TRint.h"
0013 #include "TObject.h"
0014 #include "TFile.h"
0015 // #include "TTree.h"
0016 #include "TH1F.h"
0017 #include "TCanvas.h"
0018 #include "TApplication.h"
0019 #include "TRefArray.h"
0020 #include "TStyle.h"
0021 #include "TGraph.h"
0022 #include "TLegend.h"
0023 
0024 // Z-invisible
0025 //
0026 // These are for 5K stat, Py6 uses DT6 tune
0027 //
0028 const int NQCutZvv = 7;
0029 double QCutZvv[7] = { 10., 15., 20, 25., 30., 35., 40. };
0030 
0031 //                                        D=20
0032 /* 5K stat, DT6 tune
0033 double ZvvP1EffPy6[7] = {    11.0, 17.6,  18.7,  35.2, 33.0, 50.5, 52.7 };
0034 double ZvvP2EffPy6[7] = {     5.9, 11.4,  15.1,  21.9, 23.5, 32.1, 33.7 };
0035 double ZvvP3EffPy6[7] = {     4.0,  7.9,   9.8,  12.1, 11.5, 10.5, 11.6 };
0036 double ZvvP4EffPy6[7] = {    14.0, 11.9,   9.4,  7.5,   5.0,  3.5,  3.1 };
0037 double ZvvTotalEffPy6[7] = {  9.8, 10.7,  10.3,  11.1,  9.7, 10.0, 10.1 };
0038 */
0039 
0040 /* 25K stat, Z2 tune */
0041 //                                       D=20
0042 double ZvvP1EffPy6[7] = {    12.9, 23.2, 27.3, 34.6, 41.7, 51.1, 55.1 };
0043 double ZvvP2EffPy6[7] = {     8.3, 15.9, 23.5, 27.7, 33.3, 36.7, 39.1 };
0044 double ZvvP3EffPy6[7] = {     6.3, 10.8, 13.4, 13.9, 13.0, 13.1, 12.4 };
0045 double ZvvP4EffPy6[7] = {    18.3, 15.1, 11.4,  8.2,  6.1,  4.6,  3.0 };
0046 double ZvvTotalEffPy6[7] = { 13.3, 13.9, 13.7, 12.7, 12.3, 11.7, 11.0 };  
0047 
0048 
0049 //                                       D=20
0050 double ZvvP1EffPy8[7] = {    6.6, 15.4,  24.2,  31.9, 34.1, 40.7, 58.2 };
0051 double ZvvP2EffPy8[7] = {    4.3, 11.2,  19.6,  20.9, 27.4, 34.2, 35.6 };
0052 double ZvvP3EffPy8[7] = {    3.8,  8.1,  11.2,  11.8, 12.1, 10.9, 11.6 };
0053 double ZvvP4EffPy8[7] = {   13.7, 10.8,  10.2,   6.8,  6.0,  4.6,  3.2 };
0054 double ZvvTotalEffPy8[7] = { 9.4, 10.0,  11.8,  10.4, 10.9, 10.6,  10.5 };
0055 
0056 
0057 // Z -> b bar
0058 //
0059 const int NQCutZbb = 8;
0060 double QCutZbb[8] = { 10., 13., 15., 20., 25., 30., 35., 40. };
0061 
0062 /* 5K stat, DT5 tune
0063 //                                  D=13
0064 double ZbbP1EffPy6[8] = {    45.8,  53.2,  58.5, 67.3, 75.5, 79.5, 82.8, 85.7 };
0065 double ZbbP2EffPy6[8] = {    26.1,  27.6,  28.1, 27.0, 23.1, 19.2, 16.8, 14.0 };
0066 double ZbbP3EffPy6[8] = {    39.1,  33.7,  27.7, 19.7, 14.5, 11.0, 7.7, 7.2 };
0067 double ZbbTotalEffPy6[8] = { 36.8,  38.3,  38.4, 38.6, 38.5, 37.4, 36.7, 36.6 };
0068 */
0069 
0070 /* 25K stat, Z2 tune */
0071 //                                  D=13
0072 double ZbbP1EffPy6[8] = {    35.2,  44.8,  51.4, 61.8, 70.5, 76.6, 81.4, 84.8 };
0073 double ZbbP2EffPy6[8] = {    19.0,  23.4,  24.2, 25.5, 22.9, 21.3, 18.5, 16.3 };
0074 double ZbbP3EffPy6[8] = {    34.6,  30.7,  27.3, 21.0, 16.7, 11.7,  8.9,  7.4 };
0075 double ZbbTotalEffPy6[8] = { 29.3,  33.0,  34.5, 36.6, 37.4, 37.4, 37.2, 37.1 };
0076 
0077 //                                  D=13
0078 double ZbbP1EffPy8[8] = {    27.3,  35.7,  39.9, 51.6, 60.1, 66.6, 72.6, 78.1 }; 
0079 double ZbbP2EffPy8[8] = {    11.1,  18.6,  18.4, 20.6, 21.9, 19.5, 18.5, 16.9 };
0080 double ZbbP3EffPy8[8] = {    26.0,  25.5,  24.8, 18.7, 16.6, 12.0,  9.2,  8.3 };
0081 double ZbbTotalEffPy8[8] = { 21.2,  26.5,  27.8, 30.7, 33.5, 33.4, 34.3, 35.3 };
0082 
0083 // ttbar+jets
0084 //
0085 const int NQCutTTbar = 7;
0086 double QCutTTbar[7] = { 20., 25., 30., 35., 40., 45., 50. };
0087 
0088 //                                                      D=40
0089 /* 5K stat, DT6 tune
0090 double TTbarP0EffPy6[7] = {    40.3, 49.8, 55.9, 60.4,  64.5,  69.7, 71.6 };
0091 double TTbarP1EffPy6[7] = {    26.9, 28.7, 29.2, 28.2,  27.4,  27.6, 25.1 };
0092 double TTbarP2EffPy6[7] = {    19.0, 18.2, 19.3, 16.1,  13.0,  10.2,  7.6 };
0093 double TTbarP3EffPy6[7] = {    27.4, 19.6, 18.0, 12.5,  10.6,   5.4,  5.8 };
0094 double TTbarTotalEffPy6[7] = { 28.9, 31.4, 33.2, 33.2,  33.2,  33.5, 32.7 }; 
0095 */
0096 
0097 /* 25K stat, Z2 tune */
0098 //                                                     D=40
0099 double TTbarP0EffPy6[7] = {    31.0, 38.2, 45.0, 50.3, 55.6, 59.8, 64.5 };
0100 double TTbarP1EffPy6[7] = {    22.1, 25.1, 25.8, 26.7, 25.7, 24.9, 24.6 };
0101 double TTbarP2EffPy6[7] = {    16.4, 18.4, 17.6, 15.1, 13.2, 12.6, 10.2 };
0102 double TTbarP3EffPy6[7] = {    27.1, 22.2, 16.9, 12.9, 10.1,  7.4,  5.6 };
0103 double TTbarTotalEffPy6[7] = { 23.8, 27.0, 28.6, 29.4, 29.9, 30.5, 31.0 };
0104 
0105 /* 5K stat
0106 //                                                      D=40
0107 double TTbarP0EffPy8[7] = {    23.7, 31.2, 35.2, 40.7,  45.3,  49.0, 53.5 };
0108 double TTbarP1EffPy8[7] = {    18.2, 21.7, 23.1, 25.5,  24.6,  25.5, 22.2 };
0109 double TTbarP2EffPy8[7] = {    14.2, 14.1, 13.0, 12.7,  10.5,  10.9,  9.8 };
0110 double TTbarP3EffPy8[7] = {    24.0, 19.0, 15.2, 11.1,   8.8,   7.7,  5.5 };
0111 double TTbarTotalEffPy8[7] = { 19.4, 22.3, 23.3, 25.3,  25.6,  27.0, 26.7 };
0112 */
0113 
0114 /* 25K stat */
0115 //                                                     D=40
0116 double TTbarP0EffPy8[7] = {    24.3, 29.7, 36.0, 40.3, 46.0, 49.9, 54.0 };
0117 double TTbarP1EffPy8[7] = {    18.3, 21.7, 24.7, 24.7, 24.3, 24.3, 23.1 };
0118 double TTbarP2EffPy8[7] = {    14.0, 14.5, 14.9, 13.4, 12.8, 12.7, 10.5 };
0119 double TTbarP3EffPy8[7] = {    24.4, 19.3, 15.0, 12.1,  9.9,  9.4,  5.7 };
0120 double TTbarTotalEffPy8[7] = { 19.6, 22.0, 24.6, 25.2, 26.4, 26.8, 27.4 };
0121 
0122 
0123 //  avjets
0124 //
0125 const int NQCutAVjets = 7;
0126 double QCutAVjets[7] = { 10., 15., 20., 25., 30., 35., 40. };
0127 
0128 //                                     D=15
0129 double AVjetsP0EffPy6[7] = {    51.2,  66.3,  76.5, 83.8, 87.1, 89.6, 91.8 };
0130 double AVjetsP1EffPy6[7] = {    68.1,  55.8,  41.8, 35.4, 25.3, 21.6, 14.7 };
0131 double AVjetsP2EffPy6[7] = {    52.5,  66.0,  75.7, 82.1, 87.5, 90.6, 92.1 };
0132 double AVjetsP3EffPy6[7] = {    70.3,  60.1,  51.3, 40.8, 35.2, 29.5, 26.5 };
0133 double AVjetsP4EffPy6[7] = {    50.0,  60.6,  72.9, 78.0, 80.7, 86.7, 90.4 };
0134 double AVjetsP5EffPy6[7] = {    70.5,  50.2,  43.5, 36.2, 28.0, 27.5, 20.8 };
0135 double AVjetsTotalEffPy6[7] = { 60.3,  62.2,  63.0, 62.1, 61.4, 60.8, 59.9 };
0136 
0137 //                                     D=15
0138 double AVjetsP0EffPy8[7] = {    40.0,  55.1,  68.5, 75.7, 81.1, 83.0, 86.3 };
0139 double AVjetsP1EffPy8[7] = {    65.7,  59.2,  47.9, 34.7, 29.7, 24.6, 17.6 };
0140 double AVjetsP2EffPy8[7] = {    42.0,  55.9,  69.1, 76.6, 80.0, 86.3, 88.4 };
0141 double AVjetsP3EffPy8[7] = {    69.6,  58.9,  51.0, 44.1, 38.4, 32.7, 27.4 };
0142 double AVjetsP4EffPy8[7] = {    35.3,  50.9,  62.8, 78.0, 76.6, 81.7, 84.4 };
0143 double AVjetsP5EffPy8[7] = {    62.3,  58.5,  43.0, 34.8, 35.3, 31.4, 20.8 };
0144 double AVjetsTotalEffPy8[7] = { 53.7,  57.0,  59.6, 60.0, 59.5, 59.7, 58.2 };
0145 
0146 
0147 //
0148 // These are for 100K stat
0149 //
0150 /*
0151 const int NQCutZvv = 7;
0152 double QCutZvv[7] = { 10., 15., 20, 25., 30., 35., 40. };
0153 
0154 double ZvvP1EffPy6[7] = { 11.0, 17.6, 18.7, 35.2, 33.0, 50.5, 52.7 };
0155 double ZvvP2EffPy6[7] = {  5.9, 11.4, 15.1, 21.9, 23.5, 32.1, 33.7 };
0156 double ZvvP3EffPy6[7] = {  4.0,  7.9,  9.8, 12.1, 11.5, 10.5, 11.6 };
0157 double ZvvP4EffPy6[7] = { 14.0, 11.9,  9.4, 7.5,   5.0,  3.5,  3.1 };
0158 double ZvvTotalEffPy6[7] = {  9.8, 10.7, 10.3, 11.1,  9.7, 10.0, 10.1 };
0159 
0160 double ZvvP1EffPy8[7] = {  6.6, 15.4, 24.2, 31.9, 34.1, 40.7, 58.2 };
0161 double ZvvP2EffPy8[7] = {  4.3, 11.2, 19.6, 20.9, 27.4, 34.2, 35.6 };
0162 double ZvvP3EffPy8[7] = {  3.8,  8.1, 11.2, 11.8, 12.1, 10.9, 11.6 };
0163 double ZvvP4EffPy8[7] = { 13.7, 10.8, 10.2,  6.8,  6.0,  4.6,  3.2 };
0164 double ZvvTotalEffPy8[7] = { 9.4, 10.0, 11.8, 10.4, 10.9, 10.6,  10.5 };
0165 */
0166 
0167 //--------------------------------------------
0168 
0169 
0170 void plotZvvEff()
0171 {
0172 
0173    TCanvas* myc = new TCanvas("myc","",600,1000);
0174    
0175    TPad* pad1 = new TPad("pad1","", 0.01, 0.51, 0.99, 0.99);
0176    TPad* pad2 = new TPad("pad2","", 0.01, 0.01, 0.49, 0.49);
0177    TPad* pad3 = new TPad("pad3","", 0.51, 0.01, 0.99, 0.49);
0178    
0179    pad1->Draw();
0180    pad2->Draw();
0181    pad3->Draw();
0182    
0183    pad1->cd();
0184    
0185    TLegend* leg = new TLegend(0.6, 0.70, 0.9, 0.9);
0186 
0187    TGraph* grTotalEffPy6 = new TGraph( NQCutZvv, QCutZvv, ZvvTotalEffPy6 );
0188    grTotalEffPy6->SetTitle("Z #rightarrow nu nu (MG + Py6/Py8, xqcut=10)" );
0189    grTotalEffPy6->SetMarkerStyle(21);
0190    grTotalEffPy6->SetMarkerSize(1.5);
0191    grTotalEffPy6->SetMarkerColor(kBlue);
0192    grTotalEffPy6->GetYaxis()->SetRangeUser(0.,100.);
0193    grTotalEffPy6->GetXaxis()->SetTitle("qcut");
0194    grTotalEffPy6->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0195    grTotalEffPy6->GetYaxis()->SetTitleOffset(1.5);
0196    grTotalEffPy6->Draw("apl");
0197 
0198    TGraph* grTotalEffPy8 = new TGraph( NQCutZvv, QCutZvv, ZvvTotalEffPy8 );
0199    //grTotalEffPy8->SetTitle("Z #rightarrow nu nu (MG + Py6/Py8, xqcut=10)" );
0200    grTotalEffPy8->SetMarkerStyle(21);
0201    grTotalEffPy8->SetMarkerSize(1.5);
0202    grTotalEffPy8->SetMarkerColor(kRed);
0203    grTotalEffPy8->GetYaxis()->SetRangeUser(0.,100.);
0204    //grTotalEffPy8->GetXaxis()->SetTitle("qcut");
0205    //grTotalEffPy8->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0206    //grTotalEffPy8->GetYaxis()->SetTitleOffset(1.5);
0207    grTotalEffPy8->Draw("plsame");
0208 
0209    leg->AddEntry( grTotalEffPy6, "Total Eff., Pythia6", "p");
0210    leg->AddEntry( grTotalEffPy8, "Total Eff., Pythia8", "p");
0211    leg->SetFillColor(kWhite);
0212    leg->Draw();
0213    
0214    pad2->cd();
0215    plotZvvEffPy6();
0216    
0217    pad3->cd();
0218    plotZvvEffPy8();
0219    
0220    myc->cd();
0221 
0222    return;
0223 
0224 }
0225 
0226 void plotZvvEffPy6()
0227 {
0228 
0229    TLegend* leg = new TLegend(0.6, 0.70, 0.9, 0.9);
0230    
0231 /*
0232    TGraph* grTotalEff = new TGraph( NQCutZvv, QCutZvv, ZvvTotalEffPy6 );
0233    grTotalEff->SetTitle("Z #rightarrow nu nu (MG+Py6, xqcut=10)" );
0234    grTotalEff->SetMarkerStyle(21);
0235    grTotalEff->SetMarkerSize(1.5);
0236    grTotalEff->SetMarkerColor(kBlack);
0237    grTotalEff->GetYaxis()->SetRangeUser(0.,100.);
0238    grTotalEff->GetXaxis()->SetTitle("qcut");
0239    grTotalEff->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0240    grTotalEff->GetYaxis()->SetTitleOffset(1.5);
0241    grTotalEff->Draw("apl");
0242    leg->AddEntry( grTotalEff, "Total Eff.", "p");
0243 */
0244    TGraph* grP1Eff = new TGraph( NQCutZvv, QCutZvv, ZvvP1EffPy6 );
0245    grP1Eff->SetTitle("Z #rightarrow nu nu (MG+Py6, xqcut=10)" );
0246    grP1Eff->SetMarkerStyle(22);
0247    grP1Eff->SetMarkerSize(1.5);
0248    grP1Eff->SetMarkerColor(kBlack);
0249    grP1Eff->GetYaxis()->SetRangeUser(0.,100.);
0250    grP1Eff->GetXaxis()->SetTitle("qcut");
0251    grP1Eff->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0252    grP1Eff->GetYaxis()->SetTitleOffset(1.5);
0253    // grP1Eff->Draw("plsame");
0254    grP1Eff->Draw("apl");
0255    leg->AddEntry( grP1Eff, "Process 1, Eff.", "p");
0256 
0257    TGraph* grP2Eff = new TGraph( NQCutZvv, QCutZvv, ZvvP2EffPy6 );
0258    grP2Eff->SetMarkerStyle(23);
0259    grP2Eff->SetMarkerSize(1.5);
0260    grP2Eff->SetMarkerColor(kBlack);
0261    grP2Eff->GetYaxis()->SetRangeUser(0.,100.);
0262    grP2Eff->Draw("plsame");
0263    leg->AddEntry( grP2Eff, "Process 2, Eff.", "p");
0264    
0265    TGraph* grP3Eff = new TGraph( NQCutZvv, QCutZvv, ZvvP3EffPy6 );
0266    grP3Eff->SetMarkerStyle(24);
0267    grP3Eff->SetMarkerSize(1.5);
0268    grP3Eff->SetMarkerColor(kBlack);
0269    grP3Eff->GetYaxis()->SetRangeUser(0.,100.);
0270    grP3Eff->Draw("plsame");
0271    leg->AddEntry( grP3Eff, "Process 3, Eff.", "p");
0272 
0273    TGraph* grP4Eff = new TGraph( NQCutZvv, QCutZvv, ZvvP4EffPy6 );
0274    grP4Eff->SetMarkerStyle(25);
0275    grP4Eff->SetMarkerSize(1.5);
0276    grP4Eff->SetMarkerColor(kBlack);
0277    grP4Eff->GetYaxis()->SetRangeUser(0.,100.);
0278    grP4Eff->Draw("plsame");
0279    leg->AddEntry( grP4Eff, "Process 4, Eff.", "p");
0280    
0281 /*
0282    grTotalEff->Draw("plsame");
0283 */
0284    leg->Draw();
0285    leg->SetFillColor(kWhite);
0286 
0287    return;
0288 
0289 }
0290 
0291 void plotZvvEffPy8()
0292 {
0293 
0294    TLegend* leg = new TLegend(0.6, 0.70, 0.9, 0.9);
0295    
0296 /*
0297    TGraph* grTotalEff = new TGraph( NQCutZvv, QCutZvv, ZvvTotalEffPy8 );
0298    grTotalEff->SetTitle("Z #rightarrow nu nu (MG+Py8, xqcut=10)" );
0299    grTotalEff->SetMarkerStyle(21);
0300    grTotalEff->SetMarkerSize(1.5);
0301    grTotalEff->SetMarkerColor(kBlack);
0302    grTotalEff->GetYaxis()->SetRangeUser(0.,100.);
0303    grTotalEff->GetXaxis()->SetTitle("qcut");
0304    grTotalEff->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0305    grTotalEff->GetYaxis()->SetTitleOffset(1.5);
0306    grTotalEff->Draw("apl");
0307    leg->AddEntry( grTotalEff, "Total Eff.", "p");
0308 */
0309    TGraph* grP1Eff = new TGraph( NQCutZvv, QCutZvv, ZvvP1EffPy8 );
0310    grP1Eff->SetTitle("Z #rightarrow nu nu (MG+Py8, xqcut=10)" );
0311    grP1Eff->SetMarkerStyle(22);
0312    grP1Eff->SetMarkerSize(1.5);
0313    grP1Eff->SetMarkerColor(kBlack);
0314    grP1Eff->GetYaxis()->SetRangeUser(0.,100.);
0315    grP1Eff->GetXaxis()->SetTitle("qcut");
0316    grP1Eff->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0317    grP1Eff->GetYaxis()->SetTitleOffset(1.5);
0318    // grP1Eff->Draw("plsame");
0319    grP1Eff->Draw("apl");
0320    leg->AddEntry( grP1Eff, "Process 1, Eff.", "p");
0321 
0322    TGraph* grP2Eff = new TGraph( NQCutZvv, QCutZvv, ZvvP2EffPy8 );
0323    grP2Eff->SetMarkerStyle(23);
0324    grP2Eff->SetMarkerSize(1.5);
0325    grP2Eff->SetMarkerColor(kBlack);
0326    grP2Eff->GetYaxis()->SetRangeUser(0.,100.);
0327    grP2Eff->Draw("plsame");
0328    leg->AddEntry( grP2Eff, "Process 2, Eff.", "p");
0329    
0330    TGraph* grP3Eff = new TGraph( NQCutZvv, QCutZvv, ZvvP3EffPy8 );
0331    grP3Eff->SetMarkerStyle(24);
0332    grP3Eff->SetMarkerSize(1.5);
0333    grP3Eff->SetMarkerColor(kBlack);
0334    grP3Eff->GetYaxis()->SetRangeUser(0.,100.);
0335    grP3Eff->Draw("plsame");
0336    leg->AddEntry( grP3Eff, "Process 3, Eff.", "p");
0337 
0338    TGraph* grP4Eff = new TGraph( NQCutZvv, QCutZvv, ZvvP4EffPy8 );
0339    grP4Eff->SetMarkerStyle(25);
0340    grP4Eff->SetMarkerSize(1.5);
0341    grP4Eff->SetMarkerColor(kBlack);
0342    grP4Eff->GetYaxis()->SetRangeUser(0.,100.);
0343    grP4Eff->Draw("plsame");
0344    leg->AddEntry( grP4Eff, "Process 4, Eff.", "p");
0345    
0346 /*
0347    grTotalEff->Draw("plsame");
0348 */
0349    leg->Draw();
0350    leg->SetFillColor(kWhite);
0351 
0352    return;
0353 
0354 }
0355 
0356 /*
0357 void plotZvv()
0358 {
0359 
0360    TCanvas *myc = new TCanvas("myc","",1000,600);
0361    myc->Divide(2,1);
0362    
0363    myc->cd(1);
0364    // gPad->SetLeftMargin(0.15);
0365    plotZvvEffPy6();
0366    
0367    myc->cd(2);
0368    plotZvvEffPy8();
0369    
0370    myc->cd();
0371 
0372    return;
0373 
0374 }
0375 */
0376 
0377 void plotTTbarEff()
0378 {
0379 
0380    TCanvas* myc = new TCanvas("myc","",600,1000);
0381    
0382    TPad* pad1 = new TPad("pad1","", 0.01, 0.51, 0.99, 0.99);
0383    TPad* pad2 = new TPad("pad2","", 0.01, 0.01, 0.49, 0.49);
0384    TPad* pad3 = new TPad("pad3","", 0.51, 0.01, 0.99, 0.49);
0385    
0386    pad1->Draw();
0387    pad2->Draw();
0388    pad3->Draw();
0389    
0390    pad1->cd();
0391    
0392    TLegend* leg = new TLegend(0.6, 0.70, 0.9, 0.9);
0393 
0394    TGraph* grTotalEffPy6 = new TGraph( NQCutTTbar, QCutTTbar, TTbarTotalEffPy6 );
0395    grTotalEffPy6->SetTitle("ttbar + jets (MG + Py6/Py8, xqcut=20)" );
0396    grTotalEffPy6->SetMarkerStyle(21);
0397    grTotalEffPy6->SetMarkerSize(1.5);
0398    grTotalEffPy6->SetMarkerColor(kBlue);
0399    grTotalEffPy6->GetYaxis()->SetRangeUser(0.,100.);
0400    grTotalEffPy6->GetXaxis()->SetTitle("qcut");
0401    grTotalEffPy6->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0402    grTotalEffPy6->GetYaxis()->SetTitleOffset(1.5);
0403    grTotalEffPy6->Draw("apl");
0404 
0405    TGraph* grTotalEffPy8 = new TGraph( NQCutTTbar, QCutTTbar, TTbarTotalEffPy8 );
0406    grTotalEffPy8->SetMarkerStyle(21);
0407    grTotalEffPy8->SetMarkerSize(1.5);
0408    grTotalEffPy8->SetMarkerColor(kRed);
0409    grTotalEffPy8->GetYaxis()->SetRangeUser(0.,100.);
0410    //grTotalEffPy8->GetXaxis()->SetTitle("qcut");
0411    //grTotalEffPy8->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0412    //grTotalEffPy8->GetYaxis()->SetTitleOffset(1.5);
0413    grTotalEffPy8->Draw("plsame");
0414 
0415    leg->AddEntry( grTotalEffPy6, "Total Eff., Pythia6", "p");
0416    leg->AddEntry( grTotalEffPy8, "Total Eff., Pythia8", "p");
0417    leg->SetFillColor(kWhite);
0418    leg->Draw();
0419    
0420    pad2->cd();
0421    plotTTbarEffPy6();
0422    
0423    pad3->cd();
0424    plotTTbarEffPy8();
0425    
0426    myc->cd();
0427 
0428    return;
0429 
0430 }
0431 
0432 void plotTTbarEffPy6()
0433 {
0434 
0435    TLegend* leg = new TLegend(0.6, 0.70, 0.9, 0.9);
0436    
0437 /*
0438    TGraph* grTotalEff = new TGraph( NQCutTTbar, QCutTTbar, TTbarTotalEffPy6 );
0439    grTotalEff->SetTitle("ttbar + jets (MG+Py6, xqcut=20)" );
0440    grTotalEff->SetMarkerStyle(21);
0441    grTotalEff->SetMarkerSize(1.5);
0442    grTotalEff->SetMarkerColor(kBlack);
0443    grTotalEff->GetYaxis()->SetRangeUser(0.,100.);
0444    grTotalEff->GetXaxis()->SetTitle("qcut");
0445    grTotalEff->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0446    grTotalEff->GetYaxis()->SetTitleOffset(1.5);
0447    grTotalEff->Draw("apl");
0448    leg->AddEntry( grTotalEff, "Total Eff.", "p");
0449 */
0450 
0451    TGraph* grP0Eff = new TGraph( NQCutTTbar, QCutTTbar, TTbarP0EffPy6 );
0452    grP0Eff->SetTitle("ttbar + jets (MG+Py6, xqcut=20)" );
0453    grP0Eff->SetMarkerStyle(26);
0454    grP0Eff->SetMarkerSize(1.5);
0455    grP0Eff->SetMarkerColor(kBlack); // 7 = very light sky-blue
0456    grP0Eff->GetYaxis()->SetRangeUser(0.,100.);
0457    grP0Eff->GetXaxis()->SetTitle("qcut");
0458    grP0Eff->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0459    grP0Eff->GetYaxis()->SetTitleOffset(1.5);
0460    // grP0Eff->Draw("plsame");
0461    grP0Eff->Draw("apl");
0462    leg->AddEntry( grP0Eff, "Process 0, Eff.", "p");
0463 
0464    TGraph* grP1Eff = new TGraph( NQCutTTbar, QCutTTbar, TTbarP1EffPy6 );
0465    grP1Eff->SetMarkerStyle(22);
0466    grP1Eff->SetMarkerSize(1.5);
0467    grP1Eff->SetMarkerColor(kBlack);
0468    grP1Eff->GetYaxis()->SetRangeUser(0.,100.);
0469    grP1Eff->Draw("plsame");
0470    leg->AddEntry( grP1Eff, "Process 1, Eff.", "p");
0471 
0472    TGraph* grP2Eff = new TGraph( NQCutTTbar, QCutTTbar, TTbarP2EffPy6 );
0473    grP2Eff->SetMarkerStyle(23);
0474    grP2Eff->SetMarkerSize(1.5);
0475    grP2Eff->SetMarkerColor(kBlack);
0476    grP2Eff->GetYaxis()->SetRangeUser(0.,100.);
0477    grP2Eff->Draw("plsame");
0478    leg->AddEntry( grP2Eff, "Process 2, Eff.", "p");
0479    
0480    TGraph* grP3Eff = new TGraph( NQCutTTbar, QCutTTbar, TTbarP3EffPy6 );
0481    grP3Eff->SetMarkerStyle(24);
0482    grP3Eff->SetMarkerSize(1.5);
0483    grP3Eff->SetMarkerColor(kBlack);
0484    grP3Eff->GetYaxis()->SetRangeUser(0.,100.);
0485    grP3Eff->Draw("plsame");
0486    leg->AddEntry( grP3Eff, "Process 3, Eff.", "p");
0487    
0488 /*
0489    grTotalEff->Draw("plsame");
0490 */
0491 
0492    leg->Draw();
0493    leg->SetFillColor(kWhite);
0494       
0495    return;
0496 
0497 }
0498 
0499 void plotTTbarEffPy8()
0500 {
0501 
0502    TLegend* leg = new TLegend(0.6, 0.70, 0.9, 0.9);
0503    
0504 /*
0505    TGraph* grTotalEff = new TGraph( NQCutTTbar, QCutTTbar, TTbarTotalEffPy8 );
0506    grTotalEff->SetTitle("ttbar + jets (MG+Py8, xqcut=20)" );
0507    grTotalEff->SetMarkerStyle(21);
0508    grTotalEff->SetMarkerSize(1.5);
0509    grTotalEff->SetMarkerColor(kBlack);
0510    grTotalEff->GetYaxis()->SetRangeUser(0.,100.);
0511    grTotalEff->GetXaxis()->SetTitle("qcut");
0512    grTotalEff->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0513    grTotalEff->GetYaxis()->SetTitleOffset(1.5);
0514    grTotalEff->Draw("apl");
0515    leg->AddEntry( grTotalEff, "Total Eff.", "p");
0516 */
0517 
0518    TGraph* grP0Eff = new TGraph( NQCutTTbar, QCutTTbar, TTbarP0EffPy8 );
0519    grP0Eff->SetTitle("ttbar + jets (MG+Py8, xqcut=20)" );
0520    grP0Eff->SetMarkerStyle(26);
0521    grP0Eff->SetMarkerSize(1.5);
0522    grP0Eff->SetMarkerColor(kBlack); // 7 = very light sky-blue
0523    grP0Eff->GetYaxis()->SetRangeUser(0.,100.);
0524    grP0Eff->GetXaxis()->SetTitle("qcut");
0525    grP0Eff->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0526    grP0Eff->GetYaxis()->SetTitleOffset(1.5);
0527    // grP0Eff->Draw("plsame");
0528    grP0Eff->Draw("apl");
0529    leg->AddEntry( grP0Eff, "Process 0, Eff.", "p");
0530 
0531    TGraph* grP1Eff = new TGraph( NQCutTTbar, QCutTTbar, TTbarP1EffPy8 );
0532    grP1Eff->SetMarkerStyle(22);
0533    grP1Eff->SetMarkerSize(1.5);
0534    grP1Eff->SetMarkerColor(kBlack);
0535    grP1Eff->GetYaxis()->SetRangeUser(0.,100.);
0536    grP1Eff->Draw("plsame");
0537    leg->AddEntry( grP1Eff, "Process 1, Eff.", "p");
0538 
0539    TGraph* grP2Eff = new TGraph( NQCutTTbar, QCutTTbar, TTbarP2EffPy8 );
0540    grP2Eff->SetMarkerStyle(23);
0541    grP2Eff->SetMarkerSize(1.5);
0542    grP2Eff->SetMarkerColor(kBlack);
0543    grP2Eff->GetYaxis()->SetRangeUser(0.,100.);
0544    grP2Eff->Draw("plsame");
0545    leg->AddEntry( grP2Eff, "Process 2, Eff.", "p");
0546    
0547    TGraph* grP3Eff = new TGraph( NQCutTTbar, QCutTTbar, TTbarP3EffPy8 );
0548    grP3Eff->SetMarkerStyle(24);
0549    grP3Eff->SetMarkerSize(1.5);
0550    grP3Eff->SetMarkerColor(kBlack);
0551    grP3Eff->GetYaxis()->SetRangeUser(0.,100.);
0552    grP3Eff->Draw("plsame");
0553    leg->AddEntry( grP3Eff, "Process 3, Eff.", "p");
0554    
0555 /*
0556    grTotalEff->Draw("plsame");
0557 */
0558    leg->Draw();
0559    leg->SetFillColor(kWhite);
0560       
0561    return;
0562 
0563 }
0564 
0565 /*
0566 void plotTTbar()
0567 {
0568 
0569    TCanvas *myc = new TCanvas("myc","",1000,600);
0570    myc->Divide(2,1);
0571    
0572    myc->cd(1);
0573    // gPad->SetLeftMargin(0.15);
0574    plotTTbarEffPy6();
0575    
0576    myc->cd(2);
0577    plotTTbarEffPy8();
0578    
0579    myc->cd();
0580    
0581    return;
0582 
0583 }
0584 */
0585 
0586 void plotZbbEff()
0587 {
0588 
0589    TCanvas* myc = new TCanvas("myc","",600,1000);
0590    
0591    TPad* pad1 = new TPad("pad1","", 0.01, 0.51, 0.99, 0.99);
0592    TPad* pad2 = new TPad("pad2","", 0.01, 0.01, 0.49, 0.49);
0593    TPad* pad3 = new TPad("pad3","", 0.51, 0.01, 0.99, 0.49);
0594    
0595    pad1->Draw();
0596    pad2->Draw();
0597    pad3->Draw();
0598    
0599    pad1->cd();
0600    
0601    TLegend* leg = new TLegend(0.6, 0.70, 0.9, 0.9);
0602 
0603    TGraph* grTotalEffPy6 = new TGraph( NQCutZbb, QCutZbb, ZbbTotalEffPy6 );
0604    grTotalEffPy6->SetTitle("Z #rightarrow b bbar (MG + Py6/Py8, xqcut=10)" );
0605    grTotalEffPy6->SetMarkerStyle(21);
0606    grTotalEffPy6->SetMarkerSize(1.5);
0607    grTotalEffPy6->SetMarkerColor(kBlue);
0608    grTotalEffPy6->GetYaxis()->SetRangeUser(0.,100.);
0609    grTotalEffPy6->GetXaxis()->SetTitle("qcut");
0610    grTotalEffPy6->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0611    grTotalEffPy6->GetYaxis()->SetTitleOffset(1.5);
0612    grTotalEffPy6->Draw("apl");
0613 
0614    TGraph* grTotalEffPy8 = new TGraph( NQCutZbb, QCutZbb, ZbbTotalEffPy8 );
0615    grTotalEffPy8->SetMarkerStyle(21);
0616    grTotalEffPy8->SetMarkerSize(1.5);
0617    grTotalEffPy8->SetMarkerColor(kRed);
0618    grTotalEffPy8->GetYaxis()->SetRangeUser(0.,100.);
0619    //grTotalEffPy8->GetXaxis()->SetTitle("qcut");
0620    //grTotalEffPy8->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0621    //grTotalEffPy8->GetYaxis()->SetTitleOffset(1.5);
0622    grTotalEffPy8->Draw("plsame");
0623 
0624    leg->AddEntry( grTotalEffPy6, "Total Eff., Pythia6", "p");
0625    leg->AddEntry( grTotalEffPy8, "Total Eff., Pythia8", "p");
0626    leg->SetFillColor(kWhite);
0627    leg->Draw();
0628    
0629    pad2->cd();
0630    plotZbbEffPy6();
0631    
0632    pad3->cd();
0633    plotZbbEffPy8();
0634    
0635    myc->cd();
0636 
0637    return;
0638 
0639 }
0640 
0641 void plotZbbEffPy6()
0642 {
0643 
0644    TLegend* leg = new TLegend(0.6, 0.70, 0.9, 0.9);
0645    
0646 /*
0647    TGraph* grTotalEff = new TGraph( NQCutZbb, QCutZbb, ZbbTotalEffPy6 );
0648    grTotalEff->SetTitle("Z #rightarrow b bbar (MG+Py6, xqcut=10)" );
0649    grTotalEff->SetMarkerStyle(21);
0650    grTotalEff->SetMarkerSize(1.5);
0651    grTotalEff->SetMarkerColor(kBlack);
0652    grTotalEff->GetYaxis()->SetRangeUser(0.,100.);
0653    grTotalEff->GetXaxis()->SetTitle("qcut");
0654    grTotalEff->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0655    grTotalEff->GetYaxis()->SetTitleOffset(1.5);
0656    grTotalEff->Draw("apl");
0657    leg->AddEntry( grTotalEff, "Total Eff.", "p");
0658 */
0659    TGraph* grP1Eff = new TGraph( NQCutZbb, QCutZbb, ZbbP1EffPy6 );
0660    grP1Eff->SetTitle("Z #rightarrow b bbar (MG+Py6, xqcut=10)" );
0661    grP1Eff->SetMarkerStyle(22);
0662    grP1Eff->SetMarkerSize(1.5);
0663    grP1Eff->SetMarkerColor(kBlack);
0664    grP1Eff->GetYaxis()->SetRangeUser(0.,100.);
0665    grP1Eff->GetXaxis()->SetTitle("qcut");
0666    grP1Eff->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0667    grP1Eff->GetYaxis()->SetTitleOffset(1.5);
0668    grP1Eff->Draw("apl");
0669    // grP1Eff->Draw("plsame");
0670    leg->AddEntry( grP1Eff, "Process 1, Eff.", "p");
0671 
0672    TGraph* grP2Eff = new TGraph( NQCutZbb, QCutZbb, ZbbP2EffPy6 );
0673    grP2Eff->SetMarkerStyle(23);
0674    grP2Eff->SetMarkerSize(1.5);
0675    grP2Eff->SetMarkerColor(kBlack);
0676    grP2Eff->GetYaxis()->SetRangeUser(0.,100.);
0677    grP2Eff->Draw("plsame");
0678    leg->AddEntry( grP2Eff, "Process 2, Eff.", "p");
0679    
0680    TGraph* grP3Eff = new TGraph( NQCutZbb, QCutZbb, ZbbP3EffPy6 );
0681    grP3Eff->SetMarkerStyle(24);
0682    grP3Eff->SetMarkerSize(1.5);
0683    grP3Eff->SetMarkerColor(kBlack);
0684    grP3Eff->GetYaxis()->SetRangeUser(0.,100.);
0685    grP3Eff->Draw("plsame");
0686    leg->AddEntry( grP3Eff, "Process 3, Eff.", "p");
0687    
0688 /*
0689    grTotalEff->Draw("plsame");
0690 */
0691 
0692    leg->Draw();
0693    leg->SetFillColor(kWhite);
0694       
0695    return;
0696 
0697 }
0698 
0699 void plotZbbEffPy8()
0700 {
0701 
0702    TLegend* leg = new TLegend(0.6, 0.70, 0.9, 0.9);
0703    
0704 /*
0705    TGraph* grTotalEff = new TGraph( NQCutZbb, QCutZbb, ZbbTotalEffPy8 );
0706    grTotalEff->SetTitle("Z #rightarrow b bbar (MG+Py8, xqcut=10)" );
0707    grTotalEff->SetMarkerStyle(21);
0708    grTotalEff->SetMarkerSize(1.5);
0709    grTotalEff->SetMarkerColor(kBlack);
0710    grTotalEff->GetYaxis()->SetRangeUser(0.,100.);
0711    grTotalEff->GetXaxis()->SetTitle("qcut");
0712    grTotalEff->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0713    grTotalEff->GetYaxis()->SetTitleOffset(1.5);
0714    grTotalEff->Draw("apl");
0715    leg->AddEntry( grTotalEff, "Total Eff.", "p");
0716 */
0717    TGraph* grP1Eff = new TGraph( NQCutZbb, QCutZbb, ZbbP1EffPy8 );
0718    grP1Eff->SetTitle("Z #rightarrow b bbar (MG+Py8, xqcut=10)" );
0719    grP1Eff->SetMarkerStyle(22);
0720    grP1Eff->SetMarkerSize(1.5);
0721    grP1Eff->SetMarkerColor(kBlack);
0722    grP1Eff->GetYaxis()->SetRangeUser(0.,100.);
0723    grP1Eff->GetXaxis()->SetTitle("qcut");
0724    grP1Eff->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0725    grP1Eff->GetYaxis()->SetTitleOffset(1.5);
0726    grP1Eff->Draw("apl");
0727    // grP1Eff->Draw("plsame");
0728    leg->AddEntry( grP1Eff, "Process 1, Eff.", "p");
0729 
0730    TGraph* grP2Eff = new TGraph( NQCutZbb, QCutZbb, ZbbP2EffPy8 );
0731    grP2Eff->SetMarkerStyle(23);
0732    grP2Eff->SetMarkerSize(1.5);
0733    grP2Eff->SetMarkerColor(kBlack);
0734    grP2Eff->GetYaxis()->SetRangeUser(0.,100.);
0735    grP2Eff->Draw("plsame");
0736    leg->AddEntry( grP2Eff, "Process 2, Eff.", "p");
0737    
0738    TGraph* grP3Eff = new TGraph( NQCutZbb, QCutZbb, ZbbP3EffPy8 );
0739    grP3Eff->SetMarkerStyle(24);
0740    grP3Eff->SetMarkerSize(1.5);
0741    grP3Eff->SetMarkerColor(kBlack);
0742    grP3Eff->GetYaxis()->SetRangeUser(0.,100.);
0743    grP3Eff->Draw("plsame");
0744    leg->AddEntry( grP3Eff, "Process 3, Eff.", "p");
0745    
0746 /*
0747    grTotalEff->Draw("plsame");
0748 */
0749    leg->Draw();
0750    leg->SetFillColor(kWhite);
0751       
0752    return;
0753 
0754 }
0755 
0756 /*
0757 void plotZbb()
0758 {
0759 
0760    TCanvas *myc = new TCanvas("myc","",1000,600);
0761    myc->Divide(2,1);
0762    
0763    myc->cd(1);
0764    // gPad->SetLeftMargin(0.15);
0765    plotZbbEffPy6();
0766    
0767    myc->cd(2);
0768    plotZbbEffPy8();
0769    
0770    myc->cd();
0771    
0772    return;
0773 
0774 }
0775 */
0776 
0777 void plotAVjetsEffPy6()
0778 {
0779 
0780    TLegend* leg = new TLegend(0.6, 0.70, 0.9, 0.9);
0781    
0782    TGraph* grTotalEff = new TGraph( NQCutAVjets, QCutAVjets, AVjetsTotalEffPy6 );
0783    grTotalEff->SetTitle("avjets (MG+Py6, xqcut=10)" );
0784    grTotalEff->SetMarkerStyle(21);
0785    grTotalEff->SetMarkerSize(1.5);
0786    grTotalEff->SetMarkerColor(kBlack);
0787    grTotalEff->GetYaxis()->SetRangeUser(0.,100.);
0788    grTotalEff->GetXaxis()->SetTitle("qcut");
0789    grTotalEff->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0790    grTotalEff->GetYaxis()->SetTitleOffset(1.5);
0791    grTotalEff->Draw("apl");
0792    leg->AddEntry( grTotalEff, "Total Eff.", "p");
0793 
0794    TGraph* grP0Eff = new TGraph( NQCutAVjets, QCutAVjets, AVjetsP0EffPy6 );
0795    grP0Eff->SetMarkerStyle(21);
0796    grP0Eff->SetMarkerSize(1.5);
0797    grP0Eff->SetMarkerColor(7); // very light sky-blue
0798    grP0Eff->GetYaxis()->SetRangeUser(0.,100.);
0799    grP0Eff->Draw("plsame");
0800    leg->AddEntry( grP0Eff, "Process 0, Eff.", "p");
0801 
0802    TGraph* grP1Eff = new TGraph( NQCutAVjets, QCutAVjets, AVjetsP1EffPy6 );
0803    grP1Eff->SetMarkerStyle(21);
0804    grP1Eff->SetMarkerSize(1.5);
0805    grP1Eff->SetMarkerColor(kRed);
0806    grP1Eff->GetYaxis()->SetRangeUser(0.,100.);
0807    grP1Eff->Draw("plsame");
0808    leg->AddEntry( grP1Eff, "Process 1, Eff.", "p");
0809 
0810    TGraph* grP2Eff = new TGraph( NQCutAVjets, QCutAVjets, AVjetsP2EffPy6 );
0811    grP2Eff->SetMarkerStyle(21);
0812    grP2Eff->SetMarkerSize(1.5);
0813    grP2Eff->SetMarkerColor(kBlue);
0814    grP2Eff->GetYaxis()->SetRangeUser(0.,100.);
0815    grP2Eff->Draw("plsame");
0816    leg->AddEntry( grP2Eff, "Process 2, Eff.", "p");
0817    
0818    TGraph* grP3Eff = new TGraph( NQCutAVjets, QCutAVjets, AVjetsP3EffPy6 );
0819    grP3Eff->SetMarkerStyle(21);
0820    grP3Eff->SetMarkerSize(1.5);
0821    grP3Eff->SetMarkerColor(kGreen);
0822    grP3Eff->GetYaxis()->SetRangeUser(0.,100.);
0823    grP3Eff->Draw("plsame");
0824    leg->AddEntry( grP3Eff, "Process 3, Eff.", "p");
0825 
0826    TGraph* grP4Eff = new TGraph( NQCutAVjets, QCutAVjets, AVjetsP4EffPy6 );
0827    grP4Eff->SetMarkerStyle(21);
0828    grP4Eff->SetMarkerSize(1.5);
0829    grP4Eff->SetMarkerColor(kMagenta);
0830    grP4Eff->GetYaxis()->SetRangeUser(0.,100.);
0831    grP4Eff->Draw("plsame");
0832    leg->AddEntry( grP4Eff, "Process 4, Eff.", "p");
0833    
0834    TGraph* grP5Eff = new TGraph( NQCutAVjets, QCutAVjets, AVjetsP5EffPy6 );
0835    grP5Eff->SetMarkerStyle(21);
0836    grP5Eff->SetMarkerSize(1.5);
0837    grP5Eff->SetMarkerColor(kMagenta+2);
0838    // grP5Eff->SetMarkerColor(kYellow+1);
0839    grP5Eff->GetYaxis()->SetRangeUser(0.,100.);
0840    grP5Eff->Draw("plsame");
0841    leg->AddEntry( grP5Eff, "Process 5, Eff.", "p");
0842 
0843    grTotalEff->Draw("plsame");
0844 
0845    leg->Draw();
0846    leg->SetFillColor(kWhite);
0847       
0848    return;
0849 
0850 }
0851 
0852 void plotAVjetsEffPy8()
0853 {
0854 
0855    TLegend* leg = new TLegend(0.6, 0.70, 0.9, 0.9);
0856    
0857    TGraph* grTotalEff = new TGraph( NQCutAVjets, QCutAVjets, AVjetsTotalEffPy8 );
0858    grTotalEff->SetTitle("avjets (MG+Py8, xqcut=10)" );
0859    grTotalEff->SetMarkerStyle(21);
0860    grTotalEff->SetMarkerSize(1.5);
0861    grTotalEff->SetMarkerColor(kBlack);
0862    grTotalEff->GetYaxis()->SetRangeUser(0.,100.);
0863    grTotalEff->GetXaxis()->SetTitle("qcut");
0864    grTotalEff->GetYaxis()->SetTitle("PS Matching Efficiencvy (%)");
0865    grTotalEff->GetYaxis()->SetTitleOffset(1.5);
0866    grTotalEff->Draw("apl");
0867    leg->AddEntry( grTotalEff, "Total Eff.", "p");
0868 
0869    TGraph* grP0Eff = new TGraph( NQCutAVjets, QCutAVjets, AVjetsP0EffPy8 );
0870    grP0Eff->SetMarkerStyle(21);
0871    grP0Eff->SetMarkerSize(1.5);
0872    grP0Eff->SetMarkerColor(7); // very light sky-blue
0873    grP0Eff->GetYaxis()->SetRangeUser(0.,100.);
0874    grP0Eff->Draw("plsame");
0875    leg->AddEntry( grP0Eff, "Process 0, Eff.", "p");
0876 
0877    TGraph* grP1Eff = new TGraph( NQCutAVjets, QCutAVjets, AVjetsP1EffPy8 );
0878    grP1Eff->SetMarkerStyle(21);
0879    grP1Eff->SetMarkerSize(1.5);
0880    grP1Eff->SetMarkerColor(kRed);
0881    grP1Eff->GetYaxis()->SetRangeUser(0.,100.);
0882    grP1Eff->Draw("plsame");
0883    leg->AddEntry( grP1Eff, "Process 1, Eff.", "p");
0884 
0885    TGraph* grP2Eff = new TGraph( NQCutAVjets, QCutAVjets, AVjetsP2EffPy8 );
0886    grP2Eff->SetMarkerStyle(21);
0887    grP2Eff->SetMarkerSize(1.5);
0888    grP2Eff->SetMarkerColor(kBlue);
0889    grP2Eff->GetYaxis()->SetRangeUser(0.,100.);
0890    grP2Eff->Draw("plsame");
0891    leg->AddEntry( grP2Eff, "Process 2, Eff.", "p");
0892    
0893    TGraph* grP3Eff = new TGraph( NQCutAVjets, QCutAVjets, AVjetsP3EffPy8 );
0894    grP3Eff->SetMarkerStyle(21);
0895    grP3Eff->SetMarkerSize(1.5);
0896    grP3Eff->SetMarkerColor(kGreen);
0897    grP3Eff->GetYaxis()->SetRangeUser(0.,100.);
0898    grP3Eff->Draw("plsame");
0899    leg->AddEntry( grP3Eff, "Process 3, Eff.", "p");
0900 
0901    TGraph* grP4Eff = new TGraph( NQCutAVjets, QCutAVjets, AVjetsP4EffPy8 );
0902    grP4Eff->SetMarkerStyle(21);
0903    grP4Eff->SetMarkerSize(1.5);
0904    grP4Eff->SetMarkerColor(kMagenta);
0905    grP4Eff->GetYaxis()->SetRangeUser(0.,100.);
0906    grP4Eff->Draw("plsame");
0907    leg->AddEntry( grP4Eff, "Process 4, Eff.", "p");
0908    
0909    TGraph* grP5Eff = new TGraph( NQCutAVjets, QCutAVjets, AVjetsP5EffPy8 );
0910    grP5Eff->SetMarkerStyle(21);
0911    grP5Eff->SetMarkerSize(1.5);
0912    grP5Eff->SetMarkerColor(kMagenta+2);
0913    // grP5Eff->SetMarkerColor(kYellow+1);
0914    grP5Eff->GetYaxis()->SetRangeUser(0.,100.);
0915    grP5Eff->Draw("plsame");
0916    leg->AddEntry( grP5Eff, "Process 5, Eff.", "p");
0917 
0918    grTotalEff->Draw("plsame");
0919 
0920    leg->Draw();
0921    leg->SetFillColor(kWhite);
0922       
0923    return;
0924 
0925 }
0926 
0927 void plotAVjets()
0928 {
0929 
0930    TCanvas *myc = new TCanvas("myc","",1000,600);
0931    myc->Divide(2,1);
0932    
0933    myc->cd(1);
0934    // gPad->SetLeftMargin(0.15);
0935    plotAVjetsEffPy6();
0936    
0937    myc->cd(2);
0938    plotAVjetsEffPy8();
0939    
0940    myc->cd();
0941    
0942    return;
0943 
0944 }