File indexing completed on 2026-04-05 08:11:17
0001 #include <TFile.h>
0002 #include <TH1D.h>
0003 #include <TH2D.h>
0004 #include <TMath.h>
0005 #include <iostream>
0006 #include <vector>
0007 #include <string>
0008 #include <cmath>
0009 #include "RooUnfold.h"
0010 #include "RooUnfoldResponse.h"
0011 #include "RooUnfoldBayes.h"
0012 #include "/sphenix/user/hanpuj/plotstyle/AtlasStyle.C"
0013 #include "/sphenix/user/hanpuj/plotstyle/AtlasUtils.C"
0014 #include "unfold_Def.h"
0015
0016 void do_unfolding_closure() {
0017
0018 TFile *f_out = new TFile("output_closure_r04.root", "RECREATE");
0019 TFile *f_in_rm = new TFile("output_sim_r04.root", "READ");
0020
0021
0022 TH1D *h_fullclosure_truth_zvertex60 = (TH1D*)f_in_rm->Get("h_fullclosure_truth_zvertex60");
0023 TH1D *h_fullclosure_measure_zvertex60 = (TH1D*)f_in_rm->Get("h_fullclosure_measure_zvertex60");
0024 TH2D *h_fullclosure_respmatrix_zvertex60 = (TH2D*)f_in_rm->Get("h_fullclosure_respmatrix_zvertex60");
0025 TH1D *h_fullclosure_fake_zvertex60 = (TH1D*)f_in_rm->Get("h_fullclosure_fake_zvertex60");
0026 TH1D *h_fullclosure_miss_zvertex60 = (TH1D*)f_in_rm->Get("h_fullclosure_miss_zvertex60");
0027
0028 TH1D *h_halfclosure_inputmeasure_zvertex60 = (TH1D*)f_in_rm->Get("h_halfclosure_inputmeasure_zvertex60");
0029 h_halfclosure_inputmeasure_zvertex60->SetBinContent(h_halfclosure_inputmeasure_zvertex60->FindBin(70),0.3);
0030 TH1D *h_halfclosure_truth_zvertex60 = (TH1D*)f_in_rm->Get("h_halfclosure_truth_zvertex60");
0031 TH1D *h_halfclosure_measure_zvertex60 = (TH1D*)f_in_rm->Get("h_halfclosure_measure_zvertex60");
0032 TH2D *h_halfclosure_respmatrix_zvertex60 = (TH2D*)f_in_rm->Get("h_halfclosure_respmatrix_zvertex60");
0033 TH1D *h_halfclosure_fake_zvertex60 = (TH1D*)f_in_rm->Get("h_halfclosure_fake_zvertex60");
0034 TH1D *h_halfclosure_miss_zvertex60 = (TH1D*)f_in_rm->Get("h_halfclosure_miss_zvertex60");
0035
0036
0037
0038 TH1D *h_fullclosure_purity_zvertex60 = (TH1D*)h_fullclosure_measure_zvertex60->Clone("h_fullclosure_purity_zvertex60");
0039 h_fullclosure_purity_zvertex60->Add(h_fullclosure_fake_zvertex60, -1);
0040 h_fullclosure_purity_zvertex60->Divide(h_fullclosure_purity_zvertex60, h_fullclosure_measure_zvertex60, 1, 1, "B");
0041
0042 TH1D *h_halfclosure_purity_zvertex60 = (TH1D*)h_halfclosure_measure_zvertex60->Clone("h_halfclosure_purity_zvertex60");
0043 h_halfclosure_purity_zvertex60->Add(h_halfclosure_fake_zvertex60, -1);
0044 h_halfclosure_purity_zvertex60->Divide(h_halfclosure_purity_zvertex60, h_halfclosure_measure_zvertex60, 1, 1, "B");
0045
0046
0047 TH1D *h_fullclosure_efficiency_zvertex60 = (TH1D*)h_fullclosure_truth_zvertex60->Clone("h_fullclosure_efficiency_zvertex60");
0048 h_fullclosure_efficiency_zvertex60->Add(h_fullclosure_miss_zvertex60, -1);
0049 h_fullclosure_efficiency_zvertex60->Divide(h_fullclosure_efficiency_zvertex60, h_fullclosure_truth_zvertex60, 1, 1, "B");
0050
0051 TH1D *h_halfclosure_efficiency_zvertex60 = (TH1D*)h_halfclosure_truth_zvertex60->Clone("h_halfclosure_efficiency_zvertex60");
0052 h_halfclosure_efficiency_zvertex60->Add(h_halfclosure_miss_zvertex60, -1);
0053 h_halfclosure_efficiency_zvertex60->Divide(h_halfclosure_efficiency_zvertex60, h_halfclosure_truth_zvertex60, 1, 1, "B");
0054
0055
0056
0057 TH1D *h_fullclosure_puritycorrected_measure_zvertex60 = (TH1D*)h_fullclosure_measure_zvertex60->Clone("h_fullclosure_puritycorrected_measure_zvertex60");
0058 h_fullclosure_puritycorrected_measure_zvertex60->Multiply(h_fullclosure_purity_zvertex60);
0059
0060 TH1D *h_halfclosure_puritycorrected_measure_zvertex60 = (TH1D*)h_halfclosure_inputmeasure_zvertex60->Clone("h_halfclosure_puritycorrected_measure_zvertex60");
0061 h_halfclosure_puritycorrected_measure_zvertex60->Multiply(h_halfclosure_purity_zvertex60);
0062
0063
0064 TH1D *h_fullclosure_recoaxis_projection_zvertex60 = (TH1D*)h_fullclosure_respmatrix_zvertex60->ProjectionX("h_fullclosure_recoaxis_projection_zvertex60");
0065
0066 TH1D *h_halfclosure_recoaxis_projection_zvertex60 = (TH1D*)h_halfclosure_respmatrix_zvertex60->ProjectionX("h_halfclosure_recoaxis_projection_zvertex60");
0067
0068
0069 TH1D *h_fullclosure_test1_zvertex60 = (TH1D*)h_fullclosure_puritycorrected_measure_zvertex60->Clone("h_fullclosure_test1_zvertex60");
0070 h_fullclosure_test1_zvertex60->Divide(h_fullclosure_recoaxis_projection_zvertex60);
0071
0072 TH1D *h_halfclosure_test1_zvertex60 = (TH1D*)h_halfclosure_puritycorrected_measure_zvertex60->Clone("h_halfclosure_test1_zvertex60");
0073 h_halfclosure_test1_zvertex60->Divide(h_halfclosure_recoaxis_projection_zvertex60);
0074
0075
0076
0077 TH1D *h_fullclosure_rm_measure_zvertex60 = (TH1D*)h_fullclosure_respmatrix_zvertex60->ProjectionX("h_fullclosure_rm_measure_zvertex60");
0078 TH1D *h_fullclosure_rm_truth_zvertex60 = (TH1D*)h_fullclosure_respmatrix_zvertex60->ProjectionY("h_fullclosure_rm_truth_zvertex60");
0079 RooUnfoldResponse *rm_fullclosure_zvertex60 = new RooUnfoldResponse(h_fullclosure_rm_measure_zvertex60, h_fullclosure_rm_truth_zvertex60, h_fullclosure_respmatrix_zvertex60, "rm_fullclosure_zvertex60", "");
0080
0081 TH1D *h_halfclosure_rm_measure_zvertex60 = (TH1D*)h_halfclosure_respmatrix_zvertex60->ProjectionX("h_halfclosure_rm_measure_zvertex60");
0082 TH1D *h_halfclosure_rm_truth_zvertex60 = (TH1D*)h_halfclosure_respmatrix_zvertex60->ProjectionY("h_halfclosure_rm_truth_zvertex60");
0083 RooUnfoldResponse *rm_halfclosure_zvertex60 = new RooUnfoldResponse(h_halfclosure_rm_measure_zvertex60, h_halfclosure_rm_truth_zvertex60, h_halfclosure_respmatrix_zvertex60, "rm_halfclosure_zvertex60", "");
0084
0085
0086 RooUnfoldBayes fullclosure_unfold_iter1(rm_fullclosure_zvertex60, h_fullclosure_puritycorrected_measure_zvertex60, 1);
0087 TH1D *h_fullclosure_unfolded_iter1_zvertex60 = (TH1D*)fullclosure_unfold_iter1.Hunfold(RooUnfold::kErrors);
0088 h_fullclosure_unfolded_iter1_zvertex60->SetName("h_fullclosure_unfolded_iter1_zvertex60");
0089
0090 RooUnfoldBayes halfclosure_unfold_iter1(rm_halfclosure_zvertex60, h_halfclosure_puritycorrected_measure_zvertex60, 1);
0091 TH1D *h_halfclosure_unfolded_iter1_zvertex60 = (TH1D*)halfclosure_unfold_iter1.Hunfold(RooUnfold::kErrors);
0092 h_halfclosure_unfolded_iter1_zvertex60->SetName("h_halfclosure_unfolded_iter1_zvertex60");
0093
0094
0095 RooUnfoldBayes fullclosure_unfold_iter5(rm_fullclosure_zvertex60, h_fullclosure_puritycorrected_measure_zvertex60, 5);
0096 TH1D *h_fullclosure_unfolded_iter5_zvertex60 = (TH1D*)fullclosure_unfold_iter5.Hunfold(RooUnfold::kErrors);
0097 h_fullclosure_unfolded_iter5_zvertex60->SetName("h_fullclosure_unfolded_iter5_zvertex60");
0098
0099 RooUnfoldBayes halfclosure_unfold_iter5(rm_halfclosure_zvertex60, h_halfclosure_puritycorrected_measure_zvertex60, 5);
0100 TH1D *h_halfclosure_unfolded_iter5_zvertex60 = (TH1D*)halfclosure_unfold_iter5.Hunfold(RooUnfold::kErrors);
0101 h_halfclosure_unfolded_iter5_zvertex60->SetName("h_halfclosure_unfolded_iter5_zvertex60");
0102
0103
0104 TH1D *h_fullclosure_truthaxis_projection_zvertex60 = (TH1D*)h_fullclosure_respmatrix_zvertex60->ProjectionY("h_fullclosure_truthaxis_projection_zvertex60");
0105
0106 TH1D *h_halfclosure_truthaxis_projection_zvertex60 = (TH1D*)h_halfclosure_respmatrix_zvertex60->ProjectionY("h_halfclosure_truthaxis_projection_zvertex60");
0107
0108
0109 TH1D *h_fullclosure_test2_iter1_zvertex60 = (TH1D*)h_fullclosure_unfolded_iter1_zvertex60->Clone("h_fullclosure_test2_iter1_zvertex60");
0110 h_fullclosure_test2_iter1_zvertex60->Divide(h_fullclosure_truthaxis_projection_zvertex60);
0111 TH1D *h_fullclosure_test2_iter5_zvertex60 = (TH1D*)h_fullclosure_unfolded_iter5_zvertex60->Clone("h_fullclosure_test2_iter5_zvertex60");
0112 h_fullclosure_test2_iter5_zvertex60->Divide(h_fullclosure_truthaxis_projection_zvertex60);
0113
0114 TH1D *h_halfclosure_test2_iter1_zvertex60 = (TH1D*)h_halfclosure_unfolded_iter1_zvertex60->Clone("h_halfclosure_test2_iter1_zvertex60");
0115 h_halfclosure_test2_iter1_zvertex60->Divide(h_halfclosure_truthaxis_projection_zvertex60);
0116 TH1D *h_halfclosure_test2_iter5_zvertex60 = (TH1D*)h_halfclosure_unfolded_iter5_zvertex60->Clone("h_halfclosure_test2_iter5_zvertex60");
0117 h_halfclosure_test2_iter5_zvertex60->Divide(h_halfclosure_truthaxis_projection_zvertex60);
0118
0119
0120
0121 TH1D *h_fullclosure_efficiencycorrected_unfolded_iter1_zvertex = (TH1D*)h_fullclosure_unfolded_iter1_zvertex60->Clone("h_fullclosure_efficiencycorrected_unfolded_iter1_zvertex60");
0122 h_fullclosure_efficiencycorrected_unfolded_iter1_zvertex->Divide(h_fullclosure_efficiency_zvertex60);
0123
0124 TH1D *h_halfclosure_efficiencycorrected_unfolded_iter1_zvertex = (TH1D*)h_halfclosure_unfolded_iter1_zvertex60->Clone("h_halfclosure_efficiencycorrected_unfolded_iter1_zvertex60");
0125 h_halfclosure_efficiencycorrected_unfolded_iter1_zvertex->Divide(h_halfclosure_efficiency_zvertex60);
0126
0127
0128 TH1D *h_fullclosure_test3_iter1_zvertex60 = (TH1D*)h_fullclosure_efficiencycorrected_unfolded_iter1_zvertex->Clone("h_fullclosure_test3_iter1_zvertex60");
0129 h_fullclosure_test3_iter1_zvertex60->Divide(h_fullclosure_truth_zvertex60);
0130
0131 TH1D *h_halfclosure_test3_iter1_zvertex60 = (TH1D*)h_halfclosure_efficiencycorrected_unfolded_iter1_zvertex->Clone("h_halfclosure_test3_iter1_zvertex60");
0132 h_halfclosure_test3_iter1_zvertex60->Divide(h_halfclosure_truth_zvertex60);
0133
0134
0135 f_out->cd();
0136
0137 h_fullclosure_truth_zvertex60->Write();
0138 h_fullclosure_measure_zvertex60->Write();
0139 h_fullclosure_respmatrix_zvertex60->Write();
0140 h_fullclosure_fake_zvertex60->Write();
0141 h_fullclosure_miss_zvertex60->Write();
0142
0143 h_halfclosure_inputmeasure_zvertex60->Write();
0144 h_halfclosure_truth_zvertex60->Write();
0145 h_halfclosure_measure_zvertex60->Write();
0146 h_halfclosure_respmatrix_zvertex60->Write();
0147 h_halfclosure_fake_zvertex60->Write();
0148 h_halfclosure_miss_zvertex60->Write();
0149
0150
0151 h_fullclosure_purity_zvertex60->Write();
0152 h_fullclosure_efficiency_zvertex60->Write();
0153
0154 h_halfclosure_purity_zvertex60->Write();
0155 h_halfclosure_efficiency_zvertex60->Write();
0156
0157
0158 h_fullclosure_puritycorrected_measure_zvertex60->Write();
0159 h_fullclosure_recoaxis_projection_zvertex60->Write();
0160 h_fullclosure_test1_zvertex60->Write();
0161
0162 h_halfclosure_puritycorrected_measure_zvertex60->Write();
0163 h_halfclosure_recoaxis_projection_zvertex60->Write();
0164 h_halfclosure_test1_zvertex60->Write();
0165
0166
0167 h_fullclosure_unfolded_iter1_zvertex60->Write();
0168 h_fullclosure_unfolded_iter5_zvertex60->Write();
0169 h_fullclosure_truthaxis_projection_zvertex60->Write();
0170 h_fullclosure_test2_iter1_zvertex60->Write();
0171 h_fullclosure_test2_iter5_zvertex60->Write();
0172
0173 h_halfclosure_unfolded_iter1_zvertex60->Write();
0174 h_halfclosure_unfolded_iter5_zvertex60->Write();
0175 h_halfclosure_truthaxis_projection_zvertex60->Write();
0176 h_halfclosure_test2_iter1_zvertex60->Write();
0177 h_halfclosure_test2_iter5_zvertex60->Write();
0178
0179
0180 h_fullclosure_efficiencycorrected_unfolded_iter1_zvertex->Write();
0181 h_fullclosure_test3_iter1_zvertex60->Write();
0182
0183 h_halfclosure_efficiencycorrected_unfolded_iter1_zvertex->Write();
0184 h_halfclosure_test3_iter1_zvertex60->Write();
0185 f_out->Close();
0186
0187
0188 SetAtlasStyle();
0189 gStyle->SetPadTickX(1);
0190 gStyle->SetPadTickY(1);
0191
0192
0193
0194
0195
0196
0197
0198
0199
0200
0201
0202
0203
0204
0205
0206
0207
0208
0209
0210
0211
0212
0213
0214
0215
0216
0217
0218
0219
0220
0221
0222
0223
0224
0225
0226
0227
0228
0229
0230
0231
0232
0233
0234
0235
0236
0237
0238
0239
0240
0241
0242
0243
0244
0245
0246
0247
0248
0249
0250
0251
0252
0253
0254
0255
0256
0257
0258
0259
0260
0261
0262
0263
0264
0265
0266
0267
0268
0269
0270
0271
0272
0273
0274
0275
0276
0277
0278
0279
0280
0281
0282
0283
0284
0285
0286
0287
0288
0289
0290
0291
0292
0293
0294
0295
0296
0297
0298
0299
0300
0301
0302
0303
0304
0305
0306
0307
0308
0309
0310
0311
0312
0313
0314
0315
0316
0317
0318
0319
0320
0321
0322
0323
0324
0325
0326
0327
0328
0329
0330
0331
0332
0333
0334
0335
0336
0337
0338
0339
0340
0341
0342
0343
0344
0345
0346
0347
0348
0349
0350
0351
0352
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
0378
0379
0380
0381
0382
0383
0384
0385
0386
0387
0388
0389
0390
0391
0392
0393
0394
0395
0396
0397
0398
0399
0400
0401
0402
0403
0404
0405
0406
0407
0408
0409
0410
0411
0412
0413
0414
0415
0416
0417
0418
0419
0420
0421
0422
0423
0424
0425
0426
0427
0428
0429
0430
0431
0432
0433
0434
0435
0436
0437
0438
0439
0440
0441
0442
0443
0444
0445
0446
0447
0448
0449
0450
0451
0452
0453
0454
0455
0456
0457
0458
0459
0460
0461
0462
0463
0464
0465
0466
0467
0468
0469
0470
0471
0472
0473
0474
0475
0476
0477
0478
0479
0480
0481
0482
0483
0484
0485
0486
0487
0488
0489
0490
0491
0492
0493
0494
0495
0496
0497
0498
0499
0500
0501
0502
0503
0504
0505
0506
0507
0508
0509
0510
0511
0512
0513
0514
0515
0516
0517
0518
0519
0520
0521
0522
0523
0524
0525
0526
0527
0528
0529
0530
0531
0532
0533
0534
0535
0536
0537
0538
0539
0540
0541
0542
0543
0544
0545
0546
0547
0548
0549
0550
0551
0552
0553
0554
0555
0556
0557
0558
0559
0560
0561
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
0587
0588
0589
0590
0591
0592
0593
0594
0595
0596
0597
0598
0599
0600
0601
0602
0603
0604
0605
0606
0607
0608
0609
0610
0611
0612
0613
0614
0615
0616
0617
0618
0619
0620
0621
0622
0623
0624
0625
0626
0627
0628
0629
0630
0631
0632
0633
0634
0635
0636
0637
0638
0639
0640
0641
0642
0643
0644
0645
0646
0647
0648
0649
0650
0651
0652
0653
0654
0655
0656
0657
0658
0659
0660
0661
0662
0663
0664
0665 TH2D *draw_respmatrix = (TH2D*)h_halfclosure_respmatrix_zvertex60->Clone("draw_respmatrix");
0666 TCanvas *can_respmatrix = new TCanvas("can_respmatrix", "", 800, 700);
0667 gStyle->SetPalette(57);
0668 can_respmatrix->SetTopMargin(0.12);
0669 can_respmatrix->SetLeftMargin(0.15);
0670 can_respmatrix->SetBottomMargin(0.15);
0671 can_respmatrix->SetRightMargin(0.2);
0672 can_respmatrix->SetLogz();
0673 draw_respmatrix->GetXaxis()->SetTitle("p_{T}^{reco} [GeV]");
0674 draw_respmatrix->GetYaxis()->SetTitle("p_{T}^{truth} [GeV]");
0675 draw_respmatrix->GetZaxis()->SetTitle(" ");
0676 draw_respmatrix->GetZaxis()->SetRangeUser(1e-6, 2e5);
0677 draw_respmatrix->GetXaxis()->SetTitleSize(0.065);
0678 draw_respmatrix->GetYaxis()->SetTitleSize(0.065);
0679 draw_respmatrix->GetZaxis()->SetTitleSize(0.06);
0680 draw_respmatrix->GetXaxis()->SetTitleOffset(1.04);
0681 draw_respmatrix->GetYaxis()->SetTitleOffset(1.06);
0682 draw_respmatrix->GetZaxis()->SetTitleOffset(1.22);
0683 draw_respmatrix->GetXaxis()->SetLabelSize(0.055);
0684 draw_respmatrix->GetYaxis()->SetLabelSize(0.055);
0685 draw_respmatrix->GetZaxis()->SetLabelSize(0.055);
0686 draw_respmatrix->GetXaxis()->CenterTitle();
0687 draw_respmatrix->GetYaxis()->CenterTitle();
0688 draw_respmatrix->GetZaxis()->CenterTitle();
0689 draw_respmatrix->GetYaxis()->SetRangeUser(truthptbins[0], truthptbins[truthnpt-1]);
0690 draw_respmatrix->Draw("colz");
0691 myText(0.03, 0.97, 1, "#bf{#it{sPHENIX}} Simulation PYTHIA8 p+p#sqrt{s} = 200 GeV", 0.05);
0692 myText(0.03, 0.91, 1, "anti-k_{t} #kern[-0.5]{#it{R}} = 0.4, |#eta^{jet}| < 0.7, |z| < 60 cm", 0.05);
0693 can_respmatrix->SaveAs("figure_closure/halfclosure_respmatrix.png");
0694
0695
0696 TH1D *draw_measure_resp = (TH1D*)h_halfclosure_measure_zvertex60->Clone("draw_measure_resp");
0697 TH1D *draw_measure_input = (TH1D*)h_halfclosure_inputmeasure_zvertex60->Clone("draw_measure_input");
0698 TH1D *draw_measure_ratio = (TH1D*)h_halfclosure_inputmeasure_zvertex60->Clone("draw_measure_ratio");
0699 draw_measure_ratio->Divide(h_halfclosure_inputmeasure_zvertex60, h_halfclosure_measure_zvertex60, 1, 1, "B");
0700 TCanvas *can_measure = new TCanvas("can_measure", "", 800, 963);
0701 can_measure->Divide(1, 2);
0702 gStyle->SetPalette(57);
0703 TPad *pad_measure_1 = (TPad*)can_measure->cd(1);
0704 pad_measure_1->SetPad(0, 0.4, 1, 1);
0705 pad_measure_1->SetTopMargin(0.03);
0706 pad_measure_1->SetLeftMargin(0.15);
0707 pad_measure_1->SetBottomMargin(0.035);
0708 pad_measure_1->SetRightMargin(0.08);
0709 pad_measure_1->SetLogy();
0710 draw_measure_resp->SetMarkerStyle(53);
0711 draw_measure_resp->SetMarkerSize(2);
0712 draw_measure_resp->SetMarkerColor(kBlack);
0713 draw_measure_resp->SetLineColor(kBlack);
0714 draw_measure_input->SetMarkerStyle(54);
0715 draw_measure_input->SetMarkerSize(2);
0716 draw_measure_input->SetMarkerColor(kRed);
0717 draw_measure_input->SetLineColor(kRed);
0718 draw_measure_resp->GetXaxis()->SetTitle("p_{T}^{calib} [GeV]");
0719 draw_measure_resp->GetYaxis()->SetTitle("Arb. Unit");
0720 draw_measure_resp->GetXaxis()->SetRangeUser(15, 75);
0721 draw_measure_resp->GetYaxis()->SetRangeUser(5e-2, 5e5);
0722 draw_measure_resp->GetXaxis()->SetTitleSize(0.065);
0723 draw_measure_resp->GetYaxis()->SetTitleSize(0.065);
0724 draw_measure_resp->GetXaxis()->SetTitleOffset(1.04);
0725 draw_measure_resp->GetYaxis()->SetTitleOffset(1.06);
0726 draw_measure_resp->GetXaxis()->SetLabelSize(0.055);
0727 draw_measure_resp->GetYaxis()->SetLabelSize(0.055);
0728 draw_measure_resp->GetXaxis()->SetLabelOffset(2);
0729 draw_measure_resp->GetXaxis()->CenterTitle();
0730 draw_measure_resp->GetYaxis()->CenterTitle();
0731 draw_measure_resp->Draw();
0732 draw_measure_input->Draw("same");
0733 myText(0.58, 0.9, 1, "#bf{#it{sPHENIX}} Simulation", 0.05);
0734 myText(0.58, 0.84, 1, "anti-k_{t} #kern[-0.5]{#it{R}} = 0.4", 0.05);
0735 myText(0.58, 0.78, 1, "|#eta^{jet}| < 0.7", 0.05);
0736 myText(0.58, 0.72, 1, "|z| < 60 cm", 0.05);
0737 myMarkerLineText(0.25, 0.2, 2, kBlack, 53, kBlack, 1, "h_measure", 0.05, true);
0738 myMarkerLineText(0.25, 0.12, 2, kRed, 54, kRed, 1, "h_input", 0.05, true);
0739 TPad *pad_measure_2 = (TPad*)can_measure->cd(2);
0740 pad_measure_2->SetPad(0, 0, 1, 0.4);
0741 pad_measure_2->SetTopMargin(0.03);
0742 pad_measure_2->SetLeftMargin(0.15);
0743 pad_measure_2->SetBottomMargin(0.25);
0744 pad_measure_2->SetRightMargin(0.08);
0745 draw_measure_ratio->SetMarkerStyle(53);
0746 draw_measure_ratio->SetMarkerSize(2);
0747 draw_measure_ratio->SetMarkerColor(kBlack);
0748 draw_measure_ratio->SetLineColor(kBlack);
0749 draw_measure_ratio->GetXaxis()->SetTitle("p_{T}^{reco} [GeV]");
0750 draw_measure_ratio->GetYaxis()->SetTitle("h_input / h_measure");
0751 draw_measure_ratio->GetXaxis()->SetRangeUser(15, 75);
0752 draw_measure_ratio->GetYaxis()->SetRangeUser(0.85, 1.05);
0753 draw_measure_ratio->GetXaxis()->CenterTitle();
0754 draw_measure_ratio->GetYaxis()->CenterTitle();
0755 draw_measure_ratio->GetXaxis()->SetTitleOffset(0.95);
0756 draw_measure_ratio->GetYaxis()->SetTitleOffset(draw_measure_resp->GetYaxis()->GetTitleOffset()*4/6.);
0757 draw_measure_ratio->GetXaxis()->SetLabelSize(draw_measure_resp->GetXaxis()->GetLabelSize()*6/4.);
0758 draw_measure_ratio->GetYaxis()->SetLabelSize(draw_measure_resp->GetYaxis()->GetLabelSize()*6/4.);
0759 draw_measure_ratio->GetXaxis()->SetTitleSize(draw_measure_resp->GetXaxis()->GetTitleSize()*6/4.);
0760 draw_measure_ratio->GetYaxis()->SetTitleSize(draw_measure_resp->GetYaxis()->GetTitleSize()*6/4.);
0761 draw_measure_ratio->Draw();
0762 TLine *line_measure;
0763 line_measure = new TLine(15, 1, 75, 1);
0764 line_measure->SetLineColor(kBlack);
0765 line_measure->SetLineStyle(3);
0766 line_measure->Draw("same");
0767 can_measure->SaveAs("figure_closure/halfclosure_measure.png");
0768
0769
0770 TH1D *draw_measure = (TH1D*)h_halfclosure_measure_zvertex60->Clone("draw_measure");
0771 TH1D *draw_fake = (TH1D*)h_halfclosure_fake_zvertex60->Clone("draw_fake");
0772 TH1D *draw_purity = (TH1D*)h_halfclosure_purity_zvertex60->Clone("draw_purity");
0773 TCanvas *can_purity = new TCanvas("can_purity", "", 800, 963);
0774 can_purity->Divide(1, 2);
0775 gStyle->SetPalette(57);
0776 TPad *pad_purity_1 = (TPad*)can_purity->cd(1);
0777 pad_purity_1->SetPad(0, 0.4, 1, 1);
0778 pad_purity_1->SetTopMargin(0.03);
0779 pad_purity_1->SetLeftMargin(0.15);
0780 pad_purity_1->SetBottomMargin(0.035);
0781 pad_purity_1->SetRightMargin(0.08);
0782 pad_purity_1->SetLogy();
0783 draw_measure->SetMarkerStyle(53);
0784 draw_measure->SetMarkerSize(2);
0785 draw_measure->SetMarkerColor(kBlack);
0786 draw_measure->SetLineColor(kBlack);
0787 draw_fake->SetMarkerStyle(54);
0788 draw_fake->SetMarkerSize(2);
0789 draw_fake->SetMarkerColor(kRed);
0790 draw_fake->SetLineColor(kRed);
0791 draw_measure->GetXaxis()->SetTitle("p_{T}^{reco} [GeV]");
0792 draw_measure->GetYaxis()->SetTitle("Arb. Unit");
0793 draw_measure->GetXaxis()->SetRangeUser(15, 75);
0794 draw_measure->GetYaxis()->SetRangeUser(5e-2, 5e5);
0795 draw_measure->GetXaxis()->SetTitleSize(0.065);
0796 draw_measure->GetYaxis()->SetTitleSize(0.065);
0797 draw_measure->GetXaxis()->SetTitleOffset(1.04);
0798 draw_measure->GetYaxis()->SetTitleOffset(1.06);
0799 draw_measure->GetXaxis()->SetLabelSize(0.055);
0800 draw_measure->GetYaxis()->SetLabelSize(0.055);
0801 draw_measure->GetXaxis()->SetLabelOffset(2);
0802 draw_measure->GetXaxis()->CenterTitle();
0803 draw_measure->GetYaxis()->CenterTitle();
0804 draw_measure->Draw();
0805 draw_fake->Draw("same");
0806 myText(0.58, 0.9, 1, "#bf{#it{sPHENIX}} Simulation", 0.05);
0807 myText(0.58, 0.84, 1, "anti-k_{t} #kern[-0.5]{#it{R}} = 0.4", 0.05);
0808 myText(0.58, 0.78, 1, "|#eta^{jet}| < 0.7", 0.05);
0809 myText(0.58, 0.72, 1, "|z| < 60 cm", 0.05);
0810 myMarkerLineText(0.25, 0.2, 2, kBlack, 53, kBlack, 1, "h_measure", 0.05, true);
0811 myMarkerLineText(0.25, 0.12, 2, kRed, 54, kRed, 1, "h_fake", 0.05, true);
0812 TPad *pad_purity_2 = (TPad*)can_purity->cd(2);
0813 pad_purity_2->SetPad(0, 0, 1, 0.4);
0814 pad_purity_2->SetTopMargin(0.03);
0815 pad_purity_2->SetLeftMargin(0.15);
0816 pad_purity_2->SetBottomMargin(0.25);
0817 pad_purity_2->SetRightMargin(0.08);
0818 draw_purity->SetMarkerStyle(53);
0819 draw_purity->SetMarkerSize(2);
0820 draw_purity->SetMarkerColor(kBlack);
0821 draw_purity->SetLineColor(kBlack);
0822 draw_purity->GetXaxis()->SetTitle("p_{T}^{reco} [GeV]");
0823 draw_purity->GetYaxis()->SetTitle("Purity");
0824 draw_purity->GetXaxis()->SetRangeUser(15, 75);
0825 draw_purity->GetYaxis()->SetRangeUser(0.85, 1.05);
0826 draw_purity->GetXaxis()->CenterTitle();
0827 draw_purity->GetYaxis()->CenterTitle();
0828 draw_purity->GetXaxis()->SetTitleOffset(0.95);
0829 draw_purity->GetYaxis()->SetTitleOffset(draw_measure->GetYaxis()->GetTitleOffset()*4/6.);
0830 draw_purity->GetXaxis()->SetLabelSize(draw_measure->GetXaxis()->GetLabelSize()*6/4.);
0831 draw_purity->GetYaxis()->SetLabelSize(draw_measure->GetYaxis()->GetLabelSize()*6/4.);
0832 draw_purity->GetXaxis()->SetTitleSize(draw_measure->GetXaxis()->GetTitleSize()*6/4.);
0833 draw_purity->GetYaxis()->SetTitleSize(draw_measure->GetYaxis()->GetTitleSize()*6/4.);
0834 draw_purity->Draw();
0835 myText(0.22, 0.9, 1, "h_purity = (h_measure - h_fake) / h_measure", 0.075);
0836 TLine *line_purity;
0837 line_purity = new TLine(15, 1, 75, 1);
0838 line_purity->SetLineColor(kBlack);
0839 line_purity->SetLineStyle(3);
0840 line_purity->Draw("same");
0841 can_purity->SaveAs("figure_closure/halfclosure_purity.png");
0842
0843 TH1D *draw_truth = (TH1D*)h_halfclosure_truth_zvertex60->Clone("draw_truth");
0844 TH1D *draw_miss = (TH1D*)h_halfclosure_miss_zvertex60->Clone("draw_miss");
0845 TH1D *draw_efficiency = (TH1D*)h_halfclosure_efficiency_zvertex60->Clone("draw_efficiency");
0846 TCanvas *can_efficiency = new TCanvas("can_efficiency", "", 800, 963);
0847 can_efficiency->Divide(1, 2);
0848 gStyle->SetPalette(57);
0849 TPad *pad_efficiency_1 = (TPad*)can_efficiency->cd(1);
0850 pad_efficiency_1->SetPad(0, 0.4, 1, 1);
0851 pad_efficiency_1->SetTopMargin(0.03);
0852 pad_efficiency_1->SetLeftMargin(0.15);
0853 pad_efficiency_1->SetBottomMargin(0.035);
0854 pad_efficiency_1->SetRightMargin(0.08);
0855 pad_efficiency_1->SetLogy();
0856 draw_truth->SetMarkerStyle(53);
0857 draw_truth->SetMarkerSize(2);
0858 draw_truth->SetMarkerColor(kBlack);
0859 draw_truth->SetLineColor(kBlack);
0860 draw_miss->SetMarkerStyle(54);
0861 draw_miss->SetMarkerSize(2);
0862 draw_miss->SetMarkerColor(kRed);
0863 draw_miss->SetLineColor(kRed);
0864 draw_truth->GetXaxis()->SetTitle("p_{T}^{truth} [GeV]");
0865 draw_truth->GetYaxis()->SetTitle("Arb. Unit");
0866 draw_truth->GetXaxis()->SetRangeUser(7, 86);
0867 draw_truth->GetYaxis()->SetRangeUser(5e-4, 5e7);
0868 draw_truth->GetXaxis()->SetTitleSize(0.065);
0869 draw_truth->GetYaxis()->SetTitleSize(0.065);
0870 draw_truth->GetXaxis()->SetTitleOffset(1.04);
0871 draw_truth->GetYaxis()->SetTitleOffset(1.06);
0872 draw_truth->GetXaxis()->SetLabelSize(0.055);
0873 draw_truth->GetYaxis()->SetLabelSize(0.055);
0874 draw_truth->GetXaxis()->SetLabelOffset(2);
0875 draw_truth->GetXaxis()->CenterTitle();
0876 draw_truth->GetYaxis()->CenterTitle();
0877 draw_truth->Draw();
0878 draw_miss->Draw("same");
0879 myText(0.58, 0.9, 1, "#bf{#it{sPHENIX}} Simulation", 0.05);
0880 myText(0.58, 0.84, 1, "anti-k_{t} #kern[-0.5]{#it{R}} = 0.4", 0.05);
0881 myText(0.58, 0.78, 1, "|#eta^{jet}| < 0.7", 0.05);
0882 myText(0.58, 0.72, 1, "|z| < 60 cm", 0.05);
0883 myMarkerLineText(0.25, 0.2, 2, kBlack, 53, kBlack, 1, "h_truth", 0.05, true);
0884 myMarkerLineText(0.25, 0.12, 2, kRed, 54, kRed, 1, "h_miss", 0.05, true);
0885 TPad *pad_efficiency_2 = (TPad*)can_efficiency->cd(2);
0886 pad_efficiency_2->SetPad(0, 0, 1, 0.4);
0887 pad_efficiency_2->SetTopMargin(0.03);
0888 pad_efficiency_2->SetLeftMargin(0.15);
0889 pad_efficiency_2->SetBottomMargin(0.25);
0890 pad_efficiency_2->SetRightMargin(0.08);
0891 draw_efficiency->SetMarkerStyle(53);
0892 draw_efficiency->SetMarkerSize(2);
0893 draw_efficiency->SetMarkerColor(kBlack);
0894 draw_efficiency->SetLineColor(kBlack);
0895 draw_efficiency->GetXaxis()->SetTitle("p_{T}^{truth} [GeV]");
0896 draw_efficiency->GetYaxis()->SetTitle("Efficiency");
0897 draw_efficiency->GetXaxis()->SetRangeUser(7, 86);
0898 draw_efficiency->GetYaxis()->SetRangeUser(0, 1.2);
0899 draw_efficiency->GetXaxis()->CenterTitle();
0900 draw_efficiency->GetYaxis()->CenterTitle();
0901 draw_efficiency->GetXaxis()->SetTitleOffset(0.95);
0902 draw_efficiency->GetYaxis()->SetTitleOffset(draw_truth->GetYaxis()->GetTitleOffset()*4/6.);
0903 draw_efficiency->GetXaxis()->SetLabelSize(draw_truth->GetXaxis()->GetLabelSize()*6/4.);
0904 draw_efficiency->GetYaxis()->SetLabelSize(draw_truth->GetYaxis()->GetLabelSize()*6/4.);
0905 draw_efficiency->GetXaxis()->SetTitleSize(draw_truth->GetXaxis()->GetTitleSize()*6/4.);
0906 draw_efficiency->GetYaxis()->SetTitleSize(draw_truth->GetYaxis()->GetTitleSize()*6/4.);
0907 draw_efficiency->Draw();
0908 myText(0.22, 0.9, 1, "h_efficiency = (h_truth - h_miss) / h_truth", 0.075);
0909 TLine *line_efficiency;
0910 line_efficiency = new TLine(7, 1, 86, 1);
0911 line_efficiency->SetLineColor(kBlack);
0912 line_efficiency->SetLineStyle(3);
0913 line_efficiency->Draw("same");
0914 can_efficiency->SaveAs("figure_closure/halfclosure_efficiency.png");
0915
0916
0917 TH1D *draw_correctedmeasure = (TH1D*)h_halfclosure_puritycorrected_measure_zvertex60->Clone("draw_correctedmeasure");
0918 TH1D *draw_recoprojection = (TH1D*)h_halfclosure_recoaxis_projection_zvertex60->Clone("draw_recoprojection");
0919 TH1D *draw_test1 = (TH1D*)h_halfclosure_test1_zvertex60->Clone("draw_test1");
0920 TCanvas *can_test1 = new TCanvas("can_test1", "", 800, 963);
0921 can_test1->Divide(1, 2);
0922 gStyle->SetPalette(57);
0923 TPad *pad_test1_1 = (TPad*)can_test1->cd(1);
0924 pad_test1_1->SetPad(0, 0.4, 1, 1);
0925 pad_test1_1->SetTopMargin(0.03);
0926 pad_test1_1->SetLeftMargin(0.15);
0927 pad_test1_1->SetBottomMargin(0.035);
0928 pad_test1_1->SetRightMargin(0.08);
0929 pad_test1_1->SetLogy();
0930 draw_correctedmeasure->SetMarkerStyle(53);
0931 draw_correctedmeasure->SetMarkerSize(2);
0932 draw_correctedmeasure->SetMarkerColor(kBlack);
0933 draw_correctedmeasure->SetLineColor(kBlack);
0934 draw_recoprojection->SetMarkerStyle(54);
0935 draw_recoprojection->SetMarkerSize(2);
0936 draw_recoprojection->SetMarkerColor(kRed);
0937 draw_recoprojection->SetLineColor(kRed);
0938 draw_correctedmeasure->GetXaxis()->SetTitle("p_{T}^{reco} [GeV]");
0939 draw_correctedmeasure->GetYaxis()->SetTitle("Arb. Unit");
0940 draw_correctedmeasure->GetXaxis()->SetRangeUser(15, 75);
0941 draw_correctedmeasure->GetYaxis()->SetRangeUser(1, 5e5);
0942 draw_correctedmeasure->GetXaxis()->SetTitleSize(0.065);
0943 draw_correctedmeasure->GetYaxis()->SetTitleSize(0.065);
0944 draw_correctedmeasure->GetXaxis()->SetTitleOffset(1.04);
0945 draw_correctedmeasure->GetYaxis()->SetTitleOffset(1.06);
0946 draw_correctedmeasure->GetXaxis()->SetLabelSize(0.055);
0947 draw_correctedmeasure->GetYaxis()->SetLabelSize(0.055);
0948 draw_correctedmeasure->GetXaxis()->SetLabelOffset(2);
0949 draw_correctedmeasure->GetXaxis()->CenterTitle();
0950 draw_correctedmeasure->GetYaxis()->CenterTitle();
0951 draw_correctedmeasure->Draw();
0952 draw_recoprojection->Draw("same");
0953 myText(0.58, 0.9, 1, "#bf{#it{sPHENIX}} Simulation", 0.05);
0954 myText(0.58, 0.84, 1, "anti-k_{t} #kern[-0.5]{#it{R}} = 0.4", 0.05);
0955 myText(0.58, 0.78, 1, "|#eta^{jet}| < 0.7", 0.05);
0956 myText(0.58, 0.72, 1, "|z| < 60 cm", 0.05);
0957 myMarkerLineText(0.25, 0.2, 2, kBlack, 53, kBlack, 1, "h_measure #times h_purity", 0.05, true);
0958 myMarkerLineText(0.25, 0.12, 2, kRed, 54, kRed, 1, "Reco axis projection of response matrix", 0.05, true);
0959 TPad *pad_test1_2 = (TPad*)can_test1->cd(2);
0960 pad_test1_2->SetPad(0, 0, 1, 0.4);
0961 pad_test1_2->SetTopMargin(0.03);
0962 pad_test1_2->SetLeftMargin(0.15);
0963 pad_test1_2->SetBottomMargin(0.25);
0964 pad_test1_2->SetRightMargin(0.08);
0965 draw_test1->SetMarkerStyle(53);
0966 draw_test1->SetMarkerSize(2);
0967 draw_test1->SetMarkerColor(kBlack);
0968 draw_test1->SetLineColor(kBlack);
0969 draw_test1->GetXaxis()->SetTitle("p_{T}^{reco} [GeV]");
0970 draw_test1->GetYaxis()->SetTitle("Ratio");
0971 draw_test1->GetXaxis()->SetRangeUser(15, 75);
0972 draw_test1->GetYaxis()->SetRangeUser(0.85, 1.15);
0973 draw_test1->GetXaxis()->CenterTitle();
0974 draw_test1->GetYaxis()->CenterTitle();
0975 draw_test1->GetXaxis()->SetTitleOffset(0.95);
0976 draw_test1->GetYaxis()->SetTitleOffset(draw_correctedmeasure->GetYaxis()->GetTitleOffset()*4/6.);
0977 draw_test1->GetXaxis()->SetLabelSize(draw_correctedmeasure->GetXaxis()->GetLabelSize()*6/4.);
0978 draw_test1->GetYaxis()->SetLabelSize(draw_correctedmeasure->GetYaxis()->GetLabelSize()*6/4.);
0979 draw_test1->GetXaxis()->SetTitleSize(draw_correctedmeasure->GetXaxis()->GetTitleSize()*6/4.);
0980 draw_test1->GetYaxis()->SetTitleSize(draw_correctedmeasure->GetYaxis()->GetTitleSize()*6/4.);
0981 draw_test1->Draw();
0982 TLine *line_test1;
0983 line_test1 = new TLine(15, 1, 75, 1);
0984 line_test1->SetLineColor(kBlack);
0985 line_test1->SetLineStyle(3);
0986 line_test1->Draw("same");
0987 can_test1->SaveAs("figure_closure/halfclosure_test1.png");
0988
0989
0990 TH1D *draw_unfolded_iter1 = (TH1D*)h_halfclosure_unfolded_iter1_zvertex60->Clone("draw_unfolded_iter1");
0991 TH1D *draw_unfolded_iter5 = (TH1D*)h_halfclosure_unfolded_iter5_zvertex60->Clone("draw_unfolded_iter5");
0992 TH1D *draw_truthprojection = (TH1D*)h_halfclosure_truthaxis_projection_zvertex60->Clone("draw_truthprojection");
0993 TH1D *draw_test2_iter1 = (TH1D*)h_halfclosure_test2_iter1_zvertex60->Clone("draw_test2_iter1");
0994 TH1D *draw_test2_iter5 = (TH1D*)h_halfclosure_test2_iter5_zvertex60->Clone("draw_test2_iter5");
0995
0996 TCanvas *can_test2_iter1 = new TCanvas("can_test2_iter1", "", 800, 963);
0997 can_test2_iter1->Divide(1, 2);
0998 gStyle->SetPalette(57);
0999 TPad *pad_test2_iter1_1 = (TPad*)can_test2_iter1->cd(1);
1000 pad_test2_iter1_1->SetPad(0, 0.4, 1, 1);
1001 pad_test2_iter1_1->SetTopMargin(0.03);
1002 pad_test2_iter1_1->SetLeftMargin(0.15);
1003 pad_test2_iter1_1->SetBottomMargin(0.035);
1004 pad_test2_iter1_1->SetRightMargin(0.08);
1005 pad_test2_iter1_1->SetLogy();
1006 draw_unfolded_iter1->SetMarkerStyle(53);
1007 draw_unfolded_iter1->SetMarkerSize(2);
1008 draw_unfolded_iter1->SetMarkerColor(kBlack);
1009 draw_unfolded_iter1->SetLineColor(kBlack);
1010 draw_truthprojection->SetMarkerStyle(54);
1011 draw_truthprojection->SetMarkerSize(2);
1012 draw_truthprojection->SetMarkerColor(kRed);
1013 draw_truthprojection->SetLineColor(kRed);
1014 draw_unfolded_iter1->GetXaxis()->SetTitle("p_{T}^{truth} [GeV]");
1015 draw_unfolded_iter1->GetYaxis()->SetTitle("Arb. Unit");
1016 draw_unfolded_iter1->GetXaxis()->SetRangeUser(7, 86);
1017 draw_unfolded_iter1->GetYaxis()->SetRangeUser(5e-4, 5e5);
1018 draw_unfolded_iter1->GetXaxis()->SetTitleSize(0.065);
1019 draw_unfolded_iter1->GetYaxis()->SetTitleSize(0.065);
1020 draw_unfolded_iter1->GetXaxis()->SetTitleOffset(1.04);
1021 draw_unfolded_iter1->GetYaxis()->SetTitleOffset(1.06);
1022 draw_unfolded_iter1->GetXaxis()->SetLabelSize(0.055);
1023 draw_unfolded_iter1->GetYaxis()->SetLabelSize(0.055);
1024 draw_unfolded_iter1->GetXaxis()->SetLabelOffset(2);
1025 draw_unfolded_iter1->GetXaxis()->CenterTitle();
1026 draw_unfolded_iter1->GetYaxis()->CenterTitle();
1027 draw_unfolded_iter1->Draw();
1028 draw_truthprojection->Draw("same");
1029 myText(0.58, 0.9, 1, "#bf{#it{sPHENIX}} Simulation", 0.05);
1030 myText(0.58, 0.84, 1, "anti-k_{t} #kern[-0.5]{#it{R}} = 0.4", 0.05);
1031 myText(0.58, 0.78, 1, "|#eta^{jet}| < 0.7", 0.05);
1032 myText(0.58, 0.72, 1, "|z| < 60 cm", 0.05);
1033 myMarkerLineText(0.25, 0.2, 2, kBlack, 53, kBlack, 1, "h_unfolded (1 iteration)", 0.05, true);
1034 myMarkerLineText(0.25, 0.12, 2, kRed, 54, kRed, 1, "Truth axis projection of response matrix", 0.05, true);
1035 TPad *pad_test2_iter1_2 = (TPad*)can_test2_iter1->cd(2);
1036 pad_test2_iter1_2->SetPad(0, 0, 1, 0.4);
1037 pad_test2_iter1_2->SetTopMargin(0.03);
1038 pad_test2_iter1_2->SetLeftMargin(0.15);
1039 pad_test2_iter1_2->SetBottomMargin(0.25);
1040 pad_test2_iter1_2->SetRightMargin(0.08);
1041 draw_test2_iter1->SetMarkerStyle(53);
1042 draw_test2_iter1->SetMarkerSize(2);
1043 draw_test2_iter1->SetMarkerColor(kBlack);
1044 draw_test2_iter1->SetLineColor(kBlack);
1045 draw_test2_iter1->GetXaxis()->SetTitle("p_{T}^{truth} [GeV]");
1046 draw_test2_iter1->GetYaxis()->SetTitle("Ratio");
1047 draw_test2_iter1->GetXaxis()->SetRangeUser(7, 86);
1048 draw_test2_iter1->GetYaxis()->SetRangeUser(0.85, 1.15);
1049 draw_test2_iter1->GetXaxis()->CenterTitle();
1050 draw_test2_iter1->GetYaxis()->CenterTitle();
1051 draw_test2_iter1->GetXaxis()->SetTitleOffset(0.95);
1052 draw_test2_iter1->GetYaxis()->SetTitleOffset(draw_unfolded_iter1->GetYaxis()->GetTitleOffset()*4/6.);
1053 draw_test2_iter1->GetXaxis()->SetLabelSize(draw_unfolded_iter1->GetXaxis()->GetLabelSize()*6/4.);
1054 draw_test2_iter1->GetYaxis()->SetLabelSize(draw_unfolded_iter1->GetYaxis()->GetLabelSize()*6/4.);
1055 draw_test2_iter1->GetXaxis()->SetTitleSize(draw_unfolded_iter1->GetXaxis()->GetTitleSize()*6/4.);
1056 draw_test2_iter1->GetYaxis()->SetTitleSize(draw_unfolded_iter1->GetYaxis()->GetTitleSize()*6/4.);
1057 draw_test2_iter1->Draw();
1058 TLine *line_test2_iter1;
1059 line_test2_iter1 = new TLine(7, 1, 86, 1);
1060 line_test2_iter1->SetLineColor(kBlack);
1061 line_test2_iter1->SetLineStyle(3);
1062 line_test2_iter1->Draw("same");
1063 can_test2_iter1->SaveAs("figure_closure/halfclosure_test2_iter1.png");
1064
1065 TCanvas *can_test2_iter5 = new TCanvas("can_test2_iter5", "", 800, 963);
1066 can_test2_iter5->Divide(1, 2);
1067 gStyle->SetPalette(57);
1068 TPad *pad_test2_iter5_1 = (TPad*)can_test2_iter5->cd(1);
1069 pad_test2_iter5_1->SetPad(0, 0.4, 1, 1);
1070 pad_test2_iter5_1->SetTopMargin(0.03);
1071 pad_test2_iter5_1->SetLeftMargin(0.15);
1072 pad_test2_iter5_1->SetBottomMargin(0.035);
1073 pad_test2_iter5_1->SetRightMargin(0.08);
1074 pad_test2_iter5_1->SetLogy();
1075 draw_unfolded_iter5->SetMarkerStyle(53);
1076 draw_unfolded_iter5->SetMarkerSize(2);
1077 draw_unfolded_iter5->SetMarkerColor(kBlack);
1078 draw_unfolded_iter5->SetLineColor(kBlack);
1079 draw_truthprojection->SetMarkerStyle(54);
1080 draw_truthprojection->SetMarkerSize(2);
1081 draw_truthprojection->SetMarkerColor(kRed);
1082 draw_truthprojection->SetLineColor(kRed);
1083 draw_unfolded_iter5->GetXaxis()->SetTitle("p_{T}^{truth} [GeV]");
1084 draw_unfolded_iter5->GetYaxis()->SetTitle("Arb. Unit");
1085 draw_unfolded_iter5->GetXaxis()->SetRangeUser(7, 86);
1086 draw_unfolded_iter5->GetYaxis()->SetRangeUser(5e-4, 5e5);
1087 draw_unfolded_iter5->GetXaxis()->SetTitleSize(0.065);
1088 draw_unfolded_iter5->GetYaxis()->SetTitleSize(0.065);
1089 draw_unfolded_iter5->GetXaxis()->SetTitleOffset(1.04);
1090 draw_unfolded_iter5->GetYaxis()->SetTitleOffset(1.06);
1091 draw_unfolded_iter5->GetXaxis()->SetLabelSize(0.055);
1092 draw_unfolded_iter5->GetYaxis()->SetLabelSize(0.055);
1093 draw_unfolded_iter5->GetXaxis()->SetLabelOffset(2);
1094 draw_unfolded_iter5->GetXaxis()->CenterTitle();
1095 draw_unfolded_iter5->GetYaxis()->CenterTitle();
1096 draw_unfolded_iter5->Draw();
1097 draw_truthprojection->Draw("same");
1098 myText(0.58, 0.9, 1, "#bf{#it{sPHENIX}} Simulation", 0.05);
1099 myText(0.58, 0.84, 1, "anti-k_{t} #kern[-0.5]{#it{R}} = 0.4", 0.05);
1100 myText(0.58, 0.78, 1, "|#eta^{jet}| < 0.7", 0.05);
1101 myText(0.58, 0.72, 1, "|z| < 60 cm", 0.05);
1102 myMarkerLineText(0.25, 0.2, 2, kBlack, 53, kBlack, 1, "h_unfolded (5 iteration)", 0.05, true);
1103 myMarkerLineText(0.25, 0.12, 2, kRed, 54, kRed, 1, "Truth axis projection of response matrix", 0.05, true);
1104 TPad *pad_test2_iter5_2 = (TPad*)can_test2_iter5->cd(2);
1105 pad_test2_iter5_2->SetPad(0, 0, 1, 0.4);
1106 pad_test2_iter5_2->SetTopMargin(0.03);
1107 pad_test2_iter5_2->SetLeftMargin(0.15);
1108 pad_test2_iter5_2->SetBottomMargin(0.25);
1109 pad_test2_iter5_2->SetRightMargin(0.08);
1110 draw_test2_iter5->SetMarkerStyle(53);
1111 draw_test2_iter5->SetMarkerSize(2);
1112 draw_test2_iter5->SetMarkerColor(kBlack);
1113 draw_test2_iter5->SetLineColor(kBlack);
1114 draw_test2_iter5->GetXaxis()->SetTitle("p_{T}^{truth} [GeV]");
1115 draw_test2_iter5->GetYaxis()->SetTitle("Ratio");
1116 draw_test2_iter5->GetXaxis()->SetRangeUser(7, 86);
1117 draw_test2_iter5->GetYaxis()->SetRangeUser(0.85, 1.15);
1118 draw_test2_iter5->GetXaxis()->CenterTitle();
1119 draw_test2_iter5->GetYaxis()->CenterTitle();
1120 draw_test2_iter5->GetXaxis()->SetTitleOffset(0.95);
1121 draw_test2_iter5->GetYaxis()->SetTitleOffset(draw_unfolded_iter5->GetYaxis()->GetTitleOffset()*4/6.);
1122 draw_test2_iter5->GetXaxis()->SetLabelSize(draw_unfolded_iter5->GetXaxis()->GetLabelSize()*6/4.);
1123 draw_test2_iter5->GetYaxis()->SetLabelSize(draw_unfolded_iter5->GetYaxis()->GetLabelSize()*6/4.);
1124 draw_test2_iter5->GetXaxis()->SetTitleSize(draw_unfolded_iter5->GetXaxis()->GetTitleSize()*6/4.);
1125 draw_test2_iter5->GetYaxis()->SetTitleSize(draw_unfolded_iter5->GetYaxis()->GetTitleSize()*6/4.);
1126 draw_test2_iter5->Draw();
1127 TLine *line_test2_iter5;
1128 line_test2_iter5 = new TLine(7, 1, 86, 1);
1129 line_test2_iter5->SetLineColor(kBlack);
1130 line_test2_iter5->SetLineStyle(3);
1131 line_test2_iter5->Draw("same");
1132 can_test2_iter5->SaveAs("figure_closure/halfclosure_test2_iter5.png");
1133
1134
1135 TH1D *draw_efficiencycorrected_unfolded = (TH1D*)h_halfclosure_efficiencycorrected_unfolded_iter1_zvertex->Clone("draw_efficiencycorrected_unfolded");
1136 TH1D *draw_truth_final = (TH1D*)h_halfclosure_truth_zvertex60->Clone("draw_truth_final");
1137 TH1D *draw_test3 = (TH1D*)h_halfclosure_test3_iter1_zvertex60->Clone("draw_test3");
1138 TCanvas *can_test3 = new TCanvas("can_test3", "", 800, 963);
1139 can_test3->Divide(1, 2);
1140 gStyle->SetPalette(57);
1141 TPad *pad_test3_1 = (TPad*)can_test3->cd(1);
1142 pad_test3_1->SetPad(0, 0.4, 1, 1);
1143 pad_test3_1->SetTopMargin(0.03);
1144 pad_test3_1->SetLeftMargin(0.15);
1145 pad_test3_1->SetBottomMargin(0.035);
1146 pad_test3_1->SetRightMargin(0.08);
1147 pad_test3_1->SetLogy();
1148 draw_efficiencycorrected_unfolded->SetMarkerStyle(53);
1149 draw_efficiencycorrected_unfolded->SetMarkerSize(2);
1150 draw_efficiencycorrected_unfolded->SetMarkerColor(kBlack);
1151 draw_efficiencycorrected_unfolded->SetLineColor(kBlack);
1152 draw_truth_final->SetMarkerStyle(54);
1153 draw_truth_final->SetMarkerSize(2);
1154 draw_truth_final->SetMarkerColor(kRed);
1155 draw_truth_final->SetLineColor(kRed);
1156 draw_efficiencycorrected_unfolded->GetXaxis()->SetTitle("p_{T}^{truth} [GeV]");
1157 draw_efficiencycorrected_unfolded->GetYaxis()->SetTitle("Arb. Unit");
1158 draw_efficiencycorrected_unfolded->GetXaxis()->SetRangeUser(7, 86);
1159 draw_efficiencycorrected_unfolded->GetYaxis()->SetRangeUser(5e-4, 1e8);
1160 draw_efficiencycorrected_unfolded->GetXaxis()->SetTitleSize(0.065);
1161 draw_efficiencycorrected_unfolded->GetYaxis()->SetTitleSize(0.065);
1162 draw_efficiencycorrected_unfolded->GetXaxis()->SetTitleOffset(1.04);
1163 draw_efficiencycorrected_unfolded->GetYaxis()->SetTitleOffset(1.06);
1164 draw_efficiencycorrected_unfolded->GetXaxis()->SetLabelSize(0.055);
1165 draw_efficiencycorrected_unfolded->GetYaxis()->SetLabelSize(0.055);
1166 draw_efficiencycorrected_unfolded->GetXaxis()->SetLabelOffset(2);
1167 draw_efficiencycorrected_unfolded->GetXaxis()->CenterTitle();
1168 draw_efficiencycorrected_unfolded->GetYaxis()->CenterTitle();
1169 draw_efficiencycorrected_unfolded->Draw();
1170 draw_truth_final->Draw("same");
1171 myText(0.58, 0.9, 1, "#bf{#it{sPHENIX}} Simulation", 0.05);
1172 myText(0.58, 0.84, 1, "anti-k_{t} #kern[-0.5]{#it{R}} = 0.4", 0.05);
1173 myText(0.58, 0.78, 1, "|#eta^{jet}| < 0.7", 0.05);
1174 myText(0.58, 0.72, 1, "|z| < 60 cm", 0.05);
1175 myMarkerLineText(0.25, 0.2, 2, kBlack, 53, kBlack, 1, "h_unfolded (1 iteration) / h_efficiency", 0.05, true);
1176 myMarkerLineText(0.25, 0.12, 2, kRed, 54, kRed, 1, "h_truth", 0.05, true);
1177 TPad *pad_test3_2 = (TPad*)can_test3->cd(2);
1178 pad_test3_2->SetPad(0, 0, 1, 0.4);
1179 pad_test3_2->SetTopMargin(0.03);
1180 pad_test3_2->SetLeftMargin(0.15);
1181 pad_test3_2->SetBottomMargin(0.25);
1182 pad_test3_2->SetRightMargin(0.08);
1183 draw_test3->SetMarkerStyle(53);
1184 draw_test3->SetMarkerSize(2);
1185 draw_test3->SetMarkerColor(kBlack);
1186 draw_test3->SetLineColor(kBlack);
1187 draw_test3->GetXaxis()->SetTitle("p_{T}^{truth} [GeV]");
1188 draw_test3->GetYaxis()->SetTitle("Ratio");
1189 draw_test3->GetXaxis()->SetRangeUser(7, 86);
1190 draw_test3->GetYaxis()->SetRangeUser(0.85, 1.15);
1191 draw_test3->GetXaxis()->CenterTitle();
1192 draw_test3->GetYaxis()->CenterTitle();
1193 draw_test3->GetXaxis()->SetTitleOffset(0.95);
1194 draw_test3->GetYaxis()->SetTitleOffset(draw_efficiencycorrected_unfolded->GetYaxis()->GetTitleOffset()*4/6.);
1195 draw_test3->GetXaxis()->SetLabelSize(draw_efficiencycorrected_unfolded->GetXaxis()->GetLabelSize()*6/4.);
1196 draw_test3->GetYaxis()->SetLabelSize(draw_efficiencycorrected_unfolded->GetYaxis()->GetLabelSize()*6/4.);
1197 draw_test3->GetXaxis()->SetTitleSize(draw_efficiencycorrected_unfolded->GetXaxis()->GetTitleSize()*6/4.);
1198 draw_test3->GetYaxis()->SetTitleSize(draw_efficiencycorrected_unfolded->GetYaxis()->GetTitleSize()*6/4.);
1199 draw_test3->Draw();
1200 TLine *line_test3;
1201 line_test3 = new TLine(7, 1, 86, 1);
1202 line_test3->SetLineColor(kBlack);
1203 line_test3->SetLineStyle(3);
1204 line_test3->Draw("same");
1205 can_test3->SaveAs("figure_closure/halfclosure_test3.png");
1206
1207 }