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
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
0025
0026
0027
0028 const int NQCutZvv = 7;
0029 double QCutZvv[7] = { 10., 15., 20, 25., 30., 35., 40. };
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
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
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
0058
0059 const int NQCutZbb = 8;
0060 double QCutZbb[8] = { 10., 13., 15., 20., 25., 30., 35., 40. };
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
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
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
0084
0085 const int NQCutTTbar = 7;
0086 double QCutTTbar[7] = { 20., 25., 30., 35., 40., 45., 50. };
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
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
0106
0107
0108
0109
0110
0111
0112
0113
0114
0115
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
0124
0125 const int NQCutAVjets = 7;
0126 double QCutAVjets[7] = { 10., 15., 20., 25., 30., 35., 40. };
0127
0128
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
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
0149
0150
0151
0152
0153
0154
0155
0156
0157
0158
0159
0160
0161
0162
0163
0164
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
0200 grTotalEffPy8->SetMarkerStyle(21);
0201 grTotalEffPy8->SetMarkerSize(1.5);
0202 grTotalEffPy8->SetMarkerColor(kRed);
0203 grTotalEffPy8->GetYaxis()->SetRangeUser(0.,100.);
0204
0205
0206
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
0233
0234
0235
0236
0237
0238
0239
0240
0241
0242
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
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
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
0298
0299
0300
0301
0302
0303
0304
0305
0306
0307
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
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
0348
0349 leg->Draw();
0350 leg->SetFillColor(kWhite);
0351
0352 return;
0353
0354 }
0355
0356
0357
0358
0359
0360
0361
0362
0363
0364
0365
0366
0367
0368
0369
0370
0371
0372
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
0411
0412
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
0439
0440
0441
0442
0443
0444
0445
0446
0447
0448
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);
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
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
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
0506
0507
0508
0509
0510
0511
0512
0513
0514
0515
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);
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
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
0557
0558 leg->Draw();
0559 leg->SetFillColor(kWhite);
0560
0561 return;
0562
0563 }
0564
0565
0566
0567
0568
0569
0570
0571
0572
0573
0574
0575
0576
0577
0578
0579
0580
0581
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
0620
0621
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
0648
0649
0650
0651
0652
0653
0654
0655
0656
0657
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
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
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
0706
0707
0708
0709
0710
0711
0712
0713
0714
0715
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
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
0748
0749 leg->Draw();
0750 leg->SetFillColor(kWhite);
0751
0752 return;
0753
0754 }
0755
0756
0757
0758
0759
0760
0761
0762
0763
0764
0765
0766
0767
0768
0769
0770
0771
0772
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);
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
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);
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
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
0935 plotAVjetsEffPy6();
0936
0937 myc->cd(2);
0938 plotAVjetsEffPy8();
0939
0940 myc->cd();
0941
0942 return;
0943
0944 }